Index.php 638 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use think\Cache\Driver\Redis;
  6. use app\api\controller\Second;
  7. //第一屏数据
  8. class Index extends Api{
  9. protected $noNeedLogin = ['*'];
  10. protected $noNeedRight = ['*'];
  11. public function index(){
  12. $this->success('请求新华接口成功');
  13. }
  14. /** 定义的函数方法 $this->方法名调取*/
  15. //获取当前年份的一月份
  16. public function year_January(){
  17. return date("Y-01");
  18. }
  19. //开始时间方法--当年01月01日
  20. public function start_time(){
  21. return gettimeinfo();
  22. }
  23. //结束时间方法--当年12月31日
  24. public function end_time(){
  25. return gettimeinfo(1);
  26. }
  27. //开始时间方法--去年01月01日
  28. public function qstart_time(){
  29. return getLastYear();
  30. }
  31. //去年的今天
  32. public function qday(){
  33. // 获取当前日期
  34. $today = date('Y-m-d 23:59:59');
  35. // 使用strtotime计算去年的今天
  36. $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year'));
  37. // 输出去年的今天
  38. return $lastYearToday;
  39. }
  40. //结束时间方法--去年12月31日
  41. public function qend_time(){
  42. return getLastYear(1);
  43. }
  44. //开始时间方法--前年01月01日
  45. public function qianstart_time(){
  46. return getPreviousYear();
  47. }
  48. //结束时间方法--前年12月31日
  49. public function qianend_time(){
  50. return getPreviousYear(1);
  51. }
  52. //前年的今天
  53. public function qianday(){
  54. // 获取当前日期
  55. $today = date('Y-m-d 23:59:59');
  56. // 使用strtotime计算前年的今天
  57. $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years'));
  58. // 输出前年的今天
  59. return $beforeLastYearToday;
  60. }
  61. //开始时间方法--大前年01月01日
  62. public function dqianstart_time(){
  63. return getPreviousQYear();
  64. }
  65. //结束时间方法--大前年12月31日
  66. public function dqianend_time(){
  67. return getPreviousQYear(1);
  68. }
  69. //当年
  70. public function currentYear(){
  71. $currentYear = date('Y');
  72. $res['status'] = 0;
  73. $res['msg'] = '';
  74. $res['data'] = $currentYear;
  75. return json_encode($res);
  76. }
  77. //去年
  78. public function lastYear(){
  79. $currentYear = date('Y');
  80. $lastYear = $currentYear - 1;
  81. $res['status'] = 0;
  82. $res['msg'] = '';
  83. $res['data'] = $lastYear;
  84. return json_encode($res);
  85. }
  86. //前年
  87. public function yearBeforeLast(){
  88. $currentYear = date('Y');
  89. $yearBeforeLast = $currentYear - 2;
  90. $res['status'] = 0;
  91. $res['msg'] = '';
  92. $res['data'] = $yearBeforeLast;
  93. return json_encode($res);
  94. }
  95. //当年年业务结构
  96. public function test_dYear(){
  97. $currentYear = date('Y');
  98. $lastTwoDigits = substr($currentYear, -2);
  99. $res['status'] = 0;
  100. $res['msg'] = '';
  101. $res['data'] = $lastTwoDigits . "年色令分布";
  102. return json_encode($res);
  103. }
  104. //去年年业务结构
  105. public function test_qYear(){
  106. $currentYear = date('Y');
  107. $lastYear = $currentYear - 1;
  108. $lastTwoDigits = substr($lastYear, -2);
  109. $res['status'] = 0;
  110. $res['msg'] = '';
  111. $res['data'] = $lastTwoDigits . "年色令分布";
  112. return json_encode($res);
  113. }
  114. /**
  115. * 业务总览 第一屏 第一页
  116. */
  117. //承印销售收入->缓存调用 本级不包含集团教材外
  118. public function getxssr_redis(){
  119. $redis=redis();
  120. $redis_key = md5('getxssr_redis');
  121. //定义查询字段
  122. $field = [
  123. 'ldz',
  124. 'mcyd.icydid',
  125. 'year(mcyd.dcyrq) as 年',
  126. 'mcyd.dcyrq as 日期',
  127. 'sum(mcyd.nwshjje) nwshjje',
  128. 'sum(mcyd.nwsgjhj) nwsgjhj',
  129. 'sum(tjob.namount) namount',
  130. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  131. 'tjob.itax',
  132. ];
  133. //当年
  134. $dangnian = Db::table('mcyd')->field($field)
  135. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  136. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  137. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  138. ->where('mcyd.icydstate','>',0)
  139. ->where('mcyd.chy','<>', '集团教材外')
  140. ->select();
  141. //去年
  142. $qunian = Db::table('mcyd')->field($field)
  143. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  144. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  145. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  146. ->where('mcyd.icydstate','>',0)
  147. ->where('mcyd.chy','<>', '集团教材外')
  148. ->select();
  149. //前年
  150. $qiannian = Db::table('mcyd')->field($field)
  151. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  152. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  153. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  154. ->where('mcyd.icydstate','>',0)
  155. ->where('mcyd.chy','<>', '集团教材外')
  156. ->select();
  157. //大前年
  158. $dqiannian = Db::table('mcyd')->field($field)
  159. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  160. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  161. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  162. ->where('mcyd.icydstate','>',0)
  163. ->where('mcyd.chy','<>', '集团教材外')
  164. ->select();
  165. //销售收入、销售工价、日期
  166. //当年
  167. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  168. //去年
  169. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  170. //前年
  171. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  172. //大前年
  173. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  174. //遍历查询结果,进行统计
  175. foreach ($dangnian as $v){
  176. if($v['ldz'] == 1 ){
  177. $cheng_dang += $v['namount'];
  178. $bb_dang += $v['sum_clje'];
  179. }else{
  180. $cheng_dang += $v['nwshjje'];
  181. $bb_dang += $v['nwsgjhj'];
  182. }
  183. $data_dang = $v['年'];
  184. }
  185. //遍历查询结果,进行统计
  186. foreach ($qunian as $v){
  187. if($v['ldz'] == 1 ){
  188. $cheng_qu += $v['namount'];
  189. $bb_qu += $v['sum_clje'];
  190. }else{
  191. $cheng_qu += $v['nwshjje'];
  192. $bb_qu += $v['nwsgjhj'];
  193. }
  194. $data_qu = $v['年'];
  195. }
  196. //遍历查询结果,进行统计
  197. foreach ($qiannian as $v){
  198. if($v['ldz'] == 1 ){
  199. $cheng_qian += $v['namount'];
  200. $bb_qian += $v['sum_clje'];
  201. }else{
  202. $cheng_qian += $v['nwshjje'];
  203. $bb_qian += $v['nwsgjhj'];
  204. }
  205. $data_qian = $v['年'];
  206. }
  207. //遍历查询结果,进行统计
  208. foreach ($dqiannian as $v){
  209. if($v['ldz'] == 1 ){
  210. $cheng_dqian += $v['namount'];
  211. $bb_dqian += $v['sum_clje'];
  212. }else{
  213. $cheng_dqian += $v['nwshjje'];
  214. $bb_dqian += $v['nwsgjhj'];
  215. }
  216. $data_dqian = $v['年'];
  217. }
  218. if($data_dang == 0){
  219. $data_dang = date("Y");
  220. }
  221. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  222. 'series'=>[['name'=>'承印销售收入',
  223. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  224. ];
  225. $res['status']=0;
  226. $res['msg']='';
  227. $res['data']=$list;
  228. $redis->set($redis_key, json_encode($res));
  229. return json_encode($res);
  230. }
  231. //承印销售收入->缓存调用 全部包含集团教材外
  232. public function getxssrs_redis(){
  233. $redis=redis();
  234. $redis_key = md5('getxssrs_redis');
  235. //定义查询字段
  236. $field = [
  237. 'ldz',
  238. 'mcyd.icydid',
  239. 'year(mcyd.dcyrq) as 年',
  240. 'mcyd.dcyrq as 日期',
  241. 'sum(mcyd.nwshjje) nwshjje',
  242. 'sum(mcyd.nwsgjhj) nwsgjhj',
  243. 'sum(tjob.namount) namount',
  244. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  245. 'tjob.itax',
  246. ];
  247. //当年
  248. $dangnian = Db::table('mcyd')->field($field)
  249. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  250. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  251. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  252. ->where('mcyd.icydstate','>',0)
  253. ->select();
  254. //去年
  255. $qunian = Db::table('mcyd')->field($field)
  256. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  257. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  258. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  259. ->where('mcyd.icydstate','>',0)
  260. ->select();
  261. //前年
  262. $qiannian = Db::table('mcyd')->field($field)
  263. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  264. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  265. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  266. ->where('mcyd.icydstate','>',0)
  267. ->select();
  268. //大前年
  269. $dqiannian = Db::table('mcyd')->field($field)
  270. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  271. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  272. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  273. ->where('mcyd.icydstate','>',0)
  274. ->select();
  275. //销售收入、销售工价、日期
  276. //当年
  277. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  278. //去年
  279. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  280. //前年
  281. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  282. //大前年
  283. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  284. //遍历查询结果,进行统计
  285. foreach ($dangnian as $v){
  286. if($v['ldz'] == 1 ){
  287. $cheng_dang += $v['namount'];
  288. $bb_dang += $v['sum_clje'];
  289. }else{
  290. $cheng_dang += $v['nwshjje'];
  291. $bb_dang += $v['nwsgjhj'];
  292. }
  293. $data_dang = $v['年'];
  294. }
  295. //遍历查询结果,进行统计
  296. foreach ($qunian as $v){
  297. if($v['ldz'] == 1 ){
  298. $cheng_qu += $v['namount'];
  299. $bb_qu += $v['sum_clje'];
  300. }else{
  301. $cheng_qu += $v['nwshjje'];
  302. $bb_qu += $v['nwsgjhj'];
  303. }
  304. $data_qu = $v['年'];
  305. }
  306. //遍历查询结果,进行统计
  307. foreach ($qiannian as $v){
  308. if($v['ldz'] == 1 ){
  309. $cheng_qian += $v['namount'];
  310. $bb_qian += $v['sum_clje'];
  311. }else{
  312. $cheng_qian += $v['nwshjje'];
  313. $bb_qian += $v['nwsgjhj'];
  314. }
  315. $data_qian = $v['年'];
  316. }
  317. //遍历查询结果,进行统计
  318. foreach ($dqiannian as $v){
  319. if($v['ldz'] == 1 ){
  320. $cheng_dqian += $v['namount'];
  321. $bb_dqian += $v['sum_clje'];
  322. }else{
  323. $cheng_dqian += $v['nwshjje'];
  324. $bb_dqian += $v['nwsgjhj'];
  325. }
  326. $data_dqian = $v['年'];
  327. }
  328. if($data_dang == 0){
  329. $data_dang = date("Y");
  330. }
  331. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  332. 'series'=>[['name'=>'承印销售收入',
  333. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  334. ];
  335. $res['status']=0;
  336. $res['msg']='';
  337. $res['data']=$list;
  338. $redis->set($redis_key, json_encode($res));
  339. return json_encode($res);
  340. }
  341. //承印销售收入->接口调用
  342. public function getxssr(){
  343. $redis = redis();
  344. $data = input('post.');
  345. if(isset($data['dependence'])){
  346. $dependence=$data['dependence'];
  347. }else{
  348. $dependence['item']['value']= '全部';
  349. }
  350. if($dependence['item']['value'] == '全部'){
  351. $result = json_decode($redis->get(md5('getxssrs_redis')),true);
  352. }else{
  353. $result = json_decode($redis->get(md5('getxssr_redis')),true);
  354. }
  355. return json($result);
  356. }
  357. //承印加工收入->缓存调用 本级不包含集团教材外
  358. public function getjgsr_redis(){
  359. $redis=redis();
  360. $redis_key = md5('getjgsr_redis');
  361. // 定义需要查询的字段
  362. $field = [
  363. 'ldz',
  364. 'mcyd.icydid',
  365. 'year(mcyd.dcyrq) as 年',
  366. 'mcyd.dcyrq as 日期',
  367. 'sum(mcyd.nwshjje) nwshjje',
  368. 'sum(mcyd.nwsgjhj) nwsgjhj',
  369. 'sum(tjob.namount) namount',
  370. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  371. 'tjob.itax',
  372. ];
  373. //当年
  374. $dangnian= Db::table('mcyd')->field($field)
  375. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  376. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  377. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  378. ->where('mcyd.icydstate','>',0)
  379. ->where('mcyd.chy','<>', '集团教材外')
  380. ->select();
  381. //去年
  382. $qunian = Db::table('mcyd')->field($field)
  383. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  384. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  385. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  386. ->where('mcyd.icydstate','>',0)
  387. ->where('mcyd.chy','<>', '集团教材外')
  388. ->select();
  389. //前年
  390. $qiannian = Db::table('mcyd')->field($field)
  391. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  392. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  393. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  394. ->where('mcyd.icydstate','>',0)
  395. ->where('mcyd.chy','<>', '集团教材外')
  396. ->select();
  397. //销售收入、销售工价、日期
  398. //当年
  399. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  400. //去年
  401. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  402. //前年
  403. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  404. // 遍历查询结果,进行统计
  405. foreach ($dangnian as $v){
  406. if($v['ldz'] == 1 ){
  407. $cheng_dang += $v['namount'];
  408. $bb_dang += $v['sum_clje'];
  409. }else{
  410. $cheng_dang += $v['nwshjje'];
  411. $bb_dang += $v['nwsgjhj'];
  412. }
  413. $data_dang = $v['年'];
  414. }
  415. // 遍历查询结果,进行统计
  416. foreach ($qunian as $v){
  417. if($v['ldz'] == 1 ){
  418. $cheng_qu += $v['namount'];
  419. $bb_qu += $v['sum_clje'];
  420. }else{
  421. $cheng_qu += $v['nwshjje'];
  422. $bb_qu += $v['nwsgjhj'];
  423. }
  424. $data_qu = $v['年'];
  425. }
  426. // 遍历查询结果,进行统计
  427. foreach ($qiannian as $v){
  428. if($v['ldz'] == 1 ){
  429. $cheng_qian += $v['namount'];
  430. $bb_qian += $v['sum_clje'];
  431. }else{
  432. $cheng_qian += $v['nwshjje'];
  433. $bb_qian += $v['nwsgjhj'];
  434. }
  435. $data_qian = $v['年'];
  436. }
  437. if($data_dang == 0){
  438. $data_dang = date("Y");
  439. }
  440. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  441. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  442. $res['status']=0;
  443. $res['msg']='';
  444. $res['data']=$list;
  445. $redis->set($redis_key, json_encode($res));
  446. return json_encode($res);
  447. }
  448. //承印加工收入->缓存调用 全部包含集团教材外
  449. public function getjgsrs_redis(){
  450. $redis=redis();
  451. $redis_key = md5('getjgsrs_redis');
  452. // 定义需要查询的字段
  453. $field = [
  454. 'ldz',
  455. 'mcyd.icydid',
  456. 'year(mcyd.dcyrq) as 年',
  457. 'mcyd.dcyrq as 日期',
  458. 'sum(mcyd.nwshjje) nwshjje',
  459. 'sum(mcyd.nwsgjhj) nwsgjhj',
  460. 'sum(tjob.namount) namount',
  461. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  462. 'tjob.itax',
  463. ];
  464. //当年
  465. $dangnian= Db::table('mcyd')->field($field)
  466. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  467. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  468. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  469. ->where('mcyd.icydstate','>',0)
  470. ->select();
  471. //去年
  472. $qunian = Db::table('mcyd')->field($field)
  473. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  474. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  475. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  476. ->where('mcyd.icydstate','>',0)
  477. ->select();
  478. //前年
  479. $qiannian = Db::table('mcyd')->field($field)
  480. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  481. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  482. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  483. ->where('mcyd.icydstate','>',0)
  484. ->select();
  485. //销售收入、销售工价、日期
  486. //当年
  487. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  488. //去年
  489. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  490. //前年
  491. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  492. // 遍历查询结果,进行统计
  493. foreach ($dangnian as $v){
  494. if($v['ldz'] == 1 ){
  495. $cheng_dang += $v['namount'];
  496. $bb_dang += $v['sum_clje'];
  497. }else{
  498. $cheng_dang += $v['nwshjje'];
  499. $bb_dang += $v['nwsgjhj'];
  500. }
  501. $data_dang = $v['年'];
  502. }
  503. // 遍历查询结果,进行统计
  504. foreach ($qunian as $v){
  505. if($v['ldz'] == 1 ){
  506. $cheng_qu += $v['namount'];
  507. $bb_qu += $v['sum_clje'];
  508. }else{
  509. $cheng_qu += $v['nwshjje'];
  510. $bb_qu += $v['nwsgjhj'];
  511. }
  512. $data_qu = $v['年'];
  513. }
  514. // 遍历查询结果,进行统计
  515. foreach ($qiannian as $v){
  516. if($v['ldz'] == 1 ){
  517. $cheng_qian += $v['namount'];
  518. $bb_qian += $v['sum_clje'];
  519. }else{
  520. $cheng_qian += $v['nwshjje'];
  521. $bb_qian += $v['nwsgjhj'];
  522. }
  523. $data_qian = $v['年'];
  524. }
  525. if($data_dang == 0){
  526. $data_dang = date("Y");
  527. }
  528. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  529. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  530. $res['status']=0;
  531. $res['msg']='';
  532. $res['data']=$list;
  533. $redis->set($redis_key, json_encode($res));
  534. return json_encode($res);
  535. }
  536. //承印加工收入->接口调用
  537. public function getjgsr(){
  538. $data = input('post.');
  539. if(isset($data['dependence'])){
  540. $dependence=$data['dependence'];
  541. }else{
  542. $dependence['item']['value']= '全部';
  543. }
  544. if($dependence['item']['value'] == '全部'){
  545. $redis = redis();
  546. $result = json_decode($redis->get(md5('getjgsrs_redis')),true);
  547. }else{
  548. $redis = redis();
  549. $result = json_decode($redis->get(md5('getjgsr_redis')),true);
  550. }
  551. return json($result);
  552. }
  553. //承印色令->缓存调用 本级不包含集团教材外
  554. public function getcysl_redis(){
  555. $redis=redis();
  556. $redis_key = md5('getcysl_redis');
  557. $objmatier = Db::table('scyddx')->alias('objmatier')
  558. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  559. ->group('icydid')
  560. ->buildSql();
  561. $t5 = Db::table('mcyd')->alias('ord')
  562. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  563. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  564. ->where('ord.icydstate', '>', 0)
  565. ->where('chy', '<>', '集团教材外')
  566. ->group('rq')
  567. ->buildSql();
  568. $list2023 = Db::table($t5 . ' t5')
  569. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  570. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  571. ->find();
  572. $list2022 = Db::table($t5 . ' t5')
  573. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  574. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  575. ->find();
  576. $list2021 = Db::table($t5 . ' t5')
  577. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  578. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  579. ->find();
  580. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  581. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  582. $res['status']=0;
  583. $res['msg']='';
  584. $res['data']=$list;
  585. $redis->set($redis_key, json_encode($res));
  586. return json_encode($res);
  587. }
  588. //承印色令->缓存调用 全部包含集团教材外
  589. public function getcysls_redis(){
  590. $redis=redis();
  591. $redis_key = md5('getcysls_redis');
  592. $objmatier = Db::table('scyddx')->alias('objmatier')
  593. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  594. ->group('icydid')
  595. ->buildSql();
  596. $t5 = Db::table('mcyd')->alias('ord')
  597. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  598. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  599. ->where('ord.icydstate', '>', 0)
  600. // ->where('chy', '<>', '集团教材外')
  601. ->group('rq')
  602. ->buildSql();
  603. $list2023 = Db::table($t5 . ' t5')
  604. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  605. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  606. ->find();
  607. $list2022 = Db::table($t5 . ' t5')
  608. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  609. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  610. ->find();
  611. $list2021 = Db::table($t5 . ' t5')
  612. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  613. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  614. ->find();
  615. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  616. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  617. $res['status']=0;
  618. $res['msg']='';
  619. $res['data']=$list;
  620. $redis->set($redis_key, json_encode($res));
  621. return json_encode($res);
  622. }
  623. //承印色令->接口调用
  624. public function getcysl(){
  625. // $redis=redis();
  626. // $redis_key = md5('getcysl_redis');
  627. // $redis_data = $redis->get($redis_key);
  628. // return $redis_data;
  629. $data = input('post.');
  630. if(isset($data['dependence'])){
  631. $dependence=$data['dependence'];
  632. }else{
  633. $dependence['item']['value']= '全部';
  634. }
  635. if($dependence['item']['value'] == '全部'){
  636. $redis = redis();
  637. $result = json_decode($redis->get(md5('getcysls_redis')),true);
  638. }else{
  639. $redis = redis();
  640. $result = json_decode($redis->get(md5('getcysl_redis')),true);
  641. }
  642. return json($result);
  643. }
  644. //承印纸令->缓存调用 本级不包含集团教材外
  645. public function getcyzl_redis(){
  646. $redis=redis();
  647. $redis_key = md5('getcyzl_redis');
  648. $objmatier = Db::table('scyddx')->alias('objmatier')
  649. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  650. ->group('icydid')
  651. ->buildSql();
  652. $t5 = Db::table('mcyd')->alias('ord')
  653. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  654. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  655. ->where('ord.icydstate','>',0)
  656. ->where('chy', '<>', '集团教材外')
  657. ->group('rq')
  658. ->buildSql();
  659. $list2023 = Db::table($t5 . ' t5')
  660. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  661. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  662. ->find();
  663. $list2022 = Db::table($t5 . ' t5')
  664. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  665. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  666. ->find();
  667. $list2021 = Db::table($t5 . ' t5')
  668. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  669. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  670. ->find();
  671. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  672. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  673. $res['status']=0;
  674. $res['msg']='';
  675. $res['data']=$list;
  676. if($list){
  677. echo date("Y-m-d H:i:s").'存进去了';
  678. $redis->set($redis_key, json_encode($res));
  679. return json_encode($res);
  680. }
  681. }
  682. //承印纸令->缓存调用 全部包含集团教材外
  683. public function getcyzls_redis(){
  684. $redis=redis();
  685. $redis_key = md5('getcyzls_redis');
  686. $objmatier = Db::table('scyddx')->alias('objmatier')
  687. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  688. ->group('icydid')
  689. ->buildSql();
  690. $t5 = Db::table('mcyd')->alias('ord')
  691. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  692. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  693. ->where('ord.icydstate','>',0)
  694. ->group('rq')
  695. ->buildSql();
  696. $list2023 = Db::table($t5 . ' t5')
  697. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  698. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  699. ->find();
  700. $list2022 = Db::table($t5 . ' t5')
  701. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  702. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  703. ->find();
  704. $list2021 = Db::table($t5 . ' t5')
  705. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  706. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  707. ->find();
  708. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  709. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  710. $res['status']=0;
  711. $res['msg']='';
  712. $res['data']=$list;
  713. if($list){
  714. $redis->set($redis_key, json_encode($res));
  715. return json_encode($res);
  716. }
  717. }
  718. //承印纸令->接口调用
  719. public function getcyzl(){
  720. $data = input('post.');
  721. if(isset($data['dependence'])){
  722. $dependence=$data['dependence'];
  723. }else{
  724. $dependence['item']['value']= '全部';
  725. }
  726. if($dependence['item']['value'] == '全部'){
  727. $redis = redis();
  728. $result = json_decode($redis->get(md5('getcyzls_redis')),true);
  729. }else{
  730. $redis = redis();
  731. $result = json_decode($redis->get(md5('getcyzl_redis')),true);
  732. }
  733. return json($result);
  734. }
  735. //去年与当年--印刷实物产量色令->缓存调用
  736. public function yssl_redis(){
  737. $redis=redis();
  738. $redis_key = md5('yssl_redis');
  739. //首先定义了起始时间和结束时间
  740. //根据查询条件查出色令数据
  741. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  742. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  743. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  744. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  745. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  746. ->union(function ($query) {
  747. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  748. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  749. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  750. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  751. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  752. '小森八色01号机','小森八色02号机']);
  753. }, true)->buildSql();
  754. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  755. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  756. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  757. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  758. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  759. ->union(function ($query) {
  760. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  761. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  762. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  763. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  764. }, true)->buildSql();
  765. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  766. ->whereIn('cbzmc', [
  767. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  768. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  769. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  770. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  771. ->union(function ($query) {
  772. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  773. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  774. ->whereIn('cMachineName', ['标规小森商轮1号',
  775. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  776. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号','标规北人轮转1号']);
  777. }, true)
  778. ->buildSql();
  779. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  780. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  781. ->union(function ($query) {
  782. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  783. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  784. })->buildSql();
  785. //查询每天的数据
  786. $subQuery1 = Db::table($subQuery1_child . 'T')
  787. ->field('rq,SUM( fsjsl ) nFourColorSL')
  788. ->group('rq')->buildSql();
  789. $subQuery2 = Db::table($subQuery2_child . 'T')
  790. ->field('rq,SUM( fsjsl ) nBBSL')
  791. ->group('rq')->buildSql();
  792. $subQuery3 = Db::table($subQuery3_child . 'T')
  793. ->field('rq,SUM( fsjsl ) nnRotationSL')
  794. ->group('rq')->buildSql();
  795. //按当天日期进行分组 累计相加当天数据
  796. $subQuery1_5 = Db::table($subQuery . 'A')
  797. ->field('
  798. DISTINCT DATE(A.RQ) RQ,
  799. sum(h.nBBSL) AS nBBSL,
  800. sum(B.nFourColorSL) AS nFourColorSL,
  801. sum(P.nnRotationSL) AS nnRotationSL
  802. ')
  803. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  804. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  805. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  806. ->group('RQ')
  807. ->buildSql();
  808. // 获取当前年份和前两年的年份
  809. $currentYear = date("Y");
  810. $lastYear = date("Y", strtotime("-1 year"));
  811. $twoYearsAgo = date("Y", strtotime("-2 years"));
  812. // 查询SQL,按月份分组计算
  813. $sql_final = Db::table($subQuery1_5 . ' db')
  814. ->field("
  815. DATE_FORMAT(db.RQ, '%Y-%m') AS '日期',
  816. ROUND(SUM(db.nBBSL) + SUM(db.nFourColorSL) + SUM(db.nnRotationSL)) AS '印刷实物产量色令数'
  817. ")
  818. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  819. ->group("DATE_FORMAT(db.RQ, '%Y-%m')")
  820. ->select();
  821. $list['categories'] = [];
  822. $list['series'] = [
  823. 0 => ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)],
  824. 1 => ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)],
  825. 2 => ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)],
  826. ];
  827. // 填充月份数据
  828. foreach (range(1, 12) as $month) {
  829. $list['categories'][] = str_pad($month, 2, '0', STR_PAD_LEFT); // 月份:01, 02, ..., 12
  830. }
  831. $currentMonth = date("m");
  832. foreach ($sql_final as $v) {
  833. $yearMonth = $v['日期'];
  834. $year = date('Y', strtotime($yearMonth));
  835. $month = date('m', strtotime($yearMonth)) - 1; // 索引从0开始
  836. if ($year == $currentYear) {
  837. $list['series'][2]['data'][$month] = $v['印刷实物产量色令数']; // 填充当前年数据
  838. } elseif ($year == $lastYear) {
  839. $list['series'][1]['data'][$month] = $v['印刷实物产量色令数']; // 填充去年数据
  840. } elseif ($year == $twoYearsAgo) {
  841. $list['series'][0]['data'][$month] = $v['印刷实物产量色令数']; // 填充前两年数据
  842. }
  843. }
  844. //某一年没有数据,填充为0
  845. if (!isset($list['series'][1]['data'][$currentMonth - 1])) {
  846. $list['series'][1]['data'][$currentMonth - 1] = 0;
  847. }
  848. $res['status'] = 0;
  849. $res['msg'] = '';
  850. $res['data'] = $list;
  851. $redis->set($redis_key, json_encode($res));
  852. return json_encode($res);
  853. }
  854. //去年与当年--印刷实物产量色令->接口调用
  855. public function yssl(){
  856. $redis=redis();
  857. $redis_key = md5('yssl_redis');
  858. $redis_data = $redis->get($redis_key);
  859. return $redis_data;
  860. }
  861. //去年与当年--印刷实物产量纸令->缓存调用
  862. public function yszl_redis(){
  863. $redis=redis();
  864. $redis_key = md5('yszl_redis');
  865. //首先定义了起始时间和结束时间
  866. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  867. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  868. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  869. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  870. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  871. ->union(function ($query) {
  872. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl')
  873. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  874. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  875. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  876. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  877. '小森八色01号机','小森八色02号机']);
  878. }, true)->buildSql();
  879. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  880. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  881. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  882. 'BB机5号(甲班)','BB机5号(乙班)',
  883. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  884. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  885. ->union(function ($query) {
  886. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  887. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  888. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  889. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  890. }, true)->buildSql();
  891. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  892. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  893. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  894. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  895. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  896. ->union(function ($query) {
  897. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  898. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  899. ->whereIn('cMachineName', ['标规小森商轮1号',
  900. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  901. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号','标规北人轮转1号']);
  902. }, true)->buildSql();
  903. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  904. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  905. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  906. })->buildSql();
  907. //四色机纸令合计
  908. $subQuery1 = Db::table($subQuery1_child . 'T')
  909. ->field('rq,SUM( fsjls ) nFourColorSL')
  910. ->group('rq')->buildSql();
  911. //BB机纸令合计
  912. $subQuery2 = Db::table($subQuery2_child . 'T')
  913. ->field('rq,SUM( fsjls ) nBBSL')
  914. ->group('rq')->buildSql();
  915. //轮转纸令合计
  916. $subQuery3 = Db::table($subQuery3_child . 'T')
  917. ->field('rq,SUM( fsjls ) nnRotationSL ')
  918. ->group('rq')->buildSql();
  919. $subQuery1_5 = Db::table($subQuery . 'A')
  920. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL')
  921. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  922. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  923. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  924. ->buildSql();
  925. // 获取当前年份和前两年的年份
  926. $currentYear = date("Y"); // 当前年份
  927. $lastYear = date("Y", strtotime("-1 year")); // 去年
  928. $twoYearsAgo = date("Y", strtotime("-2 years")); // 前两年
  929. $sql_final = Db::table($subQuery1_5 . ' db')
  930. ->field("
  931. DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  932. ROUND(SUM( db.nBBSL ) + SUM( db.nFourColorSL ) + SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  933. ")
  934. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  935. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  936. ->select();
  937. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // 月份
  938. $list['series'] = [
  939. ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)], // 初始化前两年的数据为0
  940. ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化去年的数据为0
  941. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化今年的数据为0
  942. ];
  943. $currentMonth = date("m");
  944. foreach ($sql_final as $v) {
  945. // 提取年份和月份
  946. $yearMonth = $v['日期']; // 格式:YYYY-MM
  947. $year = date('Y', strtotime($yearMonth)); // 提取年份
  948. $month = date('m', strtotime($yearMonth)) - 1; // 月份(数组索引从0开始)
  949. // 根据年份分配数据
  950. if ($year == $currentYear) {
  951. $list['series'][2]['data'][$month] = $v['印刷实物产量纸令数']; // 填充今年数据
  952. } elseif ($year == $lastYear) {
  953. $list['series'][1]['data'][$month] = $v['印刷实物产量纸令数']; // 填充去年数据
  954. } elseif ($year == $twoYearsAgo) {
  955. $list['series'][0]['data'][$month] = $v['印刷实物产量纸令数']; // 填充前两年数据
  956. }
  957. }
  958. $res['status'] = 0;
  959. $res['msg'] = '';
  960. $res['data'] = $list;
  961. $redis->set($redis_key, json_encode($res));
  962. return json_encode($res);
  963. }
  964. //去年与当年--印刷实物产量纸令->接口调用
  965. public function yszl(){
  966. $redis=redis();
  967. $redis_key = md5('yszl_redis');
  968. $redis_data = $redis->get($redis_key);
  969. return $redis_data;
  970. }
  971. //去年装订实物产量册数->缓存调用
  972. public function zdcs2022(){
  973. $redis=redis();
  974. $redis_key = md5('zdcs2022');
  975. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  976. ->union(function ($query) {
  977. $query->table('scDayRpt_Teams')->alias('b')
  978. ->field("DISTINCT DATE_FORMAT(
  979. CASE
  980. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  981. ELSE b.dOnDuty
  982. END,
  983. '%Y-%m-%d'
  984. ) AS RQ");
  985. }, true)
  986. ->buildSql();
  987. $B1 = Db::table('cpjtfk')
  988. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  989. ->field("
  990. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  991. sum(iwcl) as 精1乙
  992. ")
  993. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  994. ->group('drptdate,cbanzu')
  995. ->buildSql();
  996. $rr = Db::table('scyddx')->alias('r')
  997. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  998. ->group('r.ICYDID')
  999. ->buildSql();
  1000. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1001. ->field("
  1002. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1003. sum(a.nAmount) as 精11乙
  1004. ")
  1005. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1006. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1007. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1008. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1009. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1010. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1011. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  1012. ->group("CASE
  1013. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1014. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1015. END,Name_WorkGroup")
  1016. ->buildSql();
  1017. $db = Db::table($A . 'a')
  1018. ->field("
  1019. DISTINCT DATE(A.RQ) rq,
  1020. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1021. ")
  1022. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1023. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1024. ->group('rq')
  1025. ->buildSql();
  1026. $jp = Db::table($db . ' db')
  1027. ->field("
  1028. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1029. ROUND(sum(db.总计册), 0) as 精平册数
  1030. ")->where("db.RQ >= '{$this->qstart_time()}'
  1031. AND db.RQ <= '{$this->qend_time()}' ")
  1032. ->group('MONTH(db.rq)')
  1033. ->select();
  1034. $B = Db::table('cpjtfk')
  1035. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1036. ->field("
  1037. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1038. sum(iwcl) as 马1甲
  1039. ")
  1040. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1041. ->group('drptdate,cbanzu')
  1042. ->buildSql();
  1043. $B1 = Db::table('cpjtfk')
  1044. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1045. ->field("
  1046. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1047. sum(iwcl) as 马1乙
  1048. ")
  1049. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1050. ->group('drptdate,cbanzu')
  1051. ->buildSql();
  1052. $C = Db::table('cpjtfk')
  1053. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1054. ->field("
  1055. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1056. sum(iwcl) as 马2甲
  1057. ")
  1058. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1059. ->group('drptdate,cbanzu')
  1060. ->buildSql();
  1061. $C1 = Db::table('cpjtfk')
  1062. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1063. ->field("
  1064. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1065. sum(iwcl) as 马2乙
  1066. ")
  1067. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1068. ->group('drptdate,cbanzu')
  1069. ->buildSql();
  1070. $D = Db::table('cpjtfk')
  1071. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1072. ->field("
  1073. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1074. sum(iwcl) as 马3甲
  1075. ")
  1076. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1077. ->group('drptdate,cbanzu')
  1078. ->buildSql();
  1079. $D1 = Db::table('cpjtfk')
  1080. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1081. ->field("
  1082. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1083. sum(iwcl) as 马3乙
  1084. ")
  1085. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1086. ->group('drptdate,cbanzu')
  1087. ->buildSql();
  1088. $E = Db::table('cpjtfk')
  1089. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1090. ->field("
  1091. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1092. sum(iwcl) as 马4甲
  1093. ")
  1094. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1095. ->group('drptdate,cbanzu')
  1096. ->buildSql();
  1097. $E1 = Db::table('cpjtfk')
  1098. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1099. ->field("
  1100. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1101. sum(iwcl) as 马4乙
  1102. ")
  1103. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1104. ->group('drptdate,cbanzu')
  1105. ->buildSql();
  1106. $F = Db::table('cpjtfk')
  1107. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1108. ->field("
  1109. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1110. sum(iwcl) as 马5甲
  1111. ")
  1112. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1113. ->group('drptdate,cbanzu')
  1114. ->buildSql();
  1115. $F1 = Db::table('cpjtfk')
  1116. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1117. ->field("
  1118. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1119. sum(iwcl) as 马5乙,
  1120. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1121. ")
  1122. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1123. ->group('drptdate,cbanzu')
  1124. ->buildSql();
  1125. $rr = Db::table('scyddx')->alias('r')
  1126. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1127. ->group('r.ICYDID')
  1128. ->buildSql();
  1129. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1130. ->field("
  1131. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1132. sum(a.nAmount) as 马11甲")
  1133. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1134. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1135. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1136. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1137. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1138. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1139. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1140. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1141. ->group("CASE
  1142. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1143. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1144. END,Name_WorkGroup")->buildSql();
  1145. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1146. ->field("
  1147. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1148. sum(a.nAmount) as 马11乙
  1149. ")
  1150. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1151. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1152. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1153. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1154. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1155. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1156. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1157. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1158. ->group("CASE
  1159. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1160. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1161. END,Name_WorkGroup")
  1162. ->buildSql();
  1163. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1164. ->field("
  1165. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1166. sum(a.nAmount) as 马22甲
  1167. ")
  1168. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1169. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1170. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1171. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1172. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1173. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1174. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1175. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1176. ->group("CASE
  1177. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1178. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1179. END,Name_WorkGroup")
  1180. ->buildSql();
  1181. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1182. ->field("
  1183. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1184. sum(a.nAmount) as 马22乙
  1185. ")
  1186. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1187. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1188. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1189. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1190. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1191. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1192. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1193. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1194. ->group("CASE
  1195. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1196. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1197. END,Name_WorkGroup")
  1198. ->buildSql();
  1199. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1200. ->field("
  1201. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1202. sum(a.nAmount) as 马33甲
  1203. ")
  1204. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1205. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1206. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1207. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1208. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1209. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1210. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1211. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1212. ->group("CASE
  1213. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1214. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1215. END,Name_WorkGroup")
  1216. ->buildSql();
  1217. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1218. ->field("
  1219. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1220. sum(a.nAmount) as 马33乙
  1221. ")
  1222. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1223. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1224. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1225. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1226. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1227. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1228. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1229. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1230. ->group("CASE
  1231. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1232. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1233. END,Name_WorkGroup")
  1234. ->buildSql();
  1235. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1236. ->field("
  1237. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1238. sum(a.nAmount) as 马44甲
  1239. ")
  1240. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1241. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1242. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1243. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1244. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1245. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1246. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1247. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1248. ->group("CASE
  1249. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1250. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1251. END,Name_WorkGroup")
  1252. ->buildSql();
  1253. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1254. ->field("
  1255. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1256. sum(a.nAmount) as 马44乙
  1257. ")
  1258. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1259. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1260. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1261. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1262. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1263. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1264. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1265. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1266. ->group("CASE
  1267. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1268. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1269. END,Name_WorkGroup")
  1270. ->buildSql();
  1271. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1272. ->field("
  1273. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1274. sum(a.nAmount) as 马55甲
  1275. ")
  1276. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1277. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1278. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1279. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1280. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1281. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1282. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1283. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1284. ->group("CASE
  1285. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1286. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1287. END,Name_WorkGroup")
  1288. ->buildSql();
  1289. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1290. ->field("
  1291. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1292. sum(a.nAmount) as 马66甲
  1293. ")
  1294. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1295. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1296. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1297. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1298. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1299. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1300. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1301. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1302. ->group("CASE
  1303. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1304. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1305. END,Name_WorkGroup")
  1306. ->buildSql();
  1307. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  1308. ->field("
  1309. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1310. sum(a.nAmount) as 马77甲
  1311. ")
  1312. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1313. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1314. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1315. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1316. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1317. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1318. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  1319. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1320. ->group("CASE
  1321. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1322. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1323. END,Name_WorkGroup")
  1324. ->buildSql();
  1325. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1326. ->field("
  1327. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1328. sum(a.nAmount) as 马55乙
  1329. ")
  1330. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1331. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1332. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1333. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1334. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1335. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1336. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1337. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1338. ->group("CASE
  1339. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1340. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1341. END,Name_WorkGroup")
  1342. ->buildSql();
  1343. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  1344. ->field("
  1345. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1346. sum(a.nAmount) as 马66乙
  1347. ")
  1348. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1349. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1350. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1351. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1352. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1353. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1354. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  1355. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1356. ->group("CASE
  1357. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1358. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1359. END,Name_WorkGroup")
  1360. ->buildSql();
  1361. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  1362. ->field("
  1363. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1364. sum(a.nAmount) as 马77乙
  1365. ")
  1366. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1367. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1368. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1369. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1370. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1371. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1372. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  1373. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1374. ->group("CASE
  1375. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1376. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1377. END,Name_WorkGroup")
  1378. ->buildSql();
  1379. $db = Db::table($A . 'a')
  1380. ->field("
  1381. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  1382. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  1383. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  1384. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  1385. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  1386. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  1387. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  1388. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  1389. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  1390. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  1391. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  1392. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  1393. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  1394. ")
  1395. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  1396. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1397. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  1398. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  1399. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  1400. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  1401. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  1402. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  1403. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  1404. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  1405. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1406. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1407. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  1408. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  1409. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  1410. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  1411. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  1412. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  1413. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  1414. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  1415. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  1416. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  1417. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  1418. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  1419. ->buildSql();
  1420. $jd = Db::table($db . ' db')
  1421. ->field("
  1422. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1423. ROUND(sum(db.总计册), 0) as 无线胶订册数
  1424. ")->where("db.RQ >= '{$this->qstart_time()}'
  1425. AND db.RQ <= '{$this->qend_time()}' ")
  1426. ->group('MONTH(db.rq)')
  1427. ->select();
  1428. $B = Db::table('cpjtfk')
  1429. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1430. ->field("
  1431. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1432. Sum(iWcl) AS '簿1甲'
  1433. ")
  1434. ->where('cbanzu','=','簿册机1号(甲班)')
  1435. ->group('drptdate,cbanzu')
  1436. ->buildSql();
  1437. $B1 = Db::table('cpjtfk')
  1438. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1439. ->field("
  1440. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1441. Sum(iWcl) AS '簿1乙'
  1442. ")
  1443. ->where('cbanzu','=','簿册机1号(乙班)')
  1444. ->group('drptdate,cbanzu')
  1445. ->buildSql();
  1446. $rr = Db::table('scyddx')->alias('r')
  1447. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1448. ->group('r.ICYDID')
  1449. ->buildSql();
  1450. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1451. ->field("
  1452. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1453. Sum(a.nAmount) AS '簿11甲'
  1454. ")
  1455. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1456. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1457. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1458. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1459. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1460. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1461. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  1462. ->where('a.cTechName' ,'=','簿册联动')
  1463. ->group("CASE
  1464. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1465. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1466. END,Name_WorkGroup")
  1467. ->buildSql();
  1468. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1469. ->field("
  1470. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1471. Sum(a.nAmount) AS '簿11乙'
  1472. ")
  1473. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1474. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1475. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1476. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1477. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1478. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1479. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  1480. ->where('a.cTechName' ,'=','簿册联动')
  1481. ->group("CASE
  1482. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1483. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1484. END,Name_WorkGroup")
  1485. ->buildSql();
  1486. $db = Db::table($A . 'a')
  1487. ->field("
  1488. DISTINCT DATE(A.RQ) rq,
  1489. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  1490. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  1491. ")
  1492. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  1493. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1494. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1495. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1496. ->group('rq')
  1497. ->buildSql();
  1498. $bc = Db::table($db . ' db')
  1499. ->field("
  1500. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1501. ROUND(sum(db.总计册), 0) as 簿册册数
  1502. ")->where("db.RQ >= '{$this->qstart_time()}'
  1503. AND db.RQ <= '{$this->qend_time()}' ")
  1504. ->group('MONTH(db.rq)')
  1505. ->select();
  1506. // 创建一个结果数组
  1507. $result=[];
  1508. $result1 = [];
  1509. // 遍历第一个数组,并将数据加入结果数组
  1510. foreach ($jp as $val1) {
  1511. $month = $val1['日期'];
  1512. $data1 = $val1['精平册数'];
  1513. if (!isset($result[$month])) {
  1514. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1515. }
  1516. if (!isset($result1[$month])) {
  1517. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1518. }
  1519. $result1[$month] += $data1; // 累加第一个数组的数据
  1520. }
  1521. // 遍历第二个数组,并将数据加入结果数组
  1522. foreach ($jd as $val2) {
  1523. $month = $val2['日期'];
  1524. $data1 = $val2['无线胶订册数'];
  1525. if (!isset($result[$month])) {
  1526. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1527. }
  1528. if (!isset($result1[$month])) {
  1529. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1530. }
  1531. $result1[$month] += $data1; // 累加第二个数组的数据
  1532. }
  1533. foreach ($bc as $val2) {
  1534. $month = $val2['日期'];
  1535. $data1 = $val2['簿册册数'];
  1536. if (!isset($result[$month])) {
  1537. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1538. }
  1539. if (!isset($result1[$month])) {
  1540. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1541. }
  1542. $result1[$month] += $data1; // 累加第二个数组的数据
  1543. }
  1544. foreach($result1 as $k=>$v){
  1545. $list['categories'][]=$k;
  1546. $list['series'][0]['name']='装订实物产量册数';
  1547. $list['series'][0]['data'][]=$v;
  1548. }
  1549. $res['status']=0;
  1550. $res['msg']='';
  1551. $res['data']=$list;
  1552. $redis->set($redis_key, json_encode($result1));
  1553. // halt(json_decode($redis->get($redis_key),true));
  1554. return json_encode($result1);
  1555. }
  1556. //当年装订实物产量册数->缓存调用
  1557. public function zdcsclcs_dang(){
  1558. $redis=redis();
  1559. $redis_key = md5('zdcsclcs_dang');
  1560. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1561. ->union(function ($query) {
  1562. $query->table('scDayRpt_Teams')->alias('b')
  1563. ->field("DISTINCT DATE_FORMAT(
  1564. CASE
  1565. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1566. ELSE b.dOnDuty
  1567. END,
  1568. '%Y-%m-%d'
  1569. ) AS RQ");
  1570. }, true)
  1571. ->buildSql();
  1572. $B1 = Db::table('cpjtfk')
  1573. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1574. ->field("
  1575. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1576. sum(iwcl) as 精1乙
  1577. ")
  1578. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1579. ->group('drptdate,cbanzu')
  1580. ->buildSql();
  1581. $rr = Db::table('scyddx')->alias('r')
  1582. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1583. ->group('r.ICYDID')
  1584. ->buildSql();
  1585. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1586. ->field("
  1587. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1588. sum(a.nAmount) as 精11乙
  1589. ")
  1590. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1591. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1592. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1593. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1594. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1595. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1596. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  1597. ->group("CASE
  1598. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1599. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1600. END,Name_WorkGroup")
  1601. ->buildSql();
  1602. $db = Db::table($A . 'a')
  1603. ->field("
  1604. DISTINCT DATE(A.RQ) rq,
  1605. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1606. ")
  1607. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1608. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1609. ->group('rq')
  1610. ->buildSql();
  1611. $jp = Db::table($db . ' db')
  1612. ->field("
  1613. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1614. ROUND(sum(db.总计册), 0) as 精平册数
  1615. ")->where("db.RQ >= '{$this->start_time()}'
  1616. AND db.RQ <= '{$this->end_time()}' ")
  1617. ->group('MONTH(db.rq)')
  1618. ->select();
  1619. $B = Db::table('cpjtfk')
  1620. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1621. ->field("
  1622. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1623. sum(iwcl) as 马1甲
  1624. ")
  1625. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1626. ->group('drptdate,cbanzu')
  1627. ->buildSql();
  1628. $B1 = Db::table('cpjtfk')
  1629. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1630. ->field("
  1631. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1632. sum(iwcl) as 马1乙
  1633. ")
  1634. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1635. ->group('drptdate,cbanzu')
  1636. ->buildSql();
  1637. $C = Db::table('cpjtfk')
  1638. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1639. ->field("
  1640. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1641. sum(iwcl) as 马2甲
  1642. ")
  1643. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1644. ->group('drptdate,cbanzu')
  1645. ->buildSql();
  1646. $C1 = Db::table('cpjtfk')
  1647. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1648. ->field("
  1649. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1650. sum(iwcl) as 马2乙
  1651. ")
  1652. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1653. ->group('drptdate,cbanzu')
  1654. ->buildSql();
  1655. $D = Db::table('cpjtfk')
  1656. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1657. ->field("
  1658. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1659. sum(iwcl) as 马3甲
  1660. ")
  1661. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1662. ->group('drptdate,cbanzu')
  1663. ->buildSql();
  1664. $D1 = Db::table('cpjtfk')
  1665. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1666. ->field("
  1667. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1668. sum(iwcl) as 马3乙
  1669. ")
  1670. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1671. ->group('drptdate,cbanzu')
  1672. ->buildSql();
  1673. $E = Db::table('cpjtfk')
  1674. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1675. ->field("
  1676. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1677. sum(iwcl) as 马4甲
  1678. ")
  1679. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1680. ->group('drptdate,cbanzu')
  1681. ->buildSql();
  1682. $E1 = Db::table('cpjtfk')
  1683. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1684. ->field("
  1685. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1686. sum(iwcl) as 马4乙
  1687. ")
  1688. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1689. ->group('drptdate,cbanzu')
  1690. ->buildSql();
  1691. $F = Db::table('cpjtfk')
  1692. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1693. ->field("
  1694. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1695. sum(iwcl) as 马5甲
  1696. ")
  1697. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1698. ->group('drptdate,cbanzu')
  1699. ->buildSql();
  1700. $F1 = Db::table('cpjtfk')
  1701. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1702. ->field("
  1703. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1704. sum(iwcl) as 马5乙,
  1705. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1706. ")
  1707. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  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. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1719. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1720. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1721. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1722. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1723. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1724. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1725. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1726. ->group("CASE
  1727. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1728. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1729. END,Name_WorkGroup")->buildSql();
  1730. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1731. ->field("
  1732. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1733. sum(a.nAmount) as 马11乙
  1734. ")
  1735. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1736. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1737. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1738. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1739. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1740. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1741. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1742. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1743. ->group("CASE
  1744. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1745. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1746. END,Name_WorkGroup")
  1747. ->buildSql();
  1748. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1749. ->field("
  1750. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1751. sum(a.nAmount) as 马22甲
  1752. ")
  1753. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1754. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1755. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1756. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1757. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1758. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1759. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1760. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1761. ->group("CASE
  1762. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1763. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1764. END,Name_WorkGroup")
  1765. ->buildSql();
  1766. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1767. ->field("
  1768. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1769. sum(a.nAmount) as 马22乙
  1770. ")
  1771. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1772. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1773. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1774. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1775. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1776. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1777. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1778. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1779. ->group("CASE
  1780. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1781. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1782. END,Name_WorkGroup")
  1783. ->buildSql();
  1784. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1785. ->field("
  1786. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1787. sum(a.nAmount) as 马33甲
  1788. ")
  1789. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1790. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1791. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1792. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1793. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1794. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1795. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1796. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1797. ->group("CASE
  1798. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1799. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1800. END,Name_WorkGroup")
  1801. ->buildSql();
  1802. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1803. ->field("
  1804. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1805. sum(a.nAmount) as 马33乙
  1806. ")
  1807. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1808. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1809. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1810. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1811. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1812. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1813. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1814. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1815. ->group("CASE
  1816. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1817. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1818. END,Name_WorkGroup")
  1819. ->buildSql();
  1820. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1821. ->field("
  1822. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1823. sum(a.nAmount) as 马44甲
  1824. ")
  1825. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1826. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1827. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1828. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1829. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1830. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1831. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1832. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1833. ->group("CASE
  1834. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1835. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1836. END,Name_WorkGroup")
  1837. ->buildSql();
  1838. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1839. ->field("
  1840. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1841. sum(a.nAmount) as 马44乙
  1842. ")
  1843. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1844. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1845. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1846. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1847. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1848. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1849. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1850. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1851. ->group("CASE
  1852. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1853. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1854. END,Name_WorkGroup")
  1855. ->buildSql();
  1856. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1857. ->field("
  1858. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1859. sum(a.nAmount) as 马55甲
  1860. ")
  1861. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1862. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1863. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1864. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1865. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1866. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1867. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1868. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1869. ->group("CASE
  1870. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1871. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1872. END,Name_WorkGroup")
  1873. ->buildSql();
  1874. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1875. ->field("
  1876. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1877. sum(a.nAmount) as 马55乙
  1878. ")
  1879. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1880. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1881. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1882. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1883. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1884. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1885. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1886. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1887. ->group("CASE
  1888. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1889. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1890. END,Name_WorkGroup")
  1891. ->buildSql();
  1892. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1893. ->field("
  1894. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1895. sum(a.nAmount) as 马66甲
  1896. ")
  1897. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1898. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1899. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1900. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1901. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1902. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1903. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1904. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1905. ->group("CASE
  1906. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1907. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1908. END,Name_WorkGroup")
  1909. ->buildSql();
  1910. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  1911. ->field("
  1912. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1913. sum(a.nAmount) as 马66乙
  1914. ")
  1915. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1916. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1917. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1918. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1919. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1920. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1921. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  1922. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1923. ->group("CASE
  1924. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1925. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1926. END,Name_WorkGroup")
  1927. ->buildSql();
  1928. // $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  1929. // ->field("
  1930. // CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1931. // sum(a.nAmount) as 马77甲
  1932. // ")
  1933. // ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1934. // ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1935. // ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1936. // ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1937. // ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1938. // ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1939. // ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  1940. // ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1941. // ->group("CASE
  1942. // WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1943. // ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1944. // END,Name_WorkGroup")
  1945. // ->buildSql();
  1946. // $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  1947. // ->field("
  1948. // CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1949. // sum(a.nAmount) as 马77乙
  1950. // ")
  1951. // ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1952. // ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1953. // ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1954. // ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1955. // ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1956. // ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1957. // ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  1958. // ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1959. // ->group("CASE
  1960. // WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1961. // ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1962. // END,Name_WorkGroup")
  1963. // ->buildSql();
  1964. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  1965. ->field("
  1966. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1967. sum(a.nAmount) as 马88甲
  1968. ")
  1969. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1970. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1971. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1972. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1973. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1974. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1975. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  1976. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1977. ->group("CASE
  1978. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1979. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1980. END,Name_WorkGroup")
  1981. ->buildSql();
  1982. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  1983. ->field("
  1984. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1985. sum(a.nAmount) as 马88乙
  1986. ")
  1987. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1988. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1989. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1990. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1991. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1992. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1993. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  1994. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1995. ->group("CASE
  1996. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1997. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1998. END,Name_WorkGroup")
  1999. ->buildSql();
  2000. $db = Db::table($A . 'a')
  2001. ->field("
  2002. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2003. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2004. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2005. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2006. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2007. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2008. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2009. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2010. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2011. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2012. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2013. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2014. + IFNULL(jdj4.马88甲, 0) + IFNULL(jdy4.马88乙, 0) 总计册
  2015. ")
  2016. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2017. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2018. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2019. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2020. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2021. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2022. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2023. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2024. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2025. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2026. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2027. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2028. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2029. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2030. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2031. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2032. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2033. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2034. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2035. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2036. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2037. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2038. ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT')
  2039. ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.rq','LEFT')
  2040. ->buildSql();
  2041. // print_r($db);die;
  2042. $jd = Db::table($db . ' db')
  2043. ->field("
  2044. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2045. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2046. ")->where("db.RQ >= '{$this->start_time()}'
  2047. AND db.RQ <= '{$this->end_time()}' ")
  2048. ->group('MONTH(db.rq)')
  2049. ->select();
  2050. $B = Db::table('cpjtfk')
  2051. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2052. ->field("
  2053. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2054. Sum(iWcl) AS '簿1甲'
  2055. ")
  2056. ->where('cbanzu','=','簿册机1号(甲班)')
  2057. ->group('drptdate,cbanzu')
  2058. ->buildSql();
  2059. $B1 = Db::table('cpjtfk')
  2060. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2061. ->field("
  2062. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2063. Sum(iWcl) AS '簿1乙'
  2064. ")
  2065. ->where('cbanzu','=','簿册机1号(乙班)')
  2066. ->group('drptdate,cbanzu')
  2067. ->buildSql();
  2068. $rr = Db::table('scyddx')->alias('r')
  2069. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2070. ->group('r.ICYDID')
  2071. ->buildSql();
  2072. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2073. ->field("
  2074. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2075. Sum(a.nAmount) AS '簿11甲'
  2076. ")
  2077. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2078. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2079. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2080. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2081. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2082. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2083. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2084. ->where('a.cTechName' ,'=','簿册联动')
  2085. ->group("CASE
  2086. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2087. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2088. END,Name_WorkGroup")
  2089. ->buildSql();
  2090. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2091. ->field("
  2092. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2093. Sum(a.nAmount) AS '簿11乙'
  2094. ")
  2095. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2096. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2097. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2098. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2099. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2100. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2101. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2102. ->where('a.cTechName' ,'=','簿册联动')
  2103. ->group("CASE
  2104. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2105. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2106. END,Name_WorkGroup")
  2107. ->buildSql();
  2108. $db = Db::table($A . 'a')
  2109. ->field("
  2110. DISTINCT DATE(A.RQ) rq,
  2111. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2112. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2113. ")
  2114. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2115. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2116. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2117. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2118. ->group('rq')
  2119. ->buildSql();
  2120. $bc = Db::table($db . ' db')
  2121. ->field("
  2122. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2123. ROUND(sum(db.总计册), 0) as 簿册册数
  2124. ")->where("db.RQ >= '{$this->start_time()}'
  2125. AND db.RQ <= '{$this->end_time()}' ")
  2126. ->group('MONTH(db.rq)')
  2127. ->select();
  2128. // 创建一个结果数组
  2129. $result=[];
  2130. $result1 = [];
  2131. // 遍历第一个数组,并将数据加入结果数组
  2132. foreach ($jp as $val1) {
  2133. $month = $val1['日期'];
  2134. $data1 = $val1['精平册数'];
  2135. if (!isset($result[$month])) {
  2136. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2137. }
  2138. if (!isset($result1[$month])) {
  2139. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2140. }
  2141. $result1[$month] += $data1; // 累加第一个数组的数据
  2142. }
  2143. // 遍历第二个数组,并将数据加入结果数组
  2144. foreach ($jd as $val2) {
  2145. $month = $val2['日期'];
  2146. $data1 = $val2['无线胶订册数'];
  2147. if (!isset($result[$month])) {
  2148. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2149. }
  2150. if (!isset($result1[$month])) {
  2151. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2152. }
  2153. $result1[$month] += $data1; // 累加第二个数组的数据
  2154. }
  2155. foreach ($bc as $val2) {
  2156. $month = $val2['日期'];
  2157. $data1 = $val2['簿册册数'];
  2158. if (!isset($result[$month])) {
  2159. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2160. }
  2161. if (!isset($result1[$month])) {
  2162. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2163. }
  2164. $result1[$month] += $data1; // 累加第二个数组的数据
  2165. }
  2166. foreach($result1 as $k=>$v){
  2167. $list['categories'][]=$k;
  2168. $list['series'][0]['name']='装订实物产量册数';
  2169. $list['series'][0]['data'][]=$v;
  2170. }
  2171. $res['status']=0;
  2172. $res['msg']='';
  2173. $res['data']=$list;
  2174. $redis->set($redis_key, json_encode($result1));
  2175. // halt(json_decode($redis->get($redis_key),true));
  2176. return json_encode($result1);
  2177. }
  2178. //前年装订实物产量册数->缓存调用
  2179. public function zdcsTwoYear(){
  2180. $redis=redis();
  2181. $redis_key = md5('zdcsTwoYear');
  2182. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2183. ->union(function ($query) {
  2184. $query->table('scDayRpt_Teams')->alias('b')
  2185. ->field("DISTINCT DATE_FORMAT(
  2186. CASE
  2187. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2188. ELSE b.dOnDuty
  2189. END,
  2190. '%Y-%m-%d'
  2191. ) AS RQ");
  2192. }, true)
  2193. ->buildSql();
  2194. $B1 = Db::table('cpjtfk')
  2195. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2196. ->field("
  2197. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2198. sum(iwcl) as 精1乙
  2199. ")
  2200. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2201. ->group('drptdate,cbanzu')
  2202. ->buildSql();
  2203. $rr = Db::table('scyddx')->alias('r')
  2204. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2205. ->group('r.ICYDID')
  2206. ->buildSql();
  2207. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2208. ->field("
  2209. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2210. sum(a.nAmount) as 精11乙
  2211. ")
  2212. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2213. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2214. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2215. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2216. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2217. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2218. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  2219. ->group("CASE
  2220. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2221. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2222. END,Name_WorkGroup")
  2223. ->buildSql();
  2224. $db = Db::table($A . 'a')
  2225. ->field("
  2226. DISTINCT DATE(A.RQ) rq,
  2227. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  2228. ")
  2229. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2230. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2231. ->group('rq')
  2232. ->buildSql();
  2233. $jp = Db::table($db . ' db')
  2234. ->field("
  2235. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2236. ROUND(sum(db.总计册), 0) as 精平册数
  2237. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2238. AND db.RQ <= '{$this->qianend_time()}' ")
  2239. ->group('MONTH(db.rq)')
  2240. ->select();
  2241. $B = Db::table('cpjtfk')
  2242. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2243. ->field("
  2244. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2245. sum(iwcl) as 马1甲
  2246. ")
  2247. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  2248. ->group('drptdate,cbanzu')
  2249. ->buildSql();
  2250. $B1 = Db::table('cpjtfk')
  2251. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2252. ->field("
  2253. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2254. sum(iwcl) as 马1乙
  2255. ")
  2256. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  2257. ->group('drptdate,cbanzu')
  2258. ->buildSql();
  2259. $C = Db::table('cpjtfk')
  2260. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2261. ->field("
  2262. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2263. sum(iwcl) as 马2甲
  2264. ")
  2265. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  2266. ->group('drptdate,cbanzu')
  2267. ->buildSql();
  2268. $C1 = Db::table('cpjtfk')
  2269. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2270. ->field("
  2271. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2272. sum(iwcl) as 马2乙
  2273. ")
  2274. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  2275. ->group('drptdate,cbanzu')
  2276. ->buildSql();
  2277. $D = Db::table('cpjtfk')
  2278. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2279. ->field("
  2280. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2281. sum(iwcl) as 马3甲
  2282. ")
  2283. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  2284. ->group('drptdate,cbanzu')
  2285. ->buildSql();
  2286. $D1 = Db::table('cpjtfk')
  2287. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2288. ->field("
  2289. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2290. sum(iwcl) as 马3乙
  2291. ")
  2292. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  2293. ->group('drptdate,cbanzu')
  2294. ->buildSql();
  2295. $E = Db::table('cpjtfk')
  2296. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2297. ->field("
  2298. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2299. sum(iwcl) as 马4甲
  2300. ")
  2301. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  2302. ->group('drptdate,cbanzu')
  2303. ->buildSql();
  2304. $E1 = Db::table('cpjtfk')
  2305. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2306. ->field("
  2307. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2308. sum(iwcl) as 马4乙
  2309. ")
  2310. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  2311. ->group('drptdate,cbanzu')
  2312. ->buildSql();
  2313. $F = Db::table('cpjtfk')
  2314. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2315. ->field("
  2316. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2317. sum(iwcl) as 马5甲
  2318. ")
  2319. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  2320. ->group('drptdate,cbanzu')
  2321. ->buildSql();
  2322. $F1 = Db::table('cpjtfk')
  2323. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2324. ->field("
  2325. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2326. sum(iwcl) as 马5乙,
  2327. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  2328. ")
  2329. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  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. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2341. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2342. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2343. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2344. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2345. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2346. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  2347. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2348. ->group("CASE
  2349. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2350. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2351. END,Name_WorkGroup")->buildSql();
  2352. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2353. ->field("
  2354. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2355. sum(a.nAmount) as 马11乙
  2356. ")
  2357. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2358. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2359. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2360. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2361. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2362. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2363. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  2364. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2365. ->group("CASE
  2366. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2367. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2368. END,Name_WorkGroup")
  2369. ->buildSql();
  2370. $CC = Db::table('ql_report_feedback_day')->alias('a')
  2371. ->field("
  2372. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2373. sum(a.nAmount) as 马22甲
  2374. ")
  2375. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2376. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2377. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2378. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2379. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2380. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2381. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  2382. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2383. ->group("CASE
  2384. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2385. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2386. END,Name_WorkGroup")
  2387. ->buildSql();
  2388. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  2389. ->field("
  2390. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2391. sum(a.nAmount) as 马22乙
  2392. ")
  2393. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2394. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2395. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2396. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2397. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2398. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2399. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  2400. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2401. ->group("CASE
  2402. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2403. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2404. END,Name_WorkGroup")
  2405. ->buildSql();
  2406. $EE = Db::table('ql_report_feedback_day')->alias('a')
  2407. ->field("
  2408. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2409. sum(a.nAmount) as 马33甲
  2410. ")
  2411. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2412. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2413. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2414. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2415. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2416. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2417. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  2418. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2419. ->group("CASE
  2420. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2421. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2422. END,Name_WorkGroup")
  2423. ->buildSql();
  2424. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  2425. ->field("
  2426. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2427. sum(a.nAmount) as 马33乙
  2428. ")
  2429. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2430. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2431. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2432. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2433. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2434. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2435. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  2436. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2437. ->group("CASE
  2438. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2439. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2440. END,Name_WorkGroup")
  2441. ->buildSql();
  2442. $HH = Db::table('ql_report_feedback_day')->alias('a')
  2443. ->field("
  2444. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2445. sum(a.nAmount) as 马44甲
  2446. ")
  2447. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2448. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2449. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2450. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2451. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2452. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2453. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  2454. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2455. ->group("CASE
  2456. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2457. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2458. END,Name_WorkGroup")
  2459. ->buildSql();
  2460. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  2461. ->field("
  2462. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2463. sum(a.nAmount) as 马44乙
  2464. ")
  2465. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2466. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2467. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2468. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2469. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2470. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2471. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  2472. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2473. ->group("CASE
  2474. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2475. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2476. END,Name_WorkGroup")
  2477. ->buildSql();
  2478. $XX = Db::table('ql_report_feedback_day')->alias('a')
  2479. ->field("
  2480. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2481. sum(a.nAmount) as 马55甲
  2482. ")
  2483. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2484. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2485. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2486. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2487. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2488. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2489. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  2490. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2491. ->group("CASE
  2492. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2493. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2494. END,Name_WorkGroup")
  2495. ->buildSql();
  2496. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  2497. ->field("
  2498. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2499. sum(a.nAmount) as 马66甲
  2500. ")
  2501. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2502. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2503. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2504. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2505. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2506. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2507. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  2508. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2509. ->group("CASE
  2510. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2511. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2512. END,Name_WorkGroup")
  2513. ->buildSql();
  2514. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2515. ->field("
  2516. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2517. sum(a.nAmount) as 马77甲
  2518. ")
  2519. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2520. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2521. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2522. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2523. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2524. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2525. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2526. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2527. ->group("CASE
  2528. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2529. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2530. END,Name_WorkGroup")
  2531. ->buildSql();
  2532. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2533. ->field("
  2534. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2535. sum(a.nAmount) as 马55乙
  2536. ")
  2537. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2538. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2539. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2540. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2541. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2542. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2543. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2544. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2545. ->group("CASE
  2546. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2547. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2548. END,Name_WorkGroup")
  2549. ->buildSql();
  2550. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2551. ->field("
  2552. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2553. sum(a.nAmount) as 马66乙
  2554. ")
  2555. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2556. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2557. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2558. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2559. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2560. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2561. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2562. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2563. ->group("CASE
  2564. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2565. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2566. END,Name_WorkGroup")
  2567. ->buildSql();
  2568. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2569. ->field("
  2570. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2571. sum(a.nAmount) as 马77乙
  2572. ")
  2573. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2574. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2575. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2576. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2577. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2578. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2579. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2580. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2581. ->group("CASE
  2582. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2583. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2584. END,Name_WorkGroup")
  2585. ->buildSql();
  2586. $db = Db::table($A . 'a')
  2587. ->field("
  2588. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2589. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2590. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2591. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2592. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2593. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2594. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2595. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2596. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2597. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2598. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2599. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2600. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  2601. ")
  2602. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2603. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2604. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2605. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2606. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2607. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2608. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2609. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2610. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2611. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2612. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2613. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2614. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2615. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2616. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2617. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2618. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2619. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2620. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2621. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2622. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2623. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  2624. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2625. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  2626. ->buildSql();
  2627. $jd = Db::table($db . ' db')
  2628. ->field("
  2629. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2630. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2631. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2632. AND db.RQ <= '{$this->qianend_time()}' ")
  2633. ->group('MONTH(db.rq)')
  2634. ->select();
  2635. $B = Db::table('cpjtfk')
  2636. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2637. ->field("
  2638. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2639. Sum(iWcl) AS '簿1甲'
  2640. ")
  2641. ->where('cbanzu','=','簿册机1号(甲班)')
  2642. ->group('drptdate,cbanzu')
  2643. ->buildSql();
  2644. $B1 = Db::table('cpjtfk')
  2645. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2646. ->field("
  2647. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2648. Sum(iWcl) AS '簿1乙'
  2649. ")
  2650. ->where('cbanzu','=','簿册机1号(乙班)')
  2651. ->group('drptdate,cbanzu')
  2652. ->buildSql();
  2653. $rr = Db::table('scyddx')->alias('r')
  2654. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2655. ->group('r.ICYDID')
  2656. ->buildSql();
  2657. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2658. ->field("
  2659. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2660. Sum(a.nAmount) AS '簿11甲'
  2661. ")
  2662. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2663. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2664. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2665. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2666. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2667. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2668. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2669. ->where('a.cTechName' ,'=','簿册联动')
  2670. ->group("CASE
  2671. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2672. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2673. END,Name_WorkGroup")
  2674. ->buildSql();
  2675. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2676. ->field("
  2677. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2678. Sum(a.nAmount) AS '簿11乙'
  2679. ")
  2680. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2681. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2682. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2683. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2684. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2685. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2686. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2687. ->where('a.cTechName' ,'=','簿册联动')
  2688. ->group("CASE
  2689. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2690. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2691. END,Name_WorkGroup")
  2692. ->buildSql();
  2693. $db = Db::table($A . 'a')
  2694. ->field("
  2695. DISTINCT DATE(A.RQ) rq,
  2696. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2697. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2698. ")
  2699. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2700. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2701. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2702. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2703. ->group('rq')
  2704. ->buildSql();
  2705. $bc = Db::table($db . ' db')
  2706. ->field("
  2707. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2708. ROUND(sum(db.总计册), 0) as 簿册册数
  2709. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2710. AND db.RQ <= '{$this->qianend_time()}' ")
  2711. ->group('MONTH(db.rq)')
  2712. ->select();
  2713. // 创建一个结果数组
  2714. $result=[];
  2715. $result1 = [];
  2716. // 遍历第一个数组,并将数据加入结果数组
  2717. foreach ($jp as $val1) {
  2718. $month = $val1['日期'];
  2719. $data1 = $val1['精平册数'];
  2720. if (!isset($result[$month])) {
  2721. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2722. }
  2723. if (!isset($result1[$month])) {
  2724. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2725. }
  2726. $result1[$month] += $data1; // 累加第一个数组的数据
  2727. }
  2728. // 遍历第二个数组,并将数据加入结果数组
  2729. foreach ($jd as $val2) {
  2730. $month = $val2['日期'];
  2731. $data1 = $val2['无线胶订册数'];
  2732. if (!isset($result[$month])) {
  2733. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2734. }
  2735. if (!isset($result1[$month])) {
  2736. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2737. }
  2738. $result1[$month] += $data1; // 累加第二个数组的数据
  2739. }
  2740. foreach ($bc as $val2) {
  2741. $month = $val2['日期'];
  2742. $data1 = $val2['簿册册数'];
  2743. if (!isset($result[$month])) {
  2744. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2745. }
  2746. if (!isset($result1[$month])) {
  2747. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2748. }
  2749. $result1[$month] += $data1; // 累加第二个数组的数据
  2750. }
  2751. foreach($result1 as $k=>$v){
  2752. $list['categories'][]=$k;
  2753. $list['series'][0]['name']='装订实物产量册数';
  2754. $list['series'][0]['data'][]=$v;
  2755. }
  2756. $res['status']=0;
  2757. $res['msg']='';
  2758. $res['data']=$list;
  2759. $redis->set($redis_key, json_encode($result1));
  2760. // halt(json_decode($redis->get($redis_key),true));
  2761. return json_encode($result1);
  2762. }
  2763. //装订实物产量册数 接口合并一起->接口调用
  2764. public function zdcs(){
  2765. $redis = redis();
  2766. $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true);
  2767. $result_qu = json_decode($redis->get(md5('zdcs2022')), true);
  2768. $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true);
  2769. // Merge all data
  2770. $result1 = array_merge($result_qian, $result_qu, $result_dang);
  2771. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2772. $currentYear = date("Y"); // Current year (2025)
  2773. $currentMonth = date("m"); // Current month (07)
  2774. $previousYear = $currentYear - 1; // 2024
  2775. $previousQianYear = $currentYear - 2; // 2023
  2776. // Initialize series with 0 values
  2777. $list['series'] = [
  2778. ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)],
  2779. ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)],
  2780. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)]
  2781. ];
  2782. foreach ($result1 as $k => $v) {
  2783. $yearMonth = explode('-', $k);
  2784. $year = $yearMonth[0];
  2785. $month = (int)$yearMonth[1];
  2786. $monthIndex = $month - 1;
  2787. if ($year == $previousQianYear) {
  2788. $list['series'][0]['data'][$monthIndex] += $v;
  2789. } elseif ($year == $previousYear) {
  2790. $list['series'][1]['data'][$monthIndex] += $v;
  2791. } elseif ($year == $currentYear) {
  2792. // Only add if month is current or past month
  2793. if ($month <= (int)$currentMonth) {
  2794. $list['series'][2]['data'][$monthIndex] += $v;
  2795. }
  2796. }
  2797. }
  2798. $res['status'] = 0;
  2799. $res['msg'] = '';
  2800. $res['data'] = $list;
  2801. return json_encode($res, JSON_UNESCAPED_UNICODE);
  2802. }
  2803. // public function zdcs() {
  2804. // $redis = redis();
  2805. // $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true);
  2806. // $result_qu = json_decode($redis->get(md5('zdcs2022')), true);
  2807. // $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true);
  2808. // // 合并三年的数据
  2809. // $result1 = array_merge($result_qian, $result_qu, $result_dang);
  2810. // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2811. // $currentYear = date("Y"); // 当前年份
  2812. // $currentMonth = date("m"); // 当前月份
  2813. // $previousYear = $currentYear - 1; // 上一年
  2814. // $previousQianYear = $currentYear - 2; // 前年
  2815. // // 初始化三个年份的数据数组,先填充0
  2816. // $list['series'][0]['name'] = $previousQianYear . '年';
  2817. // $list['series'][0]['data'] = array_fill(0, 12, 0);
  2818. // $list['series'][1]['name'] = $previousYear . '年';
  2819. // $list['series'][1]['data'] = array_fill(0, 12, 0);
  2820. // $list['series'][2]['name'] = $currentYear . '年';
  2821. // $list['series'][2]['data'] = array_fill(0, 12, 0);
  2822. // foreach ($result1 as $k => $v) {
  2823. // $yearMonth = explode('-', $k);
  2824. // $year = $yearMonth[0];
  2825. // $month = (int)$yearMonth[1];
  2826. // if ($year == $previousQianYear) {
  2827. // // 如果是前两年的数据,直接赋值
  2828. // $list['series'][0]['data'][$month - 1] = $v;
  2829. // } elseif ($year == $previousYear) {
  2830. // // 如果是去年的数据,直接赋值
  2831. // $list['series'][1]['data'][$month - 1] = $v;
  2832. // } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  2833. // // 如果是当前年份,并且月份不超过当前月份,则赋值
  2834. // $list['series'][2]['data'][$month - 1] = $v;
  2835. // }
  2836. // // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  2837. // }
  2838. // $res['status'] = 0;
  2839. // $res['msg'] = '';
  2840. // $res['data'] = $list;
  2841. // return json_encode($res);
  2842. // }
  2843. //去年装订实物产量纸令->缓存调用
  2844. public function zdzl2022(){
  2845. $redis=redis();
  2846. $redis_key = md5('zdzl2022');
  2847. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2848. ->union(function ($query) {
  2849. $query->table('scDayRpt_Teams')->alias('b')
  2850. ->field("DISTINCT DATE_FORMAT(
  2851. CASE
  2852. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2853. ELSE b.dOnDuty
  2854. END,
  2855. '%Y-%m-%d'
  2856. ) AS RQ");
  2857. }, true)
  2858. ->buildSql();
  2859. $B1 = Db::table('cpjtfk')
  2860. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2861. ->field("
  2862. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2863. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  2864. ")
  2865. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2866. ->group('drptdate,cbanzu')
  2867. ->buildSql();
  2868. $rr = Db::table('scyddx')->alias('r')
  2869. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2870. ->group('r.ICYDID')
  2871. ->buildSql();
  2872. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2873. ->field("
  2874. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2875. ROUND(SUM(
  2876. CASE
  2877. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2878. THEN
  2879. CASE
  2880. WHEN a.cCyddxMc = '装配'
  2881. OR a.cCyddxMc LIKE '%正文%'
  2882. OR a.cCyddxMc LIKE '%答案%'
  2883. OR a.cCyddxMc LIKE '%卷%'
  2884. THEN
  2885. CASE
  2886. WHEN CASE
  2887. WHEN IFNULL(d.fZls, 0) < rr.zl
  2888. THEN rr.zl
  2889. ELSE IFNULL(d.fZls, 0)
  2890. END = 0
  2891. THEN c.nzdls
  2892. ELSE (
  2893. CASE
  2894. WHEN c.nzdls <
  2895. CASE
  2896. WHEN IFNULL(d.fZls, 0) < rr.zl
  2897. THEN rr.zl
  2898. ELSE IFNULL(d.fZls, 0)
  2899. END
  2900. THEN
  2901. CASE
  2902. WHEN IFNULL(d.fZls, 0) < rr.zl
  2903. THEN rr.zl
  2904. ELSE IFNULL(d.fZls, 0)
  2905. END
  2906. ELSE c.nzdls
  2907. END
  2908. )
  2909. END
  2910. ELSE 0
  2911. END
  2912. ELSE
  2913. CASE
  2914. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2915. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2916. CASE
  2917. WHEN a.cCyddxMc = '装配'
  2918. OR a.cCyddxMc LIKE '%正文%'
  2919. OR a.cCyddxMc LIKE '%答案%'
  2920. OR a.cCyddxMc LIKE '%卷%'
  2921. THEN
  2922. CASE
  2923. WHEN CASE
  2924. WHEN IFNULL(d.fZls, 0) < rr.zl
  2925. THEN rr.zl
  2926. ELSE IFNULL(d.fZls, 0)
  2927. END = 0
  2928. THEN c.nzdls
  2929. ELSE (
  2930. CASE
  2931. WHEN c.nzdls <
  2932. CASE
  2933. WHEN IFNULL(d.fZls, 0) < rr.zl
  2934. THEN rr.zl
  2935. ELSE IFNULL(d.fZls, 0)
  2936. END
  2937. THEN
  2938. CASE
  2939. WHEN IFNULL(d.fZls, 0) < rr.zl
  2940. THEN rr.zl
  2941. ELSE IFNULL(d.fZls, 0)
  2942. END
  2943. ELSE c.nzdls
  2944. END
  2945. )
  2946. END
  2947. ELSE 0
  2948. END
  2949. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2950. END
  2951. END )
  2952. , 3) 精11乙纸令
  2953. ")
  2954. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2955. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2956. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2957. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2958. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2959. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2960. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  2961. ->group("CASE
  2962. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2963. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2964. END,Name_WorkGroup")
  2965. ->buildSql();
  2966. $db = Db::table($A . 'a')
  2967. ->field("
  2968. DATE(A.RQ) rq,
  2969. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  2970. ")
  2971. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2972. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2973. ->buildSql();
  2974. $jp = Db::table($db . ' db')
  2975. ->field("
  2976. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2977. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  2978. ")->where("db.RQ >= '{$this->qstart_time()}'
  2979. AND db.RQ <= '{$this->qend_time()}' ")
  2980. ->group('MONTH(db.rq)')
  2981. ->select();
  2982. $B = Db::table('cpjtfk')
  2983. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2984. ->field("
  2985. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2986. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  2987. ")
  2988. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  2989. ->group('drptdate,cbanzu')
  2990. ->buildSql();
  2991. $B1 = Db::table('cpjtfk')
  2992. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2993. ->field("
  2994. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2995. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  2996. ")
  2997. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  2998. ->group('drptdate,cbanzu')
  2999. ->buildSql();
  3000. $C = Db::table('cpjtfk')
  3001. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3002. ->field("
  3003. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3004. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  3005. ")
  3006. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  3007. ->group('drptdate,cbanzu')
  3008. ->buildSql();
  3009. $C1 = Db::table('cpjtfk')
  3010. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3011. ->field("
  3012. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3013. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  3014. ")
  3015. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  3016. ->group('drptdate,cbanzu')
  3017. ->buildSql();
  3018. $D = Db::table('cpjtfk')
  3019. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3020. ->field("
  3021. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3022. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  3023. ")
  3024. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  3025. ->group('drptdate,cbanzu')
  3026. ->buildSql();
  3027. $D1 = Db::table('cpjtfk')
  3028. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3029. ->field("
  3030. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3031. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  3032. ")
  3033. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  3034. ->group('drptdate,cbanzu')
  3035. ->buildSql();
  3036. $E = Db::table('cpjtfk')
  3037. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3038. ->field("
  3039. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3040. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  3041. ")
  3042. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  3043. ->group('drptdate,cbanzu')
  3044. ->buildSql();
  3045. $E1 = Db::table('cpjtfk')
  3046. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3047. ->field("
  3048. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3049. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  3050. ")
  3051. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  3052. ->group('drptdate,cbanzu')
  3053. ->buildSql();
  3054. $F = Db::table('cpjtfk')
  3055. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3056. ->field("
  3057. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3058. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  3059. ")
  3060. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  3061. ->group('drptdate,cbanzu')
  3062. ->buildSql();
  3063. $F1 = Db::table('cpjtfk')
  3064. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3065. ->field("
  3066. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3067. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  3068. ")
  3069. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  3070. ->group('drptdate,cbanzu')
  3071. ->buildSql();
  3072. $rr = Db::table('scyddx')->alias('r')
  3073. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3074. ->group('r.ICYDID')
  3075. ->buildSql();
  3076. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  3077. ->field("
  3078. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3079. ROUND(SUM(
  3080. CASE
  3081. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3082. THEN CASE WHEN a.cCyddxMc = '装配'
  3083. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3084. THEN CASE
  3085. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3086. END = 0 THEN c.nzdls
  3087. ELSE ( CASE
  3088. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3089. END
  3090. THEN CASE
  3091. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3092. END ELSE c.nzdls END
  3093. ) END ELSE 0 END
  3094. ELSE CASE
  3095. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3096. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3097. CASE WHEN a.cCyddxMc = '装配'
  3098. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3099. THEN CASE
  3100. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3101. END = 0 THEN c.nzdls
  3102. ELSE ( CASE WHEN c.nzdls <
  3103. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3104. END
  3105. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3106. END ELSE c.nzdls END )
  3107. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3108. END END ), 3) 马11甲纸令 ")
  3109. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3110. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3111. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3112. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3113. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3114. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3115. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  3116. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3117. ->group("CASE
  3118. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3119. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3120. END,Name_WorkGroup")->buildSql();
  3121. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3122. ->field("
  3123. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3124. ROUND(SUM(
  3125. CASE
  3126. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3127. THEN
  3128. CASE
  3129. WHEN a.cCyddxMc = '装配'
  3130. OR a.cCyddxMc LIKE '%正文%'
  3131. OR a.cCyddxMc LIKE '%答案%'
  3132. OR a.cCyddxMc LIKE '%卷%'
  3133. THEN
  3134. CASE
  3135. WHEN CASE
  3136. WHEN IFNULL(d.fZls, 0) < rr.zl
  3137. THEN rr.zl
  3138. ELSE IFNULL(d.fZls, 0)
  3139. END = 0
  3140. THEN c.nzdls
  3141. ELSE (
  3142. CASE
  3143. WHEN c.nzdls <
  3144. CASE
  3145. WHEN IFNULL(d.fZls, 0) < rr.zl
  3146. THEN rr.zl
  3147. ELSE IFNULL(d.fZls, 0)
  3148. END
  3149. THEN
  3150. CASE
  3151. WHEN IFNULL(d.fZls, 0) < rr.zl
  3152. THEN rr.zl
  3153. ELSE IFNULL(d.fZls, 0)
  3154. END
  3155. ELSE c.nzdls
  3156. END
  3157. )
  3158. END
  3159. ELSE 0
  3160. END
  3161. ELSE
  3162. CASE
  3163. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3164. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3165. CASE
  3166. WHEN a.cCyddxMc = '装配'
  3167. OR a.cCyddxMc LIKE '%正文%'
  3168. OR a.cCyddxMc LIKE '%答案%'
  3169. OR a.cCyddxMc LIKE '%卷%'
  3170. THEN
  3171. CASE
  3172. WHEN CASE
  3173. WHEN IFNULL(d.fZls, 0) < rr.zl
  3174. THEN rr.zl
  3175. ELSE IFNULL(d.fZls, 0)
  3176. END = 0
  3177. THEN c.nzdls
  3178. ELSE (
  3179. CASE
  3180. WHEN c.nzdls <
  3181. CASE
  3182. WHEN IFNULL(d.fZls, 0) < rr.zl
  3183. THEN rr.zl
  3184. ELSE IFNULL(d.fZls, 0)
  3185. END
  3186. THEN
  3187. CASE
  3188. WHEN IFNULL(d.fZls, 0) < rr.zl
  3189. THEN rr.zl
  3190. ELSE IFNULL(d.fZls, 0)
  3191. END
  3192. ELSE c.nzdls
  3193. END
  3194. )
  3195. END
  3196. ELSE 0
  3197. END
  3198. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3199. END
  3200. END )
  3201. , 3) 马11乙纸令
  3202. ")
  3203. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3204. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3205. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3206. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3207. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3208. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3209. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  3210. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3211. ->group("CASE
  3212. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3213. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3214. END,Name_WorkGroup")
  3215. ->buildSql();
  3216. $CC = Db::table('ql_report_feedback_day')->alias('a')
  3217. ->field("
  3218. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3219. ROUND(SUM(
  3220. CASE
  3221. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3222. THEN
  3223. CASE
  3224. WHEN a.cCyddxMc = '装配'
  3225. OR a.cCyddxMc LIKE '%正文%'
  3226. OR a.cCyddxMc LIKE '%答案%'
  3227. OR a.cCyddxMc LIKE '%卷%'
  3228. THEN
  3229. CASE
  3230. WHEN CASE
  3231. WHEN IFNULL(d.fZls, 0) < rr.zl
  3232. THEN rr.zl
  3233. ELSE IFNULL(d.fZls, 0)
  3234. END = 0
  3235. THEN c.nzdls
  3236. ELSE (
  3237. CASE
  3238. WHEN c.nzdls <
  3239. CASE
  3240. WHEN IFNULL(d.fZls, 0) < rr.zl
  3241. THEN rr.zl
  3242. ELSE IFNULL(d.fZls, 0)
  3243. END
  3244. THEN
  3245. CASE
  3246. WHEN IFNULL(d.fZls, 0) < rr.zl
  3247. THEN rr.zl
  3248. ELSE IFNULL(d.fZls, 0)
  3249. END
  3250. ELSE c.nzdls
  3251. END
  3252. )
  3253. END
  3254. ELSE 0
  3255. END
  3256. ELSE
  3257. CASE
  3258. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3259. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3260. CASE
  3261. WHEN a.cCyddxMc = '装配'
  3262. OR a.cCyddxMc LIKE '%正文%'
  3263. OR a.cCyddxMc LIKE '%答案%'
  3264. OR a.cCyddxMc LIKE '%卷%'
  3265. THEN
  3266. CASE
  3267. WHEN CASE
  3268. WHEN IFNULL(d.fZls, 0) < rr.zl
  3269. THEN rr.zl
  3270. ELSE IFNULL(d.fZls, 0)
  3271. END = 0
  3272. THEN c.nzdls
  3273. ELSE (
  3274. CASE
  3275. WHEN c.nzdls <
  3276. CASE
  3277. WHEN IFNULL(d.fZls, 0) < rr.zl
  3278. THEN rr.zl
  3279. ELSE IFNULL(d.fZls, 0)
  3280. END
  3281. THEN
  3282. CASE
  3283. WHEN IFNULL(d.fZls, 0) < rr.zl
  3284. THEN rr.zl
  3285. ELSE IFNULL(d.fZls, 0)
  3286. END
  3287. ELSE c.nzdls
  3288. END
  3289. )
  3290. END
  3291. ELSE 0
  3292. END
  3293. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3294. END
  3295. END )
  3296. , 3) 马22甲纸令
  3297. ")
  3298. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3299. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3300. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3301. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3302. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3303. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3304. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  3305. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3306. ->group("CASE
  3307. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3308. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3309. END,Name_WorkGroup")
  3310. ->buildSql();
  3311. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  3312. ->field("
  3313. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3314. ROUND(SUM(
  3315. CASE
  3316. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3317. THEN
  3318. CASE
  3319. WHEN a.cCyddxMc = '装配'
  3320. OR a.cCyddxMc LIKE '%正文%'
  3321. OR a.cCyddxMc LIKE '%答案%'
  3322. OR a.cCyddxMc LIKE '%卷%'
  3323. THEN
  3324. CASE
  3325. WHEN CASE
  3326. WHEN IFNULL(d.fZls, 0) < rr.zl
  3327. THEN rr.zl
  3328. ELSE IFNULL(d.fZls, 0)
  3329. END = 0
  3330. THEN c.nzdls
  3331. ELSE (
  3332. CASE
  3333. WHEN c.nzdls <
  3334. CASE
  3335. WHEN IFNULL(d.fZls, 0) < rr.zl
  3336. THEN rr.zl
  3337. ELSE IFNULL(d.fZls, 0)
  3338. END
  3339. THEN
  3340. CASE
  3341. WHEN IFNULL(d.fZls, 0) < rr.zl
  3342. THEN rr.zl
  3343. ELSE IFNULL(d.fZls, 0)
  3344. END
  3345. ELSE c.nzdls
  3346. END
  3347. )
  3348. END
  3349. ELSE 0
  3350. END
  3351. ELSE
  3352. CASE
  3353. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3354. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3355. CASE
  3356. WHEN a.cCyddxMc = '装配'
  3357. OR a.cCyddxMc LIKE '%正文%'
  3358. OR a.cCyddxMc LIKE '%答案%'
  3359. OR a.cCyddxMc LIKE '%卷%'
  3360. THEN
  3361. CASE
  3362. WHEN CASE
  3363. WHEN IFNULL(d.fZls, 0) < rr.zl
  3364. THEN rr.zl
  3365. ELSE IFNULL(d.fZls, 0)
  3366. END = 0
  3367. THEN c.nzdls
  3368. ELSE (
  3369. CASE
  3370. WHEN c.nzdls <
  3371. CASE
  3372. WHEN IFNULL(d.fZls, 0) < rr.zl
  3373. THEN rr.zl
  3374. ELSE IFNULL(d.fZls, 0)
  3375. END
  3376. THEN
  3377. CASE
  3378. WHEN IFNULL(d.fZls, 0) < rr.zl
  3379. THEN rr.zl
  3380. ELSE IFNULL(d.fZls, 0)
  3381. END
  3382. ELSE c.nzdls
  3383. END
  3384. )
  3385. END
  3386. ELSE 0
  3387. END
  3388. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3389. END
  3390. END )
  3391. , 3) 马22乙纸令
  3392. ")
  3393. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3394. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3395. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3396. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3397. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3398. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3399. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  3400. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3401. ->group("CASE
  3402. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3403. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3404. END,Name_WorkGroup")
  3405. ->buildSql();
  3406. $EE = Db::table('ql_report_feedback_day')->alias('a')
  3407. ->field("
  3408. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3409. ROUND(SUM(
  3410. CASE
  3411. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3412. THEN
  3413. CASE
  3414. WHEN a.cCyddxMc = '装配'
  3415. OR a.cCyddxMc LIKE '%正文%'
  3416. OR a.cCyddxMc LIKE '%答案%'
  3417. OR a.cCyddxMc LIKE '%卷%'
  3418. THEN
  3419. CASE
  3420. WHEN CASE
  3421. WHEN IFNULL(d.fZls, 0) < rr.zl
  3422. THEN rr.zl
  3423. ELSE IFNULL(d.fZls, 0)
  3424. END = 0
  3425. THEN c.nzdls
  3426. ELSE (
  3427. CASE
  3428. WHEN c.nzdls <
  3429. CASE
  3430. WHEN IFNULL(d.fZls, 0) < rr.zl
  3431. THEN rr.zl
  3432. ELSE IFNULL(d.fZls, 0)
  3433. END
  3434. THEN
  3435. CASE
  3436. WHEN IFNULL(d.fZls, 0) < rr.zl
  3437. THEN rr.zl
  3438. ELSE IFNULL(d.fZls, 0)
  3439. END
  3440. ELSE c.nzdls
  3441. END
  3442. )
  3443. END
  3444. ELSE 0
  3445. END
  3446. ELSE
  3447. CASE
  3448. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3449. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3450. CASE
  3451. WHEN a.cCyddxMc = '装配'
  3452. OR a.cCyddxMc LIKE '%正文%'
  3453. OR a.cCyddxMc LIKE '%答案%'
  3454. OR a.cCyddxMc LIKE '%卷%'
  3455. THEN
  3456. CASE
  3457. WHEN CASE
  3458. WHEN IFNULL(d.fZls, 0) < rr.zl
  3459. THEN rr.zl
  3460. ELSE IFNULL(d.fZls, 0)
  3461. END = 0
  3462. THEN c.nzdls
  3463. ELSE (
  3464. CASE
  3465. WHEN c.nzdls <
  3466. CASE
  3467. WHEN IFNULL(d.fZls, 0) < rr.zl
  3468. THEN rr.zl
  3469. ELSE IFNULL(d.fZls, 0)
  3470. END
  3471. THEN
  3472. CASE
  3473. WHEN IFNULL(d.fZls, 0) < rr.zl
  3474. THEN rr.zl
  3475. ELSE IFNULL(d.fZls, 0)
  3476. END
  3477. ELSE c.nzdls
  3478. END
  3479. )
  3480. END
  3481. ELSE 0
  3482. END
  3483. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3484. END
  3485. END )
  3486. , 3) 马33甲纸令
  3487. ")
  3488. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3489. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3490. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3491. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3492. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3493. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3494. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  3495. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3496. ->group("CASE
  3497. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3498. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3499. END,Name_WorkGroup")
  3500. ->buildSql();
  3501. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  3502. ->field("
  3503. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3504. ROUND(SUM(
  3505. CASE
  3506. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3507. THEN
  3508. CASE
  3509. WHEN a.cCyddxMc = '装配'
  3510. OR a.cCyddxMc LIKE '%正文%'
  3511. OR a.cCyddxMc LIKE '%答案%'
  3512. OR a.cCyddxMc LIKE '%卷%'
  3513. THEN
  3514. CASE
  3515. WHEN CASE
  3516. WHEN IFNULL(d.fZls, 0) < rr.zl
  3517. THEN rr.zl
  3518. ELSE IFNULL(d.fZls, 0)
  3519. END = 0
  3520. THEN c.nzdls
  3521. ELSE (
  3522. CASE
  3523. WHEN c.nzdls <
  3524. CASE
  3525. WHEN IFNULL(d.fZls, 0) < rr.zl
  3526. THEN rr.zl
  3527. ELSE IFNULL(d.fZls, 0)
  3528. END
  3529. THEN
  3530. CASE
  3531. WHEN IFNULL(d.fZls, 0) < rr.zl
  3532. THEN rr.zl
  3533. ELSE IFNULL(d.fZls, 0)
  3534. END
  3535. ELSE c.nzdls
  3536. END
  3537. )
  3538. END
  3539. ELSE 0
  3540. END
  3541. ELSE
  3542. CASE
  3543. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3544. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3545. CASE
  3546. WHEN a.cCyddxMc = '装配'
  3547. OR a.cCyddxMc LIKE '%正文%'
  3548. OR a.cCyddxMc LIKE '%答案%'
  3549. OR a.cCyddxMc LIKE '%卷%'
  3550. THEN
  3551. CASE
  3552. WHEN CASE
  3553. WHEN IFNULL(d.fZls, 0) < rr.zl
  3554. THEN rr.zl
  3555. ELSE IFNULL(d.fZls, 0)
  3556. END = 0
  3557. THEN c.nzdls
  3558. ELSE (
  3559. CASE
  3560. WHEN c.nzdls <
  3561. CASE
  3562. WHEN IFNULL(d.fZls, 0) < rr.zl
  3563. THEN rr.zl
  3564. ELSE IFNULL(d.fZls, 0)
  3565. END
  3566. THEN
  3567. CASE
  3568. WHEN IFNULL(d.fZls, 0) < rr.zl
  3569. THEN rr.zl
  3570. ELSE IFNULL(d.fZls, 0)
  3571. END
  3572. ELSE c.nzdls
  3573. END
  3574. )
  3575. END
  3576. ELSE 0
  3577. END
  3578. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3579. END
  3580. END )
  3581. , 3) 马33乙纸令
  3582. ")
  3583. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3584. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3585. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3586. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3587. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3588. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3589. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  3590. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3591. ->group("CASE
  3592. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3593. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3594. END,Name_WorkGroup")
  3595. ->buildSql();
  3596. $HH = Db::table('ql_report_feedback_day')->alias('a')
  3597. ->field("
  3598. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3599. ROUND(SUM(
  3600. CASE
  3601. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3602. THEN
  3603. CASE
  3604. WHEN a.cCyddxMc = '装配'
  3605. OR a.cCyddxMc LIKE '%正文%'
  3606. OR a.cCyddxMc LIKE '%答案%'
  3607. OR a.cCyddxMc LIKE '%卷%'
  3608. THEN
  3609. CASE
  3610. WHEN CASE
  3611. WHEN IFNULL(d.fZls, 0) < rr.zl
  3612. THEN rr.zl
  3613. ELSE IFNULL(d.fZls, 0)
  3614. END = 0
  3615. THEN c.nzdls
  3616. ELSE (
  3617. CASE
  3618. WHEN c.nzdls <
  3619. CASE
  3620. WHEN IFNULL(d.fZls, 0) < rr.zl
  3621. THEN rr.zl
  3622. ELSE IFNULL(d.fZls, 0)
  3623. END
  3624. THEN
  3625. CASE
  3626. WHEN IFNULL(d.fZls, 0) < rr.zl
  3627. THEN rr.zl
  3628. ELSE IFNULL(d.fZls, 0)
  3629. END
  3630. ELSE c.nzdls
  3631. END
  3632. )
  3633. END
  3634. ELSE 0
  3635. END
  3636. ELSE
  3637. CASE
  3638. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3639. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3640. CASE
  3641. WHEN a.cCyddxMc = '装配'
  3642. OR a.cCyddxMc LIKE '%正文%'
  3643. OR a.cCyddxMc LIKE '%答案%'
  3644. OR a.cCyddxMc LIKE '%卷%'
  3645. THEN
  3646. CASE
  3647. WHEN CASE
  3648. WHEN IFNULL(d.fZls, 0) < rr.zl
  3649. THEN rr.zl
  3650. ELSE IFNULL(d.fZls, 0)
  3651. END = 0
  3652. THEN c.nzdls
  3653. ELSE (
  3654. CASE
  3655. WHEN c.nzdls <
  3656. CASE
  3657. WHEN IFNULL(d.fZls, 0) < rr.zl
  3658. THEN rr.zl
  3659. ELSE IFNULL(d.fZls, 0)
  3660. END
  3661. THEN
  3662. CASE
  3663. WHEN IFNULL(d.fZls, 0) < rr.zl
  3664. THEN rr.zl
  3665. ELSE IFNULL(d.fZls, 0)
  3666. END
  3667. ELSE c.nzdls
  3668. END
  3669. )
  3670. END
  3671. ELSE 0
  3672. END
  3673. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3674. END
  3675. END )
  3676. , 3) 马44甲纸令
  3677. ")
  3678. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3679. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3680. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3681. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3682. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3683. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3684. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  3685. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3686. ->group("CASE
  3687. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3688. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3689. END,Name_WorkGroup")
  3690. ->buildSql();
  3691. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  3692. ->field("
  3693. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3694. ROUND(SUM(
  3695. CASE
  3696. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3697. THEN
  3698. CASE
  3699. WHEN a.cCyddxMc = '装配'
  3700. OR a.cCyddxMc LIKE '%正文%'
  3701. OR a.cCyddxMc LIKE '%答案%'
  3702. OR a.cCyddxMc LIKE '%卷%'
  3703. THEN
  3704. CASE
  3705. WHEN CASE
  3706. WHEN IFNULL(d.fZls, 0) < rr.zl
  3707. THEN rr.zl
  3708. ELSE IFNULL(d.fZls, 0)
  3709. END = 0
  3710. THEN c.nzdls
  3711. ELSE (
  3712. CASE
  3713. WHEN c.nzdls <
  3714. CASE
  3715. WHEN IFNULL(d.fZls, 0) < rr.zl
  3716. THEN rr.zl
  3717. ELSE IFNULL(d.fZls, 0)
  3718. END
  3719. THEN
  3720. CASE
  3721. WHEN IFNULL(d.fZls, 0) < rr.zl
  3722. THEN rr.zl
  3723. ELSE IFNULL(d.fZls, 0)
  3724. END
  3725. ELSE c.nzdls
  3726. END
  3727. )
  3728. END
  3729. ELSE 0
  3730. END
  3731. ELSE
  3732. CASE
  3733. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3734. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3735. CASE
  3736. WHEN a.cCyddxMc = '装配'
  3737. OR a.cCyddxMc LIKE '%正文%'
  3738. OR a.cCyddxMc LIKE '%答案%'
  3739. OR a.cCyddxMc LIKE '%卷%'
  3740. THEN
  3741. CASE
  3742. WHEN CASE
  3743. WHEN IFNULL(d.fZls, 0) < rr.zl
  3744. THEN rr.zl
  3745. ELSE IFNULL(d.fZls, 0)
  3746. END = 0
  3747. THEN c.nzdls
  3748. ELSE (
  3749. CASE
  3750. WHEN c.nzdls <
  3751. CASE
  3752. WHEN IFNULL(d.fZls, 0) < rr.zl
  3753. THEN rr.zl
  3754. ELSE IFNULL(d.fZls, 0)
  3755. END
  3756. THEN
  3757. CASE
  3758. WHEN IFNULL(d.fZls, 0) < rr.zl
  3759. THEN rr.zl
  3760. ELSE IFNULL(d.fZls, 0)
  3761. END
  3762. ELSE c.nzdls
  3763. END
  3764. )
  3765. END
  3766. ELSE 0
  3767. END
  3768. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3769. END
  3770. END )
  3771. , 3) 马44乙纸令
  3772. ")
  3773. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3774. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3775. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3776. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3777. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3778. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3779. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  3780. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3781. ->group("CASE
  3782. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3783. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3784. END,Name_WorkGroup")
  3785. ->buildSql();
  3786. $XX = Db::table('ql_report_feedback_day')->alias('a')
  3787. ->field("
  3788. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3789. ROUND(SUM(
  3790. CASE
  3791. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3792. THEN
  3793. CASE
  3794. WHEN a.cCyddxMc = '装配'
  3795. OR a.cCyddxMc LIKE '%正文%'
  3796. OR a.cCyddxMc LIKE '%答案%'
  3797. OR a.cCyddxMc LIKE '%卷%'
  3798. THEN
  3799. CASE
  3800. WHEN CASE
  3801. WHEN IFNULL(d.fZls, 0) < rr.zl
  3802. THEN rr.zl
  3803. ELSE IFNULL(d.fZls, 0)
  3804. END = 0
  3805. THEN c.nzdls
  3806. ELSE (
  3807. CASE
  3808. WHEN c.nzdls <
  3809. CASE
  3810. WHEN IFNULL(d.fZls, 0) < rr.zl
  3811. THEN rr.zl
  3812. ELSE IFNULL(d.fZls, 0)
  3813. END
  3814. THEN
  3815. CASE
  3816. WHEN IFNULL(d.fZls, 0) < rr.zl
  3817. THEN rr.zl
  3818. ELSE IFNULL(d.fZls, 0)
  3819. END
  3820. ELSE c.nzdls
  3821. END
  3822. )
  3823. END
  3824. ELSE 0
  3825. END
  3826. ELSE
  3827. CASE
  3828. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3829. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3830. CASE
  3831. WHEN a.cCyddxMc = '装配'
  3832. OR a.cCyddxMc LIKE '%正文%'
  3833. OR a.cCyddxMc LIKE '%答案%'
  3834. OR a.cCyddxMc LIKE '%卷%'
  3835. THEN
  3836. CASE
  3837. WHEN CASE
  3838. WHEN IFNULL(d.fZls, 0) < rr.zl
  3839. THEN rr.zl
  3840. ELSE IFNULL(d.fZls, 0)
  3841. END = 0
  3842. THEN c.nzdls
  3843. ELSE (
  3844. CASE
  3845. WHEN c.nzdls <
  3846. CASE
  3847. WHEN IFNULL(d.fZls, 0) < rr.zl
  3848. THEN rr.zl
  3849. ELSE IFNULL(d.fZls, 0)
  3850. END
  3851. THEN
  3852. CASE
  3853. WHEN IFNULL(d.fZls, 0) < rr.zl
  3854. THEN rr.zl
  3855. ELSE IFNULL(d.fZls, 0)
  3856. END
  3857. ELSE c.nzdls
  3858. END
  3859. )
  3860. END
  3861. ELSE 0
  3862. END
  3863. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3864. END
  3865. END )
  3866. , 3) 马55甲纸令
  3867. ")
  3868. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3869. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3870. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3871. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3872. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3873. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3874. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  3875. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3876. ->group("CASE
  3877. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3878. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3879. END,Name_WorkGroup")
  3880. ->buildSql();
  3881. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  3882. ->field("
  3883. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3884. ROUND(SUM(
  3885. CASE
  3886. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3887. THEN
  3888. CASE
  3889. WHEN a.cCyddxMc = '装配'
  3890. OR a.cCyddxMc LIKE '%正文%'
  3891. OR a.cCyddxMc LIKE '%答案%'
  3892. OR a.cCyddxMc LIKE '%卷%'
  3893. THEN
  3894. CASE
  3895. WHEN CASE
  3896. WHEN IFNULL(d.fZls, 0) < rr.zl
  3897. THEN rr.zl
  3898. ELSE IFNULL(d.fZls, 0)
  3899. END = 0
  3900. THEN c.nzdls
  3901. ELSE (
  3902. CASE
  3903. WHEN c.nzdls <
  3904. CASE
  3905. WHEN IFNULL(d.fZls, 0) < rr.zl
  3906. THEN rr.zl
  3907. ELSE IFNULL(d.fZls, 0)
  3908. END
  3909. THEN
  3910. CASE
  3911. WHEN IFNULL(d.fZls, 0) < rr.zl
  3912. THEN rr.zl
  3913. ELSE IFNULL(d.fZls, 0)
  3914. END
  3915. ELSE c.nzdls
  3916. END
  3917. )
  3918. END
  3919. ELSE 0
  3920. END
  3921. ELSE
  3922. CASE
  3923. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3924. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3925. CASE
  3926. WHEN a.cCyddxMc = '装配'
  3927. OR a.cCyddxMc LIKE '%正文%'
  3928. OR a.cCyddxMc LIKE '%答案%'
  3929. OR a.cCyddxMc LIKE '%卷%'
  3930. THEN
  3931. CASE
  3932. WHEN CASE
  3933. WHEN IFNULL(d.fZls, 0) < rr.zl
  3934. THEN rr.zl
  3935. ELSE IFNULL(d.fZls, 0)
  3936. END = 0
  3937. THEN c.nzdls
  3938. ELSE (
  3939. CASE
  3940. WHEN c.nzdls <
  3941. CASE
  3942. WHEN IFNULL(d.fZls, 0) < rr.zl
  3943. THEN rr.zl
  3944. ELSE IFNULL(d.fZls, 0)
  3945. END
  3946. THEN
  3947. CASE
  3948. WHEN IFNULL(d.fZls, 0) < rr.zl
  3949. THEN rr.zl
  3950. ELSE IFNULL(d.fZls, 0)
  3951. END
  3952. ELSE c.nzdls
  3953. END
  3954. )
  3955. END
  3956. ELSE 0
  3957. END
  3958. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3959. END
  3960. END )
  3961. , 3) 马66甲纸令
  3962. ")
  3963. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3964. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3965. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3966. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3967. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3968. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3969. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  3970. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3971. ->group("CASE
  3972. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3973. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3974. END,Name_WorkGroup")
  3975. ->buildSql();
  3976. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  3977. ->field("
  3978. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3979. ROUND(SUM(
  3980. CASE
  3981. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3982. THEN
  3983. CASE
  3984. WHEN a.cCyddxMc = '装配'
  3985. OR a.cCyddxMc LIKE '%正文%'
  3986. OR a.cCyddxMc LIKE '%答案%'
  3987. OR a.cCyddxMc LIKE '%卷%'
  3988. THEN
  3989. CASE
  3990. WHEN CASE
  3991. WHEN IFNULL(d.fZls, 0) < rr.zl
  3992. THEN rr.zl
  3993. ELSE IFNULL(d.fZls, 0)
  3994. END = 0
  3995. THEN c.nzdls
  3996. ELSE (
  3997. CASE
  3998. WHEN c.nzdls <
  3999. CASE
  4000. WHEN IFNULL(d.fZls, 0) < rr.zl
  4001. THEN rr.zl
  4002. ELSE IFNULL(d.fZls, 0)
  4003. END
  4004. THEN
  4005. CASE
  4006. WHEN IFNULL(d.fZls, 0) < rr.zl
  4007. THEN rr.zl
  4008. ELSE IFNULL(d.fZls, 0)
  4009. END
  4010. ELSE c.nzdls
  4011. END
  4012. )
  4013. END
  4014. ELSE 0
  4015. END
  4016. ELSE
  4017. CASE
  4018. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4019. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4020. CASE
  4021. WHEN a.cCyddxMc = '装配'
  4022. OR a.cCyddxMc LIKE '%正文%'
  4023. OR a.cCyddxMc LIKE '%答案%'
  4024. OR a.cCyddxMc LIKE '%卷%'
  4025. THEN
  4026. CASE
  4027. WHEN CASE
  4028. WHEN IFNULL(d.fZls, 0) < rr.zl
  4029. THEN rr.zl
  4030. ELSE IFNULL(d.fZls, 0)
  4031. END = 0
  4032. THEN c.nzdls
  4033. ELSE (
  4034. CASE
  4035. WHEN c.nzdls <
  4036. CASE
  4037. WHEN IFNULL(d.fZls, 0) < rr.zl
  4038. THEN rr.zl
  4039. ELSE IFNULL(d.fZls, 0)
  4040. END
  4041. THEN
  4042. CASE
  4043. WHEN IFNULL(d.fZls, 0) < rr.zl
  4044. THEN rr.zl
  4045. ELSE IFNULL(d.fZls, 0)
  4046. END
  4047. ELSE c.nzdls
  4048. END
  4049. )
  4050. END
  4051. ELSE 0
  4052. END
  4053. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4054. END
  4055. END )
  4056. , 3) 马77甲纸令
  4057. ")
  4058. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4059. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4060. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4061. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4062. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4063. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4064. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  4065. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4066. ->group("CASE
  4067. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4068. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4069. END,Name_WorkGroup")
  4070. ->buildSql();
  4071. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  4072. ->field("
  4073. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4074. ROUND(SUM(
  4075. CASE
  4076. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4077. THEN
  4078. CASE
  4079. WHEN a.cCyddxMc = '装配'
  4080. OR a.cCyddxMc LIKE '%正文%'
  4081. OR a.cCyddxMc LIKE '%答案%'
  4082. OR a.cCyddxMc LIKE '%卷%'
  4083. THEN
  4084. CASE
  4085. WHEN CASE
  4086. WHEN IFNULL(d.fZls, 0) < rr.zl
  4087. THEN rr.zl
  4088. ELSE IFNULL(d.fZls, 0)
  4089. END = 0
  4090. THEN c.nzdls
  4091. ELSE (
  4092. CASE
  4093. WHEN c.nzdls <
  4094. CASE
  4095. WHEN IFNULL(d.fZls, 0) < rr.zl
  4096. THEN rr.zl
  4097. ELSE IFNULL(d.fZls, 0)
  4098. END
  4099. THEN
  4100. CASE
  4101. WHEN IFNULL(d.fZls, 0) < rr.zl
  4102. THEN rr.zl
  4103. ELSE IFNULL(d.fZls, 0)
  4104. END
  4105. ELSE c.nzdls
  4106. END
  4107. )
  4108. END
  4109. ELSE 0
  4110. END
  4111. ELSE
  4112. CASE
  4113. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4114. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4115. CASE
  4116. WHEN a.cCyddxMc = '装配'
  4117. OR a.cCyddxMc LIKE '%正文%'
  4118. OR a.cCyddxMc LIKE '%答案%'
  4119. OR a.cCyddxMc LIKE '%卷%'
  4120. THEN
  4121. CASE
  4122. WHEN CASE
  4123. WHEN IFNULL(d.fZls, 0) < rr.zl
  4124. THEN rr.zl
  4125. ELSE IFNULL(d.fZls, 0)
  4126. END = 0
  4127. THEN c.nzdls
  4128. ELSE (
  4129. CASE
  4130. WHEN c.nzdls <
  4131. CASE
  4132. WHEN IFNULL(d.fZls, 0) < rr.zl
  4133. THEN rr.zl
  4134. ELSE IFNULL(d.fZls, 0)
  4135. END
  4136. THEN
  4137. CASE
  4138. WHEN IFNULL(d.fZls, 0) < rr.zl
  4139. THEN rr.zl
  4140. ELSE IFNULL(d.fZls, 0)
  4141. END
  4142. ELSE c.nzdls
  4143. END
  4144. )
  4145. END
  4146. ELSE 0
  4147. END
  4148. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4149. END
  4150. END )
  4151. , 3) 马88甲纸令
  4152. ")
  4153. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4154. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4155. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4156. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4157. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4158. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4159. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  4160. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4161. ->group("CASE
  4162. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4163. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4164. END,Name_WorkGroup")
  4165. ->buildSql();
  4166. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  4167. ->field("
  4168. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4169. ROUND(SUM(
  4170. CASE
  4171. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4172. THEN
  4173. CASE
  4174. WHEN a.cCyddxMc = '装配'
  4175. OR a.cCyddxMc LIKE '%正文%'
  4176. OR a.cCyddxMc LIKE '%答案%'
  4177. OR a.cCyddxMc LIKE '%卷%'
  4178. THEN
  4179. CASE
  4180. WHEN CASE
  4181. WHEN IFNULL(d.fZls, 0) < rr.zl
  4182. THEN rr.zl
  4183. ELSE IFNULL(d.fZls, 0)
  4184. END = 0
  4185. THEN c.nzdls
  4186. ELSE (
  4187. CASE
  4188. WHEN c.nzdls <
  4189. CASE
  4190. WHEN IFNULL(d.fZls, 0) < rr.zl
  4191. THEN rr.zl
  4192. ELSE IFNULL(d.fZls, 0)
  4193. END
  4194. THEN
  4195. CASE
  4196. WHEN IFNULL(d.fZls, 0) < rr.zl
  4197. THEN rr.zl
  4198. ELSE IFNULL(d.fZls, 0)
  4199. END
  4200. ELSE c.nzdls
  4201. END
  4202. )
  4203. END
  4204. ELSE 0
  4205. END
  4206. ELSE
  4207. CASE
  4208. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4209. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4210. CASE
  4211. WHEN a.cCyddxMc = '装配'
  4212. OR a.cCyddxMc LIKE '%正文%'
  4213. OR a.cCyddxMc LIKE '%答案%'
  4214. OR a.cCyddxMc LIKE '%卷%'
  4215. THEN
  4216. CASE
  4217. WHEN CASE
  4218. WHEN IFNULL(d.fZls, 0) < rr.zl
  4219. THEN rr.zl
  4220. ELSE IFNULL(d.fZls, 0)
  4221. END = 0
  4222. THEN c.nzdls
  4223. ELSE (
  4224. CASE
  4225. WHEN c.nzdls <
  4226. CASE
  4227. WHEN IFNULL(d.fZls, 0) < rr.zl
  4228. THEN rr.zl
  4229. ELSE IFNULL(d.fZls, 0)
  4230. END
  4231. THEN
  4232. CASE
  4233. WHEN IFNULL(d.fZls, 0) < rr.zl
  4234. THEN rr.zl
  4235. ELSE IFNULL(d.fZls, 0)
  4236. END
  4237. ELSE c.nzdls
  4238. END
  4239. )
  4240. END
  4241. ELSE 0
  4242. END
  4243. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4244. END
  4245. END )
  4246. , 3) 马55乙纸令
  4247. ")
  4248. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4249. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4250. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4251. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4252. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4253. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4254. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  4255. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4256. ->group("CASE
  4257. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4258. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4259. END,Name_WorkGroup")
  4260. ->buildSql();
  4261. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  4262. ->field("
  4263. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4264. ROUND(SUM(
  4265. CASE
  4266. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4267. THEN
  4268. CASE
  4269. WHEN a.cCyddxMc = '装配'
  4270. OR a.cCyddxMc LIKE '%正文%'
  4271. OR a.cCyddxMc LIKE '%答案%'
  4272. OR a.cCyddxMc LIKE '%卷%'
  4273. THEN
  4274. CASE
  4275. WHEN CASE
  4276. WHEN IFNULL(d.fZls, 0) < rr.zl
  4277. THEN rr.zl
  4278. ELSE IFNULL(d.fZls, 0)
  4279. END = 0
  4280. THEN c.nzdls
  4281. ELSE (
  4282. CASE
  4283. WHEN c.nzdls <
  4284. CASE
  4285. WHEN IFNULL(d.fZls, 0) < rr.zl
  4286. THEN rr.zl
  4287. ELSE IFNULL(d.fZls, 0)
  4288. END
  4289. THEN
  4290. CASE
  4291. WHEN IFNULL(d.fZls, 0) < rr.zl
  4292. THEN rr.zl
  4293. ELSE IFNULL(d.fZls, 0)
  4294. END
  4295. ELSE c.nzdls
  4296. END
  4297. )
  4298. END
  4299. ELSE 0
  4300. END
  4301. ELSE
  4302. CASE
  4303. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4304. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4305. CASE
  4306. WHEN a.cCyddxMc = '装配'
  4307. OR a.cCyddxMc LIKE '%正文%'
  4308. OR a.cCyddxMc LIKE '%答案%'
  4309. OR a.cCyddxMc LIKE '%卷%'
  4310. THEN
  4311. CASE
  4312. WHEN CASE
  4313. WHEN IFNULL(d.fZls, 0) < rr.zl
  4314. THEN rr.zl
  4315. ELSE IFNULL(d.fZls, 0)
  4316. END = 0
  4317. THEN c.nzdls
  4318. ELSE (
  4319. CASE
  4320. WHEN c.nzdls <
  4321. CASE
  4322. WHEN IFNULL(d.fZls, 0) < rr.zl
  4323. THEN rr.zl
  4324. ELSE IFNULL(d.fZls, 0)
  4325. END
  4326. THEN
  4327. CASE
  4328. WHEN IFNULL(d.fZls, 0) < rr.zl
  4329. THEN rr.zl
  4330. ELSE IFNULL(d.fZls, 0)
  4331. END
  4332. ELSE c.nzdls
  4333. END
  4334. )
  4335. END
  4336. ELSE 0
  4337. END
  4338. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4339. END
  4340. END )
  4341. , 3) 马66乙纸令
  4342. ")
  4343. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4344. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4345. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4346. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4347. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4348. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4349. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  4350. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4351. ->group("CASE
  4352. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4353. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4354. END,Name_WorkGroup")
  4355. ->buildSql();
  4356. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  4357. ->field("
  4358. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4359. ROUND(SUM(
  4360. CASE
  4361. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4362. THEN
  4363. CASE
  4364. WHEN a.cCyddxMc = '装配'
  4365. OR a.cCyddxMc LIKE '%正文%'
  4366. OR a.cCyddxMc LIKE '%答案%'
  4367. OR a.cCyddxMc LIKE '%卷%'
  4368. THEN
  4369. CASE
  4370. WHEN CASE
  4371. WHEN IFNULL(d.fZls, 0) < rr.zl
  4372. THEN rr.zl
  4373. ELSE IFNULL(d.fZls, 0)
  4374. END = 0
  4375. THEN c.nzdls
  4376. ELSE (
  4377. CASE
  4378. WHEN c.nzdls <
  4379. CASE
  4380. WHEN IFNULL(d.fZls, 0) < rr.zl
  4381. THEN rr.zl
  4382. ELSE IFNULL(d.fZls, 0)
  4383. END
  4384. THEN
  4385. CASE
  4386. WHEN IFNULL(d.fZls, 0) < rr.zl
  4387. THEN rr.zl
  4388. ELSE IFNULL(d.fZls, 0)
  4389. END
  4390. ELSE c.nzdls
  4391. END
  4392. )
  4393. END
  4394. ELSE 0
  4395. END
  4396. ELSE
  4397. CASE
  4398. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4399. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4400. CASE
  4401. WHEN a.cCyddxMc = '装配'
  4402. OR a.cCyddxMc LIKE '%正文%'
  4403. OR a.cCyddxMc LIKE '%答案%'
  4404. OR a.cCyddxMc LIKE '%卷%'
  4405. THEN
  4406. CASE
  4407. WHEN CASE
  4408. WHEN IFNULL(d.fZls, 0) < rr.zl
  4409. THEN rr.zl
  4410. ELSE IFNULL(d.fZls, 0)
  4411. END = 0
  4412. THEN c.nzdls
  4413. ELSE (
  4414. CASE
  4415. WHEN c.nzdls <
  4416. CASE
  4417. WHEN IFNULL(d.fZls, 0) < rr.zl
  4418. THEN rr.zl
  4419. ELSE IFNULL(d.fZls, 0)
  4420. END
  4421. THEN
  4422. CASE
  4423. WHEN IFNULL(d.fZls, 0) < rr.zl
  4424. THEN rr.zl
  4425. ELSE IFNULL(d.fZls, 0)
  4426. END
  4427. ELSE c.nzdls
  4428. END
  4429. )
  4430. END
  4431. ELSE 0
  4432. END
  4433. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4434. END
  4435. END )
  4436. , 3) 马77乙纸令
  4437. ")
  4438. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4439. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4440. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4441. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4442. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4443. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4444. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  4445. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4446. ->group("CASE
  4447. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4448. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4449. END,Name_WorkGroup")
  4450. ->buildSql();
  4451. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  4452. ->field("
  4453. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4454. ROUND(SUM(
  4455. CASE
  4456. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4457. THEN
  4458. CASE
  4459. WHEN a.cCyddxMc = '装配'
  4460. OR a.cCyddxMc LIKE '%正文%'
  4461. OR a.cCyddxMc LIKE '%答案%'
  4462. OR a.cCyddxMc LIKE '%卷%'
  4463. THEN
  4464. CASE
  4465. WHEN CASE
  4466. WHEN IFNULL(d.fZls, 0) < rr.zl
  4467. THEN rr.zl
  4468. ELSE IFNULL(d.fZls, 0)
  4469. END = 0
  4470. THEN c.nzdls
  4471. ELSE (
  4472. CASE
  4473. WHEN c.nzdls <
  4474. CASE
  4475. WHEN IFNULL(d.fZls, 0) < rr.zl
  4476. THEN rr.zl
  4477. ELSE IFNULL(d.fZls, 0)
  4478. END
  4479. THEN
  4480. CASE
  4481. WHEN IFNULL(d.fZls, 0) < rr.zl
  4482. THEN rr.zl
  4483. ELSE IFNULL(d.fZls, 0)
  4484. END
  4485. ELSE c.nzdls
  4486. END
  4487. )
  4488. END
  4489. ELSE 0
  4490. END
  4491. ELSE
  4492. CASE
  4493. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4494. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4495. CASE
  4496. WHEN a.cCyddxMc = '装配'
  4497. OR a.cCyddxMc LIKE '%正文%'
  4498. OR a.cCyddxMc LIKE '%答案%'
  4499. OR a.cCyddxMc LIKE '%卷%'
  4500. THEN
  4501. CASE
  4502. WHEN CASE
  4503. WHEN IFNULL(d.fZls, 0) < rr.zl
  4504. THEN rr.zl
  4505. ELSE IFNULL(d.fZls, 0)
  4506. END = 0
  4507. THEN c.nzdls
  4508. ELSE (
  4509. CASE
  4510. WHEN c.nzdls <
  4511. CASE
  4512. WHEN IFNULL(d.fZls, 0) < rr.zl
  4513. THEN rr.zl
  4514. ELSE IFNULL(d.fZls, 0)
  4515. END
  4516. THEN
  4517. CASE
  4518. WHEN IFNULL(d.fZls, 0) < rr.zl
  4519. THEN rr.zl
  4520. ELSE IFNULL(d.fZls, 0)
  4521. END
  4522. ELSE c.nzdls
  4523. END
  4524. )
  4525. END
  4526. ELSE 0
  4527. END
  4528. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4529. END
  4530. END )
  4531. , 3) 马88乙纸令
  4532. ")
  4533. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4534. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4535. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4536. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4537. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4538. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4539. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  4540. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4541. ->group("CASE
  4542. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4543. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4544. END,Name_WorkGroup")
  4545. ->buildSql();
  4546. $db = Db::table($A . 'a')
  4547. ->field("
  4548. DISTINCT DATE(A.RQ) rq,
  4549. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  4550. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  4551. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  4552. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  4553. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  4554. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  4555. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  4556. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  4557. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  4558. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  4559. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  4560. + IFNULL(sum(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 0)
  4561. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  4562. ")
  4563. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  4564. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4565. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  4566. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  4567. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  4568. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  4569. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  4570. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  4571. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  4572. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  4573. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4574. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4575. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  4576. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  4577. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  4578. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  4579. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  4580. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  4581. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  4582. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  4583. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  4584. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  4585. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  4586. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  4587. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  4588. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  4589. ->group('rq')
  4590. ->buildSql();
  4591. $jd = Db::table($db . ' db')
  4592. ->field("
  4593. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4594. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  4595. ")
  4596. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ")
  4597. ->group('MONTH(db.rq)')
  4598. ->select();
  4599. /**
  4600. * 簿册联动线纸令
  4601. */
  4602. $B = Db::table('cpjtfk')
  4603. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4604. ->field("
  4605. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4606. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  4607. ")
  4608. ->where('cbanzu','=','簿册机1号(甲班)')
  4609. ->group('drptdate,cbanzu')
  4610. ->buildSql();
  4611. $B1 = Db::table('cpjtfk')
  4612. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4613. ->field("
  4614. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4615. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  4616. ")
  4617. ->where('cbanzu','=','簿册机1号(乙班)')
  4618. ->group('drptdate,cbanzu')
  4619. ->buildSql();
  4620. $rr = Db::table('scyddx')->alias('r')
  4621. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4622. ->group('r.ICYDID')
  4623. ->buildSql();
  4624. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4625. ->field("
  4626. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4627. ROUND(SUM(
  4628. CASE
  4629. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4630. THEN
  4631. CASE
  4632. WHEN a.cCyddxMc = '装配'
  4633. OR a.cCyddxMc LIKE '%正文%'
  4634. OR a.cCyddxMc LIKE '%答案%'
  4635. OR a.cCyddxMc LIKE '%卷%'
  4636. THEN
  4637. CASE
  4638. WHEN CASE
  4639. WHEN IFNULL(d.fZls, 0) < rr.zl
  4640. THEN rr.zl
  4641. ELSE IFNULL(d.fZls, 0)
  4642. END = 0
  4643. THEN c.nzdls
  4644. ELSE (
  4645. CASE
  4646. WHEN c.nzdls <
  4647. CASE
  4648. WHEN IFNULL(d.fZls, 0) < rr.zl
  4649. THEN rr.zl
  4650. ELSE IFNULL(d.fZls, 0)
  4651. END
  4652. THEN
  4653. CASE
  4654. WHEN IFNULL(d.fZls, 0) < rr.zl
  4655. THEN rr.zl
  4656. ELSE IFNULL(d.fZls, 0)
  4657. END
  4658. ELSE c.nzdls
  4659. END
  4660. )
  4661. END
  4662. ELSE 0
  4663. END
  4664. ELSE
  4665. CASE
  4666. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4667. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4668. CASE
  4669. WHEN a.cCyddxMc = '装配'
  4670. OR a.cCyddxMc LIKE '%正文%'
  4671. OR a.cCyddxMc LIKE '%答案%'
  4672. OR a.cCyddxMc LIKE '%卷%'
  4673. THEN
  4674. CASE
  4675. WHEN CASE
  4676. WHEN IFNULL(d.fZls, 0) < rr.zl
  4677. THEN rr.zl
  4678. ELSE IFNULL(d.fZls, 0)
  4679. END = 0
  4680. THEN c.nzdls
  4681. ELSE (
  4682. CASE
  4683. WHEN c.nzdls <
  4684. CASE
  4685. WHEN IFNULL(d.fZls, 0) < rr.zl
  4686. THEN rr.zl
  4687. ELSE IFNULL(d.fZls, 0)
  4688. END
  4689. THEN
  4690. CASE
  4691. WHEN IFNULL(d.fZls, 0) < rr.zl
  4692. THEN rr.zl
  4693. ELSE IFNULL(d.fZls, 0)
  4694. END
  4695. ELSE c.nzdls
  4696. END
  4697. )
  4698. END
  4699. ELSE 0
  4700. END
  4701. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4702. END
  4703. END )
  4704. , 3) 簿11甲纸令
  4705. ")
  4706. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4707. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4708. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4709. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4710. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4711. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4712. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  4713. ->where('a.cTechName' ,'=','簿册联动')
  4714. ->group("CASE
  4715. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4716. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4717. END,Name_WorkGroup")
  4718. ->buildSql();
  4719. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4720. ->field("
  4721. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4722. ROUND(SUM(
  4723. CASE
  4724. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4725. THEN
  4726. CASE
  4727. WHEN a.cCyddxMc = '装配'
  4728. OR a.cCyddxMc LIKE '%正文%'
  4729. OR a.cCyddxMc LIKE '%答案%'
  4730. OR a.cCyddxMc LIKE '%卷%'
  4731. THEN
  4732. CASE
  4733. WHEN CASE
  4734. WHEN IFNULL(d.fZls, 0) < rr.zl
  4735. THEN rr.zl
  4736. ELSE IFNULL(d.fZls, 0)
  4737. END = 0
  4738. THEN c.nzdls
  4739. ELSE (
  4740. CASE
  4741. WHEN c.nzdls <
  4742. CASE
  4743. WHEN IFNULL(d.fZls, 0) < rr.zl
  4744. THEN rr.zl
  4745. ELSE IFNULL(d.fZls, 0)
  4746. END
  4747. THEN
  4748. CASE
  4749. WHEN IFNULL(d.fZls, 0) < rr.zl
  4750. THEN rr.zl
  4751. ELSE IFNULL(d.fZls, 0)
  4752. END
  4753. ELSE c.nzdls
  4754. END
  4755. )
  4756. END
  4757. ELSE 0
  4758. END
  4759. ELSE
  4760. CASE
  4761. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4762. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4763. CASE
  4764. WHEN a.cCyddxMc = '装配'
  4765. OR a.cCyddxMc LIKE '%正文%'
  4766. OR a.cCyddxMc LIKE '%答案%'
  4767. OR a.cCyddxMc LIKE '%卷%'
  4768. THEN
  4769. CASE
  4770. WHEN CASE
  4771. WHEN IFNULL(d.fZls, 0) < rr.zl
  4772. THEN rr.zl
  4773. ELSE IFNULL(d.fZls, 0)
  4774. END = 0
  4775. THEN c.nzdls
  4776. ELSE (
  4777. CASE
  4778. WHEN c.nzdls <
  4779. CASE
  4780. WHEN IFNULL(d.fZls, 0) < rr.zl
  4781. THEN rr.zl
  4782. ELSE IFNULL(d.fZls, 0)
  4783. END
  4784. THEN
  4785. CASE
  4786. WHEN IFNULL(d.fZls, 0) < rr.zl
  4787. THEN rr.zl
  4788. ELSE IFNULL(d.fZls, 0)
  4789. END
  4790. ELSE c.nzdls
  4791. END
  4792. )
  4793. END
  4794. ELSE 0
  4795. END
  4796. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4797. END
  4798. END )
  4799. , 3) 簿11乙纸令
  4800. ")
  4801. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4802. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4803. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4804. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4805. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4806. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4807. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  4808. ->where('a.cTechName' ,'=','簿册联动')
  4809. ->group("CASE
  4810. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4811. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4812. END,Name_WorkGroup")
  4813. ->buildSql();
  4814. $db = Db::table($A . 'a')
  4815. ->field("
  4816. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  4817. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  4818. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  4819. ")
  4820. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  4821. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4822. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4823. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4824. ->group('rq')
  4825. ->buildSql();
  4826. $bc = Db::table($db . ' db')
  4827. ->field("
  4828. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4829. ROUND(sum(db.纸令), 0) as 簿册纸令
  4830. ")->where("db.RQ >= '{$this->qstart_time()}'
  4831. AND db.RQ <= '{$this->qend_time()}' ")
  4832. ->group('MONTH(db.rq)')
  4833. ->select();
  4834. // 创建一个结果数组
  4835. $result=[];
  4836. $result1 = [];
  4837. // 遍历第一个数组,并将数据加入结果数组
  4838. foreach ($jp as $val1) {
  4839. $month = $val1['日期'];
  4840. $data1 = $val1['精平纸令'];
  4841. if (!isset($result[$month])) {
  4842. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4843. }
  4844. if (!isset($result1[$month])) {
  4845. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4846. }
  4847. $result1[$month] += $data1; // 累加第一个数组的数据
  4848. }
  4849. // 遍历第二个数组,并将数据加入结果数组
  4850. foreach ($jd as $val2) {
  4851. $month = $val2['日期'];
  4852. $data1 = $val2['无线胶订纸令'];
  4853. if (!isset($result[$month])) {
  4854. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4855. }
  4856. if (!isset($result1[$month])) {
  4857. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4858. }
  4859. $result1[$month] += $data1; // 累加第二个数组的数据
  4860. }
  4861. foreach ($bc as $val2) {
  4862. $month = $val2['日期'];
  4863. $data1 = $val2['簿册纸令'];
  4864. if (!isset($result[$month])) {
  4865. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4866. }
  4867. if (!isset($result1[$month])) {
  4868. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4869. }
  4870. $result1[$month] += $data1; // 累加第二个数组的数据
  4871. }
  4872. foreach($result1 as $k=>$v){
  4873. $list['categories'][]=$k;
  4874. $list['series'][0]['name']='装订实物产量色令数';
  4875. $list['series'][0]['data'][]=$v;
  4876. }
  4877. $res['status']=0;
  4878. $res['msg']='';
  4879. $res['data']=$list;
  4880. $redis->set($redis_key, json_encode($result1));
  4881. // halt(json_decode($redis->get($redis_key),true));
  4882. return json_encode($result1);
  4883. }
  4884. //当年装订实物产量纸令->缓存调用
  4885. public function zdzl_dang(){
  4886. $redis=redis();
  4887. $redis_key = md5('zdzl_dang');
  4888. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  4889. ->union(function ($query) {
  4890. $query->table('scDayRpt_Teams')->alias('b')
  4891. ->field("DISTINCT DATE_FORMAT(
  4892. CASE
  4893. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  4894. ELSE b.dOnDuty
  4895. END,
  4896. '%Y-%m-%d'
  4897. ) AS RQ");
  4898. }, true)
  4899. ->buildSql();
  4900. $B1 = Db::table('cpjtfk')
  4901. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4902. ->field("
  4903. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4904. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  4905. ")
  4906. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  4907. ->group('drptdate,cbanzu')
  4908. ->buildSql();
  4909. $rr = Db::table('scyddx')->alias('r')
  4910. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4911. ->group('r.ICYDID')
  4912. ->buildSql();
  4913. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4914. ->field("
  4915. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4916. ROUND(SUM(
  4917. CASE
  4918. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4919. THEN
  4920. CASE
  4921. WHEN a.cCyddxMc = '装配'
  4922. OR a.cCyddxMc LIKE '%正文%'
  4923. OR a.cCyddxMc LIKE '%答案%'
  4924. OR a.cCyddxMc LIKE '%卷%'
  4925. THEN
  4926. CASE
  4927. WHEN CASE
  4928. WHEN IFNULL(d.fZls, 0) < rr.zl
  4929. THEN rr.zl
  4930. ELSE IFNULL(d.fZls, 0)
  4931. END = 0
  4932. THEN c.nzdls
  4933. ELSE (
  4934. CASE
  4935. WHEN c.nzdls <
  4936. CASE
  4937. WHEN IFNULL(d.fZls, 0) < rr.zl
  4938. THEN rr.zl
  4939. ELSE IFNULL(d.fZls, 0)
  4940. END
  4941. THEN
  4942. CASE
  4943. WHEN IFNULL(d.fZls, 0) < rr.zl
  4944. THEN rr.zl
  4945. ELSE IFNULL(d.fZls, 0)
  4946. END
  4947. ELSE c.nzdls
  4948. END
  4949. )
  4950. END
  4951. ELSE 0
  4952. END
  4953. ELSE
  4954. CASE
  4955. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4956. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4957. CASE
  4958. WHEN a.cCyddxMc = '装配'
  4959. OR a.cCyddxMc LIKE '%正文%'
  4960. OR a.cCyddxMc LIKE '%答案%'
  4961. OR a.cCyddxMc LIKE '%卷%'
  4962. THEN
  4963. CASE
  4964. WHEN CASE
  4965. WHEN IFNULL(d.fZls, 0) < rr.zl
  4966. THEN rr.zl
  4967. ELSE IFNULL(d.fZls, 0)
  4968. END = 0
  4969. THEN c.nzdls
  4970. ELSE (
  4971. CASE
  4972. WHEN c.nzdls <
  4973. CASE
  4974. WHEN IFNULL(d.fZls, 0) < rr.zl
  4975. THEN rr.zl
  4976. ELSE IFNULL(d.fZls, 0)
  4977. END
  4978. THEN
  4979. CASE
  4980. WHEN IFNULL(d.fZls, 0) < rr.zl
  4981. THEN rr.zl
  4982. ELSE IFNULL(d.fZls, 0)
  4983. END
  4984. ELSE c.nzdls
  4985. END
  4986. )
  4987. END
  4988. ELSE 0
  4989. END
  4990. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4991. END
  4992. END )
  4993. , 3) 精11乙纸令
  4994. ")
  4995. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4996. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4997. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4998. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4999. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5000. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5001. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  5002. ->group("CASE
  5003. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5004. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5005. END,Name_WorkGroup")
  5006. ->buildSql();
  5007. $db = Db::table($A . 'a')
  5008. ->field("
  5009. DATE(A.RQ) rq,
  5010. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  5011. ")
  5012. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  5013. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  5014. ->buildSql();
  5015. $jp = Db::table($db . ' db')
  5016. ->field("
  5017. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  5018. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  5019. ")->where("db.RQ >= '{$this->start_time()}'
  5020. AND db.RQ <= '{$this->end_time()}' ")
  5021. ->group('MONTH(db.rq)')
  5022. ->select();
  5023. $B = Db::table('cpjtfk')
  5024. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5025. ->field("
  5026. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5027. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  5028. ")
  5029. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  5030. ->group('drptdate,cbanzu')
  5031. ->buildSql();
  5032. $B1 = Db::table('cpjtfk')
  5033. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5034. ->field("
  5035. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5036. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  5037. ")
  5038. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  5039. ->group('drptdate,cbanzu')
  5040. ->buildSql();
  5041. $C = Db::table('cpjtfk')
  5042. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5043. ->field("
  5044. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5045. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  5046. ")
  5047. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  5048. ->group('drptdate,cbanzu')
  5049. ->buildSql();
  5050. $C1 = Db::table('cpjtfk')
  5051. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5052. ->field("
  5053. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5054. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  5055. ")
  5056. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  5057. ->group('drptdate,cbanzu')
  5058. ->buildSql();
  5059. $D = Db::table('cpjtfk')
  5060. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5061. ->field("
  5062. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5063. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  5064. ")
  5065. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  5066. ->group('drptdate,cbanzu')
  5067. ->buildSql();
  5068. $D1 = Db::table('cpjtfk')
  5069. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5070. ->field("
  5071. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5072. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  5073. ")
  5074. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  5075. ->group('drptdate,cbanzu')
  5076. ->buildSql();
  5077. $E = Db::table('cpjtfk')
  5078. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5079. ->field("
  5080. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5081. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  5082. ")
  5083. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  5084. ->group('drptdate,cbanzu')
  5085. ->buildSql();
  5086. $E1 = Db::table('cpjtfk')
  5087. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5088. ->field("
  5089. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5090. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  5091. ")
  5092. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  5093. ->group('drptdate,cbanzu')
  5094. ->buildSql();
  5095. $F = Db::table('cpjtfk')
  5096. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5097. ->field("
  5098. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5099. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  5100. ")
  5101. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  5102. ->group('drptdate,cbanzu')
  5103. ->buildSql();
  5104. $F1 = Db::table('cpjtfk')
  5105. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5106. ->field("
  5107. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5108. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  5109. ")
  5110. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  5111. ->group('drptdate,cbanzu')
  5112. ->buildSql();
  5113. $rr = Db::table('scyddx')->alias('r')
  5114. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  5115. ->group('r.ICYDID')
  5116. ->buildSql();
  5117. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  5118. ->field("
  5119. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5120. ROUND(SUM(
  5121. CASE
  5122. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5123. THEN CASE WHEN a.cCyddxMc = '装配'
  5124. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5125. THEN CASE
  5126. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5127. END = 0 THEN c.nzdls
  5128. ELSE ( CASE
  5129. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5130. END
  5131. THEN CASE
  5132. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5133. END ELSE c.nzdls END
  5134. ) END ELSE 0 END
  5135. ELSE CASE
  5136. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5137. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5138. CASE WHEN a.cCyddxMc = '装配'
  5139. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5140. THEN CASE
  5141. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5142. END = 0 THEN c.nzdls
  5143. ELSE ( CASE WHEN c.nzdls <
  5144. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5145. END
  5146. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5147. END ELSE c.nzdls END )
  5148. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5149. END END ), 3) 马11甲纸令 ")
  5150. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5151. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5152. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5153. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5154. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5155. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5156. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  5157. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5158. ->group("CASE
  5159. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5160. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5161. END,Name_WorkGroup")->buildSql();
  5162. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  5163. ->field("
  5164. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5165. ROUND(SUM(
  5166. CASE
  5167. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5168. THEN
  5169. CASE
  5170. WHEN a.cCyddxMc = '装配'
  5171. OR a.cCyddxMc LIKE '%正文%'
  5172. OR a.cCyddxMc LIKE '%答案%'
  5173. OR a.cCyddxMc LIKE '%卷%'
  5174. THEN
  5175. CASE
  5176. WHEN CASE
  5177. WHEN IFNULL(d.fZls, 0) < rr.zl
  5178. THEN rr.zl
  5179. ELSE IFNULL(d.fZls, 0)
  5180. END = 0
  5181. THEN c.nzdls
  5182. ELSE (
  5183. CASE
  5184. WHEN c.nzdls <
  5185. CASE
  5186. WHEN IFNULL(d.fZls, 0) < rr.zl
  5187. THEN rr.zl
  5188. ELSE IFNULL(d.fZls, 0)
  5189. END
  5190. THEN
  5191. CASE
  5192. WHEN IFNULL(d.fZls, 0) < rr.zl
  5193. THEN rr.zl
  5194. ELSE IFNULL(d.fZls, 0)
  5195. END
  5196. ELSE c.nzdls
  5197. END
  5198. )
  5199. END
  5200. ELSE 0
  5201. END
  5202. ELSE
  5203. CASE
  5204. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5205. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5206. CASE
  5207. WHEN a.cCyddxMc = '装配'
  5208. OR a.cCyddxMc LIKE '%正文%'
  5209. OR a.cCyddxMc LIKE '%答案%'
  5210. OR a.cCyddxMc LIKE '%卷%'
  5211. THEN
  5212. CASE
  5213. WHEN CASE
  5214. WHEN IFNULL(d.fZls, 0) < rr.zl
  5215. THEN rr.zl
  5216. ELSE IFNULL(d.fZls, 0)
  5217. END = 0
  5218. THEN c.nzdls
  5219. ELSE (
  5220. CASE
  5221. WHEN c.nzdls <
  5222. CASE
  5223. WHEN IFNULL(d.fZls, 0) < rr.zl
  5224. THEN rr.zl
  5225. ELSE IFNULL(d.fZls, 0)
  5226. END
  5227. THEN
  5228. CASE
  5229. WHEN IFNULL(d.fZls, 0) < rr.zl
  5230. THEN rr.zl
  5231. ELSE IFNULL(d.fZls, 0)
  5232. END
  5233. ELSE c.nzdls
  5234. END
  5235. )
  5236. END
  5237. ELSE 0
  5238. END
  5239. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5240. END
  5241. END )
  5242. , 3) 马11乙纸令
  5243. ")
  5244. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5245. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5246. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5247. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5248. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5249. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5250. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  5251. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5252. ->group("CASE
  5253. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5254. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5255. END,Name_WorkGroup")
  5256. ->buildSql();
  5257. $CC = Db::table('ql_report_feedback_day')->alias('a')
  5258. ->field("
  5259. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5260. ROUND(SUM(
  5261. CASE
  5262. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5263. THEN
  5264. CASE
  5265. WHEN a.cCyddxMc = '装配'
  5266. OR a.cCyddxMc LIKE '%正文%'
  5267. OR a.cCyddxMc LIKE '%答案%'
  5268. OR a.cCyddxMc LIKE '%卷%'
  5269. THEN
  5270. CASE
  5271. WHEN CASE
  5272. WHEN IFNULL(d.fZls, 0) < rr.zl
  5273. THEN rr.zl
  5274. ELSE IFNULL(d.fZls, 0)
  5275. END = 0
  5276. THEN c.nzdls
  5277. ELSE (
  5278. CASE
  5279. WHEN c.nzdls <
  5280. CASE
  5281. WHEN IFNULL(d.fZls, 0) < rr.zl
  5282. THEN rr.zl
  5283. ELSE IFNULL(d.fZls, 0)
  5284. END
  5285. THEN
  5286. CASE
  5287. WHEN IFNULL(d.fZls, 0) < rr.zl
  5288. THEN rr.zl
  5289. ELSE IFNULL(d.fZls, 0)
  5290. END
  5291. ELSE c.nzdls
  5292. END
  5293. )
  5294. END
  5295. ELSE 0
  5296. END
  5297. ELSE
  5298. CASE
  5299. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5300. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5301. CASE
  5302. WHEN a.cCyddxMc = '装配'
  5303. OR a.cCyddxMc LIKE '%正文%'
  5304. OR a.cCyddxMc LIKE '%答案%'
  5305. OR a.cCyddxMc LIKE '%卷%'
  5306. THEN
  5307. CASE
  5308. WHEN CASE
  5309. WHEN IFNULL(d.fZls, 0) < rr.zl
  5310. THEN rr.zl
  5311. ELSE IFNULL(d.fZls, 0)
  5312. END = 0
  5313. THEN c.nzdls
  5314. ELSE (
  5315. CASE
  5316. WHEN c.nzdls <
  5317. CASE
  5318. WHEN IFNULL(d.fZls, 0) < rr.zl
  5319. THEN rr.zl
  5320. ELSE IFNULL(d.fZls, 0)
  5321. END
  5322. THEN
  5323. CASE
  5324. WHEN IFNULL(d.fZls, 0) < rr.zl
  5325. THEN rr.zl
  5326. ELSE IFNULL(d.fZls, 0)
  5327. END
  5328. ELSE c.nzdls
  5329. END
  5330. )
  5331. END
  5332. ELSE 0
  5333. END
  5334. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5335. END
  5336. END )
  5337. , 3) 马22甲纸令
  5338. ")
  5339. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5340. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5341. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5342. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5343. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5344. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5345. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  5346. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5347. ->group("CASE
  5348. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5349. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5350. END,Name_WorkGroup")
  5351. ->buildSql();
  5352. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  5353. ->field("
  5354. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5355. ROUND(SUM(
  5356. CASE
  5357. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5358. THEN
  5359. CASE
  5360. WHEN a.cCyddxMc = '装配'
  5361. OR a.cCyddxMc LIKE '%正文%'
  5362. OR a.cCyddxMc LIKE '%答案%'
  5363. OR a.cCyddxMc LIKE '%卷%'
  5364. THEN
  5365. CASE
  5366. WHEN CASE
  5367. WHEN IFNULL(d.fZls, 0) < rr.zl
  5368. THEN rr.zl
  5369. ELSE IFNULL(d.fZls, 0)
  5370. END = 0
  5371. THEN c.nzdls
  5372. ELSE (
  5373. CASE
  5374. WHEN c.nzdls <
  5375. CASE
  5376. WHEN IFNULL(d.fZls, 0) < rr.zl
  5377. THEN rr.zl
  5378. ELSE IFNULL(d.fZls, 0)
  5379. END
  5380. THEN
  5381. CASE
  5382. WHEN IFNULL(d.fZls, 0) < rr.zl
  5383. THEN rr.zl
  5384. ELSE IFNULL(d.fZls, 0)
  5385. END
  5386. ELSE c.nzdls
  5387. END
  5388. )
  5389. END
  5390. ELSE 0
  5391. END
  5392. ELSE
  5393. CASE
  5394. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5395. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5396. CASE
  5397. WHEN a.cCyddxMc = '装配'
  5398. OR a.cCyddxMc LIKE '%正文%'
  5399. OR a.cCyddxMc LIKE '%答案%'
  5400. OR a.cCyddxMc LIKE '%卷%'
  5401. THEN
  5402. CASE
  5403. WHEN CASE
  5404. WHEN IFNULL(d.fZls, 0) < rr.zl
  5405. THEN rr.zl
  5406. ELSE IFNULL(d.fZls, 0)
  5407. END = 0
  5408. THEN c.nzdls
  5409. ELSE (
  5410. CASE
  5411. WHEN c.nzdls <
  5412. CASE
  5413. WHEN IFNULL(d.fZls, 0) < rr.zl
  5414. THEN rr.zl
  5415. ELSE IFNULL(d.fZls, 0)
  5416. END
  5417. THEN
  5418. CASE
  5419. WHEN IFNULL(d.fZls, 0) < rr.zl
  5420. THEN rr.zl
  5421. ELSE IFNULL(d.fZls, 0)
  5422. END
  5423. ELSE c.nzdls
  5424. END
  5425. )
  5426. END
  5427. ELSE 0
  5428. END
  5429. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5430. END
  5431. END )
  5432. , 3) 马22乙纸令
  5433. ")
  5434. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5435. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5436. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5437. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5438. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5439. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5440. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  5441. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5442. ->group("CASE
  5443. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5444. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5445. END,Name_WorkGroup")
  5446. ->buildSql();
  5447. $EE = Db::table('ql_report_feedback_day')->alias('a')
  5448. ->field("
  5449. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5450. ROUND(SUM(
  5451. CASE
  5452. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5453. THEN
  5454. CASE
  5455. WHEN a.cCyddxMc = '装配'
  5456. OR a.cCyddxMc LIKE '%正文%'
  5457. OR a.cCyddxMc LIKE '%答案%'
  5458. OR a.cCyddxMc LIKE '%卷%'
  5459. THEN
  5460. CASE
  5461. WHEN CASE
  5462. WHEN IFNULL(d.fZls, 0) < rr.zl
  5463. THEN rr.zl
  5464. ELSE IFNULL(d.fZls, 0)
  5465. END = 0
  5466. THEN c.nzdls
  5467. ELSE (
  5468. CASE
  5469. WHEN c.nzdls <
  5470. CASE
  5471. WHEN IFNULL(d.fZls, 0) < rr.zl
  5472. THEN rr.zl
  5473. ELSE IFNULL(d.fZls, 0)
  5474. END
  5475. THEN
  5476. CASE
  5477. WHEN IFNULL(d.fZls, 0) < rr.zl
  5478. THEN rr.zl
  5479. ELSE IFNULL(d.fZls, 0)
  5480. END
  5481. ELSE c.nzdls
  5482. END
  5483. )
  5484. END
  5485. ELSE 0
  5486. END
  5487. ELSE
  5488. CASE
  5489. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5490. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5491. CASE
  5492. WHEN a.cCyddxMc = '装配'
  5493. OR a.cCyddxMc LIKE '%正文%'
  5494. OR a.cCyddxMc LIKE '%答案%'
  5495. OR a.cCyddxMc LIKE '%卷%'
  5496. THEN
  5497. CASE
  5498. WHEN CASE
  5499. WHEN IFNULL(d.fZls, 0) < rr.zl
  5500. THEN rr.zl
  5501. ELSE IFNULL(d.fZls, 0)
  5502. END = 0
  5503. THEN c.nzdls
  5504. ELSE (
  5505. CASE
  5506. WHEN c.nzdls <
  5507. CASE
  5508. WHEN IFNULL(d.fZls, 0) < rr.zl
  5509. THEN rr.zl
  5510. ELSE IFNULL(d.fZls, 0)
  5511. END
  5512. THEN
  5513. CASE
  5514. WHEN IFNULL(d.fZls, 0) < rr.zl
  5515. THEN rr.zl
  5516. ELSE IFNULL(d.fZls, 0)
  5517. END
  5518. ELSE c.nzdls
  5519. END
  5520. )
  5521. END
  5522. ELSE 0
  5523. END
  5524. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5525. END
  5526. END )
  5527. , 3) 马33甲纸令
  5528. ")
  5529. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5530. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5531. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5532. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5533. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5534. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5535. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  5536. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5537. ->group("CASE
  5538. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5539. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5540. END,Name_WorkGroup")
  5541. ->buildSql();
  5542. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  5543. ->field("
  5544. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5545. ROUND(SUM(
  5546. CASE
  5547. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5548. THEN
  5549. CASE
  5550. WHEN a.cCyddxMc = '装配'
  5551. OR a.cCyddxMc LIKE '%正文%'
  5552. OR a.cCyddxMc LIKE '%答案%'
  5553. OR a.cCyddxMc LIKE '%卷%'
  5554. THEN
  5555. CASE
  5556. WHEN CASE
  5557. WHEN IFNULL(d.fZls, 0) < rr.zl
  5558. THEN rr.zl
  5559. ELSE IFNULL(d.fZls, 0)
  5560. END = 0
  5561. THEN c.nzdls
  5562. ELSE (
  5563. CASE
  5564. WHEN c.nzdls <
  5565. CASE
  5566. WHEN IFNULL(d.fZls, 0) < rr.zl
  5567. THEN rr.zl
  5568. ELSE IFNULL(d.fZls, 0)
  5569. END
  5570. THEN
  5571. CASE
  5572. WHEN IFNULL(d.fZls, 0) < rr.zl
  5573. THEN rr.zl
  5574. ELSE IFNULL(d.fZls, 0)
  5575. END
  5576. ELSE c.nzdls
  5577. END
  5578. )
  5579. END
  5580. ELSE 0
  5581. END
  5582. ELSE
  5583. CASE
  5584. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5585. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5586. CASE
  5587. WHEN a.cCyddxMc = '装配'
  5588. OR a.cCyddxMc LIKE '%正文%'
  5589. OR a.cCyddxMc LIKE '%答案%'
  5590. OR a.cCyddxMc LIKE '%卷%'
  5591. THEN
  5592. CASE
  5593. WHEN CASE
  5594. WHEN IFNULL(d.fZls, 0) < rr.zl
  5595. THEN rr.zl
  5596. ELSE IFNULL(d.fZls, 0)
  5597. END = 0
  5598. THEN c.nzdls
  5599. ELSE (
  5600. CASE
  5601. WHEN c.nzdls <
  5602. CASE
  5603. WHEN IFNULL(d.fZls, 0) < rr.zl
  5604. THEN rr.zl
  5605. ELSE IFNULL(d.fZls, 0)
  5606. END
  5607. THEN
  5608. CASE
  5609. WHEN IFNULL(d.fZls, 0) < rr.zl
  5610. THEN rr.zl
  5611. ELSE IFNULL(d.fZls, 0)
  5612. END
  5613. ELSE c.nzdls
  5614. END
  5615. )
  5616. END
  5617. ELSE 0
  5618. END
  5619. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5620. END
  5621. END )
  5622. , 3) 马33乙纸令
  5623. ")
  5624. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5625. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5626. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5627. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5628. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5629. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5630. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  5631. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5632. ->group("CASE
  5633. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5634. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5635. END,Name_WorkGroup")
  5636. ->buildSql();
  5637. $HH = Db::table('ql_report_feedback_day')->alias('a')
  5638. ->field("
  5639. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5640. ROUND(SUM(
  5641. CASE
  5642. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5643. THEN
  5644. CASE
  5645. WHEN a.cCyddxMc = '装配'
  5646. OR a.cCyddxMc LIKE '%正文%'
  5647. OR a.cCyddxMc LIKE '%答案%'
  5648. OR a.cCyddxMc LIKE '%卷%'
  5649. THEN
  5650. CASE
  5651. WHEN CASE
  5652. WHEN IFNULL(d.fZls, 0) < rr.zl
  5653. THEN rr.zl
  5654. ELSE IFNULL(d.fZls, 0)
  5655. END = 0
  5656. THEN c.nzdls
  5657. ELSE (
  5658. CASE
  5659. WHEN c.nzdls <
  5660. CASE
  5661. WHEN IFNULL(d.fZls, 0) < rr.zl
  5662. THEN rr.zl
  5663. ELSE IFNULL(d.fZls, 0)
  5664. END
  5665. THEN
  5666. CASE
  5667. WHEN IFNULL(d.fZls, 0) < rr.zl
  5668. THEN rr.zl
  5669. ELSE IFNULL(d.fZls, 0)
  5670. END
  5671. ELSE c.nzdls
  5672. END
  5673. )
  5674. END
  5675. ELSE 0
  5676. END
  5677. ELSE
  5678. CASE
  5679. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5680. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5681. CASE
  5682. WHEN a.cCyddxMc = '装配'
  5683. OR a.cCyddxMc LIKE '%正文%'
  5684. OR a.cCyddxMc LIKE '%答案%'
  5685. OR a.cCyddxMc LIKE '%卷%'
  5686. THEN
  5687. CASE
  5688. WHEN CASE
  5689. WHEN IFNULL(d.fZls, 0) < rr.zl
  5690. THEN rr.zl
  5691. ELSE IFNULL(d.fZls, 0)
  5692. END = 0
  5693. THEN c.nzdls
  5694. ELSE (
  5695. CASE
  5696. WHEN c.nzdls <
  5697. CASE
  5698. WHEN IFNULL(d.fZls, 0) < rr.zl
  5699. THEN rr.zl
  5700. ELSE IFNULL(d.fZls, 0)
  5701. END
  5702. THEN
  5703. CASE
  5704. WHEN IFNULL(d.fZls, 0) < rr.zl
  5705. THEN rr.zl
  5706. ELSE IFNULL(d.fZls, 0)
  5707. END
  5708. ELSE c.nzdls
  5709. END
  5710. )
  5711. END
  5712. ELSE 0
  5713. END
  5714. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5715. END
  5716. END )
  5717. , 3) 马44甲纸令
  5718. ")
  5719. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5720. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5721. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5722. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5723. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5724. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5725. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  5726. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5727. ->group("CASE
  5728. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5729. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5730. END,Name_WorkGroup")
  5731. ->buildSql();
  5732. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  5733. ->field("
  5734. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5735. ROUND(SUM(
  5736. CASE
  5737. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5738. THEN
  5739. CASE
  5740. WHEN a.cCyddxMc = '装配'
  5741. OR a.cCyddxMc LIKE '%正文%'
  5742. OR a.cCyddxMc LIKE '%答案%'
  5743. OR a.cCyddxMc LIKE '%卷%'
  5744. THEN
  5745. CASE
  5746. WHEN CASE
  5747. WHEN IFNULL(d.fZls, 0) < rr.zl
  5748. THEN rr.zl
  5749. ELSE IFNULL(d.fZls, 0)
  5750. END = 0
  5751. THEN c.nzdls
  5752. ELSE (
  5753. CASE
  5754. WHEN c.nzdls <
  5755. CASE
  5756. WHEN IFNULL(d.fZls, 0) < rr.zl
  5757. THEN rr.zl
  5758. ELSE IFNULL(d.fZls, 0)
  5759. END
  5760. THEN
  5761. CASE
  5762. WHEN IFNULL(d.fZls, 0) < rr.zl
  5763. THEN rr.zl
  5764. ELSE IFNULL(d.fZls, 0)
  5765. END
  5766. ELSE c.nzdls
  5767. END
  5768. )
  5769. END
  5770. ELSE 0
  5771. END
  5772. ELSE
  5773. CASE
  5774. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5775. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5776. CASE
  5777. WHEN a.cCyddxMc = '装配'
  5778. OR a.cCyddxMc LIKE '%正文%'
  5779. OR a.cCyddxMc LIKE '%答案%'
  5780. OR a.cCyddxMc LIKE '%卷%'
  5781. THEN
  5782. CASE
  5783. WHEN CASE
  5784. WHEN IFNULL(d.fZls, 0) < rr.zl
  5785. THEN rr.zl
  5786. ELSE IFNULL(d.fZls, 0)
  5787. END = 0
  5788. THEN c.nzdls
  5789. ELSE (
  5790. CASE
  5791. WHEN c.nzdls <
  5792. CASE
  5793. WHEN IFNULL(d.fZls, 0) < rr.zl
  5794. THEN rr.zl
  5795. ELSE IFNULL(d.fZls, 0)
  5796. END
  5797. THEN
  5798. CASE
  5799. WHEN IFNULL(d.fZls, 0) < rr.zl
  5800. THEN rr.zl
  5801. ELSE IFNULL(d.fZls, 0)
  5802. END
  5803. ELSE c.nzdls
  5804. END
  5805. )
  5806. END
  5807. ELSE 0
  5808. END
  5809. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5810. END
  5811. END )
  5812. , 3) 马44乙纸令
  5813. ")
  5814. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5815. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5816. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5817. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5818. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5819. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5820. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  5821. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5822. ->group("CASE
  5823. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5824. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5825. END,Name_WorkGroup")
  5826. ->buildSql();
  5827. $XX = Db::table('ql_report_feedback_day')->alias('a')
  5828. ->field("
  5829. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5830. ROUND(SUM(
  5831. CASE
  5832. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5833. THEN
  5834. CASE
  5835. WHEN a.cCyddxMc = '装配'
  5836. OR a.cCyddxMc LIKE '%正文%'
  5837. OR a.cCyddxMc LIKE '%答案%'
  5838. OR a.cCyddxMc LIKE '%卷%'
  5839. THEN
  5840. CASE
  5841. WHEN CASE
  5842. WHEN IFNULL(d.fZls, 0) < rr.zl
  5843. THEN rr.zl
  5844. ELSE IFNULL(d.fZls, 0)
  5845. END = 0
  5846. THEN c.nzdls
  5847. ELSE (
  5848. CASE
  5849. WHEN c.nzdls <
  5850. CASE
  5851. WHEN IFNULL(d.fZls, 0) < rr.zl
  5852. THEN rr.zl
  5853. ELSE IFNULL(d.fZls, 0)
  5854. END
  5855. THEN
  5856. CASE
  5857. WHEN IFNULL(d.fZls, 0) < rr.zl
  5858. THEN rr.zl
  5859. ELSE IFNULL(d.fZls, 0)
  5860. END
  5861. ELSE c.nzdls
  5862. END
  5863. )
  5864. END
  5865. ELSE 0
  5866. END
  5867. ELSE
  5868. CASE
  5869. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5870. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5871. CASE
  5872. WHEN a.cCyddxMc = '装配'
  5873. OR a.cCyddxMc LIKE '%正文%'
  5874. OR a.cCyddxMc LIKE '%答案%'
  5875. OR a.cCyddxMc LIKE '%卷%'
  5876. THEN
  5877. CASE
  5878. WHEN CASE
  5879. WHEN IFNULL(d.fZls, 0) < rr.zl
  5880. THEN rr.zl
  5881. ELSE IFNULL(d.fZls, 0)
  5882. END = 0
  5883. THEN c.nzdls
  5884. ELSE (
  5885. CASE
  5886. WHEN c.nzdls <
  5887. CASE
  5888. WHEN IFNULL(d.fZls, 0) < rr.zl
  5889. THEN rr.zl
  5890. ELSE IFNULL(d.fZls, 0)
  5891. END
  5892. THEN
  5893. CASE
  5894. WHEN IFNULL(d.fZls, 0) < rr.zl
  5895. THEN rr.zl
  5896. ELSE IFNULL(d.fZls, 0)
  5897. END
  5898. ELSE c.nzdls
  5899. END
  5900. )
  5901. END
  5902. ELSE 0
  5903. END
  5904. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5905. END
  5906. END )
  5907. , 3) 马55甲纸令
  5908. ")
  5909. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5910. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5911. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5912. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5913. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5914. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5915. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  5916. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5917. ->group("CASE
  5918. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5919. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5920. END,Name_WorkGroup")
  5921. ->buildSql();
  5922. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  5923. ->field("
  5924. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5925. ROUND(SUM(
  5926. CASE
  5927. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5928. THEN
  5929. CASE
  5930. WHEN a.cCyddxMc = '装配'
  5931. OR a.cCyddxMc LIKE '%正文%'
  5932. OR a.cCyddxMc LIKE '%答案%'
  5933. OR a.cCyddxMc LIKE '%卷%'
  5934. THEN
  5935. CASE
  5936. WHEN CASE
  5937. WHEN IFNULL(d.fZls, 0) < rr.zl
  5938. THEN rr.zl
  5939. ELSE IFNULL(d.fZls, 0)
  5940. END = 0
  5941. THEN c.nzdls
  5942. ELSE (
  5943. CASE
  5944. WHEN c.nzdls <
  5945. CASE
  5946. WHEN IFNULL(d.fZls, 0) < rr.zl
  5947. THEN rr.zl
  5948. ELSE IFNULL(d.fZls, 0)
  5949. END
  5950. THEN
  5951. CASE
  5952. WHEN IFNULL(d.fZls, 0) < rr.zl
  5953. THEN rr.zl
  5954. ELSE IFNULL(d.fZls, 0)
  5955. END
  5956. ELSE c.nzdls
  5957. END
  5958. )
  5959. END
  5960. ELSE 0
  5961. END
  5962. ELSE
  5963. CASE
  5964. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5965. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5966. CASE
  5967. WHEN a.cCyddxMc = '装配'
  5968. OR a.cCyddxMc LIKE '%正文%'
  5969. OR a.cCyddxMc LIKE '%答案%'
  5970. OR a.cCyddxMc LIKE '%卷%'
  5971. THEN
  5972. CASE
  5973. WHEN CASE
  5974. WHEN IFNULL(d.fZls, 0) < rr.zl
  5975. THEN rr.zl
  5976. ELSE IFNULL(d.fZls, 0)
  5977. END = 0
  5978. THEN c.nzdls
  5979. ELSE (
  5980. CASE
  5981. WHEN c.nzdls <
  5982. CASE
  5983. WHEN IFNULL(d.fZls, 0) < rr.zl
  5984. THEN rr.zl
  5985. ELSE IFNULL(d.fZls, 0)
  5986. END
  5987. THEN
  5988. CASE
  5989. WHEN IFNULL(d.fZls, 0) < rr.zl
  5990. THEN rr.zl
  5991. ELSE IFNULL(d.fZls, 0)
  5992. END
  5993. ELSE c.nzdls
  5994. END
  5995. )
  5996. END
  5997. ELSE 0
  5998. END
  5999. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6000. END
  6001. END )
  6002. , 3) 马66甲纸令
  6003. ")
  6004. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6005. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6006. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6007. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6008. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6009. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6010. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  6011. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6012. ->group("CASE
  6013. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6014. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6015. END,Name_WorkGroup")
  6016. ->buildSql();
  6017. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  6018. ->field("
  6019. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6020. ROUND(SUM(
  6021. CASE
  6022. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6023. THEN
  6024. CASE
  6025. WHEN a.cCyddxMc = '装配'
  6026. OR a.cCyddxMc LIKE '%正文%'
  6027. OR a.cCyddxMc LIKE '%答案%'
  6028. OR a.cCyddxMc LIKE '%卷%'
  6029. THEN
  6030. CASE
  6031. WHEN CASE
  6032. WHEN IFNULL(d.fZls, 0) < rr.zl
  6033. THEN rr.zl
  6034. ELSE IFNULL(d.fZls, 0)
  6035. END = 0
  6036. THEN c.nzdls
  6037. ELSE (
  6038. CASE
  6039. WHEN c.nzdls <
  6040. CASE
  6041. WHEN IFNULL(d.fZls, 0) < rr.zl
  6042. THEN rr.zl
  6043. ELSE IFNULL(d.fZls, 0)
  6044. END
  6045. THEN
  6046. CASE
  6047. WHEN IFNULL(d.fZls, 0) < rr.zl
  6048. THEN rr.zl
  6049. ELSE IFNULL(d.fZls, 0)
  6050. END
  6051. ELSE c.nzdls
  6052. END
  6053. )
  6054. END
  6055. ELSE 0
  6056. END
  6057. ELSE
  6058. CASE
  6059. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6060. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6061. CASE
  6062. WHEN a.cCyddxMc = '装配'
  6063. OR a.cCyddxMc LIKE '%正文%'
  6064. OR a.cCyddxMc LIKE '%答案%'
  6065. OR a.cCyddxMc LIKE '%卷%'
  6066. THEN
  6067. CASE
  6068. WHEN CASE
  6069. WHEN IFNULL(d.fZls, 0) < rr.zl
  6070. THEN rr.zl
  6071. ELSE IFNULL(d.fZls, 0)
  6072. END = 0
  6073. THEN c.nzdls
  6074. ELSE (
  6075. CASE
  6076. WHEN c.nzdls <
  6077. CASE
  6078. WHEN IFNULL(d.fZls, 0) < rr.zl
  6079. THEN rr.zl
  6080. ELSE IFNULL(d.fZls, 0)
  6081. END
  6082. THEN
  6083. CASE
  6084. WHEN IFNULL(d.fZls, 0) < rr.zl
  6085. THEN rr.zl
  6086. ELSE IFNULL(d.fZls, 0)
  6087. END
  6088. ELSE c.nzdls
  6089. END
  6090. )
  6091. END
  6092. ELSE 0
  6093. END
  6094. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6095. END
  6096. END )
  6097. , 3) 马77甲纸令
  6098. ")
  6099. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6100. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6101. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6102. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6103. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6104. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6105. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  6106. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6107. ->group("CASE
  6108. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6109. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6110. END,Name_WorkGroup")
  6111. ->buildSql();
  6112. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  6113. ->field("
  6114. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6115. ROUND(SUM(
  6116. CASE
  6117. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6118. THEN
  6119. CASE
  6120. WHEN a.cCyddxMc = '装配'
  6121. OR a.cCyddxMc LIKE '%正文%'
  6122. OR a.cCyddxMc LIKE '%答案%'
  6123. OR a.cCyddxMc LIKE '%卷%'
  6124. THEN
  6125. CASE
  6126. WHEN CASE
  6127. WHEN IFNULL(d.fZls, 0) < rr.zl
  6128. THEN rr.zl
  6129. ELSE IFNULL(d.fZls, 0)
  6130. END = 0
  6131. THEN c.nzdls
  6132. ELSE (
  6133. CASE
  6134. WHEN c.nzdls <
  6135. CASE
  6136. WHEN IFNULL(d.fZls, 0) < rr.zl
  6137. THEN rr.zl
  6138. ELSE IFNULL(d.fZls, 0)
  6139. END
  6140. THEN
  6141. CASE
  6142. WHEN IFNULL(d.fZls, 0) < rr.zl
  6143. THEN rr.zl
  6144. ELSE IFNULL(d.fZls, 0)
  6145. END
  6146. ELSE c.nzdls
  6147. END
  6148. )
  6149. END
  6150. ELSE 0
  6151. END
  6152. ELSE
  6153. CASE
  6154. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6155. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6156. CASE
  6157. WHEN a.cCyddxMc = '装配'
  6158. OR a.cCyddxMc LIKE '%正文%'
  6159. OR a.cCyddxMc LIKE '%答案%'
  6160. OR a.cCyddxMc LIKE '%卷%'
  6161. THEN
  6162. CASE
  6163. WHEN CASE
  6164. WHEN IFNULL(d.fZls, 0) < rr.zl
  6165. THEN rr.zl
  6166. ELSE IFNULL(d.fZls, 0)
  6167. END = 0
  6168. THEN c.nzdls
  6169. ELSE (
  6170. CASE
  6171. WHEN c.nzdls <
  6172. CASE
  6173. WHEN IFNULL(d.fZls, 0) < rr.zl
  6174. THEN rr.zl
  6175. ELSE IFNULL(d.fZls, 0)
  6176. END
  6177. THEN
  6178. CASE
  6179. WHEN IFNULL(d.fZls, 0) < rr.zl
  6180. THEN rr.zl
  6181. ELSE IFNULL(d.fZls, 0)
  6182. END
  6183. ELSE c.nzdls
  6184. END
  6185. )
  6186. END
  6187. ELSE 0
  6188. END
  6189. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6190. END
  6191. END )
  6192. , 3) 马88甲纸令
  6193. ")
  6194. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6195. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6196. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6197. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6198. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6199. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6200. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  6201. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6202. ->group("CASE
  6203. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6204. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6205. END,Name_WorkGroup")
  6206. ->buildSql();
  6207. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  6208. ->field("
  6209. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6210. ROUND(SUM(
  6211. CASE
  6212. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6213. THEN
  6214. CASE
  6215. WHEN a.cCyddxMc = '装配'
  6216. OR a.cCyddxMc LIKE '%正文%'
  6217. OR a.cCyddxMc LIKE '%答案%'
  6218. OR a.cCyddxMc LIKE '%卷%'
  6219. THEN
  6220. CASE
  6221. WHEN CASE
  6222. WHEN IFNULL(d.fZls, 0) < rr.zl
  6223. THEN rr.zl
  6224. ELSE IFNULL(d.fZls, 0)
  6225. END = 0
  6226. THEN c.nzdls
  6227. ELSE (
  6228. CASE
  6229. WHEN c.nzdls <
  6230. CASE
  6231. WHEN IFNULL(d.fZls, 0) < rr.zl
  6232. THEN rr.zl
  6233. ELSE IFNULL(d.fZls, 0)
  6234. END
  6235. THEN
  6236. CASE
  6237. WHEN IFNULL(d.fZls, 0) < rr.zl
  6238. THEN rr.zl
  6239. ELSE IFNULL(d.fZls, 0)
  6240. END
  6241. ELSE c.nzdls
  6242. END
  6243. )
  6244. END
  6245. ELSE 0
  6246. END
  6247. ELSE
  6248. CASE
  6249. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6250. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6251. CASE
  6252. WHEN a.cCyddxMc = '装配'
  6253. OR a.cCyddxMc LIKE '%正文%'
  6254. OR a.cCyddxMc LIKE '%答案%'
  6255. OR a.cCyddxMc LIKE '%卷%'
  6256. THEN
  6257. CASE
  6258. WHEN CASE
  6259. WHEN IFNULL(d.fZls, 0) < rr.zl
  6260. THEN rr.zl
  6261. ELSE IFNULL(d.fZls, 0)
  6262. END = 0
  6263. THEN c.nzdls
  6264. ELSE (
  6265. CASE
  6266. WHEN c.nzdls <
  6267. CASE
  6268. WHEN IFNULL(d.fZls, 0) < rr.zl
  6269. THEN rr.zl
  6270. ELSE IFNULL(d.fZls, 0)
  6271. END
  6272. THEN
  6273. CASE
  6274. WHEN IFNULL(d.fZls, 0) < rr.zl
  6275. THEN rr.zl
  6276. ELSE IFNULL(d.fZls, 0)
  6277. END
  6278. ELSE c.nzdls
  6279. END
  6280. )
  6281. END
  6282. ELSE 0
  6283. END
  6284. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6285. END
  6286. END )
  6287. , 3) 马55乙纸令
  6288. ")
  6289. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6290. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6291. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6292. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6293. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6294. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6295. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  6296. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6297. ->group("CASE
  6298. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6299. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6300. END,Name_WorkGroup")
  6301. ->buildSql();
  6302. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  6303. ->field("
  6304. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6305. ROUND(SUM(
  6306. CASE
  6307. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6308. THEN
  6309. CASE
  6310. WHEN a.cCyddxMc = '装配'
  6311. OR a.cCyddxMc LIKE '%正文%'
  6312. OR a.cCyddxMc LIKE '%答案%'
  6313. OR a.cCyddxMc LIKE '%卷%'
  6314. THEN
  6315. CASE
  6316. WHEN CASE
  6317. WHEN IFNULL(d.fZls, 0) < rr.zl
  6318. THEN rr.zl
  6319. ELSE IFNULL(d.fZls, 0)
  6320. END = 0
  6321. THEN c.nzdls
  6322. ELSE (
  6323. CASE
  6324. WHEN c.nzdls <
  6325. CASE
  6326. WHEN IFNULL(d.fZls, 0) < rr.zl
  6327. THEN rr.zl
  6328. ELSE IFNULL(d.fZls, 0)
  6329. END
  6330. THEN
  6331. CASE
  6332. WHEN IFNULL(d.fZls, 0) < rr.zl
  6333. THEN rr.zl
  6334. ELSE IFNULL(d.fZls, 0)
  6335. END
  6336. ELSE c.nzdls
  6337. END
  6338. )
  6339. END
  6340. ELSE 0
  6341. END
  6342. ELSE
  6343. CASE
  6344. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6345. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6346. CASE
  6347. WHEN a.cCyddxMc = '装配'
  6348. OR a.cCyddxMc LIKE '%正文%'
  6349. OR a.cCyddxMc LIKE '%答案%'
  6350. OR a.cCyddxMc LIKE '%卷%'
  6351. THEN
  6352. CASE
  6353. WHEN CASE
  6354. WHEN IFNULL(d.fZls, 0) < rr.zl
  6355. THEN rr.zl
  6356. ELSE IFNULL(d.fZls, 0)
  6357. END = 0
  6358. THEN c.nzdls
  6359. ELSE (
  6360. CASE
  6361. WHEN c.nzdls <
  6362. CASE
  6363. WHEN IFNULL(d.fZls, 0) < rr.zl
  6364. THEN rr.zl
  6365. ELSE IFNULL(d.fZls, 0)
  6366. END
  6367. THEN
  6368. CASE
  6369. WHEN IFNULL(d.fZls, 0) < rr.zl
  6370. THEN rr.zl
  6371. ELSE IFNULL(d.fZls, 0)
  6372. END
  6373. ELSE c.nzdls
  6374. END
  6375. )
  6376. END
  6377. ELSE 0
  6378. END
  6379. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6380. END
  6381. END )
  6382. , 3) 马66乙纸令
  6383. ")
  6384. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6385. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6386. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6387. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6388. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6389. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6390. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  6391. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6392. ->group("CASE
  6393. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6394. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6395. END,Name_WorkGroup")
  6396. ->buildSql();
  6397. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  6398. ->field("
  6399. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6400. ROUND(SUM(
  6401. CASE
  6402. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6403. THEN
  6404. CASE
  6405. WHEN a.cCyddxMc = '装配'
  6406. OR a.cCyddxMc LIKE '%正文%'
  6407. OR a.cCyddxMc LIKE '%答案%'
  6408. OR a.cCyddxMc LIKE '%卷%'
  6409. THEN
  6410. CASE
  6411. WHEN CASE
  6412. WHEN IFNULL(d.fZls, 0) < rr.zl
  6413. THEN rr.zl
  6414. ELSE IFNULL(d.fZls, 0)
  6415. END = 0
  6416. THEN c.nzdls
  6417. ELSE (
  6418. CASE
  6419. WHEN c.nzdls <
  6420. CASE
  6421. WHEN IFNULL(d.fZls, 0) < rr.zl
  6422. THEN rr.zl
  6423. ELSE IFNULL(d.fZls, 0)
  6424. END
  6425. THEN
  6426. CASE
  6427. WHEN IFNULL(d.fZls, 0) < rr.zl
  6428. THEN rr.zl
  6429. ELSE IFNULL(d.fZls, 0)
  6430. END
  6431. ELSE c.nzdls
  6432. END
  6433. )
  6434. END
  6435. ELSE 0
  6436. END
  6437. ELSE
  6438. CASE
  6439. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6440. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6441. CASE
  6442. WHEN a.cCyddxMc = '装配'
  6443. OR a.cCyddxMc LIKE '%正文%'
  6444. OR a.cCyddxMc LIKE '%答案%'
  6445. OR a.cCyddxMc LIKE '%卷%'
  6446. THEN
  6447. CASE
  6448. WHEN CASE
  6449. WHEN IFNULL(d.fZls, 0) < rr.zl
  6450. THEN rr.zl
  6451. ELSE IFNULL(d.fZls, 0)
  6452. END = 0
  6453. THEN c.nzdls
  6454. ELSE (
  6455. CASE
  6456. WHEN c.nzdls <
  6457. CASE
  6458. WHEN IFNULL(d.fZls, 0) < rr.zl
  6459. THEN rr.zl
  6460. ELSE IFNULL(d.fZls, 0)
  6461. END
  6462. THEN
  6463. CASE
  6464. WHEN IFNULL(d.fZls, 0) < rr.zl
  6465. THEN rr.zl
  6466. ELSE IFNULL(d.fZls, 0)
  6467. END
  6468. ELSE c.nzdls
  6469. END
  6470. )
  6471. END
  6472. ELSE 0
  6473. END
  6474. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6475. END
  6476. END )
  6477. , 3) 马77乙纸令
  6478. ")
  6479. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6480. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6481. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6482. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6483. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6484. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6485. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  6486. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6487. ->group("CASE
  6488. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6489. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6490. END,Name_WorkGroup")
  6491. ->buildSql();
  6492. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  6493. ->field("
  6494. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6495. ROUND(SUM(
  6496. CASE
  6497. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6498. THEN
  6499. CASE
  6500. WHEN a.cCyddxMc = '装配'
  6501. OR a.cCyddxMc LIKE '%正文%'
  6502. OR a.cCyddxMc LIKE '%答案%'
  6503. OR a.cCyddxMc LIKE '%卷%'
  6504. THEN
  6505. CASE
  6506. WHEN CASE
  6507. WHEN IFNULL(d.fZls, 0) < rr.zl
  6508. THEN rr.zl
  6509. ELSE IFNULL(d.fZls, 0)
  6510. END = 0
  6511. THEN c.nzdls
  6512. ELSE (
  6513. CASE
  6514. WHEN c.nzdls <
  6515. CASE
  6516. WHEN IFNULL(d.fZls, 0) < rr.zl
  6517. THEN rr.zl
  6518. ELSE IFNULL(d.fZls, 0)
  6519. END
  6520. THEN
  6521. CASE
  6522. WHEN IFNULL(d.fZls, 0) < rr.zl
  6523. THEN rr.zl
  6524. ELSE IFNULL(d.fZls, 0)
  6525. END
  6526. ELSE c.nzdls
  6527. END
  6528. )
  6529. END
  6530. ELSE 0
  6531. END
  6532. ELSE
  6533. CASE
  6534. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6535. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6536. CASE
  6537. WHEN a.cCyddxMc = '装配'
  6538. OR a.cCyddxMc LIKE '%正文%'
  6539. OR a.cCyddxMc LIKE '%答案%'
  6540. OR a.cCyddxMc LIKE '%卷%'
  6541. THEN
  6542. CASE
  6543. WHEN CASE
  6544. WHEN IFNULL(d.fZls, 0) < rr.zl
  6545. THEN rr.zl
  6546. ELSE IFNULL(d.fZls, 0)
  6547. END = 0
  6548. THEN c.nzdls
  6549. ELSE (
  6550. CASE
  6551. WHEN c.nzdls <
  6552. CASE
  6553. WHEN IFNULL(d.fZls, 0) < rr.zl
  6554. THEN rr.zl
  6555. ELSE IFNULL(d.fZls, 0)
  6556. END
  6557. THEN
  6558. CASE
  6559. WHEN IFNULL(d.fZls, 0) < rr.zl
  6560. THEN rr.zl
  6561. ELSE IFNULL(d.fZls, 0)
  6562. END
  6563. ELSE c.nzdls
  6564. END
  6565. )
  6566. END
  6567. ELSE 0
  6568. END
  6569. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6570. END
  6571. END )
  6572. , 3) 马88乙纸令
  6573. ")
  6574. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6575. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6576. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6577. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6578. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6579. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6580. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  6581. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6582. ->group("CASE
  6583. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6584. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6585. END,Name_WorkGroup")
  6586. ->buildSql();
  6587. $db = Db::table($A . 'a')
  6588. ->field("
  6589. DISTINCT DATE(A.RQ) rq,
  6590. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  6591. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  6592. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  6593. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  6594. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  6595. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  6596. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  6597. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  6598. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  6599. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  6600. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  6601. + IFNULL(sum(jdj4.马88甲纸令), 0) + IFNULL(sum(jdy4.马88乙纸令), 0)
  6602. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  6603. ")
  6604. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  6605. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6606. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  6607. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  6608. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  6609. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  6610. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  6611. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  6612. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  6613. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  6614. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6615. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6616. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  6617. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  6618. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  6619. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  6620. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  6621. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  6622. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  6623. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  6624. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  6625. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  6626. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  6627. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  6628. ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT')
  6629. ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.rq','LEFT')
  6630. ->group('rq')
  6631. ->buildSql();
  6632. $jd = Db::table($db . ' db')
  6633. ->field("
  6634. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6635. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  6636. ")
  6637. ->where("db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ")
  6638. ->group('MONTH(db.rq)')
  6639. ->select();
  6640. /**
  6641. * 簿册联动线纸令
  6642. */
  6643. $B = Db::table('cpjtfk')
  6644. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6645. ->field("
  6646. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6647. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  6648. ")
  6649. ->where('cbanzu','=','簿册机1号(甲班)')
  6650. ->group('drptdate,cbanzu')
  6651. ->buildSql();
  6652. $B1 = Db::table('cpjtfk')
  6653. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6654. ->field("
  6655. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6656. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  6657. ")
  6658. ->where('cbanzu','=','簿册机1号(乙班)')
  6659. ->group('drptdate,cbanzu')
  6660. ->buildSql();
  6661. $rr = Db::table('scyddx')->alias('r')
  6662. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6663. ->group('r.ICYDID')
  6664. ->buildSql();
  6665. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6666. ->field("
  6667. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6668. ROUND(SUM(
  6669. CASE
  6670. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6671. THEN
  6672. CASE
  6673. WHEN a.cCyddxMc = '装配'
  6674. OR a.cCyddxMc LIKE '%正文%'
  6675. OR a.cCyddxMc LIKE '%答案%'
  6676. OR a.cCyddxMc LIKE '%卷%'
  6677. THEN
  6678. CASE
  6679. WHEN CASE
  6680. WHEN IFNULL(d.fZls, 0) < rr.zl
  6681. THEN rr.zl
  6682. ELSE IFNULL(d.fZls, 0)
  6683. END = 0
  6684. THEN c.nzdls
  6685. ELSE (
  6686. CASE
  6687. WHEN c.nzdls <
  6688. CASE
  6689. WHEN IFNULL(d.fZls, 0) < rr.zl
  6690. THEN rr.zl
  6691. ELSE IFNULL(d.fZls, 0)
  6692. END
  6693. THEN
  6694. CASE
  6695. WHEN IFNULL(d.fZls, 0) < rr.zl
  6696. THEN rr.zl
  6697. ELSE IFNULL(d.fZls, 0)
  6698. END
  6699. ELSE c.nzdls
  6700. END
  6701. )
  6702. END
  6703. ELSE 0
  6704. END
  6705. ELSE
  6706. CASE
  6707. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6708. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6709. CASE
  6710. WHEN a.cCyddxMc = '装配'
  6711. OR a.cCyddxMc LIKE '%正文%'
  6712. OR a.cCyddxMc LIKE '%答案%'
  6713. OR a.cCyddxMc LIKE '%卷%'
  6714. THEN
  6715. CASE
  6716. WHEN CASE
  6717. WHEN IFNULL(d.fZls, 0) < rr.zl
  6718. THEN rr.zl
  6719. ELSE IFNULL(d.fZls, 0)
  6720. END = 0
  6721. THEN c.nzdls
  6722. ELSE (
  6723. CASE
  6724. WHEN c.nzdls <
  6725. CASE
  6726. WHEN IFNULL(d.fZls, 0) < rr.zl
  6727. THEN rr.zl
  6728. ELSE IFNULL(d.fZls, 0)
  6729. END
  6730. THEN
  6731. CASE
  6732. WHEN IFNULL(d.fZls, 0) < rr.zl
  6733. THEN rr.zl
  6734. ELSE IFNULL(d.fZls, 0)
  6735. END
  6736. ELSE c.nzdls
  6737. END
  6738. )
  6739. END
  6740. ELSE 0
  6741. END
  6742. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6743. END
  6744. END )
  6745. , 3) 簿11甲纸令
  6746. ")
  6747. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6748. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6749. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6750. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6751. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6752. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6753. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  6754. ->where('a.cTechName' ,'=','簿册联动')
  6755. ->group("CASE
  6756. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6757. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6758. END,Name_WorkGroup")
  6759. ->buildSql();
  6760. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6761. ->field("
  6762. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6763. ROUND(SUM(
  6764. CASE
  6765. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6766. THEN
  6767. CASE
  6768. WHEN a.cCyddxMc = '装配'
  6769. OR a.cCyddxMc LIKE '%正文%'
  6770. OR a.cCyddxMc LIKE '%答案%'
  6771. OR a.cCyddxMc LIKE '%卷%'
  6772. THEN
  6773. CASE
  6774. WHEN CASE
  6775. WHEN IFNULL(d.fZls, 0) < rr.zl
  6776. THEN rr.zl
  6777. ELSE IFNULL(d.fZls, 0)
  6778. END = 0
  6779. THEN c.nzdls
  6780. ELSE (
  6781. CASE
  6782. WHEN c.nzdls <
  6783. CASE
  6784. WHEN IFNULL(d.fZls, 0) < rr.zl
  6785. THEN rr.zl
  6786. ELSE IFNULL(d.fZls, 0)
  6787. END
  6788. THEN
  6789. CASE
  6790. WHEN IFNULL(d.fZls, 0) < rr.zl
  6791. THEN rr.zl
  6792. ELSE IFNULL(d.fZls, 0)
  6793. END
  6794. ELSE c.nzdls
  6795. END
  6796. )
  6797. END
  6798. ELSE 0
  6799. END
  6800. ELSE
  6801. CASE
  6802. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6803. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6804. CASE
  6805. WHEN a.cCyddxMc = '装配'
  6806. OR a.cCyddxMc LIKE '%正文%'
  6807. OR a.cCyddxMc LIKE '%答案%'
  6808. OR a.cCyddxMc LIKE '%卷%'
  6809. THEN
  6810. CASE
  6811. WHEN CASE
  6812. WHEN IFNULL(d.fZls, 0) < rr.zl
  6813. THEN rr.zl
  6814. ELSE IFNULL(d.fZls, 0)
  6815. END = 0
  6816. THEN c.nzdls
  6817. ELSE (
  6818. CASE
  6819. WHEN c.nzdls <
  6820. CASE
  6821. WHEN IFNULL(d.fZls, 0) < rr.zl
  6822. THEN rr.zl
  6823. ELSE IFNULL(d.fZls, 0)
  6824. END
  6825. THEN
  6826. CASE
  6827. WHEN IFNULL(d.fZls, 0) < rr.zl
  6828. THEN rr.zl
  6829. ELSE IFNULL(d.fZls, 0)
  6830. END
  6831. ELSE c.nzdls
  6832. END
  6833. )
  6834. END
  6835. ELSE 0
  6836. END
  6837. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6838. END
  6839. END )
  6840. , 3) 簿11乙纸令
  6841. ")
  6842. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6843. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6844. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6845. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6846. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6847. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6848. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  6849. ->where('a.cTechName' ,'=','簿册联动')
  6850. ->group("CASE
  6851. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6852. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6853. END,Name_WorkGroup")
  6854. ->buildSql();
  6855. $db = Db::table($A . 'a')
  6856. ->field("
  6857. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  6858. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  6859. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  6860. ")
  6861. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  6862. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6863. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6864. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6865. ->group('rq')
  6866. ->buildSql();
  6867. $bc = Db::table($db . ' db')
  6868. ->field("
  6869. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6870. ROUND(sum(db.纸令), 0) as 簿册纸令
  6871. ")->where("db.RQ >= '{$this->start_time()}'
  6872. AND db.RQ <= '{$this->end_time()}' ")
  6873. ->group('MONTH(db.rq)')
  6874. ->select();
  6875. // 创建一个结果数组
  6876. $result=[];
  6877. $result1 = [];
  6878. // 遍历第一个数组,并将数据加入结果数组
  6879. foreach ($jp as $val1) {
  6880. $month = $val1['日期'];
  6881. $data1 = $val1['精平纸令'];
  6882. if (!isset($result[$month])) {
  6883. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6884. }
  6885. if (!isset($result1[$month])) {
  6886. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6887. }
  6888. $result1[$month] += $data1; // 累加第一个数组的数据
  6889. }
  6890. // 遍历第二个数组,并将数据加入结果数组
  6891. foreach ($jd as $val2) {
  6892. $month = $val2['日期'];
  6893. $data1 = $val2['无线胶订纸令'];
  6894. if (!isset($result[$month])) {
  6895. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6896. }
  6897. if (!isset($result1[$month])) {
  6898. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6899. }
  6900. $result1[$month] += $data1; // 累加第二个数组的数据
  6901. }
  6902. foreach ($bc as $val2) {
  6903. $month = $val2['日期'];
  6904. $data1 = $val2['簿册纸令'];
  6905. if (!isset($result[$month])) {
  6906. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6907. }
  6908. if (!isset($result1[$month])) {
  6909. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6910. }
  6911. $result1[$month] += $data1; // 累加第二个数组的数据
  6912. }
  6913. foreach($result1 as $k=>$v){
  6914. $list['categories'][]=$k;
  6915. $list['series'][0]['name']='装订实物产量色令数';
  6916. $list['series'][0]['data'][]=$v;
  6917. }
  6918. $res['status']=0;
  6919. $res['msg']='';
  6920. $res['data']=$list;
  6921. $redis->set($redis_key, json_encode($result1));
  6922. // halt(json_decode($redis->get($redis_key),true));
  6923. return json_encode($result1);
  6924. }
  6925. //前年装订实物产量纸令->缓存调用
  6926. public function zdzlTwoYear(){
  6927. $redis=redis();
  6928. $redis_key = md5('zdzlTwoYear');
  6929. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  6930. ->union(function ($query) {
  6931. $query->table('scDayRpt_Teams')->alias('b')
  6932. ->field("DISTINCT DATE_FORMAT(
  6933. CASE
  6934. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  6935. ELSE b.dOnDuty
  6936. END,
  6937. '%Y-%m-%d'
  6938. ) AS RQ");
  6939. }, true)
  6940. ->buildSql();
  6941. $B1 = Db::table('cpjtfk')
  6942. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6943. ->field("
  6944. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6945. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  6946. ")
  6947. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  6948. ->group('drptdate,cbanzu')
  6949. ->buildSql();
  6950. $rr = Db::table('scyddx')->alias('r')
  6951. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6952. ->group('r.ICYDID')
  6953. ->buildSql();
  6954. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6955. ->field("
  6956. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6957. ROUND(SUM(
  6958. CASE
  6959. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6960. THEN
  6961. CASE
  6962. WHEN a.cCyddxMc = '装配'
  6963. OR a.cCyddxMc LIKE '%正文%'
  6964. OR a.cCyddxMc LIKE '%答案%'
  6965. OR a.cCyddxMc LIKE '%卷%'
  6966. THEN
  6967. CASE
  6968. WHEN CASE
  6969. WHEN IFNULL(d.fZls, 0) < rr.zl
  6970. THEN rr.zl
  6971. ELSE IFNULL(d.fZls, 0)
  6972. END = 0
  6973. THEN c.nzdls
  6974. ELSE (
  6975. CASE
  6976. WHEN c.nzdls <
  6977. CASE
  6978. WHEN IFNULL(d.fZls, 0) < rr.zl
  6979. THEN rr.zl
  6980. ELSE IFNULL(d.fZls, 0)
  6981. END
  6982. THEN
  6983. CASE
  6984. WHEN IFNULL(d.fZls, 0) < rr.zl
  6985. THEN rr.zl
  6986. ELSE IFNULL(d.fZls, 0)
  6987. END
  6988. ELSE c.nzdls
  6989. END
  6990. )
  6991. END
  6992. ELSE 0
  6993. END
  6994. ELSE
  6995. CASE
  6996. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6997. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6998. CASE
  6999. WHEN a.cCyddxMc = '装配'
  7000. OR a.cCyddxMc LIKE '%正文%'
  7001. OR a.cCyddxMc LIKE '%答案%'
  7002. OR a.cCyddxMc LIKE '%卷%'
  7003. THEN
  7004. CASE
  7005. WHEN CASE
  7006. WHEN IFNULL(d.fZls, 0) < rr.zl
  7007. THEN rr.zl
  7008. ELSE IFNULL(d.fZls, 0)
  7009. END = 0
  7010. THEN c.nzdls
  7011. ELSE (
  7012. CASE
  7013. WHEN c.nzdls <
  7014. CASE
  7015. WHEN IFNULL(d.fZls, 0) < rr.zl
  7016. THEN rr.zl
  7017. ELSE IFNULL(d.fZls, 0)
  7018. END
  7019. THEN
  7020. CASE
  7021. WHEN IFNULL(d.fZls, 0) < rr.zl
  7022. THEN rr.zl
  7023. ELSE IFNULL(d.fZls, 0)
  7024. END
  7025. ELSE c.nzdls
  7026. END
  7027. )
  7028. END
  7029. ELSE 0
  7030. END
  7031. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7032. END
  7033. END )
  7034. , 3) 精11乙纸令
  7035. ")
  7036. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7037. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7038. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7039. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7040. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7041. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7042. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  7043. ->group("CASE
  7044. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7045. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7046. END,Name_WorkGroup")
  7047. ->buildSql();
  7048. $db = Db::table($A . 'a')
  7049. ->field("
  7050. DATE(A.RQ) rq,
  7051. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  7052. ")
  7053. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  7054. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  7055. ->buildSql();
  7056. $jp = Db::table($db . ' db')
  7057. ->field("
  7058. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  7059. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  7060. ")->where("db.RQ >= '{$this->start_time()}'
  7061. AND db.RQ <= '{$this->end_time()}' ")
  7062. ->group('MONTH(db.rq)')
  7063. ->select();
  7064. $B = Db::table('cpjtfk')
  7065. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7066. ->field("
  7067. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7068. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  7069. ")
  7070. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  7071. ->group('drptdate,cbanzu')
  7072. ->buildSql();
  7073. $B1 = Db::table('cpjtfk')
  7074. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7075. ->field("
  7076. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7077. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  7078. ")
  7079. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  7080. ->group('drptdate,cbanzu')
  7081. ->buildSql();
  7082. $C = Db::table('cpjtfk')
  7083. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7084. ->field("
  7085. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7086. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  7087. ")
  7088. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  7089. ->group('drptdate,cbanzu')
  7090. ->buildSql();
  7091. $C1 = Db::table('cpjtfk')
  7092. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7093. ->field("
  7094. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7095. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  7096. ")
  7097. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  7098. ->group('drptdate,cbanzu')
  7099. ->buildSql();
  7100. $D = Db::table('cpjtfk')
  7101. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7102. ->field("
  7103. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7104. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  7105. ")
  7106. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  7107. ->group('drptdate,cbanzu')
  7108. ->buildSql();
  7109. $D1 = Db::table('cpjtfk')
  7110. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7111. ->field("
  7112. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7113. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  7114. ")
  7115. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  7116. ->group('drptdate,cbanzu')
  7117. ->buildSql();
  7118. $E = Db::table('cpjtfk')
  7119. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7120. ->field("
  7121. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7122. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  7123. ")
  7124. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  7125. ->group('drptdate,cbanzu')
  7126. ->buildSql();
  7127. $E1 = Db::table('cpjtfk')
  7128. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7129. ->field("
  7130. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7131. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  7132. ")
  7133. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  7134. ->group('drptdate,cbanzu')
  7135. ->buildSql();
  7136. $F = Db::table('cpjtfk')
  7137. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7138. ->field("
  7139. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7140. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  7141. ")
  7142. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  7143. ->group('drptdate,cbanzu')
  7144. ->buildSql();
  7145. $F1 = Db::table('cpjtfk')
  7146. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7147. ->field("
  7148. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7149. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  7150. ")
  7151. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  7152. ->group('drptdate,cbanzu')
  7153. ->buildSql();
  7154. $rr = Db::table('scyddx')->alias('r')
  7155. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  7156. ->group('r.ICYDID')
  7157. ->buildSql();
  7158. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  7159. ->field("
  7160. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7161. ROUND(SUM(
  7162. CASE
  7163. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7164. THEN CASE WHEN a.cCyddxMc = '装配'
  7165. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  7166. THEN CASE
  7167. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7168. END = 0 THEN c.nzdls
  7169. ELSE ( CASE
  7170. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7171. END
  7172. THEN CASE
  7173. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7174. END ELSE c.nzdls END
  7175. ) END ELSE 0 END
  7176. ELSE CASE
  7177. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7178. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7179. CASE WHEN a.cCyddxMc = '装配'
  7180. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  7181. THEN CASE
  7182. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7183. END = 0 THEN c.nzdls
  7184. ELSE ( CASE WHEN c.nzdls <
  7185. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7186. END
  7187. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7188. END ELSE c.nzdls END )
  7189. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7190. END END ), 3) 马11甲纸令 ")
  7191. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7192. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7193. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7194. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7195. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7196. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7197. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  7198. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7199. ->group("CASE
  7200. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7201. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7202. END,Name_WorkGroup")->buildSql();
  7203. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  7204. ->field("
  7205. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7206. ROUND(SUM(
  7207. CASE
  7208. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7209. THEN
  7210. CASE
  7211. WHEN a.cCyddxMc = '装配'
  7212. OR a.cCyddxMc LIKE '%正文%'
  7213. OR a.cCyddxMc LIKE '%答案%'
  7214. OR a.cCyddxMc LIKE '%卷%'
  7215. THEN
  7216. CASE
  7217. WHEN CASE
  7218. WHEN IFNULL(d.fZls, 0) < rr.zl
  7219. THEN rr.zl
  7220. ELSE IFNULL(d.fZls, 0)
  7221. END = 0
  7222. THEN c.nzdls
  7223. ELSE (
  7224. CASE
  7225. WHEN c.nzdls <
  7226. CASE
  7227. WHEN IFNULL(d.fZls, 0) < rr.zl
  7228. THEN rr.zl
  7229. ELSE IFNULL(d.fZls, 0)
  7230. END
  7231. THEN
  7232. CASE
  7233. WHEN IFNULL(d.fZls, 0) < rr.zl
  7234. THEN rr.zl
  7235. ELSE IFNULL(d.fZls, 0)
  7236. END
  7237. ELSE c.nzdls
  7238. END
  7239. )
  7240. END
  7241. ELSE 0
  7242. END
  7243. ELSE
  7244. CASE
  7245. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7246. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7247. CASE
  7248. WHEN a.cCyddxMc = '装配'
  7249. OR a.cCyddxMc LIKE '%正文%'
  7250. OR a.cCyddxMc LIKE '%答案%'
  7251. OR a.cCyddxMc LIKE '%卷%'
  7252. THEN
  7253. CASE
  7254. WHEN CASE
  7255. WHEN IFNULL(d.fZls, 0) < rr.zl
  7256. THEN rr.zl
  7257. ELSE IFNULL(d.fZls, 0)
  7258. END = 0
  7259. THEN c.nzdls
  7260. ELSE (
  7261. CASE
  7262. WHEN c.nzdls <
  7263. CASE
  7264. WHEN IFNULL(d.fZls, 0) < rr.zl
  7265. THEN rr.zl
  7266. ELSE IFNULL(d.fZls, 0)
  7267. END
  7268. THEN
  7269. CASE
  7270. WHEN IFNULL(d.fZls, 0) < rr.zl
  7271. THEN rr.zl
  7272. ELSE IFNULL(d.fZls, 0)
  7273. END
  7274. ELSE c.nzdls
  7275. END
  7276. )
  7277. END
  7278. ELSE 0
  7279. END
  7280. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7281. END
  7282. END )
  7283. , 3) 马11乙纸令
  7284. ")
  7285. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7286. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7287. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7288. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7289. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7290. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7291. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  7292. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7293. ->group("CASE
  7294. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7295. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7296. END,Name_WorkGroup")
  7297. ->buildSql();
  7298. $CC = Db::table('ql_report_feedback_day')->alias('a')
  7299. ->field("
  7300. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7301. ROUND(SUM(
  7302. CASE
  7303. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7304. THEN
  7305. CASE
  7306. WHEN a.cCyddxMc = '装配'
  7307. OR a.cCyddxMc LIKE '%正文%'
  7308. OR a.cCyddxMc LIKE '%答案%'
  7309. OR a.cCyddxMc LIKE '%卷%'
  7310. THEN
  7311. CASE
  7312. WHEN CASE
  7313. WHEN IFNULL(d.fZls, 0) < rr.zl
  7314. THEN rr.zl
  7315. ELSE IFNULL(d.fZls, 0)
  7316. END = 0
  7317. THEN c.nzdls
  7318. ELSE (
  7319. CASE
  7320. WHEN c.nzdls <
  7321. CASE
  7322. WHEN IFNULL(d.fZls, 0) < rr.zl
  7323. THEN rr.zl
  7324. ELSE IFNULL(d.fZls, 0)
  7325. END
  7326. THEN
  7327. CASE
  7328. WHEN IFNULL(d.fZls, 0) < rr.zl
  7329. THEN rr.zl
  7330. ELSE IFNULL(d.fZls, 0)
  7331. END
  7332. ELSE c.nzdls
  7333. END
  7334. )
  7335. END
  7336. ELSE 0
  7337. END
  7338. ELSE
  7339. CASE
  7340. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7341. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7342. CASE
  7343. WHEN a.cCyddxMc = '装配'
  7344. OR a.cCyddxMc LIKE '%正文%'
  7345. OR a.cCyddxMc LIKE '%答案%'
  7346. OR a.cCyddxMc LIKE '%卷%'
  7347. THEN
  7348. CASE
  7349. WHEN CASE
  7350. WHEN IFNULL(d.fZls, 0) < rr.zl
  7351. THEN rr.zl
  7352. ELSE IFNULL(d.fZls, 0)
  7353. END = 0
  7354. THEN c.nzdls
  7355. ELSE (
  7356. CASE
  7357. WHEN c.nzdls <
  7358. CASE
  7359. WHEN IFNULL(d.fZls, 0) < rr.zl
  7360. THEN rr.zl
  7361. ELSE IFNULL(d.fZls, 0)
  7362. END
  7363. THEN
  7364. CASE
  7365. WHEN IFNULL(d.fZls, 0) < rr.zl
  7366. THEN rr.zl
  7367. ELSE IFNULL(d.fZls, 0)
  7368. END
  7369. ELSE c.nzdls
  7370. END
  7371. )
  7372. END
  7373. ELSE 0
  7374. END
  7375. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7376. END
  7377. END )
  7378. , 3) 马22甲纸令
  7379. ")
  7380. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7381. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7382. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7383. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7384. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7385. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7386. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  7387. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7388. ->group("CASE
  7389. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7390. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7391. END,Name_WorkGroup")
  7392. ->buildSql();
  7393. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  7394. ->field("
  7395. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7396. ROUND(SUM(
  7397. CASE
  7398. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7399. THEN
  7400. CASE
  7401. WHEN a.cCyddxMc = '装配'
  7402. OR a.cCyddxMc LIKE '%正文%'
  7403. OR a.cCyddxMc LIKE '%答案%'
  7404. OR a.cCyddxMc LIKE '%卷%'
  7405. THEN
  7406. CASE
  7407. WHEN CASE
  7408. WHEN IFNULL(d.fZls, 0) < rr.zl
  7409. THEN rr.zl
  7410. ELSE IFNULL(d.fZls, 0)
  7411. END = 0
  7412. THEN c.nzdls
  7413. ELSE (
  7414. CASE
  7415. WHEN c.nzdls <
  7416. CASE
  7417. WHEN IFNULL(d.fZls, 0) < rr.zl
  7418. THEN rr.zl
  7419. ELSE IFNULL(d.fZls, 0)
  7420. END
  7421. THEN
  7422. CASE
  7423. WHEN IFNULL(d.fZls, 0) < rr.zl
  7424. THEN rr.zl
  7425. ELSE IFNULL(d.fZls, 0)
  7426. END
  7427. ELSE c.nzdls
  7428. END
  7429. )
  7430. END
  7431. ELSE 0
  7432. END
  7433. ELSE
  7434. CASE
  7435. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7436. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7437. CASE
  7438. WHEN a.cCyddxMc = '装配'
  7439. OR a.cCyddxMc LIKE '%正文%'
  7440. OR a.cCyddxMc LIKE '%答案%'
  7441. OR a.cCyddxMc LIKE '%卷%'
  7442. THEN
  7443. CASE
  7444. WHEN CASE
  7445. WHEN IFNULL(d.fZls, 0) < rr.zl
  7446. THEN rr.zl
  7447. ELSE IFNULL(d.fZls, 0)
  7448. END = 0
  7449. THEN c.nzdls
  7450. ELSE (
  7451. CASE
  7452. WHEN c.nzdls <
  7453. CASE
  7454. WHEN IFNULL(d.fZls, 0) < rr.zl
  7455. THEN rr.zl
  7456. ELSE IFNULL(d.fZls, 0)
  7457. END
  7458. THEN
  7459. CASE
  7460. WHEN IFNULL(d.fZls, 0) < rr.zl
  7461. THEN rr.zl
  7462. ELSE IFNULL(d.fZls, 0)
  7463. END
  7464. ELSE c.nzdls
  7465. END
  7466. )
  7467. END
  7468. ELSE 0
  7469. END
  7470. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7471. END
  7472. END )
  7473. , 3) 马22乙纸令
  7474. ")
  7475. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7476. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7477. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7478. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7479. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7480. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7481. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  7482. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7483. ->group("CASE
  7484. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7485. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7486. END,Name_WorkGroup")
  7487. ->buildSql();
  7488. $EE = Db::table('ql_report_feedback_day')->alias('a')
  7489. ->field("
  7490. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7491. ROUND(SUM(
  7492. CASE
  7493. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7494. THEN
  7495. CASE
  7496. WHEN a.cCyddxMc = '装配'
  7497. OR a.cCyddxMc LIKE '%正文%'
  7498. OR a.cCyddxMc LIKE '%答案%'
  7499. OR a.cCyddxMc LIKE '%卷%'
  7500. THEN
  7501. CASE
  7502. WHEN CASE
  7503. WHEN IFNULL(d.fZls, 0) < rr.zl
  7504. THEN rr.zl
  7505. ELSE IFNULL(d.fZls, 0)
  7506. END = 0
  7507. THEN c.nzdls
  7508. ELSE (
  7509. CASE
  7510. WHEN c.nzdls <
  7511. CASE
  7512. WHEN IFNULL(d.fZls, 0) < rr.zl
  7513. THEN rr.zl
  7514. ELSE IFNULL(d.fZls, 0)
  7515. END
  7516. THEN
  7517. CASE
  7518. WHEN IFNULL(d.fZls, 0) < rr.zl
  7519. THEN rr.zl
  7520. ELSE IFNULL(d.fZls, 0)
  7521. END
  7522. ELSE c.nzdls
  7523. END
  7524. )
  7525. END
  7526. ELSE 0
  7527. END
  7528. ELSE
  7529. CASE
  7530. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7531. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7532. CASE
  7533. WHEN a.cCyddxMc = '装配'
  7534. OR a.cCyddxMc LIKE '%正文%'
  7535. OR a.cCyddxMc LIKE '%答案%'
  7536. OR a.cCyddxMc LIKE '%卷%'
  7537. THEN
  7538. CASE
  7539. WHEN CASE
  7540. WHEN IFNULL(d.fZls, 0) < rr.zl
  7541. THEN rr.zl
  7542. ELSE IFNULL(d.fZls, 0)
  7543. END = 0
  7544. THEN c.nzdls
  7545. ELSE (
  7546. CASE
  7547. WHEN c.nzdls <
  7548. CASE
  7549. WHEN IFNULL(d.fZls, 0) < rr.zl
  7550. THEN rr.zl
  7551. ELSE IFNULL(d.fZls, 0)
  7552. END
  7553. THEN
  7554. CASE
  7555. WHEN IFNULL(d.fZls, 0) < rr.zl
  7556. THEN rr.zl
  7557. ELSE IFNULL(d.fZls, 0)
  7558. END
  7559. ELSE c.nzdls
  7560. END
  7561. )
  7562. END
  7563. ELSE 0
  7564. END
  7565. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7566. END
  7567. END )
  7568. , 3) 马33甲纸令
  7569. ")
  7570. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7571. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7572. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7573. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7574. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7575. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7576. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  7577. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7578. ->group("CASE
  7579. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7580. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7581. END,Name_WorkGroup")
  7582. ->buildSql();
  7583. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  7584. ->field("
  7585. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7586. ROUND(SUM(
  7587. CASE
  7588. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7589. THEN
  7590. CASE
  7591. WHEN a.cCyddxMc = '装配'
  7592. OR a.cCyddxMc LIKE '%正文%'
  7593. OR a.cCyddxMc LIKE '%答案%'
  7594. OR a.cCyddxMc LIKE '%卷%'
  7595. THEN
  7596. CASE
  7597. WHEN CASE
  7598. WHEN IFNULL(d.fZls, 0) < rr.zl
  7599. THEN rr.zl
  7600. ELSE IFNULL(d.fZls, 0)
  7601. END = 0
  7602. THEN c.nzdls
  7603. ELSE (
  7604. CASE
  7605. WHEN c.nzdls <
  7606. CASE
  7607. WHEN IFNULL(d.fZls, 0) < rr.zl
  7608. THEN rr.zl
  7609. ELSE IFNULL(d.fZls, 0)
  7610. END
  7611. THEN
  7612. CASE
  7613. WHEN IFNULL(d.fZls, 0) < rr.zl
  7614. THEN rr.zl
  7615. ELSE IFNULL(d.fZls, 0)
  7616. END
  7617. ELSE c.nzdls
  7618. END
  7619. )
  7620. END
  7621. ELSE 0
  7622. END
  7623. ELSE
  7624. CASE
  7625. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7626. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7627. CASE
  7628. WHEN a.cCyddxMc = '装配'
  7629. OR a.cCyddxMc LIKE '%正文%'
  7630. OR a.cCyddxMc LIKE '%答案%'
  7631. OR a.cCyddxMc LIKE '%卷%'
  7632. THEN
  7633. CASE
  7634. WHEN CASE
  7635. WHEN IFNULL(d.fZls, 0) < rr.zl
  7636. THEN rr.zl
  7637. ELSE IFNULL(d.fZls, 0)
  7638. END = 0
  7639. THEN c.nzdls
  7640. ELSE (
  7641. CASE
  7642. WHEN c.nzdls <
  7643. CASE
  7644. WHEN IFNULL(d.fZls, 0) < rr.zl
  7645. THEN rr.zl
  7646. ELSE IFNULL(d.fZls, 0)
  7647. END
  7648. THEN
  7649. CASE
  7650. WHEN IFNULL(d.fZls, 0) < rr.zl
  7651. THEN rr.zl
  7652. ELSE IFNULL(d.fZls, 0)
  7653. END
  7654. ELSE c.nzdls
  7655. END
  7656. )
  7657. END
  7658. ELSE 0
  7659. END
  7660. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7661. END
  7662. END )
  7663. , 3) 马33乙纸令
  7664. ")
  7665. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7666. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7667. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7668. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7669. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7670. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7671. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  7672. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7673. ->group("CASE
  7674. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7675. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7676. END,Name_WorkGroup")
  7677. ->buildSql();
  7678. $HH = Db::table('ql_report_feedback_day')->alias('a')
  7679. ->field("
  7680. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7681. ROUND(SUM(
  7682. CASE
  7683. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7684. THEN
  7685. CASE
  7686. WHEN a.cCyddxMc = '装配'
  7687. OR a.cCyddxMc LIKE '%正文%'
  7688. OR a.cCyddxMc LIKE '%答案%'
  7689. OR a.cCyddxMc LIKE '%卷%'
  7690. THEN
  7691. CASE
  7692. WHEN CASE
  7693. WHEN IFNULL(d.fZls, 0) < rr.zl
  7694. THEN rr.zl
  7695. ELSE IFNULL(d.fZls, 0)
  7696. END = 0
  7697. THEN c.nzdls
  7698. ELSE (
  7699. CASE
  7700. WHEN c.nzdls <
  7701. CASE
  7702. WHEN IFNULL(d.fZls, 0) < rr.zl
  7703. THEN rr.zl
  7704. ELSE IFNULL(d.fZls, 0)
  7705. END
  7706. THEN
  7707. CASE
  7708. WHEN IFNULL(d.fZls, 0) < rr.zl
  7709. THEN rr.zl
  7710. ELSE IFNULL(d.fZls, 0)
  7711. END
  7712. ELSE c.nzdls
  7713. END
  7714. )
  7715. END
  7716. ELSE 0
  7717. END
  7718. ELSE
  7719. CASE
  7720. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7721. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7722. CASE
  7723. WHEN a.cCyddxMc = '装配'
  7724. OR a.cCyddxMc LIKE '%正文%'
  7725. OR a.cCyddxMc LIKE '%答案%'
  7726. OR a.cCyddxMc LIKE '%卷%'
  7727. THEN
  7728. CASE
  7729. WHEN CASE
  7730. WHEN IFNULL(d.fZls, 0) < rr.zl
  7731. THEN rr.zl
  7732. ELSE IFNULL(d.fZls, 0)
  7733. END = 0
  7734. THEN c.nzdls
  7735. ELSE (
  7736. CASE
  7737. WHEN c.nzdls <
  7738. CASE
  7739. WHEN IFNULL(d.fZls, 0) < rr.zl
  7740. THEN rr.zl
  7741. ELSE IFNULL(d.fZls, 0)
  7742. END
  7743. THEN
  7744. CASE
  7745. WHEN IFNULL(d.fZls, 0) < rr.zl
  7746. THEN rr.zl
  7747. ELSE IFNULL(d.fZls, 0)
  7748. END
  7749. ELSE c.nzdls
  7750. END
  7751. )
  7752. END
  7753. ELSE 0
  7754. END
  7755. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7756. END
  7757. END )
  7758. , 3) 马44甲纸令
  7759. ")
  7760. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7761. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7762. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7763. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7764. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7765. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7766. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  7767. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7768. ->group("CASE
  7769. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7770. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7771. END,Name_WorkGroup")
  7772. ->buildSql();
  7773. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  7774. ->field("
  7775. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7776. ROUND(SUM(
  7777. CASE
  7778. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7779. THEN
  7780. CASE
  7781. WHEN a.cCyddxMc = '装配'
  7782. OR a.cCyddxMc LIKE '%正文%'
  7783. OR a.cCyddxMc LIKE '%答案%'
  7784. OR a.cCyddxMc LIKE '%卷%'
  7785. THEN
  7786. CASE
  7787. WHEN CASE
  7788. WHEN IFNULL(d.fZls, 0) < rr.zl
  7789. THEN rr.zl
  7790. ELSE IFNULL(d.fZls, 0)
  7791. END = 0
  7792. THEN c.nzdls
  7793. ELSE (
  7794. CASE
  7795. WHEN c.nzdls <
  7796. CASE
  7797. WHEN IFNULL(d.fZls, 0) < rr.zl
  7798. THEN rr.zl
  7799. ELSE IFNULL(d.fZls, 0)
  7800. END
  7801. THEN
  7802. CASE
  7803. WHEN IFNULL(d.fZls, 0) < rr.zl
  7804. THEN rr.zl
  7805. ELSE IFNULL(d.fZls, 0)
  7806. END
  7807. ELSE c.nzdls
  7808. END
  7809. )
  7810. END
  7811. ELSE 0
  7812. END
  7813. ELSE
  7814. CASE
  7815. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7816. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7817. CASE
  7818. WHEN a.cCyddxMc = '装配'
  7819. OR a.cCyddxMc LIKE '%正文%'
  7820. OR a.cCyddxMc LIKE '%答案%'
  7821. OR a.cCyddxMc LIKE '%卷%'
  7822. THEN
  7823. CASE
  7824. WHEN CASE
  7825. WHEN IFNULL(d.fZls, 0) < rr.zl
  7826. THEN rr.zl
  7827. ELSE IFNULL(d.fZls, 0)
  7828. END = 0
  7829. THEN c.nzdls
  7830. ELSE (
  7831. CASE
  7832. WHEN c.nzdls <
  7833. CASE
  7834. WHEN IFNULL(d.fZls, 0) < rr.zl
  7835. THEN rr.zl
  7836. ELSE IFNULL(d.fZls, 0)
  7837. END
  7838. THEN
  7839. CASE
  7840. WHEN IFNULL(d.fZls, 0) < rr.zl
  7841. THEN rr.zl
  7842. ELSE IFNULL(d.fZls, 0)
  7843. END
  7844. ELSE c.nzdls
  7845. END
  7846. )
  7847. END
  7848. ELSE 0
  7849. END
  7850. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7851. END
  7852. END )
  7853. , 3) 马44乙纸令
  7854. ")
  7855. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7856. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7857. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7858. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7859. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7860. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7861. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  7862. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7863. ->group("CASE
  7864. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7865. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7866. END,Name_WorkGroup")
  7867. ->buildSql();
  7868. $XX = Db::table('ql_report_feedback_day')->alias('a')
  7869. ->field("
  7870. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7871. ROUND(SUM(
  7872. CASE
  7873. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7874. THEN
  7875. CASE
  7876. WHEN a.cCyddxMc = '装配'
  7877. OR a.cCyddxMc LIKE '%正文%'
  7878. OR a.cCyddxMc LIKE '%答案%'
  7879. OR a.cCyddxMc LIKE '%卷%'
  7880. THEN
  7881. CASE
  7882. WHEN CASE
  7883. WHEN IFNULL(d.fZls, 0) < rr.zl
  7884. THEN rr.zl
  7885. ELSE IFNULL(d.fZls, 0)
  7886. END = 0
  7887. THEN c.nzdls
  7888. ELSE (
  7889. CASE
  7890. WHEN c.nzdls <
  7891. CASE
  7892. WHEN IFNULL(d.fZls, 0) < rr.zl
  7893. THEN rr.zl
  7894. ELSE IFNULL(d.fZls, 0)
  7895. END
  7896. THEN
  7897. CASE
  7898. WHEN IFNULL(d.fZls, 0) < rr.zl
  7899. THEN rr.zl
  7900. ELSE IFNULL(d.fZls, 0)
  7901. END
  7902. ELSE c.nzdls
  7903. END
  7904. )
  7905. END
  7906. ELSE 0
  7907. END
  7908. ELSE
  7909. CASE
  7910. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7911. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7912. CASE
  7913. WHEN a.cCyddxMc = '装配'
  7914. OR a.cCyddxMc LIKE '%正文%'
  7915. OR a.cCyddxMc LIKE '%答案%'
  7916. OR a.cCyddxMc LIKE '%卷%'
  7917. THEN
  7918. CASE
  7919. WHEN CASE
  7920. WHEN IFNULL(d.fZls, 0) < rr.zl
  7921. THEN rr.zl
  7922. ELSE IFNULL(d.fZls, 0)
  7923. END = 0
  7924. THEN c.nzdls
  7925. ELSE (
  7926. CASE
  7927. WHEN c.nzdls <
  7928. CASE
  7929. WHEN IFNULL(d.fZls, 0) < rr.zl
  7930. THEN rr.zl
  7931. ELSE IFNULL(d.fZls, 0)
  7932. END
  7933. THEN
  7934. CASE
  7935. WHEN IFNULL(d.fZls, 0) < rr.zl
  7936. THEN rr.zl
  7937. ELSE IFNULL(d.fZls, 0)
  7938. END
  7939. ELSE c.nzdls
  7940. END
  7941. )
  7942. END
  7943. ELSE 0
  7944. END
  7945. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7946. END
  7947. END )
  7948. , 3) 马55甲纸令
  7949. ")
  7950. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7951. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7952. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7953. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7954. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7955. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7956. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  7957. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7958. ->group("CASE
  7959. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7960. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7961. END,Name_WorkGroup")
  7962. ->buildSql();
  7963. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  7964. ->field("
  7965. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7966. ROUND(SUM(
  7967. CASE
  7968. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7969. THEN
  7970. CASE
  7971. WHEN a.cCyddxMc = '装配'
  7972. OR a.cCyddxMc LIKE '%正文%'
  7973. OR a.cCyddxMc LIKE '%答案%'
  7974. OR a.cCyddxMc LIKE '%卷%'
  7975. THEN
  7976. CASE
  7977. WHEN CASE
  7978. WHEN IFNULL(d.fZls, 0) < rr.zl
  7979. THEN rr.zl
  7980. ELSE IFNULL(d.fZls, 0)
  7981. END = 0
  7982. THEN c.nzdls
  7983. ELSE (
  7984. CASE
  7985. WHEN c.nzdls <
  7986. CASE
  7987. WHEN IFNULL(d.fZls, 0) < rr.zl
  7988. THEN rr.zl
  7989. ELSE IFNULL(d.fZls, 0)
  7990. END
  7991. THEN
  7992. CASE
  7993. WHEN IFNULL(d.fZls, 0) < rr.zl
  7994. THEN rr.zl
  7995. ELSE IFNULL(d.fZls, 0)
  7996. END
  7997. ELSE c.nzdls
  7998. END
  7999. )
  8000. END
  8001. ELSE 0
  8002. END
  8003. ELSE
  8004. CASE
  8005. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8006. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8007. CASE
  8008. WHEN a.cCyddxMc = '装配'
  8009. OR a.cCyddxMc LIKE '%正文%'
  8010. OR a.cCyddxMc LIKE '%答案%'
  8011. OR a.cCyddxMc LIKE '%卷%'
  8012. THEN
  8013. CASE
  8014. WHEN CASE
  8015. WHEN IFNULL(d.fZls, 0) < rr.zl
  8016. THEN rr.zl
  8017. ELSE IFNULL(d.fZls, 0)
  8018. END = 0
  8019. THEN c.nzdls
  8020. ELSE (
  8021. CASE
  8022. WHEN c.nzdls <
  8023. CASE
  8024. WHEN IFNULL(d.fZls, 0) < rr.zl
  8025. THEN rr.zl
  8026. ELSE IFNULL(d.fZls, 0)
  8027. END
  8028. THEN
  8029. CASE
  8030. WHEN IFNULL(d.fZls, 0) < rr.zl
  8031. THEN rr.zl
  8032. ELSE IFNULL(d.fZls, 0)
  8033. END
  8034. ELSE c.nzdls
  8035. END
  8036. )
  8037. END
  8038. ELSE 0
  8039. END
  8040. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8041. END
  8042. END )
  8043. , 3) 马66甲纸令
  8044. ")
  8045. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8046. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8047. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8048. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8049. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8050. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8051. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  8052. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8053. ->group("CASE
  8054. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8055. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8056. END,Name_WorkGroup")
  8057. ->buildSql();
  8058. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  8059. ->field("
  8060. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8061. ROUND(SUM(
  8062. CASE
  8063. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8064. THEN
  8065. CASE
  8066. WHEN a.cCyddxMc = '装配'
  8067. OR a.cCyddxMc LIKE '%正文%'
  8068. OR a.cCyddxMc LIKE '%答案%'
  8069. OR a.cCyddxMc LIKE '%卷%'
  8070. THEN
  8071. CASE
  8072. WHEN CASE
  8073. WHEN IFNULL(d.fZls, 0) < rr.zl
  8074. THEN rr.zl
  8075. ELSE IFNULL(d.fZls, 0)
  8076. END = 0
  8077. THEN c.nzdls
  8078. ELSE (
  8079. CASE
  8080. WHEN c.nzdls <
  8081. CASE
  8082. WHEN IFNULL(d.fZls, 0) < rr.zl
  8083. THEN rr.zl
  8084. ELSE IFNULL(d.fZls, 0)
  8085. END
  8086. THEN
  8087. CASE
  8088. WHEN IFNULL(d.fZls, 0) < rr.zl
  8089. THEN rr.zl
  8090. ELSE IFNULL(d.fZls, 0)
  8091. END
  8092. ELSE c.nzdls
  8093. END
  8094. )
  8095. END
  8096. ELSE 0
  8097. END
  8098. ELSE
  8099. CASE
  8100. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8101. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8102. CASE
  8103. WHEN a.cCyddxMc = '装配'
  8104. OR a.cCyddxMc LIKE '%正文%'
  8105. OR a.cCyddxMc LIKE '%答案%'
  8106. OR a.cCyddxMc LIKE '%卷%'
  8107. THEN
  8108. CASE
  8109. WHEN CASE
  8110. WHEN IFNULL(d.fZls, 0) < rr.zl
  8111. THEN rr.zl
  8112. ELSE IFNULL(d.fZls, 0)
  8113. END = 0
  8114. THEN c.nzdls
  8115. ELSE (
  8116. CASE
  8117. WHEN c.nzdls <
  8118. CASE
  8119. WHEN IFNULL(d.fZls, 0) < rr.zl
  8120. THEN rr.zl
  8121. ELSE IFNULL(d.fZls, 0)
  8122. END
  8123. THEN
  8124. CASE
  8125. WHEN IFNULL(d.fZls, 0) < rr.zl
  8126. THEN rr.zl
  8127. ELSE IFNULL(d.fZls, 0)
  8128. END
  8129. ELSE c.nzdls
  8130. END
  8131. )
  8132. END
  8133. ELSE 0
  8134. END
  8135. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8136. END
  8137. END )
  8138. , 3) 马77甲纸令
  8139. ")
  8140. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8141. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8142. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8143. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8144. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8145. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8146. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  8147. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8148. ->group("CASE
  8149. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8150. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8151. END,Name_WorkGroup")
  8152. ->buildSql();
  8153. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  8154. ->field("
  8155. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8156. ROUND(SUM(
  8157. CASE
  8158. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8159. THEN
  8160. CASE
  8161. WHEN a.cCyddxMc = '装配'
  8162. OR a.cCyddxMc LIKE '%正文%'
  8163. OR a.cCyddxMc LIKE '%答案%'
  8164. OR a.cCyddxMc LIKE '%卷%'
  8165. THEN
  8166. CASE
  8167. WHEN CASE
  8168. WHEN IFNULL(d.fZls, 0) < rr.zl
  8169. THEN rr.zl
  8170. ELSE IFNULL(d.fZls, 0)
  8171. END = 0
  8172. THEN c.nzdls
  8173. ELSE (
  8174. CASE
  8175. WHEN c.nzdls <
  8176. CASE
  8177. WHEN IFNULL(d.fZls, 0) < rr.zl
  8178. THEN rr.zl
  8179. ELSE IFNULL(d.fZls, 0)
  8180. END
  8181. THEN
  8182. CASE
  8183. WHEN IFNULL(d.fZls, 0) < rr.zl
  8184. THEN rr.zl
  8185. ELSE IFNULL(d.fZls, 0)
  8186. END
  8187. ELSE c.nzdls
  8188. END
  8189. )
  8190. END
  8191. ELSE 0
  8192. END
  8193. ELSE
  8194. CASE
  8195. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8196. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8197. CASE
  8198. WHEN a.cCyddxMc = '装配'
  8199. OR a.cCyddxMc LIKE '%正文%'
  8200. OR a.cCyddxMc LIKE '%答案%'
  8201. OR a.cCyddxMc LIKE '%卷%'
  8202. THEN
  8203. CASE
  8204. WHEN CASE
  8205. WHEN IFNULL(d.fZls, 0) < rr.zl
  8206. THEN rr.zl
  8207. ELSE IFNULL(d.fZls, 0)
  8208. END = 0
  8209. THEN c.nzdls
  8210. ELSE (
  8211. CASE
  8212. WHEN c.nzdls <
  8213. CASE
  8214. WHEN IFNULL(d.fZls, 0) < rr.zl
  8215. THEN rr.zl
  8216. ELSE IFNULL(d.fZls, 0)
  8217. END
  8218. THEN
  8219. CASE
  8220. WHEN IFNULL(d.fZls, 0) < rr.zl
  8221. THEN rr.zl
  8222. ELSE IFNULL(d.fZls, 0)
  8223. END
  8224. ELSE c.nzdls
  8225. END
  8226. )
  8227. END
  8228. ELSE 0
  8229. END
  8230. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8231. END
  8232. END )
  8233. , 3) 马55乙纸令
  8234. ")
  8235. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8236. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8237. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8238. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8239. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8240. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8241. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  8242. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8243. ->group("CASE
  8244. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8245. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8246. END,Name_WorkGroup")
  8247. ->buildSql();
  8248. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  8249. ->field("
  8250. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8251. ROUND(SUM(
  8252. CASE
  8253. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8254. THEN
  8255. CASE
  8256. WHEN a.cCyddxMc = '装配'
  8257. OR a.cCyddxMc LIKE '%正文%'
  8258. OR a.cCyddxMc LIKE '%答案%'
  8259. OR a.cCyddxMc LIKE '%卷%'
  8260. THEN
  8261. CASE
  8262. WHEN CASE
  8263. WHEN IFNULL(d.fZls, 0) < rr.zl
  8264. THEN rr.zl
  8265. ELSE IFNULL(d.fZls, 0)
  8266. END = 0
  8267. THEN c.nzdls
  8268. ELSE (
  8269. CASE
  8270. WHEN c.nzdls <
  8271. CASE
  8272. WHEN IFNULL(d.fZls, 0) < rr.zl
  8273. THEN rr.zl
  8274. ELSE IFNULL(d.fZls, 0)
  8275. END
  8276. THEN
  8277. CASE
  8278. WHEN IFNULL(d.fZls, 0) < rr.zl
  8279. THEN rr.zl
  8280. ELSE IFNULL(d.fZls, 0)
  8281. END
  8282. ELSE c.nzdls
  8283. END
  8284. )
  8285. END
  8286. ELSE 0
  8287. END
  8288. ELSE
  8289. CASE
  8290. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8291. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8292. CASE
  8293. WHEN a.cCyddxMc = '装配'
  8294. OR a.cCyddxMc LIKE '%正文%'
  8295. OR a.cCyddxMc LIKE '%答案%'
  8296. OR a.cCyddxMc LIKE '%卷%'
  8297. THEN
  8298. CASE
  8299. WHEN CASE
  8300. WHEN IFNULL(d.fZls, 0) < rr.zl
  8301. THEN rr.zl
  8302. ELSE IFNULL(d.fZls, 0)
  8303. END = 0
  8304. THEN c.nzdls
  8305. ELSE (
  8306. CASE
  8307. WHEN c.nzdls <
  8308. CASE
  8309. WHEN IFNULL(d.fZls, 0) < rr.zl
  8310. THEN rr.zl
  8311. ELSE IFNULL(d.fZls, 0)
  8312. END
  8313. THEN
  8314. CASE
  8315. WHEN IFNULL(d.fZls, 0) < rr.zl
  8316. THEN rr.zl
  8317. ELSE IFNULL(d.fZls, 0)
  8318. END
  8319. ELSE c.nzdls
  8320. END
  8321. )
  8322. END
  8323. ELSE 0
  8324. END
  8325. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8326. END
  8327. END )
  8328. , 3) 马66乙纸令
  8329. ")
  8330. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8331. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8332. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8333. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8334. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8335. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8336. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  8337. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8338. ->group("CASE
  8339. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8340. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8341. END,Name_WorkGroup")
  8342. ->buildSql();
  8343. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  8344. ->field("
  8345. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8346. ROUND(SUM(
  8347. CASE
  8348. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8349. THEN
  8350. CASE
  8351. WHEN a.cCyddxMc = '装配'
  8352. OR a.cCyddxMc LIKE '%正文%'
  8353. OR a.cCyddxMc LIKE '%答案%'
  8354. OR a.cCyddxMc LIKE '%卷%'
  8355. THEN
  8356. CASE
  8357. WHEN CASE
  8358. WHEN IFNULL(d.fZls, 0) < rr.zl
  8359. THEN rr.zl
  8360. ELSE IFNULL(d.fZls, 0)
  8361. END = 0
  8362. THEN c.nzdls
  8363. ELSE (
  8364. CASE
  8365. WHEN c.nzdls <
  8366. CASE
  8367. WHEN IFNULL(d.fZls, 0) < rr.zl
  8368. THEN rr.zl
  8369. ELSE IFNULL(d.fZls, 0)
  8370. END
  8371. THEN
  8372. CASE
  8373. WHEN IFNULL(d.fZls, 0) < rr.zl
  8374. THEN rr.zl
  8375. ELSE IFNULL(d.fZls, 0)
  8376. END
  8377. ELSE c.nzdls
  8378. END
  8379. )
  8380. END
  8381. ELSE 0
  8382. END
  8383. ELSE
  8384. CASE
  8385. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8386. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8387. CASE
  8388. WHEN a.cCyddxMc = '装配'
  8389. OR a.cCyddxMc LIKE '%正文%'
  8390. OR a.cCyddxMc LIKE '%答案%'
  8391. OR a.cCyddxMc LIKE '%卷%'
  8392. THEN
  8393. CASE
  8394. WHEN CASE
  8395. WHEN IFNULL(d.fZls, 0) < rr.zl
  8396. THEN rr.zl
  8397. ELSE IFNULL(d.fZls, 0)
  8398. END = 0
  8399. THEN c.nzdls
  8400. ELSE (
  8401. CASE
  8402. WHEN c.nzdls <
  8403. CASE
  8404. WHEN IFNULL(d.fZls, 0) < rr.zl
  8405. THEN rr.zl
  8406. ELSE IFNULL(d.fZls, 0)
  8407. END
  8408. THEN
  8409. CASE
  8410. WHEN IFNULL(d.fZls, 0) < rr.zl
  8411. THEN rr.zl
  8412. ELSE IFNULL(d.fZls, 0)
  8413. END
  8414. ELSE c.nzdls
  8415. END
  8416. )
  8417. END
  8418. ELSE 0
  8419. END
  8420. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8421. END
  8422. END )
  8423. , 3) 马77乙纸令
  8424. ")
  8425. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8426. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8427. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8428. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8429. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8430. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8431. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  8432. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8433. ->group("CASE
  8434. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8435. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8436. END,Name_WorkGroup")
  8437. ->buildSql();
  8438. $db = Db::table($A . 'a')
  8439. ->field("
  8440. DISTINCT DATE(A.RQ) rq,
  8441. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  8442. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  8443. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  8444. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  8445. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  8446. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  8447. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  8448. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  8449. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  8450. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  8451. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  8452. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  8453. ")
  8454. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  8455. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8456. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  8457. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  8458. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  8459. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  8460. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  8461. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  8462. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  8463. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  8464. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8465. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8466. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  8467. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  8468. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  8469. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  8470. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  8471. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  8472. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  8473. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  8474. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  8475. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  8476. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  8477. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  8478. ->group('rq')
  8479. ->buildSql();
  8480. $jd = Db::table($db . ' db')
  8481. ->field("
  8482. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8483. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  8484. ")
  8485. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->qianend_time()}' ")
  8486. ->group('MONTH(db.rq)')
  8487. ->select();
  8488. /**
  8489. * 簿册联动线纸令
  8490. */
  8491. $B = Db::table('cpjtfk')
  8492. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8493. ->field("
  8494. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8495. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  8496. ")
  8497. ->where('cbanzu','=','簿册机1号(甲班)')
  8498. ->group('drptdate,cbanzu')
  8499. ->buildSql();
  8500. $B1 = Db::table('cpjtfk')
  8501. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8502. ->field("
  8503. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8504. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  8505. ")
  8506. ->where('cbanzu','=','簿册机1号(乙班)')
  8507. ->group('drptdate,cbanzu')
  8508. ->buildSql();
  8509. $rr = Db::table('scyddx')->alias('r')
  8510. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  8511. ->group('r.ICYDID')
  8512. ->buildSql();
  8513. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  8514. ->field("
  8515. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8516. ROUND(SUM(
  8517. CASE
  8518. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8519. THEN
  8520. CASE
  8521. WHEN a.cCyddxMc = '装配'
  8522. OR a.cCyddxMc LIKE '%正文%'
  8523. OR a.cCyddxMc LIKE '%答案%'
  8524. OR a.cCyddxMc LIKE '%卷%'
  8525. THEN
  8526. CASE
  8527. WHEN CASE
  8528. WHEN IFNULL(d.fZls, 0) < rr.zl
  8529. THEN rr.zl
  8530. ELSE IFNULL(d.fZls, 0)
  8531. END = 0
  8532. THEN c.nzdls
  8533. ELSE (
  8534. CASE
  8535. WHEN c.nzdls <
  8536. CASE
  8537. WHEN IFNULL(d.fZls, 0) < rr.zl
  8538. THEN rr.zl
  8539. ELSE IFNULL(d.fZls, 0)
  8540. END
  8541. THEN
  8542. CASE
  8543. WHEN IFNULL(d.fZls, 0) < rr.zl
  8544. THEN rr.zl
  8545. ELSE IFNULL(d.fZls, 0)
  8546. END
  8547. ELSE c.nzdls
  8548. END
  8549. )
  8550. END
  8551. ELSE 0
  8552. END
  8553. ELSE
  8554. CASE
  8555. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8556. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8557. CASE
  8558. WHEN a.cCyddxMc = '装配'
  8559. OR a.cCyddxMc LIKE '%正文%'
  8560. OR a.cCyddxMc LIKE '%答案%'
  8561. OR a.cCyddxMc LIKE '%卷%'
  8562. THEN
  8563. CASE
  8564. WHEN CASE
  8565. WHEN IFNULL(d.fZls, 0) < rr.zl
  8566. THEN rr.zl
  8567. ELSE IFNULL(d.fZls, 0)
  8568. END = 0
  8569. THEN c.nzdls
  8570. ELSE (
  8571. CASE
  8572. WHEN c.nzdls <
  8573. CASE
  8574. WHEN IFNULL(d.fZls, 0) < rr.zl
  8575. THEN rr.zl
  8576. ELSE IFNULL(d.fZls, 0)
  8577. END
  8578. THEN
  8579. CASE
  8580. WHEN IFNULL(d.fZls, 0) < rr.zl
  8581. THEN rr.zl
  8582. ELSE IFNULL(d.fZls, 0)
  8583. END
  8584. ELSE c.nzdls
  8585. END
  8586. )
  8587. END
  8588. ELSE 0
  8589. END
  8590. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8591. END
  8592. END )
  8593. , 3) 簿11甲纸令
  8594. ")
  8595. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8596. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8597. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8598. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8599. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8600. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8601. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  8602. ->where('a.cTechName' ,'=','簿册联动')
  8603. ->group("CASE
  8604. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8605. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8606. END,Name_WorkGroup")
  8607. ->buildSql();
  8608. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  8609. ->field("
  8610. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8611. ROUND(SUM(
  8612. CASE
  8613. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8614. THEN
  8615. CASE
  8616. WHEN a.cCyddxMc = '装配'
  8617. OR a.cCyddxMc LIKE '%正文%'
  8618. OR a.cCyddxMc LIKE '%答案%'
  8619. OR a.cCyddxMc LIKE '%卷%'
  8620. THEN
  8621. CASE
  8622. WHEN CASE
  8623. WHEN IFNULL(d.fZls, 0) < rr.zl
  8624. THEN rr.zl
  8625. ELSE IFNULL(d.fZls, 0)
  8626. END = 0
  8627. THEN c.nzdls
  8628. ELSE (
  8629. CASE
  8630. WHEN c.nzdls <
  8631. CASE
  8632. WHEN IFNULL(d.fZls, 0) < rr.zl
  8633. THEN rr.zl
  8634. ELSE IFNULL(d.fZls, 0)
  8635. END
  8636. THEN
  8637. CASE
  8638. WHEN IFNULL(d.fZls, 0) < rr.zl
  8639. THEN rr.zl
  8640. ELSE IFNULL(d.fZls, 0)
  8641. END
  8642. ELSE c.nzdls
  8643. END
  8644. )
  8645. END
  8646. ELSE 0
  8647. END
  8648. ELSE
  8649. CASE
  8650. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8651. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8652. CASE
  8653. WHEN a.cCyddxMc = '装配'
  8654. OR a.cCyddxMc LIKE '%正文%'
  8655. OR a.cCyddxMc LIKE '%答案%'
  8656. OR a.cCyddxMc LIKE '%卷%'
  8657. THEN
  8658. CASE
  8659. WHEN CASE
  8660. WHEN IFNULL(d.fZls, 0) < rr.zl
  8661. THEN rr.zl
  8662. ELSE IFNULL(d.fZls, 0)
  8663. END = 0
  8664. THEN c.nzdls
  8665. ELSE (
  8666. CASE
  8667. WHEN c.nzdls <
  8668. CASE
  8669. WHEN IFNULL(d.fZls, 0) < rr.zl
  8670. THEN rr.zl
  8671. ELSE IFNULL(d.fZls, 0)
  8672. END
  8673. THEN
  8674. CASE
  8675. WHEN IFNULL(d.fZls, 0) < rr.zl
  8676. THEN rr.zl
  8677. ELSE IFNULL(d.fZls, 0)
  8678. END
  8679. ELSE c.nzdls
  8680. END
  8681. )
  8682. END
  8683. ELSE 0
  8684. END
  8685. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8686. END
  8687. END )
  8688. , 3) 簿11乙纸令
  8689. ")
  8690. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8691. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8692. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8693. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8694. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8695. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8696. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  8697. ->where('a.cTechName' ,'=','簿册联动')
  8698. ->group("CASE
  8699. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8700. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8701. END,Name_WorkGroup")
  8702. ->buildSql();
  8703. $db = Db::table($A . 'a')
  8704. ->field("
  8705. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  8706. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  8707. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  8708. ")
  8709. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  8710. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8711. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8712. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8713. ->group('rq')
  8714. ->buildSql();
  8715. $bc = Db::table($db . ' db')
  8716. ->field("
  8717. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8718. ROUND(sum(db.纸令), 0) as 簿册纸令
  8719. ")->where("db.RQ >= '{$this->qianstart_time()}'
  8720. AND db.RQ <= '{$this->qianend_time()}' ")
  8721. ->group('MONTH(db.rq)')
  8722. ->select();
  8723. // 创建一个结果数组
  8724. $result=[];
  8725. $result1 = [];
  8726. // 遍历第一个数组,并将数据加入结果数组
  8727. foreach ($jp as $val1) {
  8728. $month = $val1['日期'];
  8729. $data1 = $val1['精平纸令'];
  8730. if (!isset($result[$month])) {
  8731. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8732. }
  8733. if (!isset($result1[$month])) {
  8734. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8735. }
  8736. $result1[$month] += $data1; // 累加第一个数组的数据
  8737. }
  8738. // 遍历第二个数组,并将数据加入结果数组
  8739. foreach ($jd as $val2) {
  8740. $month = $val2['日期'];
  8741. $data1 = $val2['无线胶订纸令'];
  8742. if (!isset($result[$month])) {
  8743. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8744. }
  8745. if (!isset($result1[$month])) {
  8746. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8747. }
  8748. $result1[$month] += $data1; // 累加第二个数组的数据
  8749. }
  8750. foreach ($bc as $val2) {
  8751. $month = $val2['日期'];
  8752. $data1 = $val2['簿册纸令'];
  8753. if (!isset($result[$month])) {
  8754. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8755. }
  8756. if (!isset($result1[$month])) {
  8757. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8758. }
  8759. $result1[$month] += $data1; // 累加第二个数组的数据
  8760. }
  8761. foreach($result1 as $k=>$v){
  8762. $list['categories'][]=$k;
  8763. $list['series'][0]['name']='装订实物产量色令数';
  8764. $list['series'][0]['data'][]=$v;
  8765. }
  8766. $res['status']=0;
  8767. $res['msg']='';
  8768. $res['data']=$list;
  8769. $redis->set($redis_key, json_encode($result1));
  8770. // halt(json_decode($redis->get($redis_key),true));
  8771. return json_encode($result1);
  8772. }
  8773. //去年与当年--装订实物产量纸令 接口合并一起->接口调用
  8774. public function zdzl(){
  8775. $redis = redis();
  8776. $result_qian = json_decode($redis->get(md5('zdzlTwoYear')), true);
  8777. $result_qu = json_decode($redis->get(md5('zdzl2022')), true);
  8778. $result_dang = json_decode($redis->get(md5('zdzl_dang')), true);
  8779. // Merge all data
  8780. $result1 = array_merge($result_qian, $result_qu, $result_dang);
  8781. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8782. $currentYear = date("Y"); // Current year (2025)
  8783. $currentMonth = date("m"); // Current month (07)
  8784. $previousYear = $currentYear - 1; // 2024
  8785. $previousQianYear = $currentYear - 2; // 2023
  8786. // Initialize series with 0 values
  8787. $list['series'] = [
  8788. ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)],
  8789. ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)],
  8790. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)]
  8791. ];
  8792. foreach ($result1 as $k => $v) {
  8793. $yearMonth = explode('-', $k);
  8794. $year = $yearMonth[0];
  8795. $month = (int)$yearMonth[1];
  8796. $monthIndex = $month - 1;
  8797. if ($year == $previousQianYear) {
  8798. $list['series'][0]['data'][$monthIndex] += $v;
  8799. } elseif ($year == $previousYear) {
  8800. $list['series'][1]['data'][$monthIndex] += $v;
  8801. } elseif ($year == $currentYear) {
  8802. // Only add if month is current or past month
  8803. if ($month <= (int)$currentMonth) {
  8804. $list['series'][2]['data'][$monthIndex] += $v;
  8805. }
  8806. }
  8807. }
  8808. $res['status'] = 0;
  8809. $res['msg'] = '';
  8810. $res['data'] = $list;
  8811. return json_encode($res, JSON_UNESCAPED_UNICODE);
  8812. }
  8813. //年度承接量及完成百分比->缓存调用
  8814. public function ndcj_redis(){
  8815. $redis=redis();
  8816. $redis_key = md5('ndcj_redis');
  8817. $name='年度承接产量(万色令)';
  8818. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8819. $result = Db::query("SELECT
  8820. round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度
  8821. 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
  8822. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  8823. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  8824. WHERE `ord`.`icydstate` > 0 GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8825. GROUP BY year(t5.rq) ) M");
  8826. // WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8827. foreach ($result as $v) {
  8828. $list[0]['name'] = ' ';
  8829. $list[0]['value'] = round($v['色令']);
  8830. $list[1]['name'] = ' ';
  8831. $list[1]['value'] = round($v['常量']);
  8832. $list[2]['name'] = ' ';
  8833. $list[2]['value'] = round($v['色令百分比']);
  8834. }
  8835. $res['status'] = 0;
  8836. $res['msg'] = '';
  8837. $res['data'] = $list;
  8838. $redis->set($redis_key, json_encode($res));
  8839. // halt(json_decode($redis->get($redis_key),true));
  8840. return json_encode($res);
  8841. }
  8842. //年度承接量及完成百分比->接口调用
  8843. public function ndcj(){
  8844. $redis=redis();
  8845. $redis_key = md5('ndcj_redis');
  8846. $redis_data = $redis->get($redis_key);
  8847. return $redis_data;
  8848. }
  8849. //年度完成实物产量->缓存调用
  8850. public function wcsw_redis(){
  8851. $redis=redis();
  8852. $redis_key = md5('wcsw_redis');
  8853. $name='年度完成实物产量(万色令)';
  8854. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8855. $result = Db::query("SELECT
  8856. round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量
  8857. from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数'
  8858. FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL
  8859. FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a`
  8860. 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
  8861. 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(乙班)','小森八色(甲班)','小森八色(乙班)')
  8862. 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`
  8863. WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T
  8864. GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL
  8865. 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号机(乙班)')
  8866. 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`
  8867. WHERE `cMachineName` IN ('如钰01号机','BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T
  8868. GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL
  8869. 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(乙班)','报刊轮转(甲班)','报刊轮转(乙班)')
  8870. 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`
  8871. WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号') ) )T
  8872. GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}')
  8873. GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m");
  8874. if($result){
  8875. foreach ($result as $v) {
  8876. $list[0]['name'] = ' ';
  8877. $list[0]['value'] = round($v['色令数求和']);
  8878. $list[1]['name'] = ' ';
  8879. $list[1]['value'] = round($v['常量']);
  8880. $list[2]['name'] = ' ';
  8881. $list[2]['value'] = round($v['完成率']);
  8882. }
  8883. $res['status'] = 0;
  8884. $res['msg'] = '';
  8885. $res['data'] = $list;
  8886. $redis->set($redis_key, json_encode($res));
  8887. // halt(json_decode($redis->get($redis_key),true));
  8888. return json_encode($res);
  8889. }
  8890. }
  8891. //年度完成实物产量->接口调用
  8892. public function wcsw(){
  8893. $redis=redis();
  8894. $redis_key = md5('wcsw_redis');
  8895. $redis_data = $redis->get($redis_key);
  8896. return $redis_data;
  8897. die;
  8898. $redis=redis();
  8899. // $redis_key = md5('wcsw_redis');
  8900. // $redis_key = md5('yssl_redis');
  8901. // $redis_data = $redis->get($redis_key);
  8902. // $result=json_decode($redis_data,true)['data']['series'][1]['data'];
  8903. $result = json_decode($redis->get(md5('yssl_redis')),true)['data']['series'][1]['data'];
  8904. $name='年度完成实物产量(万色令)';
  8905. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8906. $num=0;
  8907. foreach($result as $v){
  8908. $num+=$v;
  8909. }
  8910. $num=$num/10000;
  8911. $list[0]['name'] = ' ';
  8912. $list[0]['value'] = round($num);
  8913. $list[1]['name'] = ' ';
  8914. $list[1]['value'] = round($yu);
  8915. $list[2]['name'] = ' ';
  8916. $list[2]['value'] = round($num/$yu*100);
  8917. $res['status'] = 0;
  8918. $res['msg'] = '';
  8919. $res['data'] = $list;
  8920. return json_encode($res);
  8921. // return $redis_data;
  8922. }
  8923. //年度销售额及百分比->缓存调用
  8924. public function ndxs_redis(){
  8925. $redis=redis();
  8926. $redis_key = md5('ndxs_redis');
  8927. $name='年度销售额(万元)';
  8928. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8929. $result = Db::query("SELECT round( m.sum_nwshjje/10000/$yu*100,0) 销售收入百分比,round( m.sum_nwshjje/10000 ) 销售收入,$yu 常量
  8930. FROM(SELECT SUM( zb.sum_nwshjje ) sum_nwshjje,DCYRQ
  8931. FROM(SELECT MCYD.DCYRQ AS DCYRQ,CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje,MCYD.icydid
  8932. FROM MCYD LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid WHERE MCYD.ICYDSTATE > 0 ) zb
  8933. WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}'
  8934. GROUP BY YEAR ( zb.DCYRQ ) ) M
  8935. GROUP BY YEAR (DCYRQ),( m.sum_nwshjje )");
  8936. foreach ($result as $v) {
  8937. $list[0]['name'] = ' ';
  8938. $list[0]['value'] = round($v['销售收入']);
  8939. $list[1]['name'] = ' ';
  8940. $list[1]['value'] = round($v['常量']);
  8941. $list[2]['name'] = ' ';
  8942. $list[2]['value'] = round($v['销售收入百分比']);
  8943. }
  8944. $res['status'] = 0;
  8945. $res['msg'] = '';
  8946. $res['data'] = $list;
  8947. $redis->set($redis_key, json_encode($res));
  8948. // halt(json_decode($redis->get($redis_key),true));
  8949. return json_encode($res);
  8950. }
  8951. //年度销售额及百分比->接口调用
  8952. public function ndxs(){
  8953. $redis=redis();
  8954. $redis_key = md5('ndxs_redis');
  8955. $redis_data = $redis->get($redis_key);
  8956. return $redis_data;
  8957. }
  8958. //当年业务模块百分比->缓存调用
  8959. public function yewujg2023_redis(){
  8960. $redis=redis();
  8961. $redis_key = md5('yewujg2023_redis');
  8962. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  8963. $tj = Db::table('tjob')
  8964. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  8965. ->group('icydid, ldz, nclje, itax')
  8966. ->where('lzfbs', '=', 0)->buildSql();
  8967. return Db::table($table)->alias('ord')
  8968. ->field($field)
  8969. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  8970. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  8971. ->where('ord.icydstate', '>', 0)
  8972. ->where($groupBy)
  8973. ->buildSql();
  8974. }
  8975. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  8976. $ObjMatier = Db::table('scyddx')
  8977. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  8978. ->group('icydid')->buildSql();
  8979. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8980. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8981. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  8982. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8983. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8984. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  8985. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8986. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8987. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  8988. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8989. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8990. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  8991. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8992. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8993. ObjMatier.nysls AS nysls,
  8994. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  8995. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8996. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8997. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  8998. // 期刊色令
  8999. $t = Db::table($dd . ' dd')
  9000. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  9001. ->group('dd.cyrq')->buildSql();
  9002. // 集团出版社色令
  9003. $t1 = Db::table($tq . ' t')
  9004. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  9005. ->group('t.cyrq')->buildSql();
  9006. // 集团教材内色令
  9007. $t2 = Db::table($tt . ' t')
  9008. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  9009. ->group('t.cyrq')->buildSql();
  9010. // 集团教材外色令
  9011. $t3 = Db::table($ttt . ' t')
  9012. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  9013. ->group('t.cyrq')->buildSql();
  9014. // 外贸订单纸令、外贸订单色令
  9015. $t4 = Db::table($tttt . ' t')
  9016. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  9017. ->group('t.cyrq')->buildSql();
  9018. // 总色令
  9019. $t5 = Db::table($ttttt . ' t')
  9020. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  9021. ->group('t.cyrq')->buildSql();
  9022. $db = Db::table($a . ' a')
  9023. ->field("
  9024. DISTINCT a.dcyrq AS dcyrq,
  9025. t.期刊色令 AS 期刊色令,
  9026. t1.集团出版社色令 AS 集团出版社色令,
  9027. t2.集团教材内色令 AS 集团教材内色令,
  9028. t3.集团教材外色令 AS 集团教材外色令,
  9029. t4.外贸订单色令 AS 外贸订单色令,
  9030. t4.外贸订单纸令 AS 外贸订单纸令,
  9031. t5.总色令 AS 总色令"
  9032. )
  9033. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  9034. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  9035. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  9036. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  9037. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  9038. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  9039. ->group('date(a.dcyrq)')->buildSql();
  9040. $sql_final = Db::table($db . ' db')
  9041. ->field("
  9042. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  9043. CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) -
  9044. IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0))
  9045. AS DECIMAL(10, 2)))) AS 社会图书,
  9046. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  9047. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  9048. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  9049. ")
  9050. ->whereTime('dcyrq', 'between', [$this->start_time(), $this->end_time()])
  9051. ->group('year(db.dcyrq)')->find();
  9052. $i=0;
  9053. foreach($sql_final as $v){
  9054. $list[$i]['name']=' ';
  9055. $list[$i]['value']=round($v);
  9056. $i++;
  9057. }
  9058. $res['status']=0;
  9059. $res['msg']='';
  9060. $res['data']=$list;
  9061. $redis->set($redis_key, json_encode($res));
  9062. // halt(json_decode($redis->get($redis_key),true));
  9063. return json_encode($res);
  9064. }
  9065. //当年业务模块百分比->接口调用
  9066. public function yewujg2023(){
  9067. $redis=redis();
  9068. $redis_key = md5('yewujg2023_redis');
  9069. $redis_data = $redis->get($redis_key);
  9070. return $redis_data;
  9071. }
  9072. //去年业务模块百分比->缓存调用
  9073. public function yewujg2022_redis(){
  9074. $redis=redis();
  9075. $redis_key = md5('yewujg2022_redis');
  9076. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  9077. $tj = Db::table('tjob')
  9078. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  9079. ->group('icydid, ldz, nclje, itax')
  9080. ->where('lzfbs', '=', 0)->buildSql();
  9081. return Db::table($table)->alias('ord')
  9082. ->field($field)
  9083. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  9084. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  9085. ->where('ord.icydstate', '>', 0)
  9086. ->where($groupBy)
  9087. ->buildSql();
  9088. }
  9089. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  9090. $ObjMatier = Db::table('scyddx')
  9091. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  9092. ->group('icydid')->buildSql();
  9093. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9094. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9095. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  9096. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9097. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9098. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  9099. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9100. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9101. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  9102. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9103. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9104. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  9105. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9106. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9107. ObjMatier.nysls AS nysls,
  9108. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  9109. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9110. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9111. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  9112. // 期刊色令
  9113. $t = Db::table($dd . ' dd')
  9114. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  9115. ->group('dd.cyrq')->buildSql();
  9116. // 集团出版社色令
  9117. $t1 = Db::table($tq . ' t')
  9118. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  9119. ->group('t.cyrq')->buildSql();
  9120. // 集团教材内色令
  9121. $t2 = Db::table($tt . ' t')
  9122. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  9123. ->group('t.cyrq')->buildSql();
  9124. // 集团教材外色令
  9125. $t3 = Db::table($ttt . ' t')
  9126. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  9127. ->group('t.cyrq')->buildSql();
  9128. // 外贸订单纸令、外贸订单色令
  9129. $t4 = Db::table($tttt . ' t')
  9130. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  9131. ->group('t.cyrq')->buildSql();
  9132. // 总色令
  9133. $t5 = Db::table($ttttt . ' t')
  9134. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  9135. ->group('t.cyrq')->buildSql();
  9136. $db = Db::table($a . ' a')
  9137. ->field("
  9138. DISTINCT a.dcyrq AS dcyrq,
  9139. t.期刊色令 AS 期刊色令,
  9140. t1.集团出版社色令 AS 集团出版社色令,
  9141. t2.集团教材内色令 AS 集团教材内色令,
  9142. t3.集团教材外色令 AS 集团教材外色令,
  9143. t4.外贸订单色令 AS 外贸订单色令,
  9144. t4.外贸订单纸令 AS 外贸订单纸令,
  9145. t5.总色令 AS 总色令"
  9146. )
  9147. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  9148. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  9149. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  9150. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  9151. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  9152. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  9153. ->group('date(a.dcyrq)')->buildSql();
  9154. $sql_final = Db::table($db . ' db')
  9155. ->field("
  9156. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  9157. 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 社会图书,
  9158. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  9159. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  9160. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  9161. ")
  9162. ->whereTime('dcyrq', 'between', [$this->qstart_time(), $this->qend_time()])
  9163. ->group('year(db.dcyrq)')->find();
  9164. $i=0;
  9165. foreach($sql_final as $v){
  9166. $list[$i]['name']=' ';
  9167. $list[$i]['value']=round($v);
  9168. $i++;
  9169. }
  9170. $res['status']=0;
  9171. $res['msg']='';
  9172. $res['data']=$list;
  9173. $redis->set($redis_key, json_encode($res));
  9174. // halt(json_decode($redis->get($redis_key),true));
  9175. return json_encode($res);
  9176. }
  9177. //去年业务模块百分比->接口调用
  9178. public function yewujg2022(){
  9179. $redis=redis();
  9180. $redis_key = md5('yewujg2022_redis');
  9181. $redis_data = $redis->get($redis_key);
  9182. return $redis_data;
  9183. }
  9184. /**
  9185. * 业务总览 第一屏 第二页
  9186. */
  9187. //轮转机每月生产趋势 纸令->缓存调用
  9188. public function lunzhuanzl_redis(){
  9189. $redis=redis();
  9190. $redis_key = md5('lunzhuanzl_redis');
  9191. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9192. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  9193. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  9194. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  9195. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9196. ->union(function ($query) {
  9197. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9198. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9199. ->whereIn('cMachineName', ['标规小森商轮1号',
  9200. '标规小森商轮2号', '大规小森商轮1号',
  9201. '大规三菱商轮1号', '标规三菱商轮1号',
  9202. '标规三菱商轮2号', '标规204胶轮1号',
  9203. '大规海德堡1号', '标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号']);
  9204. }, true)->buildSql();
  9205. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9206. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9207. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9208. })->buildSql();
  9209. //轮转纸令合计
  9210. $subQuery3 = Db::table($subQuery3_child . 'T')
  9211. ->field('rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjls ) nnRotationSL ')
  9212. ->group('rq')->buildSql();
  9213. $subQuery1_5 = Db::table($subQuery . 'A')
  9214. ->field('DISTINCT A.RQ,P.nnRotationSL AS nnRotationSL')
  9215. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9216. ->buildSql();
  9217. $sql_final = Db::table($subQuery1_5 . ' db')
  9218. ->field("
  9219. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9220. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9221. ")
  9222. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9223. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9224. ->select();
  9225. // 初始化数据
  9226. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9227. $currentYear = date("Y"); // 当前年份
  9228. $currentMonth = date("m"); // 当前月份
  9229. $previousYear = (int)$currentYear - 1; // 去年
  9230. $previousTwoYear = (int)$currentYear - 2; // 前年
  9231. // 为前年、去年和今年创建数据数组,初始值为0
  9232. $list['series'][0]['name'] = $previousTwoYear . '年';
  9233. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9234. $list['series'][1]['name'] = $previousYear . '年';
  9235. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9236. $list['series'][2]['name'] = $currentYear . '年';
  9237. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9238. // 遍历查询结果
  9239. foreach ($sql_final as $v) {
  9240. // 获取年份和月份
  9241. $year = substr($v['rq'], 0, 4);
  9242. $month = substr($v['rq'], 5, 2);
  9243. // 如果是前两年的数据
  9244. if ($year == $previousTwoYear) {
  9245. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9246. }
  9247. // 如果是去年的数据
  9248. if ($year == $previousYear) {
  9249. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9250. }
  9251. // 如果是今年的数据
  9252. if ($year == $currentYear) {
  9253. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9254. }
  9255. }
  9256. $res['status'] = 0;
  9257. $res['msg'] = '';
  9258. $res['data'] = $list;
  9259. $redis->set($redis_key, json_encode($res));
  9260. return json_encode($res);
  9261. }
  9262. //轮转机每月生产趋势 纸令->接口调用
  9263. public function lunzhuanzl(){
  9264. $redis=redis();
  9265. $redis_key = md5('lunzhuanzl_redis');
  9266. $redis_data = $redis->get($redis_key);
  9267. return $redis_data;
  9268. }
  9269. //四色机每月生产趋势 纸令->缓存调用
  9270. public function sisejizl_redis(){
  9271. $redis=redis();
  9272. $redis_key = md5('sisejizl_redis');
  9273. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9274. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9275. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9276. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9277. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9278. ->union(function ($query) {
  9279. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl')
  9280. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9281. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9282. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9283. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9284. '小森八色01号机','小森八色02号机']);
  9285. }, true)->buildSql();
  9286. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9287. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9288. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9289. })->buildSql();
  9290. //四色机纸令合计
  9291. $subQuery1 = Db::table($subQuery1_child . 'T')
  9292. ->field('rq,SUM( fsjls ) nFourColorSL')
  9293. ->group('rq')->buildSql();
  9294. $subQuery1_5 = Db::table($subQuery . 'A')
  9295. ->field('DISTINCT A.RQ,B.nFourColorSL AS nFourColorSL')
  9296. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9297. ->buildSql();
  9298. $sql_final = Db::table($subQuery1_5 . ' db')
  9299. ->field("
  9300. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9301. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9302. ")
  9303. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9304. // ->group('MONTH(db.RQ)')
  9305. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9306. ->select();
  9307. // 初始化数据
  9308. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9309. $currentYear = date("Y"); // 当前年份
  9310. $currentMonth = date("m"); // 当前月份
  9311. $previousYear = (int)$currentYear - 1; // 去年
  9312. $previousTwoYear = (int)$currentYear - 2; // 前年
  9313. // 为前年、去年和今年创建数据数组,初始值为0
  9314. $list['series'][0]['name'] = $previousTwoYear . '年';
  9315. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9316. $list['series'][1]['name'] = $previousYear . '年';
  9317. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9318. $list['series'][2]['name'] = $currentYear . '年';
  9319. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9320. // 遍历查询结果
  9321. foreach ($sql_final as $v) {
  9322. // 获取年份和月份
  9323. $year = substr($v['rq'], 0, 4);
  9324. $month = substr($v['rq'], 5, 2);
  9325. // 如果是前两年的数据
  9326. if ($year == $previousTwoYear) {
  9327. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9328. }
  9329. // 如果是去年的数据
  9330. if ($year == $previousYear) {
  9331. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9332. }
  9333. // 如果是今年的数据
  9334. if ($year == $currentYear) {
  9335. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9336. }
  9337. }
  9338. $res['status'] = 0;
  9339. $res['msg'] = '';
  9340. $res['data'] = $list;
  9341. $redis->set($redis_key, json_encode($res));
  9342. return json_encode($res);
  9343. }
  9344. //四色机每月生产趋势 纸令->接口调用
  9345. public function sisejizl(){
  9346. $redis=redis();
  9347. $redis_key = md5('sisejizl_redis');
  9348. $redis_data = $redis->get($redis_key);
  9349. return $redis_data;
  9350. }
  9351. //BB机每月生产趋势 纸令->缓存调用
  9352. public function bbjzl_redis(){
  9353. $redis=redis();
  9354. $redis_key = md5('bbjzl_redis');
  9355. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9356. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  9357. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  9358. 'BB机5号(甲班)','BB机5号(乙班)',
  9359. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  9360. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9361. ->union(function ($query) {
  9362. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9363. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9364. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  9365. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  9366. }, true)->buildSql();
  9367. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9368. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9369. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9370. })->buildSql();
  9371. //BB机纸令合计
  9372. $subQuery2 = Db::table($subQuery2_child . 'T')
  9373. ->field('rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjls ) nBBSL')
  9374. ->group('rq')->buildSql();
  9375. $subQuery1_5 = Db::table($subQuery . 'A')
  9376. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL')
  9377. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9378. ->buildSql();
  9379. $sql_final = Db::table($subQuery1_5 . ' db')
  9380. ->field("
  9381. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9382. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9383. ")
  9384. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9385. // ->group('MONTH(db.RQ)')
  9386. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9387. ->select();
  9388. // 初始化数据
  9389. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9390. $currentYear = date("Y"); // 当前年份
  9391. $currentMonth = date("m"); // 当前月份
  9392. $previousYear = (int)$currentYear - 1; // 去年
  9393. $previousTwoYear = (int)$currentYear - 2; // 前年
  9394. // 为前年、去年和今年创建数据数组,初始值为0
  9395. $list['series'][0]['name'] = $previousTwoYear . '年';
  9396. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9397. $list['series'][1]['name'] = $previousYear . '年';
  9398. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9399. $list['series'][2]['name'] = $currentYear . '年';
  9400. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9401. // 遍历查询结果
  9402. foreach ($sql_final as $v) {
  9403. // 获取年份和月份
  9404. $year = substr($v['rq'], 0, 4);
  9405. $month = substr($v['rq'], 5, 2);
  9406. // 如果是前两年的数据
  9407. if ($year == $previousTwoYear) {
  9408. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9409. }
  9410. // 如果是去年的数据
  9411. if ($year == $previousYear) {
  9412. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9413. }
  9414. // 如果是今年的数据
  9415. if ($year == $currentYear) {
  9416. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9417. }
  9418. }
  9419. $res['status'] = 0;
  9420. $res['msg'] = '';
  9421. $res['data'] = $list;
  9422. $redis->set($redis_key, json_encode($res));
  9423. return json_encode($res);
  9424. }
  9425. //BB机每月生产趋势 纸令->接口调用
  9426. public function bbjzl(){
  9427. $redis=redis();
  9428. $redis_key = md5('bbjzl_redis');
  9429. $redis_data = $redis->get($redis_key);
  9430. return $redis_data;
  9431. }
  9432. //轮转机每月生产趋势 色令->缓存调用
  9433. public function lunzhuan_redis(){
  9434. $redis=redis();
  9435. $redis_key = md5('lunzhuan_redis');
  9436. //首先定义了起始时间和结束时间
  9437. //根据查询条件查出色令数据
  9438. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9439. ->whereIn('cbzmc', [
  9440. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  9441. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  9442. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  9443. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9444. ->union(function ($query) {
  9445. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9446. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9447. ->whereIn('cMachineName', ['标规小森商轮1号',
  9448. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  9449. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号','标规北人轮转1号']);
  9450. }, true)
  9451. ->buildSql();
  9452. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9453. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9454. ->union(function ($query) {
  9455. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9456. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9457. })->buildSql();
  9458. //查询每天的数据
  9459. $subQuery3 = Db::table($subQuery3_child . 'T')
  9460. ->field('rq,SUM( fsjsl ) nnRotationSL ')
  9461. ->group('rq')
  9462. ->buildSql();
  9463. //按当天日期进行分组 累计相加当天数据
  9464. $subQuery1_5 = Db::table($subQuery . 'A')
  9465. ->field('DISTINCT DATE(A.RQ) RQ,sum(P.nnRotationSL) AS nnRotationSL')
  9466. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9467. ->group('RQ')
  9468. ->buildSql();
  9469. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nnRotationSL )) AS '轮转色令合计'
  9470. $sql_final = Db::table($subQuery1_5 . ' db')
  9471. ->field("
  9472. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9473. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9474. ")
  9475. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9476. // ->group('MONTH(db.RQ)')
  9477. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9478. ->select();
  9479. // 初始化数据
  9480. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9481. $currentYear = date("Y"); // 当前年份
  9482. $currentMonth = date("m"); // 当前月份
  9483. $previousYear = (int)$currentYear - 1; // 去年
  9484. $previousTwoYear = (int)$currentYear - 2; // 前年
  9485. // 为前年、去年和今年创建数据数组,初始值为0
  9486. $list['series'][0]['name'] = $previousTwoYear . '年';
  9487. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9488. $list['series'][1]['name'] = $previousYear . '年';
  9489. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9490. $list['series'][2]['name'] = $currentYear . '年';
  9491. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9492. // 遍历查询结果
  9493. foreach ($sql_final as $v) {
  9494. // 获取年份和月份
  9495. $year = substr($v['rq'], 0, 4);
  9496. $month = substr($v['rq'], 5, 2);
  9497. // 如果是前两年的数据
  9498. if ($year == $previousTwoYear) {
  9499. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9500. }
  9501. // 如果是去年的数据
  9502. if ($year == $previousYear) {
  9503. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9504. }
  9505. // 如果是今年的数据
  9506. if ($year == $currentYear) {
  9507. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9508. }
  9509. }
  9510. $res['status'] = 0;
  9511. $res['msg'] = '';
  9512. $res['data'] = $list;
  9513. $redis->set($redis_key, json_encode($res));
  9514. return json_encode($res);
  9515. }
  9516. //轮转机每月生产趋势 色令->接口调用
  9517. public function lunzhuan(){
  9518. $redis=redis();
  9519. $redis_key = md5('lunzhuan_redis');
  9520. $redis_data = $redis->get($redis_key);
  9521. return $redis_data;
  9522. }
  9523. //四色机每月生产趋势 色令->缓存调用
  9524. public function siseji_redis(){
  9525. $redis=redis();
  9526. $redis_key = md5('siseji_redis');
  9527. //根据查询条件查出色令数据
  9528. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9529. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9530. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9531. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9532. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9533. ->union(function ($query) {
  9534. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  9535. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9536. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9537. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9538. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9539. '小森八色01号机','小森八色02号机']);
  9540. }, true)->buildSql();
  9541. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9542. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9543. ->union(function ($query) {
  9544. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9545. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9546. })->buildSql();
  9547. //查询每天的数据
  9548. $subQuery1 = Db::table($subQuery1_child . 'T')
  9549. ->field('rq,SUM( fsjsl ) nFourColorSL')
  9550. ->group('rq')->buildSql();
  9551. //按当天日期进行分组 累计相加当天数据
  9552. $subQuery1_5 = Db::table($subQuery . 'A')
  9553. ->field('
  9554. DISTINCT DATE(A.RQ) RQ,
  9555. sum(B.nFourColorSL) AS nFourColorSL
  9556. ')
  9557. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9558. ->group('RQ')
  9559. ->buildSql();
  9560. //按每个月进行查询 累计相加每月数据
  9561. $sql_final = Db::table($subQuery1_5 . ' db')
  9562. ->field("
  9563. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9564. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9565. ")
  9566. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9567. // ->group('MONTH(db.RQ)')
  9568. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9569. ->select();
  9570. // 初始化数据
  9571. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9572. $currentYear = date("Y"); // 当前年份
  9573. $currentMonth = date("m"); // 当前月份
  9574. $previousYear = (int)$currentYear - 1; // 去年
  9575. $previousTwoYear = (int)$currentYear - 2; // 前年
  9576. // 为前年、去年和今年创建数据数组,初始值为0
  9577. $list['series'][0]['name'] = $previousTwoYear . '年';
  9578. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9579. $list['series'][1]['name'] = $previousYear . '年';
  9580. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9581. $list['series'][2]['name'] = $currentYear . '年';
  9582. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9583. // 遍历查询结果
  9584. foreach ($sql_final as $v) {
  9585. // 获取年份和月份
  9586. $year = substr($v['rq'], 0, 4);
  9587. $month = substr($v['rq'], 5, 2);
  9588. // 如果是前两年的数据
  9589. if ($year == $previousTwoYear) {
  9590. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9591. }
  9592. // 如果是去年的数据
  9593. if ($year == $previousYear) {
  9594. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9595. }
  9596. // 如果是今年的数据
  9597. if ($year == $currentYear) {
  9598. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9599. }
  9600. }
  9601. $res['status'] = 0;
  9602. $res['msg'] = '';
  9603. $res['data'] = $list;
  9604. $redis->set($redis_key, json_encode($res));
  9605. return json_encode($res);
  9606. }
  9607. //四色机每月生产趋势 色令->接口调用
  9608. public function siseji(){
  9609. $redis=redis();
  9610. $redis_key = md5('siseji_redis');
  9611. $redis_data = $redis->get($redis_key);
  9612. return $redis_data;
  9613. }
  9614. //BB机每月生产趋势 色令->缓存调用
  9615. public function bbj_redis(){
  9616. $redis=redis();
  9617. $redis_key = md5('bbj_redis');
  9618. //首先定义了起始时间和结束时间
  9619. //根据查询条件查出色令数据
  9620. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9621. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  9622. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  9623. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  9624. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9625. ->union(function ($query) {
  9626. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9627. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9628. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  9629. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  9630. }, true)->buildSql();
  9631. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9632. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9633. ->union(function ($query) {
  9634. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9635. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9636. })->buildSql();
  9637. //查询每天的数据
  9638. $subQuery2 = Db::table($subQuery2_child . 'T')
  9639. ->field('rq,SUM( fsjsl ) nBBSL')
  9640. ->group('rq')->buildSql();
  9641. //按当天日期进行分组 累计相加当天数据
  9642. $subQuery1_5 = Db::table($subQuery . 'A')
  9643. ->field('DISTINCT DATE(A.RQ) RQ,sum(h.nBBSL) AS nBBSL')
  9644. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9645. ->group('RQ')
  9646. ->buildSql();
  9647. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nBBSL )) AS '单双色机(BB机)色令合计'
  9648. $sql_final = Db::table($subQuery1_5 . ' db')
  9649. ->field("
  9650. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9651. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9652. ")
  9653. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9654. // ->group('MONTH(db.RQ)')
  9655. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9656. ->order('db.RQ', 'asc')
  9657. ->select();
  9658. // 初始化数据
  9659. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9660. $currentYear = date("Y"); // 当前年份
  9661. $currentMonth = date("m"); // 当前月份
  9662. $previousYear = (int)$currentYear - 1; // 去年
  9663. $previousTwoYear = (int)$currentYear - 2; // 前年
  9664. // 为前年、去年和今年创建数据数组,初始值为0
  9665. $list['series'][0]['name'] = $previousTwoYear . '年';
  9666. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9667. $list['series'][1]['name'] = $previousYear . '年';
  9668. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9669. $list['series'][2]['name'] = $currentYear . '年';
  9670. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9671. // 遍历查询结果
  9672. foreach ($sql_final as $v) {
  9673. // 获取年份和月份
  9674. $year = substr($v['rq'], 0, 4);
  9675. $month = substr($v['rq'], 5, 2);
  9676. // 如果是前两年的数据
  9677. if ($year == $previousTwoYear) {
  9678. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9679. }
  9680. // 如果是去年的数据
  9681. if ($year == $previousYear) {
  9682. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9683. }
  9684. // 如果是今年的数据
  9685. if ($year == $currentYear) {
  9686. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9687. }
  9688. }
  9689. $res['status'] = 0;
  9690. $res['msg'] = '';
  9691. $res['data'] = $list;
  9692. $redis->set($redis_key, json_encode($res));
  9693. return json_encode($res);
  9694. }
  9695. //BB机每月生产趋势 色令->接口调用
  9696. public function bbj(){
  9697. $redis=redis();
  9698. $redis_key = md5('bbj_redis');
  9699. $redis_data = $redis->get($redis_key);
  9700. return $redis_data;
  9701. }
  9702. //胶订纸令->缓存调用
  9703. public function jdzl_redis(){
  9704. $redis=redis();
  9705. $redis_key = md5('jdzl_redis');
  9706. //首先定义了起始时间和结束时间
  9707. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  9708. ->union(function ($query) {
  9709. $query->table('scDayRpt_Teams')->alias('b')
  9710. ->field("DISTINCT DATE_FORMAT(
  9711. CASE
  9712. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  9713. ELSE b.dOnDuty
  9714. END,
  9715. '%Y-%m-%d'
  9716. ) AS RQ");
  9717. }, true)
  9718. ->buildSql();
  9719. $B = Db::table('cpjtfk')
  9720. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9721. ->field("
  9722. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9723. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  9724. ")
  9725. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  9726. ->group('drptdate,cbanzu')
  9727. ->buildSql();
  9728. $B1 = Db::table('cpjtfk')
  9729. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9730. ->field("
  9731. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9732. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  9733. ")
  9734. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  9735. ->group('drptdate,cbanzu')
  9736. ->buildSql();
  9737. $C = Db::table('cpjtfk')
  9738. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9739. ->field("
  9740. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9741. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  9742. ")
  9743. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  9744. ->group('drptdate,cbanzu')
  9745. ->buildSql();
  9746. $C1 = Db::table('cpjtfk')
  9747. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9748. ->field("
  9749. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9750. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  9751. ")
  9752. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  9753. ->group('drptdate,cbanzu')
  9754. ->buildSql();
  9755. $D = Db::table('cpjtfk')
  9756. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9757. ->field("
  9758. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9759. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  9760. ")
  9761. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  9762. ->group('drptdate,cbanzu')
  9763. ->buildSql();
  9764. $D1 = Db::table('cpjtfk')
  9765. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9766. ->field("
  9767. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9768. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  9769. ")
  9770. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  9771. ->group('drptdate,cbanzu')
  9772. ->buildSql();
  9773. $E = Db::table('cpjtfk')
  9774. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9775. ->field("
  9776. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9777. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  9778. ")
  9779. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  9780. ->group('drptdate,cbanzu')
  9781. ->buildSql();
  9782. $E1 = Db::table('cpjtfk')
  9783. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9784. ->field("
  9785. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9786. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  9787. ")
  9788. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  9789. ->group('drptdate,cbanzu')
  9790. ->buildSql();
  9791. $F = Db::table('cpjtfk')
  9792. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9793. ->field("
  9794. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9795. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  9796. ")
  9797. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  9798. ->group('drptdate,cbanzu')
  9799. ->buildSql();
  9800. $F1 = Db::table('cpjtfk')
  9801. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9802. ->field("
  9803. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9804. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  9805. ")
  9806. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  9807. ->group('drptdate,cbanzu')
  9808. ->buildSql();
  9809. $rr = Db::table('scyddx')->alias('r')
  9810. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  9811. ->group('r.ICYDID')
  9812. ->buildSql();
  9813. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  9814. ->field("
  9815. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9816. ROUND(SUM(
  9817. CASE
  9818. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9819. THEN CASE WHEN a.cCyddxMc = '装配'
  9820. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9821. THEN CASE
  9822. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9823. END = 0 THEN c.nzdls
  9824. ELSE ( CASE
  9825. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9826. END
  9827. THEN CASE
  9828. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9829. END ELSE c.nzdls END
  9830. ) END ELSE 0 END
  9831. ELSE CASE
  9832. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9833. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9834. CASE WHEN a.cCyddxMc = '装配'
  9835. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9836. THEN CASE
  9837. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9838. END = 0 THEN c.nzdls
  9839. ELSE ( CASE WHEN c.nzdls <
  9840. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9841. END
  9842. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9843. END ELSE c.nzdls END )
  9844. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9845. END END ), 3) 马11甲纸令 ")
  9846. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9847. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9848. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9849. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9850. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9851. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9852. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  9853. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9854. ->group("CASE
  9855. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9856. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9857. END,Name_WorkGroup")->buildSql();
  9858. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  9859. ->field("
  9860. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9861. ROUND(SUM(
  9862. CASE
  9863. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9864. THEN
  9865. CASE
  9866. WHEN a.cCyddxMc = '装配'
  9867. OR a.cCyddxMc LIKE '%正文%'
  9868. OR a.cCyddxMc LIKE '%答案%'
  9869. OR a.cCyddxMc LIKE '%卷%'
  9870. THEN
  9871. CASE
  9872. WHEN CASE
  9873. WHEN IFNULL(d.fZls, 0) < rr.zl
  9874. THEN rr.zl
  9875. ELSE IFNULL(d.fZls, 0)
  9876. END = 0
  9877. THEN c.nzdls
  9878. ELSE (
  9879. CASE
  9880. WHEN c.nzdls <
  9881. CASE
  9882. WHEN IFNULL(d.fZls, 0) < rr.zl
  9883. THEN rr.zl
  9884. ELSE IFNULL(d.fZls, 0)
  9885. END
  9886. THEN
  9887. CASE
  9888. WHEN IFNULL(d.fZls, 0) < rr.zl
  9889. THEN rr.zl
  9890. ELSE IFNULL(d.fZls, 0)
  9891. END
  9892. ELSE c.nzdls
  9893. END
  9894. )
  9895. END
  9896. ELSE 0
  9897. END
  9898. ELSE
  9899. CASE
  9900. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9901. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9902. CASE
  9903. WHEN a.cCyddxMc = '装配'
  9904. OR a.cCyddxMc LIKE '%正文%'
  9905. OR a.cCyddxMc LIKE '%答案%'
  9906. OR a.cCyddxMc LIKE '%卷%'
  9907. THEN
  9908. CASE
  9909. WHEN CASE
  9910. WHEN IFNULL(d.fZls, 0) < rr.zl
  9911. THEN rr.zl
  9912. ELSE IFNULL(d.fZls, 0)
  9913. END = 0
  9914. THEN c.nzdls
  9915. ELSE (
  9916. CASE
  9917. WHEN c.nzdls <
  9918. CASE
  9919. WHEN IFNULL(d.fZls, 0) < rr.zl
  9920. THEN rr.zl
  9921. ELSE IFNULL(d.fZls, 0)
  9922. END
  9923. THEN
  9924. CASE
  9925. WHEN IFNULL(d.fZls, 0) < rr.zl
  9926. THEN rr.zl
  9927. ELSE IFNULL(d.fZls, 0)
  9928. END
  9929. ELSE c.nzdls
  9930. END
  9931. )
  9932. END
  9933. ELSE 0
  9934. END
  9935. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9936. END
  9937. END )
  9938. , 3) 马11乙纸令
  9939. ")
  9940. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9941. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9942. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9943. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9944. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9945. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9946. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  9947. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9948. ->group("CASE
  9949. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9950. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9951. END,Name_WorkGroup")
  9952. ->buildSql();
  9953. $CC = Db::table('ql_report_feedback_day')->alias('a')
  9954. ->field("
  9955. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9956. ROUND(SUM(
  9957. CASE
  9958. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9959. THEN
  9960. CASE
  9961. WHEN a.cCyddxMc = '装配'
  9962. OR a.cCyddxMc LIKE '%正文%'
  9963. OR a.cCyddxMc LIKE '%答案%'
  9964. OR a.cCyddxMc LIKE '%卷%'
  9965. THEN
  9966. CASE
  9967. WHEN CASE
  9968. WHEN IFNULL(d.fZls, 0) < rr.zl
  9969. THEN rr.zl
  9970. ELSE IFNULL(d.fZls, 0)
  9971. END = 0
  9972. THEN c.nzdls
  9973. ELSE (
  9974. CASE
  9975. WHEN c.nzdls <
  9976. CASE
  9977. WHEN IFNULL(d.fZls, 0) < rr.zl
  9978. THEN rr.zl
  9979. ELSE IFNULL(d.fZls, 0)
  9980. END
  9981. THEN
  9982. CASE
  9983. WHEN IFNULL(d.fZls, 0) < rr.zl
  9984. THEN rr.zl
  9985. ELSE IFNULL(d.fZls, 0)
  9986. END
  9987. ELSE c.nzdls
  9988. END
  9989. )
  9990. END
  9991. ELSE 0
  9992. END
  9993. ELSE
  9994. CASE
  9995. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9996. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9997. CASE
  9998. WHEN a.cCyddxMc = '装配'
  9999. OR a.cCyddxMc LIKE '%正文%'
  10000. OR a.cCyddxMc LIKE '%答案%'
  10001. OR a.cCyddxMc LIKE '%卷%'
  10002. THEN
  10003. CASE
  10004. WHEN CASE
  10005. WHEN IFNULL(d.fZls, 0) < rr.zl
  10006. THEN rr.zl
  10007. ELSE IFNULL(d.fZls, 0)
  10008. END = 0
  10009. THEN c.nzdls
  10010. ELSE (
  10011. CASE
  10012. WHEN c.nzdls <
  10013. CASE
  10014. WHEN IFNULL(d.fZls, 0) < rr.zl
  10015. THEN rr.zl
  10016. ELSE IFNULL(d.fZls, 0)
  10017. END
  10018. THEN
  10019. CASE
  10020. WHEN IFNULL(d.fZls, 0) < rr.zl
  10021. THEN rr.zl
  10022. ELSE IFNULL(d.fZls, 0)
  10023. END
  10024. ELSE c.nzdls
  10025. END
  10026. )
  10027. END
  10028. ELSE 0
  10029. END
  10030. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10031. END
  10032. END )
  10033. , 3) 马22甲纸令
  10034. ")
  10035. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10036. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10037. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10038. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10039. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10040. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10041. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  10042. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10043. ->group("CASE
  10044. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10045. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10046. END,Name_WorkGroup")
  10047. ->buildSql();
  10048. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  10049. ->field("
  10050. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10051. ROUND(SUM(
  10052. CASE
  10053. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10054. THEN
  10055. CASE
  10056. WHEN a.cCyddxMc = '装配'
  10057. OR a.cCyddxMc LIKE '%正文%'
  10058. OR a.cCyddxMc LIKE '%答案%'
  10059. OR a.cCyddxMc LIKE '%卷%'
  10060. THEN
  10061. CASE
  10062. WHEN CASE
  10063. WHEN IFNULL(d.fZls, 0) < rr.zl
  10064. THEN rr.zl
  10065. ELSE IFNULL(d.fZls, 0)
  10066. END = 0
  10067. THEN c.nzdls
  10068. ELSE (
  10069. CASE
  10070. WHEN c.nzdls <
  10071. CASE
  10072. WHEN IFNULL(d.fZls, 0) < rr.zl
  10073. THEN rr.zl
  10074. ELSE IFNULL(d.fZls, 0)
  10075. END
  10076. THEN
  10077. CASE
  10078. WHEN IFNULL(d.fZls, 0) < rr.zl
  10079. THEN rr.zl
  10080. ELSE IFNULL(d.fZls, 0)
  10081. END
  10082. ELSE c.nzdls
  10083. END
  10084. )
  10085. END
  10086. ELSE 0
  10087. END
  10088. ELSE
  10089. CASE
  10090. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10091. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10092. CASE
  10093. WHEN a.cCyddxMc = '装配'
  10094. OR a.cCyddxMc LIKE '%正文%'
  10095. OR a.cCyddxMc LIKE '%答案%'
  10096. OR a.cCyddxMc LIKE '%卷%'
  10097. THEN
  10098. CASE
  10099. WHEN CASE
  10100. WHEN IFNULL(d.fZls, 0) < rr.zl
  10101. THEN rr.zl
  10102. ELSE IFNULL(d.fZls, 0)
  10103. END = 0
  10104. THEN c.nzdls
  10105. ELSE (
  10106. CASE
  10107. WHEN c.nzdls <
  10108. CASE
  10109. WHEN IFNULL(d.fZls, 0) < rr.zl
  10110. THEN rr.zl
  10111. ELSE IFNULL(d.fZls, 0)
  10112. END
  10113. THEN
  10114. CASE
  10115. WHEN IFNULL(d.fZls, 0) < rr.zl
  10116. THEN rr.zl
  10117. ELSE IFNULL(d.fZls, 0)
  10118. END
  10119. ELSE c.nzdls
  10120. END
  10121. )
  10122. END
  10123. ELSE 0
  10124. END
  10125. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10126. END
  10127. END )
  10128. , 3) 马22乙纸令
  10129. ")
  10130. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10131. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10132. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10133. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10134. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10135. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10136. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  10137. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10138. ->group("CASE
  10139. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10140. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10141. END,Name_WorkGroup")
  10142. ->buildSql();
  10143. $EE = Db::table('ql_report_feedback_day')->alias('a')
  10144. ->field("
  10145. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10146. ROUND(SUM(
  10147. CASE
  10148. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10149. THEN
  10150. CASE
  10151. WHEN a.cCyddxMc = '装配'
  10152. OR a.cCyddxMc LIKE '%正文%'
  10153. OR a.cCyddxMc LIKE '%答案%'
  10154. OR a.cCyddxMc LIKE '%卷%'
  10155. THEN
  10156. CASE
  10157. WHEN CASE
  10158. WHEN IFNULL(d.fZls, 0) < rr.zl
  10159. THEN rr.zl
  10160. ELSE IFNULL(d.fZls, 0)
  10161. END = 0
  10162. THEN c.nzdls
  10163. ELSE (
  10164. CASE
  10165. WHEN c.nzdls <
  10166. CASE
  10167. WHEN IFNULL(d.fZls, 0) < rr.zl
  10168. THEN rr.zl
  10169. ELSE IFNULL(d.fZls, 0)
  10170. END
  10171. THEN
  10172. CASE
  10173. WHEN IFNULL(d.fZls, 0) < rr.zl
  10174. THEN rr.zl
  10175. ELSE IFNULL(d.fZls, 0)
  10176. END
  10177. ELSE c.nzdls
  10178. END
  10179. )
  10180. END
  10181. ELSE 0
  10182. END
  10183. ELSE
  10184. CASE
  10185. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10186. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10187. CASE
  10188. WHEN a.cCyddxMc = '装配'
  10189. OR a.cCyddxMc LIKE '%正文%'
  10190. OR a.cCyddxMc LIKE '%答案%'
  10191. OR a.cCyddxMc LIKE '%卷%'
  10192. THEN
  10193. CASE
  10194. WHEN CASE
  10195. WHEN IFNULL(d.fZls, 0) < rr.zl
  10196. THEN rr.zl
  10197. ELSE IFNULL(d.fZls, 0)
  10198. END = 0
  10199. THEN c.nzdls
  10200. ELSE (
  10201. CASE
  10202. WHEN c.nzdls <
  10203. CASE
  10204. WHEN IFNULL(d.fZls, 0) < rr.zl
  10205. THEN rr.zl
  10206. ELSE IFNULL(d.fZls, 0)
  10207. END
  10208. THEN
  10209. CASE
  10210. WHEN IFNULL(d.fZls, 0) < rr.zl
  10211. THEN rr.zl
  10212. ELSE IFNULL(d.fZls, 0)
  10213. END
  10214. ELSE c.nzdls
  10215. END
  10216. )
  10217. END
  10218. ELSE 0
  10219. END
  10220. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10221. END
  10222. END )
  10223. , 3) 马33甲纸令
  10224. ")
  10225. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10226. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10227. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10228. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10229. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10230. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10231. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  10232. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10233. ->group("CASE
  10234. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10235. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10236. END,Name_WorkGroup")
  10237. ->buildSql();
  10238. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  10239. ->field("
  10240. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10241. ROUND(SUM(
  10242. CASE
  10243. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10244. THEN
  10245. CASE
  10246. WHEN a.cCyddxMc = '装配'
  10247. OR a.cCyddxMc LIKE '%正文%'
  10248. OR a.cCyddxMc LIKE '%答案%'
  10249. OR a.cCyddxMc LIKE '%卷%'
  10250. THEN
  10251. CASE
  10252. WHEN CASE
  10253. WHEN IFNULL(d.fZls, 0) < rr.zl
  10254. THEN rr.zl
  10255. ELSE IFNULL(d.fZls, 0)
  10256. END = 0
  10257. THEN c.nzdls
  10258. ELSE (
  10259. CASE
  10260. WHEN c.nzdls <
  10261. CASE
  10262. WHEN IFNULL(d.fZls, 0) < rr.zl
  10263. THEN rr.zl
  10264. ELSE IFNULL(d.fZls, 0)
  10265. END
  10266. THEN
  10267. CASE
  10268. WHEN IFNULL(d.fZls, 0) < rr.zl
  10269. THEN rr.zl
  10270. ELSE IFNULL(d.fZls, 0)
  10271. END
  10272. ELSE c.nzdls
  10273. END
  10274. )
  10275. END
  10276. ELSE 0
  10277. END
  10278. ELSE
  10279. CASE
  10280. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10281. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10282. CASE
  10283. WHEN a.cCyddxMc = '装配'
  10284. OR a.cCyddxMc LIKE '%正文%'
  10285. OR a.cCyddxMc LIKE '%答案%'
  10286. OR a.cCyddxMc LIKE '%卷%'
  10287. THEN
  10288. CASE
  10289. WHEN CASE
  10290. WHEN IFNULL(d.fZls, 0) < rr.zl
  10291. THEN rr.zl
  10292. ELSE IFNULL(d.fZls, 0)
  10293. END = 0
  10294. THEN c.nzdls
  10295. ELSE (
  10296. CASE
  10297. WHEN c.nzdls <
  10298. CASE
  10299. WHEN IFNULL(d.fZls, 0) < rr.zl
  10300. THEN rr.zl
  10301. ELSE IFNULL(d.fZls, 0)
  10302. END
  10303. THEN
  10304. CASE
  10305. WHEN IFNULL(d.fZls, 0) < rr.zl
  10306. THEN rr.zl
  10307. ELSE IFNULL(d.fZls, 0)
  10308. END
  10309. ELSE c.nzdls
  10310. END
  10311. )
  10312. END
  10313. ELSE 0
  10314. END
  10315. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10316. END
  10317. END )
  10318. , 3) 马33乙纸令
  10319. ")
  10320. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10321. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10322. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10323. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10324. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10325. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10326. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  10327. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10328. ->group("CASE
  10329. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10330. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10331. END,Name_WorkGroup")
  10332. ->buildSql();
  10333. $HH = Db::table('ql_report_feedback_day')->alias('a')
  10334. ->field("
  10335. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10336. ROUND(SUM(
  10337. CASE
  10338. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10339. THEN
  10340. CASE
  10341. WHEN a.cCyddxMc = '装配'
  10342. OR a.cCyddxMc LIKE '%正文%'
  10343. OR a.cCyddxMc LIKE '%答案%'
  10344. OR a.cCyddxMc LIKE '%卷%'
  10345. THEN
  10346. CASE
  10347. WHEN CASE
  10348. WHEN IFNULL(d.fZls, 0) < rr.zl
  10349. THEN rr.zl
  10350. ELSE IFNULL(d.fZls, 0)
  10351. END = 0
  10352. THEN c.nzdls
  10353. ELSE (
  10354. CASE
  10355. WHEN c.nzdls <
  10356. CASE
  10357. WHEN IFNULL(d.fZls, 0) < rr.zl
  10358. THEN rr.zl
  10359. ELSE IFNULL(d.fZls, 0)
  10360. END
  10361. THEN
  10362. CASE
  10363. WHEN IFNULL(d.fZls, 0) < rr.zl
  10364. THEN rr.zl
  10365. ELSE IFNULL(d.fZls, 0)
  10366. END
  10367. ELSE c.nzdls
  10368. END
  10369. )
  10370. END
  10371. ELSE 0
  10372. END
  10373. ELSE
  10374. CASE
  10375. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10376. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10377. CASE
  10378. WHEN a.cCyddxMc = '装配'
  10379. OR a.cCyddxMc LIKE '%正文%'
  10380. OR a.cCyddxMc LIKE '%答案%'
  10381. OR a.cCyddxMc LIKE '%卷%'
  10382. THEN
  10383. CASE
  10384. WHEN CASE
  10385. WHEN IFNULL(d.fZls, 0) < rr.zl
  10386. THEN rr.zl
  10387. ELSE IFNULL(d.fZls, 0)
  10388. END = 0
  10389. THEN c.nzdls
  10390. ELSE (
  10391. CASE
  10392. WHEN c.nzdls <
  10393. CASE
  10394. WHEN IFNULL(d.fZls, 0) < rr.zl
  10395. THEN rr.zl
  10396. ELSE IFNULL(d.fZls, 0)
  10397. END
  10398. THEN
  10399. CASE
  10400. WHEN IFNULL(d.fZls, 0) < rr.zl
  10401. THEN rr.zl
  10402. ELSE IFNULL(d.fZls, 0)
  10403. END
  10404. ELSE c.nzdls
  10405. END
  10406. )
  10407. END
  10408. ELSE 0
  10409. END
  10410. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10411. END
  10412. END )
  10413. , 3) 马44甲纸令
  10414. ")
  10415. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10416. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10417. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10418. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10419. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10420. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10421. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  10422. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10423. ->group("CASE
  10424. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10425. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10426. END,Name_WorkGroup")
  10427. ->buildSql();
  10428. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  10429. ->field("
  10430. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10431. ROUND(SUM(
  10432. CASE
  10433. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10434. THEN
  10435. CASE
  10436. WHEN a.cCyddxMc = '装配'
  10437. OR a.cCyddxMc LIKE '%正文%'
  10438. OR a.cCyddxMc LIKE '%答案%'
  10439. OR a.cCyddxMc LIKE '%卷%'
  10440. THEN
  10441. CASE
  10442. WHEN CASE
  10443. WHEN IFNULL(d.fZls, 0) < rr.zl
  10444. THEN rr.zl
  10445. ELSE IFNULL(d.fZls, 0)
  10446. END = 0
  10447. THEN c.nzdls
  10448. ELSE (
  10449. CASE
  10450. WHEN c.nzdls <
  10451. CASE
  10452. WHEN IFNULL(d.fZls, 0) < rr.zl
  10453. THEN rr.zl
  10454. ELSE IFNULL(d.fZls, 0)
  10455. END
  10456. THEN
  10457. CASE
  10458. WHEN IFNULL(d.fZls, 0) < rr.zl
  10459. THEN rr.zl
  10460. ELSE IFNULL(d.fZls, 0)
  10461. END
  10462. ELSE c.nzdls
  10463. END
  10464. )
  10465. END
  10466. ELSE 0
  10467. END
  10468. ELSE
  10469. CASE
  10470. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10471. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10472. CASE
  10473. WHEN a.cCyddxMc = '装配'
  10474. OR a.cCyddxMc LIKE '%正文%'
  10475. OR a.cCyddxMc LIKE '%答案%'
  10476. OR a.cCyddxMc LIKE '%卷%'
  10477. THEN
  10478. CASE
  10479. WHEN CASE
  10480. WHEN IFNULL(d.fZls, 0) < rr.zl
  10481. THEN rr.zl
  10482. ELSE IFNULL(d.fZls, 0)
  10483. END = 0
  10484. THEN c.nzdls
  10485. ELSE (
  10486. CASE
  10487. WHEN c.nzdls <
  10488. CASE
  10489. WHEN IFNULL(d.fZls, 0) < rr.zl
  10490. THEN rr.zl
  10491. ELSE IFNULL(d.fZls, 0)
  10492. END
  10493. THEN
  10494. CASE
  10495. WHEN IFNULL(d.fZls, 0) < rr.zl
  10496. THEN rr.zl
  10497. ELSE IFNULL(d.fZls, 0)
  10498. END
  10499. ELSE c.nzdls
  10500. END
  10501. )
  10502. END
  10503. ELSE 0
  10504. END
  10505. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10506. END
  10507. END )
  10508. , 3) 马44乙纸令
  10509. ")
  10510. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10511. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10512. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10513. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10514. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10515. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10516. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  10517. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10518. ->group("CASE
  10519. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10520. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10521. END,Name_WorkGroup")
  10522. ->buildSql();
  10523. $XX = Db::table('ql_report_feedback_day')->alias('a')
  10524. ->field("
  10525. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10526. ROUND(SUM(
  10527. CASE
  10528. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10529. THEN
  10530. CASE
  10531. WHEN a.cCyddxMc = '装配'
  10532. OR a.cCyddxMc LIKE '%正文%'
  10533. OR a.cCyddxMc LIKE '%答案%'
  10534. OR a.cCyddxMc LIKE '%卷%'
  10535. THEN
  10536. CASE
  10537. WHEN CASE
  10538. WHEN IFNULL(d.fZls, 0) < rr.zl
  10539. THEN rr.zl
  10540. ELSE IFNULL(d.fZls, 0)
  10541. END = 0
  10542. THEN c.nzdls
  10543. ELSE (
  10544. CASE
  10545. WHEN c.nzdls <
  10546. CASE
  10547. WHEN IFNULL(d.fZls, 0) < rr.zl
  10548. THEN rr.zl
  10549. ELSE IFNULL(d.fZls, 0)
  10550. END
  10551. THEN
  10552. CASE
  10553. WHEN IFNULL(d.fZls, 0) < rr.zl
  10554. THEN rr.zl
  10555. ELSE IFNULL(d.fZls, 0)
  10556. END
  10557. ELSE c.nzdls
  10558. END
  10559. )
  10560. END
  10561. ELSE 0
  10562. END
  10563. ELSE
  10564. CASE
  10565. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10566. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10567. CASE
  10568. WHEN a.cCyddxMc = '装配'
  10569. OR a.cCyddxMc LIKE '%正文%'
  10570. OR a.cCyddxMc LIKE '%答案%'
  10571. OR a.cCyddxMc LIKE '%卷%'
  10572. THEN
  10573. CASE
  10574. WHEN CASE
  10575. WHEN IFNULL(d.fZls, 0) < rr.zl
  10576. THEN rr.zl
  10577. ELSE IFNULL(d.fZls, 0)
  10578. END = 0
  10579. THEN c.nzdls
  10580. ELSE (
  10581. CASE
  10582. WHEN c.nzdls <
  10583. CASE
  10584. WHEN IFNULL(d.fZls, 0) < rr.zl
  10585. THEN rr.zl
  10586. ELSE IFNULL(d.fZls, 0)
  10587. END
  10588. THEN
  10589. CASE
  10590. WHEN IFNULL(d.fZls, 0) < rr.zl
  10591. THEN rr.zl
  10592. ELSE IFNULL(d.fZls, 0)
  10593. END
  10594. ELSE c.nzdls
  10595. END
  10596. )
  10597. END
  10598. ELSE 0
  10599. END
  10600. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10601. END
  10602. END )
  10603. , 3) 马55甲纸令
  10604. ")
  10605. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10606. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10607. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10608. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10609. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10610. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10611. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  10612. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10613. ->group("CASE
  10614. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10615. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10616. END,Name_WorkGroup")
  10617. ->buildSql();
  10618. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  10619. ->field("
  10620. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10621. ROUND(SUM(
  10622. CASE
  10623. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10624. THEN
  10625. CASE
  10626. WHEN a.cCyddxMc = '装配'
  10627. OR a.cCyddxMc LIKE '%正文%'
  10628. OR a.cCyddxMc LIKE '%答案%'
  10629. OR a.cCyddxMc LIKE '%卷%'
  10630. THEN
  10631. CASE
  10632. WHEN CASE
  10633. WHEN IFNULL(d.fZls, 0) < rr.zl
  10634. THEN rr.zl
  10635. ELSE IFNULL(d.fZls, 0)
  10636. END = 0
  10637. THEN c.nzdls
  10638. ELSE (
  10639. CASE
  10640. WHEN c.nzdls <
  10641. CASE
  10642. WHEN IFNULL(d.fZls, 0) < rr.zl
  10643. THEN rr.zl
  10644. ELSE IFNULL(d.fZls, 0)
  10645. END
  10646. THEN
  10647. CASE
  10648. WHEN IFNULL(d.fZls, 0) < rr.zl
  10649. THEN rr.zl
  10650. ELSE IFNULL(d.fZls, 0)
  10651. END
  10652. ELSE c.nzdls
  10653. END
  10654. )
  10655. END
  10656. ELSE 0
  10657. END
  10658. ELSE
  10659. CASE
  10660. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10661. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10662. CASE
  10663. WHEN a.cCyddxMc = '装配'
  10664. OR a.cCyddxMc LIKE '%正文%'
  10665. OR a.cCyddxMc LIKE '%答案%'
  10666. OR a.cCyddxMc LIKE '%卷%'
  10667. THEN
  10668. CASE
  10669. WHEN CASE
  10670. WHEN IFNULL(d.fZls, 0) < rr.zl
  10671. THEN rr.zl
  10672. ELSE IFNULL(d.fZls, 0)
  10673. END = 0
  10674. THEN c.nzdls
  10675. ELSE (
  10676. CASE
  10677. WHEN c.nzdls <
  10678. CASE
  10679. WHEN IFNULL(d.fZls, 0) < rr.zl
  10680. THEN rr.zl
  10681. ELSE IFNULL(d.fZls, 0)
  10682. END
  10683. THEN
  10684. CASE
  10685. WHEN IFNULL(d.fZls, 0) < rr.zl
  10686. THEN rr.zl
  10687. ELSE IFNULL(d.fZls, 0)
  10688. END
  10689. ELSE c.nzdls
  10690. END
  10691. )
  10692. END
  10693. ELSE 0
  10694. END
  10695. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10696. END
  10697. END )
  10698. , 3) 马66甲纸令
  10699. ")
  10700. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10701. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10702. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10703. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10704. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10705. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10706. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  10707. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10708. ->group("CASE
  10709. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10710. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10711. END,Name_WorkGroup")
  10712. ->buildSql();
  10713. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  10714. ->field("
  10715. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10716. ROUND(SUM(
  10717. CASE
  10718. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10719. THEN
  10720. CASE
  10721. WHEN a.cCyddxMc = '装配'
  10722. OR a.cCyddxMc LIKE '%正文%'
  10723. OR a.cCyddxMc LIKE '%答案%'
  10724. OR a.cCyddxMc LIKE '%卷%'
  10725. THEN
  10726. CASE
  10727. WHEN CASE
  10728. WHEN IFNULL(d.fZls, 0) < rr.zl
  10729. THEN rr.zl
  10730. ELSE IFNULL(d.fZls, 0)
  10731. END = 0
  10732. THEN c.nzdls
  10733. ELSE (
  10734. CASE
  10735. WHEN c.nzdls <
  10736. CASE
  10737. WHEN IFNULL(d.fZls, 0) < rr.zl
  10738. THEN rr.zl
  10739. ELSE IFNULL(d.fZls, 0)
  10740. END
  10741. THEN
  10742. CASE
  10743. WHEN IFNULL(d.fZls, 0) < rr.zl
  10744. THEN rr.zl
  10745. ELSE IFNULL(d.fZls, 0)
  10746. END
  10747. ELSE c.nzdls
  10748. END
  10749. )
  10750. END
  10751. ELSE 0
  10752. END
  10753. ELSE
  10754. CASE
  10755. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10756. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10757. CASE
  10758. WHEN a.cCyddxMc = '装配'
  10759. OR a.cCyddxMc LIKE '%正文%'
  10760. OR a.cCyddxMc LIKE '%答案%'
  10761. OR a.cCyddxMc LIKE '%卷%'
  10762. THEN
  10763. CASE
  10764. WHEN CASE
  10765. WHEN IFNULL(d.fZls, 0) < rr.zl
  10766. THEN rr.zl
  10767. ELSE IFNULL(d.fZls, 0)
  10768. END = 0
  10769. THEN c.nzdls
  10770. ELSE (
  10771. CASE
  10772. WHEN c.nzdls <
  10773. CASE
  10774. WHEN IFNULL(d.fZls, 0) < rr.zl
  10775. THEN rr.zl
  10776. ELSE IFNULL(d.fZls, 0)
  10777. END
  10778. THEN
  10779. CASE
  10780. WHEN IFNULL(d.fZls, 0) < rr.zl
  10781. THEN rr.zl
  10782. ELSE IFNULL(d.fZls, 0)
  10783. END
  10784. ELSE c.nzdls
  10785. END
  10786. )
  10787. END
  10788. ELSE 0
  10789. END
  10790. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10791. END
  10792. END )
  10793. , 3) 马77甲纸令
  10794. ")
  10795. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10796. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10797. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10798. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10799. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10800. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10801. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  10802. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10803. ->group("CASE
  10804. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10805. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10806. END,Name_WorkGroup")
  10807. ->buildSql();
  10808. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  10809. ->field("
  10810. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10811. ROUND(SUM(
  10812. CASE
  10813. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10814. THEN
  10815. CASE
  10816. WHEN a.cCyddxMc = '装配'
  10817. OR a.cCyddxMc LIKE '%正文%'
  10818. OR a.cCyddxMc LIKE '%答案%'
  10819. OR a.cCyddxMc LIKE '%卷%'
  10820. THEN
  10821. CASE
  10822. WHEN CASE
  10823. WHEN IFNULL(d.fZls, 0) < rr.zl
  10824. THEN rr.zl
  10825. ELSE IFNULL(d.fZls, 0)
  10826. END = 0
  10827. THEN c.nzdls
  10828. ELSE (
  10829. CASE
  10830. WHEN c.nzdls <
  10831. CASE
  10832. WHEN IFNULL(d.fZls, 0) < rr.zl
  10833. THEN rr.zl
  10834. ELSE IFNULL(d.fZls, 0)
  10835. END
  10836. THEN
  10837. CASE
  10838. WHEN IFNULL(d.fZls, 0) < rr.zl
  10839. THEN rr.zl
  10840. ELSE IFNULL(d.fZls, 0)
  10841. END
  10842. ELSE c.nzdls
  10843. END
  10844. )
  10845. END
  10846. ELSE 0
  10847. END
  10848. ELSE
  10849. CASE
  10850. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10851. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10852. CASE
  10853. WHEN a.cCyddxMc = '装配'
  10854. OR a.cCyddxMc LIKE '%正文%'
  10855. OR a.cCyddxMc LIKE '%答案%'
  10856. OR a.cCyddxMc LIKE '%卷%'
  10857. THEN
  10858. CASE
  10859. WHEN CASE
  10860. WHEN IFNULL(d.fZls, 0) < rr.zl
  10861. THEN rr.zl
  10862. ELSE IFNULL(d.fZls, 0)
  10863. END = 0
  10864. THEN c.nzdls
  10865. ELSE (
  10866. CASE
  10867. WHEN c.nzdls <
  10868. CASE
  10869. WHEN IFNULL(d.fZls, 0) < rr.zl
  10870. THEN rr.zl
  10871. ELSE IFNULL(d.fZls, 0)
  10872. END
  10873. THEN
  10874. CASE
  10875. WHEN IFNULL(d.fZls, 0) < rr.zl
  10876. THEN rr.zl
  10877. ELSE IFNULL(d.fZls, 0)
  10878. END
  10879. ELSE c.nzdls
  10880. END
  10881. )
  10882. END
  10883. ELSE 0
  10884. END
  10885. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10886. END
  10887. END )
  10888. , 3) 马88甲纸令
  10889. ")
  10890. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10891. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10892. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10893. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10894. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10895. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10896. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  10897. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10898. ->group("CASE
  10899. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10900. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10901. END,Name_WorkGroup")
  10902. ->buildSql();
  10903. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  10904. ->field("
  10905. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10906. ROUND(SUM(
  10907. CASE
  10908. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10909. THEN
  10910. CASE
  10911. WHEN a.cCyddxMc = '装配'
  10912. OR a.cCyddxMc LIKE '%正文%'
  10913. OR a.cCyddxMc LIKE '%答案%'
  10914. OR a.cCyddxMc LIKE '%卷%'
  10915. THEN
  10916. CASE
  10917. WHEN CASE
  10918. WHEN IFNULL(d.fZls, 0) < rr.zl
  10919. THEN rr.zl
  10920. ELSE IFNULL(d.fZls, 0)
  10921. END = 0
  10922. THEN c.nzdls
  10923. ELSE (
  10924. CASE
  10925. WHEN c.nzdls <
  10926. CASE
  10927. WHEN IFNULL(d.fZls, 0) < rr.zl
  10928. THEN rr.zl
  10929. ELSE IFNULL(d.fZls, 0)
  10930. END
  10931. THEN
  10932. CASE
  10933. WHEN IFNULL(d.fZls, 0) < rr.zl
  10934. THEN rr.zl
  10935. ELSE IFNULL(d.fZls, 0)
  10936. END
  10937. ELSE c.nzdls
  10938. END
  10939. )
  10940. END
  10941. ELSE 0
  10942. END
  10943. ELSE
  10944. CASE
  10945. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10946. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10947. CASE
  10948. WHEN a.cCyddxMc = '装配'
  10949. OR a.cCyddxMc LIKE '%正文%'
  10950. OR a.cCyddxMc LIKE '%答案%'
  10951. OR a.cCyddxMc LIKE '%卷%'
  10952. THEN
  10953. CASE
  10954. WHEN CASE
  10955. WHEN IFNULL(d.fZls, 0) < rr.zl
  10956. THEN rr.zl
  10957. ELSE IFNULL(d.fZls, 0)
  10958. END = 0
  10959. THEN c.nzdls
  10960. ELSE (
  10961. CASE
  10962. WHEN c.nzdls <
  10963. CASE
  10964. WHEN IFNULL(d.fZls, 0) < rr.zl
  10965. THEN rr.zl
  10966. ELSE IFNULL(d.fZls, 0)
  10967. END
  10968. THEN
  10969. CASE
  10970. WHEN IFNULL(d.fZls, 0) < rr.zl
  10971. THEN rr.zl
  10972. ELSE IFNULL(d.fZls, 0)
  10973. END
  10974. ELSE c.nzdls
  10975. END
  10976. )
  10977. END
  10978. ELSE 0
  10979. END
  10980. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10981. END
  10982. END )
  10983. , 3) 马88乙纸令
  10984. ")
  10985. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10986. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10987. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10988. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10989. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10990. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10991. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  10992. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10993. ->group("CASE
  10994. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10995. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10996. END,Name_WorkGroup")
  10997. ->buildSql();
  10998. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  10999. ->field("
  11000. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11001. ROUND(SUM(
  11002. CASE
  11003. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11004. THEN
  11005. CASE
  11006. WHEN a.cCyddxMc = '装配'
  11007. OR a.cCyddxMc LIKE '%正文%'
  11008. OR a.cCyddxMc LIKE '%答案%'
  11009. OR a.cCyddxMc LIKE '%卷%'
  11010. THEN
  11011. CASE
  11012. WHEN CASE
  11013. WHEN IFNULL(d.fZls, 0) < rr.zl
  11014. THEN rr.zl
  11015. ELSE IFNULL(d.fZls, 0)
  11016. END = 0
  11017. THEN c.nzdls
  11018. ELSE (
  11019. CASE
  11020. WHEN c.nzdls <
  11021. CASE
  11022. WHEN IFNULL(d.fZls, 0) < rr.zl
  11023. THEN rr.zl
  11024. ELSE IFNULL(d.fZls, 0)
  11025. END
  11026. THEN
  11027. CASE
  11028. WHEN IFNULL(d.fZls, 0) < rr.zl
  11029. THEN rr.zl
  11030. ELSE IFNULL(d.fZls, 0)
  11031. END
  11032. ELSE c.nzdls
  11033. END
  11034. )
  11035. END
  11036. ELSE 0
  11037. END
  11038. ELSE
  11039. CASE
  11040. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11041. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11042. CASE
  11043. WHEN a.cCyddxMc = '装配'
  11044. OR a.cCyddxMc LIKE '%正文%'
  11045. OR a.cCyddxMc LIKE '%答案%'
  11046. OR a.cCyddxMc LIKE '%卷%'
  11047. THEN
  11048. CASE
  11049. WHEN CASE
  11050. WHEN IFNULL(d.fZls, 0) < rr.zl
  11051. THEN rr.zl
  11052. ELSE IFNULL(d.fZls, 0)
  11053. END = 0
  11054. THEN c.nzdls
  11055. ELSE (
  11056. CASE
  11057. WHEN c.nzdls <
  11058. CASE
  11059. WHEN IFNULL(d.fZls, 0) < rr.zl
  11060. THEN rr.zl
  11061. ELSE IFNULL(d.fZls, 0)
  11062. END
  11063. THEN
  11064. CASE
  11065. WHEN IFNULL(d.fZls, 0) < rr.zl
  11066. THEN rr.zl
  11067. ELSE IFNULL(d.fZls, 0)
  11068. END
  11069. ELSE c.nzdls
  11070. END
  11071. )
  11072. END
  11073. ELSE 0
  11074. END
  11075. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11076. END
  11077. END )
  11078. , 3) 马55乙纸令
  11079. ")
  11080. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11081. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11082. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11083. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11084. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11085. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11086. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  11087. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11088. ->group("CASE
  11089. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11090. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11091. END,Name_WorkGroup")
  11092. ->buildSql();
  11093. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  11094. ->field("
  11095. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11096. ROUND(SUM(
  11097. CASE
  11098. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11099. THEN
  11100. CASE
  11101. WHEN a.cCyddxMc = '装配'
  11102. OR a.cCyddxMc LIKE '%正文%'
  11103. OR a.cCyddxMc LIKE '%答案%'
  11104. OR a.cCyddxMc LIKE '%卷%'
  11105. THEN
  11106. CASE
  11107. WHEN CASE
  11108. WHEN IFNULL(d.fZls, 0) < rr.zl
  11109. THEN rr.zl
  11110. ELSE IFNULL(d.fZls, 0)
  11111. END = 0
  11112. THEN c.nzdls
  11113. ELSE (
  11114. CASE
  11115. WHEN c.nzdls <
  11116. CASE
  11117. WHEN IFNULL(d.fZls, 0) < rr.zl
  11118. THEN rr.zl
  11119. ELSE IFNULL(d.fZls, 0)
  11120. END
  11121. THEN
  11122. CASE
  11123. WHEN IFNULL(d.fZls, 0) < rr.zl
  11124. THEN rr.zl
  11125. ELSE IFNULL(d.fZls, 0)
  11126. END
  11127. ELSE c.nzdls
  11128. END
  11129. )
  11130. END
  11131. ELSE 0
  11132. END
  11133. ELSE
  11134. CASE
  11135. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11136. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11137. CASE
  11138. WHEN a.cCyddxMc = '装配'
  11139. OR a.cCyddxMc LIKE '%正文%'
  11140. OR a.cCyddxMc LIKE '%答案%'
  11141. OR a.cCyddxMc LIKE '%卷%'
  11142. THEN
  11143. CASE
  11144. WHEN CASE
  11145. WHEN IFNULL(d.fZls, 0) < rr.zl
  11146. THEN rr.zl
  11147. ELSE IFNULL(d.fZls, 0)
  11148. END = 0
  11149. THEN c.nzdls
  11150. ELSE (
  11151. CASE
  11152. WHEN c.nzdls <
  11153. CASE
  11154. WHEN IFNULL(d.fZls, 0) < rr.zl
  11155. THEN rr.zl
  11156. ELSE IFNULL(d.fZls, 0)
  11157. END
  11158. THEN
  11159. CASE
  11160. WHEN IFNULL(d.fZls, 0) < rr.zl
  11161. THEN rr.zl
  11162. ELSE IFNULL(d.fZls, 0)
  11163. END
  11164. ELSE c.nzdls
  11165. END
  11166. )
  11167. END
  11168. ELSE 0
  11169. END
  11170. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11171. END
  11172. END )
  11173. , 3) 马66乙纸令
  11174. ")
  11175. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11176. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11177. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11178. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11179. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11180. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11181. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  11182. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11183. ->group("CASE
  11184. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11185. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11186. END,Name_WorkGroup")
  11187. ->buildSql();
  11188. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  11189. ->field("
  11190. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11191. ROUND(SUM(
  11192. CASE
  11193. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11194. THEN
  11195. CASE
  11196. WHEN a.cCyddxMc = '装配'
  11197. OR a.cCyddxMc LIKE '%正文%'
  11198. OR a.cCyddxMc LIKE '%答案%'
  11199. OR a.cCyddxMc LIKE '%卷%'
  11200. THEN
  11201. CASE
  11202. WHEN CASE
  11203. WHEN IFNULL(d.fZls, 0) < rr.zl
  11204. THEN rr.zl
  11205. ELSE IFNULL(d.fZls, 0)
  11206. END = 0
  11207. THEN c.nzdls
  11208. ELSE (
  11209. CASE
  11210. WHEN c.nzdls <
  11211. CASE
  11212. WHEN IFNULL(d.fZls, 0) < rr.zl
  11213. THEN rr.zl
  11214. ELSE IFNULL(d.fZls, 0)
  11215. END
  11216. THEN
  11217. CASE
  11218. WHEN IFNULL(d.fZls, 0) < rr.zl
  11219. THEN rr.zl
  11220. ELSE IFNULL(d.fZls, 0)
  11221. END
  11222. ELSE c.nzdls
  11223. END
  11224. )
  11225. END
  11226. ELSE 0
  11227. END
  11228. ELSE
  11229. CASE
  11230. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11231. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11232. CASE
  11233. WHEN a.cCyddxMc = '装配'
  11234. OR a.cCyddxMc LIKE '%正文%'
  11235. OR a.cCyddxMc LIKE '%答案%'
  11236. OR a.cCyddxMc LIKE '%卷%'
  11237. THEN
  11238. CASE
  11239. WHEN CASE
  11240. WHEN IFNULL(d.fZls, 0) < rr.zl
  11241. THEN rr.zl
  11242. ELSE IFNULL(d.fZls, 0)
  11243. END = 0
  11244. THEN c.nzdls
  11245. ELSE (
  11246. CASE
  11247. WHEN c.nzdls <
  11248. CASE
  11249. WHEN IFNULL(d.fZls, 0) < rr.zl
  11250. THEN rr.zl
  11251. ELSE IFNULL(d.fZls, 0)
  11252. END
  11253. THEN
  11254. CASE
  11255. WHEN IFNULL(d.fZls, 0) < rr.zl
  11256. THEN rr.zl
  11257. ELSE IFNULL(d.fZls, 0)
  11258. END
  11259. ELSE c.nzdls
  11260. END
  11261. )
  11262. END
  11263. ELSE 0
  11264. END
  11265. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11266. END
  11267. END )
  11268. , 3) 马77乙纸令
  11269. ")
  11270. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11271. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11272. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11273. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11274. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11275. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11276. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  11277. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11278. ->group("CASE
  11279. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11280. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11281. END,Name_WorkGroup")
  11282. ->buildSql();
  11283. //DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  11284. $db = Db::table($A . 'a')
  11285. ->field("
  11286. DISTINCT DATE(A.RQ) rq,
  11287. floor(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  11288. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  11289. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  11290. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  11291. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  11292. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  11293. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  11294. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  11295. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  11296. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  11297. + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0)
  11298. + IFNULL(sum(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 0)
  11299. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0)) 纸令数总计
  11300. ")
  11301. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11302. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11303. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  11304. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  11305. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  11306. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  11307. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  11308. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  11309. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  11310. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  11311. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11312. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11313. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  11314. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  11315. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  11316. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  11317. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  11318. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  11319. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  11320. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  11321. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  11322. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  11323. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  11324. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  11325. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  11326. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  11327. ->group('rq')
  11328. ->buildSql();
  11329. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.纸令数总计 )) AS '无线胶订纸令'
  11330. $sql_final = Db::table($db . ' db')
  11331. ->field("
  11332. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11333. ROUND(SUM(db.纸令数总计), 0) AS jdzl
  11334. ")
  11335. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11336. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11337. ->select();
  11338. // 初始化数据
  11339. $i = 0;
  11340. $j = 0;
  11341. $k = 0;
  11342. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  11343. $currentYear = date("Y"); // 当前年份
  11344. $previousYear = (int)$currentYear - 1; // 去年
  11345. $previousTwoYear = (int)$currentYear - 2; // 前年
  11346. // 为三年的数据创建数组,初始值为0
  11347. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  11348. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11349. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  11350. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11351. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  11352. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  11353. // 遍历查询结果并填充数据
  11354. foreach ($sql_final as $v) {
  11355. // 获取年份和月份
  11356. $year = substr($v['rq'], 0, 4);
  11357. $month = substr($v['rq'], 5, 2);
  11358. // 如果是前年数据
  11359. if ($year == $previousTwoYear) {
  11360. $list['series'][0]['data'][(int)$month - 1] = $v['jdzl'];
  11361. }
  11362. // 如果是去年数据
  11363. if ($year == $previousYear) {
  11364. $list['series'][1]['data'][(int)$month - 1] = $v['jdzl'];
  11365. }
  11366. // 如果是今年数据
  11367. if ($year == $currentYear) {
  11368. $list['series'][2]['data'][(int)$month - 1] = $v['jdzl'];
  11369. }
  11370. }
  11371. $res['status'] = 0;
  11372. $res['msg'] = '';
  11373. $res['data'] = $list;
  11374. $redis->set($redis_key, json_encode($res));
  11375. return json_encode($res);
  11376. }
  11377. //胶订纸令->接口调用
  11378. public function jdzl(){
  11379. $redis=redis();
  11380. $redis_key = md5('jdzl_redis');
  11381. $redis_data = $redis->get($redis_key);
  11382. return $redis_data;
  11383. }
  11384. //精装纸令->缓存调用
  11385. public function jzzl_redis(){
  11386. $redis=redis();
  11387. $redis_key = md5('jzzl_redis');
  11388. //首先定义了起始时间和结束时间
  11389. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11390. ->union(function ($query) {
  11391. $query->table('scDayRpt_Teams')->alias('b')
  11392. ->field("DISTINCT DATE_FORMAT(
  11393. CASE
  11394. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  11395. ELSE b.dOnDuty
  11396. END,
  11397. '%Y-%m-%d'
  11398. ) AS RQ");
  11399. }, true)
  11400. ->buildSql();
  11401. //精1甲、精1甲纸令数
  11402. $B = Db::table('cpjtfk')
  11403. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11404. ->field("
  11405. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11406. sum(mcyd.NZWyz * iWCl / 1000) as 精1甲纸令数
  11407. ")
  11408. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  11409. ->group('drptdate,cbanzu')
  11410. ->buildSql();
  11411. //精1乙 精1乙纸令数
  11412. $B1 = Db::table('cpjtfk')
  11413. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11414. ->field("
  11415. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11416. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  11417. ")
  11418. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  11419. ->group('drptdate,cbanzu')
  11420. ->buildSql();
  11421. $rr = Db::table('scyddx')->alias('r')
  11422. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11423. ->group('r.ICYDID')
  11424. ->buildSql();
  11425. //精11甲--精11甲纸令
  11426. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11427. ->field("
  11428. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11429. ROUND(SUM(
  11430. CASE
  11431. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11432. THEN
  11433. CASE
  11434. WHEN a.cCyddxMc = '装配'
  11435. OR a.cCyddxMc LIKE '%正文%'
  11436. OR a.cCyddxMc LIKE '%答案%'
  11437. OR a.cCyddxMc LIKE '%卷%'
  11438. THEN
  11439. CASE
  11440. WHEN CASE
  11441. WHEN IFNULL(d.fZls, 0) < rr.zl
  11442. THEN rr.zl
  11443. ELSE IFNULL(d.fZls, 0)
  11444. END = 0
  11445. THEN c.nzdls
  11446. ELSE (
  11447. CASE
  11448. WHEN c.nzdls <
  11449. CASE
  11450. WHEN IFNULL(d.fZls, 0) < rr.zl
  11451. THEN rr.zl
  11452. ELSE IFNULL(d.fZls, 0)
  11453. END
  11454. THEN
  11455. CASE
  11456. WHEN IFNULL(d.fZls, 0) < rr.zl
  11457. THEN rr.zl
  11458. ELSE IFNULL(d.fZls, 0)
  11459. END
  11460. ELSE c.nzdls
  11461. END
  11462. )
  11463. END
  11464. ELSE 0
  11465. END
  11466. ELSE
  11467. CASE
  11468. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11469. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11470. CASE
  11471. WHEN a.cCyddxMc = '装配'
  11472. OR a.cCyddxMc LIKE '%正文%'
  11473. OR a.cCyddxMc LIKE '%答案%'
  11474. OR a.cCyddxMc LIKE '%卷%'
  11475. THEN
  11476. CASE
  11477. WHEN CASE
  11478. WHEN IFNULL(d.fZls, 0) < rr.zl
  11479. THEN rr.zl
  11480. ELSE IFNULL(d.fZls, 0)
  11481. END = 0
  11482. THEN c.nzdls
  11483. ELSE (
  11484. CASE
  11485. WHEN c.nzdls <
  11486. CASE
  11487. WHEN IFNULL(d.fZls, 0) < rr.zl
  11488. THEN rr.zl
  11489. ELSE IFNULL(d.fZls, 0)
  11490. END
  11491. THEN
  11492. CASE
  11493. WHEN IFNULL(d.fZls, 0) < rr.zl
  11494. THEN rr.zl
  11495. ELSE IFNULL(d.fZls, 0)
  11496. END
  11497. ELSE c.nzdls
  11498. END
  11499. )
  11500. END
  11501. ELSE 0
  11502. END
  11503. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11504. END
  11505. END )
  11506. , 3) 精11甲纸令,
  11507. d.cSccpbh
  11508. ")
  11509. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11510. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11511. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11512. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11513. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11514. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11515. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  11516. ->where('a.cTechName' ,'=','精装联动')
  11517. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11518. ->group("CASE
  11519. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11520. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11521. END,Name_WorkGroup")
  11522. ->buildSql();
  11523. //精11乙--精11乙纸令
  11524. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11525. ->field("
  11526. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11527. ROUND(SUM(
  11528. CASE
  11529. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11530. THEN
  11531. CASE
  11532. WHEN a.cCyddxMc = '装配'
  11533. OR a.cCyddxMc LIKE '%正文%'
  11534. OR a.cCyddxMc LIKE '%答案%'
  11535. OR a.cCyddxMc LIKE '%卷%'
  11536. THEN
  11537. CASE
  11538. WHEN CASE
  11539. WHEN IFNULL(d.fZls, 0) < rr.zl
  11540. THEN rr.zl
  11541. ELSE IFNULL(d.fZls, 0)
  11542. END = 0
  11543. THEN c.nzdls
  11544. ELSE (
  11545. CASE
  11546. WHEN c.nzdls <
  11547. CASE
  11548. WHEN IFNULL(d.fZls, 0) < rr.zl
  11549. THEN rr.zl
  11550. ELSE IFNULL(d.fZls, 0)
  11551. END
  11552. THEN
  11553. CASE
  11554. WHEN IFNULL(d.fZls, 0) < rr.zl
  11555. THEN rr.zl
  11556. ELSE IFNULL(d.fZls, 0)
  11557. END
  11558. ELSE c.nzdls
  11559. END
  11560. )
  11561. END
  11562. ELSE 0
  11563. END
  11564. ELSE
  11565. CASE
  11566. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11567. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11568. CASE
  11569. WHEN a.cCyddxMc = '装配'
  11570. OR a.cCyddxMc LIKE '%正文%'
  11571. OR a.cCyddxMc LIKE '%答案%'
  11572. OR a.cCyddxMc LIKE '%卷%'
  11573. THEN
  11574. CASE
  11575. WHEN CASE
  11576. WHEN IFNULL(d.fZls, 0) < rr.zl
  11577. THEN rr.zl
  11578. ELSE IFNULL(d.fZls, 0)
  11579. END = 0
  11580. THEN c.nzdls
  11581. ELSE (
  11582. CASE
  11583. WHEN c.nzdls <
  11584. CASE
  11585. WHEN IFNULL(d.fZls, 0) < rr.zl
  11586. THEN rr.zl
  11587. ELSE IFNULL(d.fZls, 0)
  11588. END
  11589. THEN
  11590. CASE
  11591. WHEN IFNULL(d.fZls, 0) < rr.zl
  11592. THEN rr.zl
  11593. ELSE IFNULL(d.fZls, 0)
  11594. END
  11595. ELSE c.nzdls
  11596. END
  11597. )
  11598. END
  11599. ELSE 0
  11600. END
  11601. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11602. END
  11603. END )
  11604. , 3) 精11乙纸令,
  11605. d.cSccpbh
  11606. ")
  11607. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11608. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11609. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11610. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11611. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11612. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11613. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  11614. ->where('a.cTechName' ,'=','精装联动')
  11615. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11616. ->group("CASE
  11617. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11618. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11619. END,Name_WorkGroup")
  11620. ->buildSql();
  11621. $db = Db::table($A . 'a')
  11622. ->field("
  11623. DISTINCT DATE(A.RQ) rq,
  11624. floor(IFNULL(sum(b.精1甲纸令数), 0) + IFNULL(sum(b1.精1乙纸令数), 0)
  11625. + IFNULL(sum(Bb.精11甲纸令), 0) + IFNULL(sum(Bb1.精11乙纸令), 0)) 纸令数总计
  11626. ")
  11627. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11628. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11629. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11630. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11631. ->group('rq')
  11632. ->buildSql();
  11633. $sql_final = Db::table($db . ' db')
  11634. ->field("
  11635. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11636. ROUND(sum(db.纸令数总计), 0) as jzzl
  11637. ")
  11638. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11639. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11640. ->select();
  11641. $redis->set($redis_key, json_encode($sql_final));
  11642. echo date("Y-m-d H:i:s").' 存进去了';
  11643. return $sql_final;
  11644. }
  11645. //精装纸令->接口调用
  11646. public function jzzl(){
  11647. $redis=redis();
  11648. $sql_final = json_decode($redis->get(md5('jzzl_redis')), true);
  11649. $i = 0;
  11650. $j = 0;
  11651. $k = 0;
  11652. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  11653. // 获取当前年份、去年和前年
  11654. $currentYear = date("Y"); // 当前年份
  11655. $previousYear = (int)$currentYear - 1; // 去年
  11656. $previousTwoYear = (int)$currentYear - 2; // 前年
  11657. // 初始化三年的数据
  11658. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  11659. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11660. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  11661. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11662. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  11663. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  11664. // 遍历查询结果并填充数据
  11665. foreach ($sql_final as $v) {
  11666. // 获取年份和月份
  11667. $year = substr($v['rq'], 0, 4);
  11668. $month = substr($v['rq'], 5, 2);
  11669. // 如果是前年数据
  11670. if ($year == $previousTwoYear) {
  11671. $list['series'][0]['data'][(int)$month - 1] = $v['jzzl'];
  11672. }
  11673. // 如果是去年数据
  11674. if ($year == $previousYear) {
  11675. $list['series'][1]['data'][(int)$month - 1] = $v['jzzl'];
  11676. }
  11677. // 如果是今年数据
  11678. if ($year == $currentYear) {
  11679. $list['series'][2]['data'][(int)$month - 1] = $v['jzzl'];
  11680. }
  11681. }
  11682. $res['status'] = 0;
  11683. $res['msg'] = '';
  11684. $res['data'] = $list;
  11685. return json_encode($res);
  11686. }
  11687. //骑马纸令->缓存调用
  11688. public function qmzl_redis(){
  11689. $redis=redis();
  11690. $redis_key = md5('qmzl_redis');
  11691. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  11692. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  11693. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  11694. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  11695. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  11696. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  11697. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11698. ->union(function ($query) {
  11699. $query->table('scDayRpt_Teams')->alias('b')
  11700. ->field("DISTINCT DATE_FORMAT(
  11701. CASE
  11702. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  11703. ELSE b.dOnDuty
  11704. END,
  11705. '%Y-%m-%d'
  11706. ) AS RQ");
  11707. }, true)
  11708. ->buildSql();
  11709. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  11710. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  11711. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  11712. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  11713. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  11714. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  11715. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  11716. $B = Db::table('cpjtfk')
  11717. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11718. ->field("
  11719. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11720. sum(mcyd.NZWyz * iWCl / 1000) as 骑1甲纸令数
  11721. ")
  11722. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  11723. ->group('drptdate,cbanzu')
  11724. ->buildSql();
  11725. $B1 = Db::table('cpjtfk')
  11726. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11727. ->field("
  11728. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11729. sum(mcyd.NZWyz * iWCl / 1000) as 骑1乙纸令数
  11730. ")
  11731. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  11732. ->group('drptdate,cbanzu')
  11733. ->buildSql();
  11734. $C = Db::table('cpjtfk')
  11735. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11736. ->field("
  11737. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11738. sum(mcyd.NZWyz * iWCl / 1000) as 骑2甲纸令数
  11739. ")
  11740. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  11741. ->group('drptdate,cbanzu')
  11742. ->buildSql();
  11743. $C1 = Db::table('cpjtfk')
  11744. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11745. ->field("
  11746. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11747. sum(mcyd.NZWyz * iWCl / 1000) as 骑2乙纸令数
  11748. ")
  11749. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  11750. ->group('drptdate,cbanzu')
  11751. ->buildSql();
  11752. $D = Db::table('cpjtfk')
  11753. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11754. ->field("
  11755. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11756. sum(mcyd.NZWyz * iWCl / 1000) as 骑3甲纸令数
  11757. ")
  11758. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  11759. ->group('drptdate,cbanzu')
  11760. ->buildSql();
  11761. $D1 = Db::table('cpjtfk')
  11762. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11763. ->field("
  11764. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11765. sum(mcyd.NZWyz * iWCl / 1000) as 骑3乙纸令数
  11766. ")
  11767. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  11768. ->group('drptdate,cbanzu')
  11769. ->buildSql();
  11770. $E = Db::table('cpjtfk')
  11771. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11772. ->field("
  11773. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11774. sum(mcyd.NZWyz * iWCl / 1000) as 骑4甲纸令数
  11775. ")
  11776. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  11777. ->group('drptdate,cbanzu')
  11778. ->buildSql();
  11779. $E1 = Db::table('cpjtfk')
  11780. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11781. ->field("
  11782. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11783. sum(mcyd.NZWyz * iWCl / 1000) as 骑4乙纸令数
  11784. ")
  11785. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  11786. ->group('drptdate,cbanzu')
  11787. ->buildSql();
  11788. $rr = Db::table('scyddx')->alias('r')
  11789. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11790. ->group('r.ICYDID')
  11791. ->buildSql();
  11792. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  11793. //2.使用别名$Bb表示主查询结果。
  11794. //3.查询的主要数据来源是表ql_report_feedback_day。
  11795. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  11796. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  11797. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  11798. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  11799. //8.通过buildSql方法生成最终的SQL查询语句
  11800. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11801. ->field("
  11802. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11803. ROUND(SUM(
  11804. CASE
  11805. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11806. THEN
  11807. CASE
  11808. WHEN a.cCyddxMc = '装配'
  11809. OR a.cCyddxMc LIKE '%正文%'
  11810. OR a.cCyddxMc LIKE '%答案%'
  11811. OR a.cCyddxMc LIKE '%卷%'
  11812. THEN
  11813. CASE
  11814. WHEN CASE
  11815. WHEN IFNULL(d.fZls, 0) < rr.zl
  11816. THEN rr.zl
  11817. ELSE IFNULL(d.fZls, 0)
  11818. END = 0
  11819. THEN c.nzdls
  11820. ELSE (
  11821. CASE
  11822. WHEN c.nzdls <
  11823. CASE
  11824. WHEN IFNULL(d.fZls, 0) < rr.zl
  11825. THEN rr.zl
  11826. ELSE IFNULL(d.fZls, 0)
  11827. END
  11828. THEN
  11829. CASE
  11830. WHEN IFNULL(d.fZls, 0) < rr.zl
  11831. THEN rr.zl
  11832. ELSE IFNULL(d.fZls, 0)
  11833. END
  11834. ELSE c.nzdls
  11835. END
  11836. )
  11837. END
  11838. ELSE 0
  11839. END
  11840. ELSE
  11841. CASE
  11842. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11843. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11844. CASE
  11845. WHEN a.cCyddxMc = '装配'
  11846. OR a.cCyddxMc LIKE '%正文%'
  11847. OR a.cCyddxMc LIKE '%答案%'
  11848. OR a.cCyddxMc LIKE '%卷%'
  11849. THEN
  11850. CASE
  11851. WHEN CASE
  11852. WHEN IFNULL(d.fZls, 0) < rr.zl
  11853. THEN rr.zl
  11854. ELSE IFNULL(d.fZls, 0)
  11855. END = 0
  11856. THEN c.nzdls
  11857. ELSE (
  11858. CASE
  11859. WHEN c.nzdls <
  11860. CASE
  11861. WHEN IFNULL(d.fZls, 0) < rr.zl
  11862. THEN rr.zl
  11863. ELSE IFNULL(d.fZls, 0)
  11864. END
  11865. THEN
  11866. CASE
  11867. WHEN IFNULL(d.fZls, 0) < rr.zl
  11868. THEN rr.zl
  11869. ELSE IFNULL(d.fZls, 0)
  11870. END
  11871. ELSE c.nzdls
  11872. END
  11873. )
  11874. END
  11875. ELSE 0
  11876. END
  11877. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11878. END
  11879. END )
  11880. , 3) 骑11甲纸令
  11881. ")
  11882. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11883. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11884. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11885. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11886. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11887. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11888. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  11889. ->where('a.cTechName' ,'=','骑马联动')
  11890. ->group("CASE
  11891. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11892. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11893. END,Name_WorkGroup")
  11894. ->buildSql();
  11895. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11896. ->field("
  11897. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11898. ROUND(SUM(
  11899. CASE
  11900. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11901. THEN
  11902. CASE
  11903. WHEN a.cCyddxMc = '装配'
  11904. OR a.cCyddxMc LIKE '%正文%'
  11905. OR a.cCyddxMc LIKE '%答案%'
  11906. OR a.cCyddxMc LIKE '%卷%'
  11907. THEN
  11908. CASE
  11909. WHEN CASE
  11910. WHEN IFNULL(d.fZls, 0) < rr.zl
  11911. THEN rr.zl
  11912. ELSE IFNULL(d.fZls, 0)
  11913. END = 0
  11914. THEN c.nzdls
  11915. ELSE (
  11916. CASE
  11917. WHEN c.nzdls <
  11918. CASE
  11919. WHEN IFNULL(d.fZls, 0) < rr.zl
  11920. THEN rr.zl
  11921. ELSE IFNULL(d.fZls, 0)
  11922. END
  11923. THEN
  11924. CASE
  11925. WHEN IFNULL(d.fZls, 0) < rr.zl
  11926. THEN rr.zl
  11927. ELSE IFNULL(d.fZls, 0)
  11928. END
  11929. ELSE c.nzdls
  11930. END
  11931. )
  11932. END
  11933. ELSE 0
  11934. END
  11935. ELSE
  11936. CASE
  11937. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11938. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11939. CASE
  11940. WHEN a.cCyddxMc = '装配'
  11941. OR a.cCyddxMc LIKE '%正文%'
  11942. OR a.cCyddxMc LIKE '%答案%'
  11943. OR a.cCyddxMc LIKE '%卷%'
  11944. THEN
  11945. CASE
  11946. WHEN CASE
  11947. WHEN IFNULL(d.fZls, 0) < rr.zl
  11948. THEN rr.zl
  11949. ELSE IFNULL(d.fZls, 0)
  11950. END = 0
  11951. THEN c.nzdls
  11952. ELSE (
  11953. CASE
  11954. WHEN c.nzdls <
  11955. CASE
  11956. WHEN IFNULL(d.fZls, 0) < rr.zl
  11957. THEN rr.zl
  11958. ELSE IFNULL(d.fZls, 0)
  11959. END
  11960. THEN
  11961. CASE
  11962. WHEN IFNULL(d.fZls, 0) < rr.zl
  11963. THEN rr.zl
  11964. ELSE IFNULL(d.fZls, 0)
  11965. END
  11966. ELSE c.nzdls
  11967. END
  11968. )
  11969. END
  11970. ELSE 0
  11971. END
  11972. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11973. END
  11974. END )
  11975. , 3) 骑11乙纸令
  11976. ")
  11977. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11978. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11979. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11980. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11981. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11982. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11983. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  11984. ->where('a.cTechName' ,'=','骑马联动')
  11985. ->group("CASE
  11986. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11987. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11988. END,Name_WorkGroup")
  11989. ->buildSql();
  11990. $CC = Db::table('ql_report_feedback_day')->alias('a')
  11991. ->field("
  11992. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11993. ROUND(SUM(
  11994. CASE
  11995. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11996. THEN
  11997. CASE
  11998. WHEN a.cCyddxMc = '装配'
  11999. OR a.cCyddxMc LIKE '%正文%'
  12000. OR a.cCyddxMc LIKE '%答案%'
  12001. OR a.cCyddxMc LIKE '%卷%'
  12002. THEN
  12003. CASE
  12004. WHEN CASE
  12005. WHEN IFNULL(d.fZls, 0) < rr.zl
  12006. THEN rr.zl
  12007. ELSE IFNULL(d.fZls, 0)
  12008. END = 0
  12009. THEN c.nzdls
  12010. ELSE (
  12011. CASE
  12012. WHEN c.nzdls <
  12013. CASE
  12014. WHEN IFNULL(d.fZls, 0) < rr.zl
  12015. THEN rr.zl
  12016. ELSE IFNULL(d.fZls, 0)
  12017. END
  12018. THEN
  12019. CASE
  12020. WHEN IFNULL(d.fZls, 0) < rr.zl
  12021. THEN rr.zl
  12022. ELSE IFNULL(d.fZls, 0)
  12023. END
  12024. ELSE c.nzdls
  12025. END
  12026. )
  12027. END
  12028. ELSE 0
  12029. END
  12030. ELSE
  12031. CASE
  12032. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12033. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12034. CASE
  12035. WHEN a.cCyddxMc = '装配'
  12036. OR a.cCyddxMc LIKE '%正文%'
  12037. OR a.cCyddxMc LIKE '%答案%'
  12038. OR a.cCyddxMc LIKE '%卷%'
  12039. THEN
  12040. CASE
  12041. WHEN CASE
  12042. WHEN IFNULL(d.fZls, 0) < rr.zl
  12043. THEN rr.zl
  12044. ELSE IFNULL(d.fZls, 0)
  12045. END = 0
  12046. THEN c.nzdls
  12047. ELSE (
  12048. CASE
  12049. WHEN c.nzdls <
  12050. CASE
  12051. WHEN IFNULL(d.fZls, 0) < rr.zl
  12052. THEN rr.zl
  12053. ELSE IFNULL(d.fZls, 0)
  12054. END
  12055. THEN
  12056. CASE
  12057. WHEN IFNULL(d.fZls, 0) < rr.zl
  12058. THEN rr.zl
  12059. ELSE IFNULL(d.fZls, 0)
  12060. END
  12061. ELSE c.nzdls
  12062. END
  12063. )
  12064. END
  12065. ELSE 0
  12066. END
  12067. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12068. END
  12069. END )
  12070. , 3) 骑22甲纸令
  12071. ")
  12072. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12073. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12074. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12075. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12076. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12077. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12078. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  12079. ->where('a.cTechName' ,'=','骑马联动')
  12080. ->group("CASE
  12081. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12082. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12083. END,Name_WorkGroup")
  12084. ->buildSql();
  12085. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12086. ->field("
  12087. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12088. ROUND(SUM(
  12089. CASE
  12090. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12091. THEN
  12092. CASE
  12093. WHEN a.cCyddxMc = '装配'
  12094. OR a.cCyddxMc LIKE '%正文%'
  12095. OR a.cCyddxMc LIKE '%答案%'
  12096. OR a.cCyddxMc LIKE '%卷%'
  12097. THEN
  12098. CASE
  12099. WHEN CASE
  12100. WHEN IFNULL(d.fZls, 0) < rr.zl
  12101. THEN rr.zl
  12102. ELSE IFNULL(d.fZls, 0)
  12103. END = 0
  12104. THEN c.nzdls
  12105. ELSE (
  12106. CASE
  12107. WHEN c.nzdls <
  12108. CASE
  12109. WHEN IFNULL(d.fZls, 0) < rr.zl
  12110. THEN rr.zl
  12111. ELSE IFNULL(d.fZls, 0)
  12112. END
  12113. THEN
  12114. CASE
  12115. WHEN IFNULL(d.fZls, 0) < rr.zl
  12116. THEN rr.zl
  12117. ELSE IFNULL(d.fZls, 0)
  12118. END
  12119. ELSE c.nzdls
  12120. END
  12121. )
  12122. END
  12123. ELSE 0
  12124. END
  12125. ELSE
  12126. CASE
  12127. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12128. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12129. CASE
  12130. WHEN a.cCyddxMc = '装配'
  12131. OR a.cCyddxMc LIKE '%正文%'
  12132. OR a.cCyddxMc LIKE '%答案%'
  12133. OR a.cCyddxMc LIKE '%卷%'
  12134. THEN
  12135. CASE
  12136. WHEN CASE
  12137. WHEN IFNULL(d.fZls, 0) < rr.zl
  12138. THEN rr.zl
  12139. ELSE IFNULL(d.fZls, 0)
  12140. END = 0
  12141. THEN c.nzdls
  12142. ELSE (
  12143. CASE
  12144. WHEN c.nzdls <
  12145. CASE
  12146. WHEN IFNULL(d.fZls, 0) < rr.zl
  12147. THEN rr.zl
  12148. ELSE IFNULL(d.fZls, 0)
  12149. END
  12150. THEN
  12151. CASE
  12152. WHEN IFNULL(d.fZls, 0) < rr.zl
  12153. THEN rr.zl
  12154. ELSE IFNULL(d.fZls, 0)
  12155. END
  12156. ELSE c.nzdls
  12157. END
  12158. )
  12159. END
  12160. ELSE 0
  12161. END
  12162. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12163. END
  12164. END )
  12165. , 3) 骑22乙纸令
  12166. ")
  12167. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12168. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12169. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12170. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12171. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12172. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12173. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  12174. ->where('a.cTechName' ,'=','骑马联动')
  12175. ->group("CASE
  12176. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12177. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12178. END,Name_WorkGroup")
  12179. ->buildSql();
  12180. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12181. ->field("
  12182. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12183. ROUND(SUM(
  12184. CASE
  12185. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12186. THEN
  12187. CASE
  12188. WHEN a.cCyddxMc = '装配'
  12189. OR a.cCyddxMc LIKE '%正文%'
  12190. OR a.cCyddxMc LIKE '%答案%'
  12191. OR a.cCyddxMc LIKE '%卷%'
  12192. THEN
  12193. CASE
  12194. WHEN CASE
  12195. WHEN IFNULL(d.fZls, 0) < rr.zl
  12196. THEN rr.zl
  12197. ELSE IFNULL(d.fZls, 0)
  12198. END = 0
  12199. THEN c.nzdls
  12200. ELSE (
  12201. CASE
  12202. WHEN c.nzdls <
  12203. CASE
  12204. WHEN IFNULL(d.fZls, 0) < rr.zl
  12205. THEN rr.zl
  12206. ELSE IFNULL(d.fZls, 0)
  12207. END
  12208. THEN
  12209. CASE
  12210. WHEN IFNULL(d.fZls, 0) < rr.zl
  12211. THEN rr.zl
  12212. ELSE IFNULL(d.fZls, 0)
  12213. END
  12214. ELSE c.nzdls
  12215. END
  12216. )
  12217. END
  12218. ELSE 0
  12219. END
  12220. ELSE
  12221. CASE
  12222. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12223. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12224. CASE
  12225. WHEN a.cCyddxMc = '装配'
  12226. OR a.cCyddxMc LIKE '%正文%'
  12227. OR a.cCyddxMc LIKE '%答案%'
  12228. OR a.cCyddxMc LIKE '%卷%'
  12229. THEN
  12230. CASE
  12231. WHEN CASE
  12232. WHEN IFNULL(d.fZls, 0) < rr.zl
  12233. THEN rr.zl
  12234. ELSE IFNULL(d.fZls, 0)
  12235. END = 0
  12236. THEN c.nzdls
  12237. ELSE (
  12238. CASE
  12239. WHEN c.nzdls <
  12240. CASE
  12241. WHEN IFNULL(d.fZls, 0) < rr.zl
  12242. THEN rr.zl
  12243. ELSE IFNULL(d.fZls, 0)
  12244. END
  12245. THEN
  12246. CASE
  12247. WHEN IFNULL(d.fZls, 0) < rr.zl
  12248. THEN rr.zl
  12249. ELSE IFNULL(d.fZls, 0)
  12250. END
  12251. ELSE c.nzdls
  12252. END
  12253. )
  12254. END
  12255. ELSE 0
  12256. END
  12257. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12258. END
  12259. END )
  12260. , 3) 骑33甲纸令
  12261. ")
  12262. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12263. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12264. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12265. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12266. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12267. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12268. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  12269. ->where('a.cTechName' ,'=','骑马联动')
  12270. ->group("CASE
  12271. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12272. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12273. END,Name_WorkGroup")
  12274. ->buildSql();
  12275. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12276. ->field("
  12277. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12278. ROUND(SUM(
  12279. CASE
  12280. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12281. THEN
  12282. CASE
  12283. WHEN a.cCyddxMc = '装配'
  12284. OR a.cCyddxMc LIKE '%正文%'
  12285. OR a.cCyddxMc LIKE '%答案%'
  12286. OR a.cCyddxMc LIKE '%卷%'
  12287. THEN
  12288. CASE
  12289. WHEN CASE
  12290. WHEN IFNULL(d.fZls, 0) < rr.zl
  12291. THEN rr.zl
  12292. ELSE IFNULL(d.fZls, 0)
  12293. END = 0
  12294. THEN c.nzdls
  12295. ELSE (
  12296. CASE
  12297. WHEN c.nzdls <
  12298. CASE
  12299. WHEN IFNULL(d.fZls, 0) < rr.zl
  12300. THEN rr.zl
  12301. ELSE IFNULL(d.fZls, 0)
  12302. END
  12303. THEN
  12304. CASE
  12305. WHEN IFNULL(d.fZls, 0) < rr.zl
  12306. THEN rr.zl
  12307. ELSE IFNULL(d.fZls, 0)
  12308. END
  12309. ELSE c.nzdls
  12310. END
  12311. )
  12312. END
  12313. ELSE 0
  12314. END
  12315. ELSE
  12316. CASE
  12317. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12318. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12319. CASE
  12320. WHEN a.cCyddxMc = '装配'
  12321. OR a.cCyddxMc LIKE '%正文%'
  12322. OR a.cCyddxMc LIKE '%答案%'
  12323. OR a.cCyddxMc LIKE '%卷%'
  12324. THEN
  12325. CASE
  12326. WHEN CASE
  12327. WHEN IFNULL(d.fZls, 0) < rr.zl
  12328. THEN rr.zl
  12329. ELSE IFNULL(d.fZls, 0)
  12330. END = 0
  12331. THEN c.nzdls
  12332. ELSE (
  12333. CASE
  12334. WHEN c.nzdls <
  12335. CASE
  12336. WHEN IFNULL(d.fZls, 0) < rr.zl
  12337. THEN rr.zl
  12338. ELSE IFNULL(d.fZls, 0)
  12339. END
  12340. THEN
  12341. CASE
  12342. WHEN IFNULL(d.fZls, 0) < rr.zl
  12343. THEN rr.zl
  12344. ELSE IFNULL(d.fZls, 0)
  12345. END
  12346. ELSE c.nzdls
  12347. END
  12348. )
  12349. END
  12350. ELSE 0
  12351. END
  12352. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12353. END
  12354. END )
  12355. , 3) 骑33乙纸令
  12356. ")
  12357. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12358. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12359. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12360. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12361. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12362. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12363. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  12364. ->where('a.cTechName' ,'=','骑马联动')
  12365. ->group("CASE
  12366. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12367. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12368. END,Name_WorkGroup")
  12369. ->buildSql();
  12370. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12371. ->field("
  12372. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12373. ROUND(SUM(
  12374. CASE
  12375. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12376. THEN
  12377. CASE
  12378. WHEN a.cCyddxMc = '装配'
  12379. OR a.cCyddxMc LIKE '%正文%'
  12380. OR a.cCyddxMc LIKE '%答案%'
  12381. OR a.cCyddxMc LIKE '%卷%'
  12382. THEN
  12383. CASE
  12384. WHEN CASE
  12385. WHEN IFNULL(d.fZls, 0) < rr.zl
  12386. THEN rr.zl
  12387. ELSE IFNULL(d.fZls, 0)
  12388. END = 0
  12389. THEN c.nzdls
  12390. ELSE (
  12391. CASE
  12392. WHEN c.nzdls <
  12393. CASE
  12394. WHEN IFNULL(d.fZls, 0) < rr.zl
  12395. THEN rr.zl
  12396. ELSE IFNULL(d.fZls, 0)
  12397. END
  12398. THEN
  12399. CASE
  12400. WHEN IFNULL(d.fZls, 0) < rr.zl
  12401. THEN rr.zl
  12402. ELSE IFNULL(d.fZls, 0)
  12403. END
  12404. ELSE c.nzdls
  12405. END
  12406. )
  12407. END
  12408. ELSE 0
  12409. END
  12410. ELSE
  12411. CASE
  12412. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12413. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12414. CASE
  12415. WHEN a.cCyddxMc = '装配'
  12416. OR a.cCyddxMc LIKE '%正文%'
  12417. OR a.cCyddxMc LIKE '%答案%'
  12418. OR a.cCyddxMc LIKE '%卷%'
  12419. THEN
  12420. CASE
  12421. WHEN CASE
  12422. WHEN IFNULL(d.fZls, 0) < rr.zl
  12423. THEN rr.zl
  12424. ELSE IFNULL(d.fZls, 0)
  12425. END = 0
  12426. THEN c.nzdls
  12427. ELSE (
  12428. CASE
  12429. WHEN c.nzdls <
  12430. CASE
  12431. WHEN IFNULL(d.fZls, 0) < rr.zl
  12432. THEN rr.zl
  12433. ELSE IFNULL(d.fZls, 0)
  12434. END
  12435. THEN
  12436. CASE
  12437. WHEN IFNULL(d.fZls, 0) < rr.zl
  12438. THEN rr.zl
  12439. ELSE IFNULL(d.fZls, 0)
  12440. END
  12441. ELSE c.nzdls
  12442. END
  12443. )
  12444. END
  12445. ELSE 0
  12446. END
  12447. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12448. END
  12449. END )
  12450. , 3) 骑44甲纸令
  12451. ")
  12452. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12453. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12454. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12455. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12456. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12457. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12458. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  12459. ->where('a.cTechName' ,'=','骑马联动')
  12460. ->group("CASE
  12461. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12462. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12463. END,Name_WorkGroup")
  12464. ->buildSql();
  12465. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12466. ->field("
  12467. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12468. ROUND(SUM(
  12469. CASE
  12470. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12471. THEN
  12472. CASE
  12473. WHEN a.cCyddxMc = '装配'
  12474. OR a.cCyddxMc LIKE '%正文%'
  12475. OR a.cCyddxMc LIKE '%答案%'
  12476. OR a.cCyddxMc LIKE '%卷%'
  12477. THEN
  12478. CASE
  12479. WHEN CASE
  12480. WHEN IFNULL(d.fZls, 0) < rr.zl
  12481. THEN rr.zl
  12482. ELSE IFNULL(d.fZls, 0)
  12483. END = 0
  12484. THEN c.nzdls
  12485. ELSE (
  12486. CASE
  12487. WHEN c.nzdls <
  12488. CASE
  12489. WHEN IFNULL(d.fZls, 0) < rr.zl
  12490. THEN rr.zl
  12491. ELSE IFNULL(d.fZls, 0)
  12492. END
  12493. THEN
  12494. CASE
  12495. WHEN IFNULL(d.fZls, 0) < rr.zl
  12496. THEN rr.zl
  12497. ELSE IFNULL(d.fZls, 0)
  12498. END
  12499. ELSE c.nzdls
  12500. END
  12501. )
  12502. END
  12503. ELSE 0
  12504. END
  12505. ELSE
  12506. CASE
  12507. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12508. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12509. CASE
  12510. WHEN a.cCyddxMc = '装配'
  12511. OR a.cCyddxMc LIKE '%正文%'
  12512. OR a.cCyddxMc LIKE '%答案%'
  12513. OR a.cCyddxMc LIKE '%卷%'
  12514. THEN
  12515. CASE
  12516. WHEN CASE
  12517. WHEN IFNULL(d.fZls, 0) < rr.zl
  12518. THEN rr.zl
  12519. ELSE IFNULL(d.fZls, 0)
  12520. END = 0
  12521. THEN c.nzdls
  12522. ELSE (
  12523. CASE
  12524. WHEN c.nzdls <
  12525. CASE
  12526. WHEN IFNULL(d.fZls, 0) < rr.zl
  12527. THEN rr.zl
  12528. ELSE IFNULL(d.fZls, 0)
  12529. END
  12530. THEN
  12531. CASE
  12532. WHEN IFNULL(d.fZls, 0) < rr.zl
  12533. THEN rr.zl
  12534. ELSE IFNULL(d.fZls, 0)
  12535. END
  12536. ELSE c.nzdls
  12537. END
  12538. )
  12539. END
  12540. ELSE 0
  12541. END
  12542. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12543. END
  12544. END )
  12545. , 3) 骑44乙纸令
  12546. ")
  12547. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12548. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12549. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12550. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12551. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12552. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12553. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  12554. ->where('a.cTechName' ,'=','骑马联动')
  12555. ->group("CASE
  12556. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12557. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12558. END,Name_WorkGroup")
  12559. ->buildSql();
  12560. $db = Db::table($A . 'a')
  12561. ->field("
  12562. DISTINCT DATE(A.RQ) rq,
  12563. TRUNCATE(IFNULL(sum(b.骑1甲纸令数), 0) + IFNULL(sum(b1.骑1乙纸令数), 0)
  12564. + IFNULL(sum(C.骑2甲纸令数), 0) + IFNULL(sum(C1.骑2乙纸令数), 0)
  12565. + IFNULL(sum(D.骑3甲纸令数), 0) + IFNULL(sum(D1.骑3乙纸令数), 0)
  12566. + IFNULL(sum(E.骑4甲纸令数), 0) + IFNULL(sum(E1.骑4乙纸令数), 0)
  12567. + IFNULL(sum(Bb.骑11甲纸令), 0) + IFNULL(sum(cc.骑22甲纸令), 0)
  12568. + IFNULL(sum(ee.骑33甲纸令), 0) + IFNULL(sum(hh.骑44甲纸令), 0)
  12569. + IFNULL(sum(Bb1.骑11乙纸令), 0) + IFNULL(sum(cc1.骑22乙纸令), 0)
  12570. + IFNULL(sum(ee1.骑33乙纸令), 0) + IFNULL(sum(hh1.骑44乙纸令), 0), 0) 纸令数总计
  12571. ")
  12572. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12573. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  12574. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  12575. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  12576. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  12577. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  12578. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  12579. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  12580. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  12581. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  12582. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  12583. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  12584. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  12585. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  12586. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  12587. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  12588. ->group('rq')
  12589. ->buildSql();
  12590. //使用GROUP BY对日期字段进行分组
  12591. //汇总每个月骑马纸令总和
  12592. $sql_final = Db::table($db . ' db')
  12593. ->field("
  12594. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12595. ROUND(sum(db.纸令数总计),0) as qmzl
  12596. ")
  12597. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  12598. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12599. ->select();
  12600. // 初始化数据
  12601. $i = 0;
  12602. $j = 0;
  12603. $k = 0;
  12604. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  12605. $currentYear = date("Y"); // 当前年份
  12606. $previousYear = (int)$currentYear - 1; // 去年
  12607. $previousTwoYear = (int)$currentYear - 2; // 前年
  12608. // 为三年的数据创建数组,初始值为0
  12609. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  12610. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12611. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  12612. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12613. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  12614. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  12615. // 遍历查询结果并填充数据
  12616. foreach ($sql_final as $v) {
  12617. // 获取年份和月份
  12618. $year = substr($v['rq'], 0, 4);
  12619. $month = substr($v['rq'], 5, 2);
  12620. // 如果是前年数据
  12621. if ($year == $previousTwoYear) {
  12622. $list['series'][0]['data'][(int)$month - 1] = $v['qmzl'];
  12623. }
  12624. // 如果是去年数据
  12625. if ($year == $previousYear) {
  12626. $list['series'][1]['data'][(int)$month - 1] = $v['qmzl'];
  12627. }
  12628. // 如果是今年数据
  12629. if ($year == $currentYear) {
  12630. $list['series'][2]['data'][(int)$month - 1] = $v['qmzl'];
  12631. }
  12632. }
  12633. $res['status'] = 0;
  12634. $res['msg'] = '';
  12635. $res['data'] = $list;
  12636. $redis->set($redis_key, json_encode($res));
  12637. return json_encode($res);
  12638. }
  12639. //骑马纸令->接口调用
  12640. public function qmzl(){
  12641. $redis=redis();
  12642. $redis_key = md5('qmzl_redis');
  12643. $redis_data = $redis->get($redis_key);
  12644. return $redis_data;
  12645. }
  12646. //胶订册数->缓存调用
  12647. public function jdcs_redis(){
  12648. $redis=redis();
  12649. $redis_key = md5('jdcs_redis');
  12650. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12651. ->union(function ($query) {
  12652. $query->table('scDayRpt_Teams')->alias('b')
  12653. ->field("DISTINCT DATE_FORMAT(
  12654. CASE
  12655. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12656. ELSE b.dOnDuty
  12657. END,
  12658. '%Y-%m-%d'
  12659. ) AS RQ");
  12660. }, true)
  12661. ->buildSql();
  12662. $B = Db::table('cpjtfk')
  12663. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12664. ->field("
  12665. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12666. sum(iwcl) as 马1甲
  12667. ")
  12668. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  12669. ->group('drptdate,cbanzu')
  12670. ->buildSql();
  12671. $B1 = Db::table('cpjtfk')
  12672. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12673. ->field("
  12674. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12675. sum(iwcl) as 马1乙
  12676. ")
  12677. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  12678. ->group('drptdate,cbanzu')
  12679. ->buildSql();
  12680. $C = Db::table('cpjtfk')
  12681. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12682. ->field("
  12683. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12684. sum(iwcl) as 马2甲
  12685. ")
  12686. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  12687. ->group('drptdate,cbanzu')
  12688. ->buildSql();
  12689. $C1 = Db::table('cpjtfk')
  12690. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12691. ->field("
  12692. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12693. sum(iwcl) as 马2乙
  12694. ")
  12695. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  12696. ->group('drptdate,cbanzu')
  12697. ->buildSql();
  12698. $D = Db::table('cpjtfk')
  12699. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12700. ->field("
  12701. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12702. sum(iwcl) as 马3甲
  12703. ")
  12704. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  12705. ->group('drptdate,cbanzu')
  12706. ->buildSql();
  12707. $D1 = Db::table('cpjtfk')
  12708. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12709. ->field("
  12710. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12711. sum(iwcl) as 马3乙
  12712. ")
  12713. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  12714. ->group('drptdate,cbanzu')
  12715. ->buildSql();
  12716. $E = Db::table('cpjtfk')
  12717. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12718. ->field("
  12719. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12720. sum(iwcl) as 马4甲
  12721. ")
  12722. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  12723. ->group('drptdate,cbanzu')
  12724. ->buildSql();
  12725. $E1 = Db::table('cpjtfk')
  12726. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12727. ->field("
  12728. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12729. sum(iwcl) as 马4乙
  12730. ")
  12731. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  12732. ->group('drptdate,cbanzu')
  12733. ->buildSql();
  12734. $F = Db::table('cpjtfk')
  12735. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12736. ->field("
  12737. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12738. sum(iwcl) as 马5甲
  12739. ")
  12740. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  12741. ->group('drptdate,cbanzu')
  12742. ->buildSql();
  12743. $F1 = Db::table('cpjtfk')
  12744. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12745. ->field("
  12746. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12747. sum(iwcl) as 马5乙,
  12748. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  12749. ")
  12750. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  12751. ->group('drptdate,cbanzu')
  12752. ->buildSql();
  12753. $rr = Db::table('scyddx')->alias('r')
  12754. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12755. ->group('r.ICYDID')
  12756. ->buildSql();
  12757. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12758. ->field("
  12759. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12760. sum(a.nAmount) as 马11甲")
  12761. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12762. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12763. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12764. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12765. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12766. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12767. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  12768. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12769. ->group("CASE
  12770. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12771. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12772. END,Name_WorkGroup")->buildSql();
  12773. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12774. ->field("
  12775. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12776. sum(a.nAmount) as 马11乙
  12777. ")
  12778. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12779. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12780. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12781. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12782. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12783. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12784. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  12785. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12786. ->group("CASE
  12787. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12788. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12789. END,Name_WorkGroup")
  12790. ->buildSql();
  12791. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12792. ->field("
  12793. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12794. sum(a.nAmount) as 马22甲
  12795. ")
  12796. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12797. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12798. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12799. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12800. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12801. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12802. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  12803. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12804. ->group("CASE
  12805. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12806. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12807. END,Name_WorkGroup")
  12808. ->buildSql();
  12809. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12810. ->field("
  12811. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12812. sum(a.nAmount) as 马22乙
  12813. ")
  12814. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12815. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12816. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12817. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12818. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12819. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12820. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  12821. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12822. ->group("CASE
  12823. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12824. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12825. END,Name_WorkGroup")
  12826. ->buildSql();
  12827. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12828. ->field("
  12829. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12830. sum(a.nAmount) as 马33甲
  12831. ")
  12832. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12833. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12834. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12835. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12836. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12837. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12838. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  12839. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12840. ->group("CASE
  12841. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12842. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12843. END,Name_WorkGroup")
  12844. ->buildSql();
  12845. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12846. ->field("
  12847. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12848. sum(a.nAmount) as 马33乙
  12849. ")
  12850. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12851. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12852. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12853. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12854. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12855. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12856. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  12857. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12858. ->group("CASE
  12859. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12860. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12861. END,Name_WorkGroup")
  12862. ->buildSql();
  12863. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12864. ->field("
  12865. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12866. sum(a.nAmount) as 马44甲
  12867. ")
  12868. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12869. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12870. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12871. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12872. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12873. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12874. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  12875. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12876. ->group("CASE
  12877. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12878. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12879. END,Name_WorkGroup")
  12880. ->buildSql();
  12881. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12882. ->field("
  12883. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12884. sum(a.nAmount) as 马44乙
  12885. ")
  12886. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12887. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12888. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12889. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12890. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12891. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12892. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  12893. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12894. ->group("CASE
  12895. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12896. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12897. END,Name_WorkGroup")
  12898. ->buildSql();
  12899. $XX = Db::table('ql_report_feedback_day')->alias('a')
  12900. ->field("
  12901. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12902. sum(a.nAmount) as 马55甲
  12903. ")
  12904. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12905. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12906. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12907. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12908. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12909. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12910. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  12911. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12912. ->group("CASE
  12913. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12914. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12915. END,Name_WorkGroup")
  12916. ->buildSql();
  12917. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  12918. ->field("
  12919. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12920. sum(a.nAmount) as 马66甲
  12921. ")
  12922. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12923. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12924. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12925. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12926. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12927. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12928. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  12929. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12930. ->group("CASE
  12931. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12932. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12933. END,Name_WorkGroup")
  12934. ->buildSql();
  12935. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  12936. ->field("
  12937. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12938. sum(a.nAmount) as 马77甲
  12939. ")
  12940. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12941. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12942. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12943. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12944. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12945. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12946. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  12947. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12948. ->group("CASE
  12949. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12950. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12951. END,Name_WorkGroup")
  12952. ->buildSql();
  12953. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  12954. ->field("
  12955. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12956. sum(a.nAmount) as 马88甲
  12957. ")
  12958. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12959. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12960. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12961. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12962. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12963. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12964. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  12965. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12966. ->group("CASE
  12967. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12968. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12969. END,Name_WorkGroup")
  12970. ->buildSql();
  12971. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  12972. ->field("
  12973. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12974. sum(a.nAmount) as 马55乙
  12975. ")
  12976. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12977. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12978. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12979. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12980. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12981. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12982. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  12983. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12984. ->group("CASE
  12985. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12986. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12987. END,Name_WorkGroup")
  12988. ->buildSql();
  12989. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  12990. ->field("
  12991. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12992. sum(a.nAmount) as 马66乙
  12993. ")
  12994. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12995. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12996. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12997. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12998. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12999. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13000. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  13001. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13002. ->group("CASE
  13003. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13004. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13005. END,Name_WorkGroup")
  13006. ->buildSql();
  13007. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  13008. ->field("
  13009. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13010. sum(a.nAmount) as 马77乙
  13011. ")
  13012. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13013. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13014. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13015. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13016. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13017. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13018. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  13019. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13020. ->group("CASE
  13021. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13022. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13023. END,Name_WorkGroup")
  13024. ->buildSql();
  13025. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  13026. ->field("
  13027. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13028. sum(a.nAmount) as 马88乙
  13029. ")
  13030. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13031. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13032. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13033. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13034. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13035. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13036. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  13037. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13038. ->group("CASE
  13039. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13040. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13041. END,Name_WorkGroup")
  13042. ->buildSql();
  13043. $db = Db::table($A . 'a')
  13044. ->field("
  13045. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  13046. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  13047. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  13048. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  13049. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  13050. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  13051. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  13052. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  13053. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  13054. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  13055. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  13056. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  13057. + IFNULL(JDJ4.马88甲, 0) + IFNULL(JDY4.马88乙, 0)
  13058. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  13059. ")
  13060. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13061. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  13062. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  13063. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  13064. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  13065. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  13066. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  13067. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  13068. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  13069. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  13070. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  13071. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  13072. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  13073. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  13074. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  13075. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  13076. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  13077. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  13078. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  13079. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  13080. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  13081. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  13082. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  13083. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  13084. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  13085. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  13086. ->buildSql();
  13087. $sql_final = Db::table($db . ' db')
  13088. ->field("
  13089. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13090. ROUND(sum(db.总计册), 0) as jdcs
  13091. ")
  13092. ->where("db.RQ >= '{$this->qianstart_time()}'
  13093. AND db.RQ <= '{$this->end_time()}' ")
  13094. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13095. ->select();
  13096. // 初始化数据
  13097. $i = 0;
  13098. $j = 0;
  13099. $k = 0;
  13100. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13101. $currentYear = date("Y"); // 当前年份
  13102. $previousYear = (int)$currentYear - 1; // 去年
  13103. $previousTwoYear = (int)$currentYear - 2; // 前年
  13104. // 为三年的数据创建数组,初始值为0
  13105. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13106. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13107. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13108. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13109. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13110. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13111. // 遍历查询结果并填充数据
  13112. foreach ($sql_final as $v) {
  13113. // 获取年份和月份
  13114. $year = substr($v['rq'], 0, 4);
  13115. $month = substr($v['rq'], 5, 2);
  13116. // 如果是前年数据
  13117. if ($year == $previousTwoYear) {
  13118. $list['series'][0]['data'][(int)$month - 1] = $v['jdcs'];
  13119. }
  13120. // 如果是去年数据
  13121. if ($year == $previousYear) {
  13122. $list['series'][1]['data'][(int)$month - 1] = $v['jdcs'];
  13123. }
  13124. // 如果是今年数据
  13125. if ($year == $currentYear) {
  13126. $list['series'][2]['data'][(int)$month - 1] = $v['jdcs'];
  13127. }
  13128. }
  13129. $res['status'] = 0;
  13130. $res['msg'] = '';
  13131. $res['data'] = $list;
  13132. $redis->set($redis_key, json_encode($res));
  13133. return json_encode($res);
  13134. }
  13135. //胶订册数->接口调用
  13136. public function jdcs(){
  13137. $redis=redis();
  13138. $redis_key = md5('jdcs_redis');
  13139. $redis_data = $redis->get($redis_key);
  13140. return $redis_data;
  13141. }
  13142. //精装册数->缓存调用
  13143. public function jzcs_redis(){
  13144. $redis=redis();
  13145. $redis_key = md5('jzcs_redis');
  13146. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  13147. ->union(function ($query) {
  13148. $query->table('scDayRpt_Teams')->alias('b')
  13149. ->field("DISTINCT DATE_FORMAT(
  13150. CASE
  13151. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  13152. ELSE b.dOnDuty
  13153. END,
  13154. '%Y-%m-%d'
  13155. ) AS RQ");
  13156. }, true)
  13157. ->buildSql();
  13158. //精1甲、精1甲纸令数
  13159. $B = Db::table('cpjtfk')
  13160. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13161. ->field("
  13162. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13163. sum(iwcl) as 精1甲
  13164. ")
  13165. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  13166. ->group('drptdate,cbanzu')
  13167. ->buildSql();
  13168. //精1乙 精1乙纸令数
  13169. $B1 = Db::table('cpjtfk')
  13170. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13171. ->field("
  13172. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13173. sum(iwcl) as 精1乙
  13174. ")
  13175. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  13176. ->group('drptdate,cbanzu')
  13177. ->buildSql();
  13178. $rr = Db::table('scyddx')->alias('r')
  13179. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  13180. ->group('r.ICYDID')
  13181. ->buildSql();
  13182. //精11甲--精11甲纸令
  13183. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  13184. ->field("
  13185. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13186. sum(a.nAmount) as 精11甲
  13187. ")
  13188. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13189. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13190. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13191. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13192. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13193. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13194. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  13195. ->where('a.cTechName' ,'=','精装联动')
  13196. ->group("CASE
  13197. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13198. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13199. END,Name_WorkGroup")
  13200. ->buildSql();
  13201. //精11乙--精11乙纸令
  13202. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  13203. ->field("
  13204. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13205. sum(a.nAmount) as 精11乙
  13206. ")
  13207. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13208. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13209. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13210. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13211. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13212. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13213. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  13214. ->where('a.cTechName' ,'=','精装联动')
  13215. ->group("CASE
  13216. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13217. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13218. END,Name_WorkGroup")
  13219. ->buildSql();
  13220. $db = Db::table($A . 'a')
  13221. ->field("
  13222. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  13223. IFNULL(B.精1甲, 0) + IFNULL(B1.精1乙, 0) + IFNULL(Bb.精11甲, 0) + IFNULL(Bb1.精11乙, 0) as 总计册
  13224. ")
  13225. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13226. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  13227. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  13228. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  13229. ->buildSql();
  13230. $sql_final = Db::table($db . ' db')
  13231. ->field("
  13232. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13233. ROUND(sum(db.总计册), 0) as jzcs
  13234. ")
  13235. ->where("db.RQ >= '{$this->qianstart_time()}'
  13236. AND db.RQ <= '{$this->end_time()}' ")
  13237. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13238. ->select();
  13239. // 初始化数据
  13240. $i = 0;
  13241. $j = 0;
  13242. $k = 0;
  13243. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13244. $currentYear = date("Y"); // 当前年份
  13245. $previousYear = (int)$currentYear - 1; // 去年
  13246. $previousTwoYear = (int)$currentYear - 2; // 前年
  13247. // 为三年的数据创建数组,初始值为0
  13248. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13249. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13250. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13251. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13252. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13253. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13254. // 遍历查询结果并填充数据
  13255. foreach ($sql_final as $v) {
  13256. // 获取年份和月份
  13257. $year = substr($v['rq'], 0, 4);
  13258. $month = substr($v['rq'], 5, 2);
  13259. // 如果是前年数据
  13260. if ($year == $previousTwoYear) {
  13261. $list['series'][0]['data'][(int)$month - 1] = $v['jzcs'];
  13262. }
  13263. // 如果是去年数据
  13264. if ($year == $previousYear) {
  13265. $list['series'][1]['data'][(int)$month - 1] = $v['jzcs'];
  13266. }
  13267. // 如果是今年数据
  13268. if ($year == $currentYear) {
  13269. $list['series'][2]['data'][(int)$month - 1] = $v['jzcs'];
  13270. }
  13271. }
  13272. $res['status'] = 0;
  13273. $res['msg'] = '';
  13274. $res['data'] = $list;
  13275. $redis->set($redis_key, json_encode($res));
  13276. return json_encode($res);
  13277. }
  13278. //精装册数->接口调用
  13279. public function jzcs(){
  13280. $redis=redis();
  13281. $redis_key = md5('jzcs_redis');
  13282. $redis_data = $redis->get($redis_key);
  13283. return $redis_data;
  13284. }
  13285. //骑马册数->缓存调用
  13286. public function qmcs_redis(){
  13287. $redis=redis();
  13288. $redis_key = md5('qmcs_redis');
  13289. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  13290. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  13291. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  13292. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  13293. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  13294. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  13295. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  13296. ->union(function ($query) {
  13297. $query->table('scDayRpt_Teams')->alias('b')
  13298. ->field("DISTINCT DATE_FORMAT(
  13299. CASE
  13300. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  13301. ELSE b.dOnDuty
  13302. END,
  13303. '%Y-%m-%d'
  13304. ) AS RQ");
  13305. }, true)
  13306. ->buildSql();
  13307. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  13308. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  13309. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  13310. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  13311. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  13312. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  13313. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  13314. $B = Db::table('cpjtfk')
  13315. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13316. ->field("
  13317. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13318. sum(iwcl) as 骑1甲
  13319. ")
  13320. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  13321. ->group('drptdate,cbanzu')
  13322. ->buildSql();
  13323. $B1 = Db::table('cpjtfk')
  13324. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13325. ->field("
  13326. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13327. sum(iwcl) as 骑1乙
  13328. ")
  13329. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  13330. ->group('drptdate,cbanzu')
  13331. ->buildSql();
  13332. $C = Db::table('cpjtfk')
  13333. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13334. ->field("
  13335. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13336. sum(iwcl) as 骑2甲
  13337. ")
  13338. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  13339. ->group('drptdate,cbanzu')
  13340. ->buildSql();
  13341. $C1 = Db::table('cpjtfk')
  13342. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13343. ->field("
  13344. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13345. sum(iwcl) as 骑2乙
  13346. ")
  13347. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  13348. ->group('drptdate,cbanzu')
  13349. ->buildSql();
  13350. $D = Db::table('cpjtfk')
  13351. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13352. ->field("
  13353. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13354. sum(iwcl) as 骑3甲
  13355. ")
  13356. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  13357. ->group('drptdate,cbanzu')
  13358. ->buildSql();
  13359. $D1 = Db::table('cpjtfk')
  13360. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13361. ->field("
  13362. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13363. sum(iwcl) as 骑3乙
  13364. ")
  13365. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  13366. ->group('drptdate,cbanzu')
  13367. ->buildSql();
  13368. $E = Db::table('cpjtfk')
  13369. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13370. ->field("
  13371. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13372. sum(iwcl) as 骑4甲
  13373. ")
  13374. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  13375. ->group('drptdate,cbanzu')
  13376. ->buildSql();
  13377. $E1 = Db::table('cpjtfk')
  13378. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13379. ->field("
  13380. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13381. sum(iwcl) as 骑4乙
  13382. ")
  13383. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  13384. ->group('drptdate,cbanzu')
  13385. ->buildSql();
  13386. $rr = Db::table('scyddx')->alias('r')
  13387. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  13388. ->group('r.ICYDID')
  13389. ->buildSql();
  13390. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  13391. //2.使用别名$Bb表示主查询结果。
  13392. //3.查询的主要数据来源是表ql_report_feedback_day。
  13393. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  13394. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  13395. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  13396. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  13397. //8.通过buildSql方法生成最终的SQL查询语句
  13398. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  13399. ->field("
  13400. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13401. sum(a.nAmount) as 骑11甲
  13402. ")
  13403. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13404. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13405. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13406. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13407. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13408. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13409. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  13410. ->where('a.cTechName' ,'=','骑马联动')
  13411. ->group("CASE
  13412. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13413. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13414. END,Name_WorkGroup")
  13415. ->buildSql();
  13416. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  13417. ->field("
  13418. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13419. sum(a.nAmount) as 骑11乙
  13420. ")
  13421. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13422. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13423. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13424. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13425. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13426. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13427. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  13428. ->where('a.cTechName' ,'=','骑马联动')
  13429. ->group("CASE
  13430. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13431. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13432. END,Name_WorkGroup")
  13433. ->buildSql();
  13434. $CC = Db::table('ql_report_feedback_day')->alias('a')
  13435. ->field("
  13436. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13437. sum(a.nAmount) as 骑22甲
  13438. ")
  13439. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13440. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13441. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13442. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13443. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13444. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13445. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  13446. ->where('a.cTechName' ,'=','骑马联动')
  13447. ->group("CASE
  13448. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13449. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13450. END,Name_WorkGroup")
  13451. ->buildSql();
  13452. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  13453. ->field("
  13454. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13455. sum(a.nAmount) as 骑22乙
  13456. ")
  13457. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13458. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13459. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13460. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13461. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13462. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13463. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  13464. ->where('a.cTechName' ,'=','骑马联动')
  13465. ->group("CASE
  13466. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13467. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13468. END,Name_WorkGroup")
  13469. ->buildSql();
  13470. $EE = Db::table('ql_report_feedback_day')->alias('a')
  13471. ->field("
  13472. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13473. sum(a.nAmount) as 骑33甲
  13474. ")
  13475. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13476. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13477. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13478. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13479. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13480. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13481. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  13482. ->where('a.cTechName' ,'=','骑马联动')
  13483. ->group("CASE
  13484. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13485. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13486. END,Name_WorkGroup")
  13487. ->buildSql();
  13488. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  13489. ->field("
  13490. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13491. sum(a.nAmount) as 骑33乙
  13492. ")
  13493. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13494. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13495. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13496. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13497. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13498. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13499. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  13500. ->where('a.cTechName' ,'=','骑马联动')
  13501. ->group("CASE
  13502. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13503. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13504. END,Name_WorkGroup")
  13505. ->buildSql();
  13506. $HH = Db::table('ql_report_feedback_day')->alias('a')
  13507. ->field("
  13508. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13509. sum(a.nAmount) as 骑44甲
  13510. ")
  13511. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13512. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13513. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13514. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13515. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13516. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13517. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  13518. ->where('a.cTechName' ,'=','骑马联动')
  13519. ->group("CASE
  13520. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13521. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13522. END,Name_WorkGroup")
  13523. ->buildSql();
  13524. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  13525. ->field("
  13526. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13527. sum(a.nAmount) as 骑44乙
  13528. ")
  13529. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13530. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13531. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13532. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13533. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13534. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13535. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  13536. ->where('a.cTechName' ,'=','骑马联动')
  13537. ->group("CASE
  13538. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13539. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13540. END,Name_WorkGroup")
  13541. ->buildSql();
  13542. //1.首先,定义了一个查询语句,该语句涉及多个表的连接和字段的计算。
  13543. //2.代码中使用了别名$db来表示主查询结果。
  13544. //3.查询的主要数据来源是表$A.'a'。
  13545. //4.查询的字段包括总计册和纸令数总计,通过对多个子查询结果相加得到。
  13546. //5.在查询中使用了LEFT JOIN进行表连接操作,将子查询结果与主查询结果进行连接,通过日期a.rq进行匹配。
  13547. //6.使用buildSql()方法生成最终的SQL查询语句
  13548. $db = Db::table($A . 'a')
  13549. ->field("
  13550. DISTINCT DATE(A.RQ) rq,
  13551. TRUNCATE(IFNULL(sum(B.骑1甲), 0) + IFNULL(sum(B1.骑1乙), 0)
  13552. + IFNULL(sum(C.骑2甲), 0) + IFNULL(sum(C1.骑2乙), 0)
  13553. + IFNULL(sum(D.骑3甲), 0) + IFNULL(sum(D1.骑3乙), 0)
  13554. + IFNULL(sum(E.骑4甲), 0) + IFNULL(sum(E1.骑4乙), 0)
  13555. + IFNULL(sum(Bb.骑11甲), 0) + IFNULL(sum(Bb1.骑11乙), 0)
  13556. + IFNULL(sum(cc.骑22甲), 0) + IFNULL(sum(cc1.骑22乙), 0)
  13557. + IFNULL(sum(ee.骑33甲), 0) + IFNULL(sum(ee1.骑33乙), 0)
  13558. + IFNULL(sum(hh.骑44甲), 0) + IFNULL(sum(hh1.骑44乙), 0) , 0) 总计册
  13559. ")
  13560. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13561. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  13562. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  13563. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  13564. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  13565. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  13566. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  13567. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  13568. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  13569. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  13570. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  13571. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  13572. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  13573. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  13574. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  13575. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  13576. ->group('rq')
  13577. ->buildSql();
  13578. $sql_final = Db::table($db . ' db')
  13579. ->field("
  13580. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13581. ROUND(sum(db.总计册), 3) as qmcs
  13582. ")
  13583. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  13584. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13585. ->select();
  13586. // 初始化数据
  13587. $i = 0;
  13588. $j = 0;
  13589. $k = 0;
  13590. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13591. $currentYear = date("Y"); // 当前年份
  13592. $previousYear = (int)$currentYear - 1; // 去年
  13593. $previousTwoYear = (int)$currentYear - 2; // 前年
  13594. // 为三年的数据创建数组,初始值为0
  13595. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13596. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13597. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13598. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13599. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13600. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13601. // 遍历查询结果并填充数据
  13602. foreach ($sql_final as $v) {
  13603. // 获取年份和月份
  13604. $year = substr($v['rq'], 0, 4);
  13605. $month = substr($v['rq'], 5, 2);
  13606. // 如果是前年数据
  13607. if ($year == $previousTwoYear) {
  13608. $list['series'][0]['data'][(int)$month - 1] = $v['qmcs'];
  13609. }
  13610. // 如果是去年数据
  13611. if ($year == $previousYear) {
  13612. $list['series'][1]['data'][(int)$month - 1] = $v['qmcs'];
  13613. }
  13614. // 如果是今年数据
  13615. if ($year == $currentYear) {
  13616. $list['series'][2]['data'][(int)$month - 1] = $v['qmcs'];
  13617. }
  13618. }
  13619. $res['status'] = 0;
  13620. $res['msg'] = '';
  13621. $res['data'] = $list;
  13622. $redis->set($redis_key, json_encode($res));
  13623. return json_encode($res);
  13624. }
  13625. //骑马册数->接口调用
  13626. public function qmcs(){
  13627. $redis=redis();
  13628. $redis_key = md5('qmcs_redis');
  13629. $redis_data = $redis->get($redis_key);
  13630. return $redis_data;
  13631. }
  13632. /**
  13633. * 第三方调用:外发采购询价审核接口
  13634. * 请求方式:GET
  13635. * 请求参数:
  13636. * limit 返回条数 选填 默认100 最大200
  13637. */
  13638. public function GetProcuremen()
  13639. {
  13640. // 只允许GET请求
  13641. if (!$this->request->isGet()) {
  13642. return json([
  13643. 'code' => 400,
  13644. 'msg' => '请求方式错误,请使用GET',
  13645. 'data' => []
  13646. ]);
  13647. }
  13648. // 接收参数 + 安全过滤
  13649. $start_time = $this->request->get('start_time', '', 'trim');
  13650. $end_time = $this->request->get('end_time', '', 'trim');
  13651. $limit = (int)$this->request->get('limit', 100);
  13652. // 限制最大返回条数,防止拖垮服务器
  13653. $limit = min($limit, 200);
  13654. // 时间范围:不传则自动取 30天前 ~ 现在
  13655. if (empty($start_time)) {
  13656. $start_time = date('Y-m-d H:i:s', strtotime('-30 days'));
  13657. }
  13658. if (empty($end_time)) {
  13659. $end_time = date('Y-m-d H:i:s');
  13660. }
  13661. $list = Db::table('scydgy')->alias('a')
  13662. ->join('mcyd b', 'b.ICYDID = a.ICYDID AND b.iStatus >= 10', 'inner')
  13663. ->field('a.ID,
  13664. b.CCYDH as 传票号,
  13665. b.CYJMC as 传票名称,
  13666. a.CDXMC as 类型名称,
  13667. a.CGYBH as 工序号,
  13668. a.CGYMC as 工序名称,
  13669. a.CDW as 单位,
  13670. a.NGZL as 已下达总量,
  13671. b.CDF,
  13672. a.cGzzxMc as 客户名称,
  13673. a.MBZ as 备注,
  13674. a.iStatus as 状态,
  13675. a.dStamp as 操作时间,
  13676. b.dputrecord as 录入日期,
  13677. b.cywyxm as 业务员')
  13678. ->where([
  13679. 'a.bwjg' => 1, // 完成结果=1
  13680. 'a.iEndBz' => 0, // 未结束
  13681. 'a.iType' => 0, // 外发类型
  13682. 'a.iStatus' => 10, // 已审核
  13683. ])
  13684. ->where('a.dStamp', '>=', $start_time)
  13685. ->where('a.dStamp', '<=', $end_time)
  13686. ->limit($limit)
  13687. ->select();
  13688. // 返回第三方标准格式
  13689. return json([
  13690. 'code' => 200,
  13691. 'msg' => '获取成功',
  13692. 'data' => $list
  13693. ]);
  13694. }
  13695. }