Index.php 608 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use think\Cache\Driver\Redis;
  6. use app\api\controller\Second;
  7. //第一屏数据
  8. class Index extends Api{
  9. protected $noNeedLogin = ['*'];
  10. protected $noNeedRight = ['*'];
  11. public function index(){
  12. $this->success('请求新华接口成功');
  13. }
  14. /** 定义的函数方法 $this->方法名调取*/
  15. //获取当前年份的一月份
  16. public function year_January(){
  17. return date("Y-01");
  18. }
  19. //开始时间方法--当年01月01日
  20. public function start_time(){
  21. return gettimeinfo();
  22. }
  23. //结束时间方法--当年12月31日
  24. public function end_time(){
  25. return gettimeinfo(1);
  26. }
  27. //开始时间方法--去年01月01日
  28. public function qstart_time(){
  29. return getLastYear();
  30. }
  31. //去年的今天
  32. public function qday(){
  33. // 获取当前日期
  34. $today = date('Y-m-d 23:59:59');
  35. // 使用strtotime计算去年的今天
  36. $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year'));
  37. // 输出去年的今天
  38. return $lastYearToday;
  39. }
  40. //结束时间方法--去年12月31日
  41. public function qend_time(){
  42. return getLastYear(1);
  43. }
  44. //开始时间方法--前年01月01日
  45. public function qianstart_time(){
  46. return getPreviousYear();
  47. }
  48. //结束时间方法--前年12月31日
  49. public function qianend_time(){
  50. return getPreviousYear(1);
  51. }
  52. //前年的今天
  53. public function qianday(){
  54. // 获取当前日期
  55. $today = date('Y-m-d 23:59:59');
  56. // 使用strtotime计算前年的今天
  57. $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years'));
  58. // 输出前年的今天
  59. return $beforeLastYearToday;
  60. }
  61. //开始时间方法--大前年01月01日
  62. public function dqianstart_time(){
  63. return getPreviousQYear();
  64. }
  65. //结束时间方法--大前年12月31日
  66. public function dqianend_time(){
  67. return getPreviousQYear(1);
  68. }
  69. //当年
  70. public function currentYear(){
  71. $currentYear = date('Y');
  72. $res['status'] = 0;
  73. $res['msg'] = '';
  74. $res['data'] = $currentYear;
  75. return json_encode($res);
  76. }
  77. //去年
  78. public function lastYear(){
  79. $currentYear = date('Y');
  80. $lastYear = $currentYear - 1;
  81. $res['status'] = 0;
  82. $res['msg'] = '';
  83. $res['data'] = $lastYear;
  84. return json_encode($res);
  85. }
  86. //前年
  87. public function yearBeforeLast(){
  88. $currentYear = date('Y');
  89. $yearBeforeLast = $currentYear - 2;
  90. $res['status'] = 0;
  91. $res['msg'] = '';
  92. $res['data'] = $yearBeforeLast;
  93. return json_encode($res);
  94. }
  95. //当年年业务结构
  96. public function test_dYear(){
  97. $currentYear = date('Y');
  98. $lastTwoDigits = substr($currentYear, -2);
  99. $res['status'] = 0;
  100. $res['msg'] = '';
  101. $res['data'] = $lastTwoDigits . "年色令分布";
  102. return json_encode($res);
  103. }
  104. //去年年业务结构
  105. public function test_qYear(){
  106. $currentYear = date('Y');
  107. $lastYear = $currentYear - 1;
  108. $lastTwoDigits = substr($lastYear, -2);
  109. $res['status'] = 0;
  110. $res['msg'] = '';
  111. $res['data'] = $lastTwoDigits . "年色令分布";
  112. return json_encode($res);
  113. }
  114. /**
  115. * 业务总览 第一屏 第一页
  116. */
  117. //承印销售收入->缓存调用 本级不包含集团教材外
  118. public function getxssr_redis(){
  119. $redis=redis();
  120. $redis_key = md5('getxssr_redis');
  121. //定义查询字段
  122. $field = [
  123. 'ldz',
  124. 'mcyd.icydid',
  125. 'year(mcyd.dcyrq) as 年',
  126. 'mcyd.dcyrq as 日期',
  127. 'sum(mcyd.nwshjje) nwshjje',
  128. 'sum(mcyd.nwsgjhj) nwsgjhj',
  129. 'sum(tjob.namount) namount',
  130. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  131. 'tjob.itax',
  132. ];
  133. //当年
  134. $dangnian = Db::table('mcyd')->field($field)
  135. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  136. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  137. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  138. ->where('mcyd.icydstate','>',0)
  139. ->where('mcyd.chy','<>', '集团教材外')
  140. ->select();
  141. //去年
  142. $qunian = Db::table('mcyd')->field($field)
  143. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  144. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  145. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  146. ->where('mcyd.icydstate','>',0)
  147. ->where('mcyd.chy','<>', '集团教材外')
  148. ->select();
  149. //前年
  150. $qiannian = Db::table('mcyd')->field($field)
  151. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  152. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  153. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  154. ->where('mcyd.icydstate','>',0)
  155. ->where('mcyd.chy','<>', '集团教材外')
  156. ->select();
  157. //大前年
  158. $dqiannian = Db::table('mcyd')->field($field)
  159. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  160. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  161. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  162. ->where('mcyd.icydstate','>',0)
  163. ->where('mcyd.chy','<>', '集团教材外')
  164. ->select();
  165. //销售收入、销售工价、日期
  166. //当年
  167. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  168. //去年
  169. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  170. //前年
  171. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  172. //大前年
  173. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  174. //遍历查询结果,进行统计
  175. foreach ($dangnian as $v){
  176. if($v['ldz'] == 1 ){
  177. $cheng_dang += $v['namount'];
  178. $bb_dang += $v['sum_clje'];
  179. }else{
  180. $cheng_dang += $v['nwshjje'];
  181. $bb_dang += $v['nwsgjhj'];
  182. }
  183. $data_dang = $v['年'];
  184. }
  185. //遍历查询结果,进行统计
  186. foreach ($qunian as $v){
  187. if($v['ldz'] == 1 ){
  188. $cheng_qu += $v['namount'];
  189. $bb_qu += $v['sum_clje'];
  190. }else{
  191. $cheng_qu += $v['nwshjje'];
  192. $bb_qu += $v['nwsgjhj'];
  193. }
  194. $data_qu = $v['年'];
  195. }
  196. //遍历查询结果,进行统计
  197. foreach ($qiannian as $v){
  198. if($v['ldz'] == 1 ){
  199. $cheng_qian += $v['namount'];
  200. $bb_qian += $v['sum_clje'];
  201. }else{
  202. $cheng_qian += $v['nwshjje'];
  203. $bb_qian += $v['nwsgjhj'];
  204. }
  205. $data_qian = $v['年'];
  206. }
  207. //遍历查询结果,进行统计
  208. foreach ($dqiannian as $v){
  209. if($v['ldz'] == 1 ){
  210. $cheng_dqian += $v['namount'];
  211. $bb_dqian += $v['sum_clje'];
  212. }else{
  213. $cheng_dqian += $v['nwshjje'];
  214. $bb_dqian += $v['nwsgjhj'];
  215. }
  216. $data_dqian = $v['年'];
  217. }
  218. if($data_dang == 0){
  219. $data_dang = date("Y");
  220. }
  221. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  222. 'series'=>[['name'=>'承印销售收入',
  223. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  224. ];
  225. $res['status']=0;
  226. $res['msg']='';
  227. $res['data']=$list;
  228. $redis->set($redis_key, json_encode($res));
  229. return json_encode($res);
  230. }
  231. //承印销售收入->缓存调用 全部包含集团教材外
  232. public function getxssrs_redis(){
  233. $redis=redis();
  234. $redis_key = md5('getxssrs_redis');
  235. //定义查询字段
  236. $field = [
  237. 'ldz',
  238. 'mcyd.icydid',
  239. 'year(mcyd.dcyrq) as 年',
  240. 'mcyd.dcyrq as 日期',
  241. 'sum(mcyd.nwshjje) nwshjje',
  242. 'sum(mcyd.nwsgjhj) nwsgjhj',
  243. 'sum(tjob.namount) namount',
  244. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  245. 'tjob.itax',
  246. ];
  247. //当年
  248. $dangnian = Db::table('mcyd')->field($field)
  249. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  250. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  251. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  252. ->where('mcyd.icydstate','>',0)
  253. ->select();
  254. //去年
  255. $qunian = Db::table('mcyd')->field($field)
  256. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  257. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  258. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  259. ->where('mcyd.icydstate','>',0)
  260. ->select();
  261. //前年
  262. $qiannian = Db::table('mcyd')->field($field)
  263. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  264. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  265. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  266. ->where('mcyd.icydstate','>',0)
  267. ->select();
  268. //大前年
  269. $dqiannian = Db::table('mcyd')->field($field)
  270. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  271. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  272. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  273. ->where('mcyd.icydstate','>',0)
  274. ->select();
  275. //销售收入、销售工价、日期
  276. //当年
  277. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  278. //去年
  279. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  280. //前年
  281. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  282. //大前年
  283. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  284. //遍历查询结果,进行统计
  285. foreach ($dangnian as $v){
  286. if($v['ldz'] == 1 ){
  287. $cheng_dang += $v['namount'];
  288. $bb_dang += $v['sum_clje'];
  289. }else{
  290. $cheng_dang += $v['nwshjje'];
  291. $bb_dang += $v['nwsgjhj'];
  292. }
  293. $data_dang = $v['年'];
  294. }
  295. //遍历查询结果,进行统计
  296. foreach ($qunian as $v){
  297. if($v['ldz'] == 1 ){
  298. $cheng_qu += $v['namount'];
  299. $bb_qu += $v['sum_clje'];
  300. }else{
  301. $cheng_qu += $v['nwshjje'];
  302. $bb_qu += $v['nwsgjhj'];
  303. }
  304. $data_qu = $v['年'];
  305. }
  306. //遍历查询结果,进行统计
  307. foreach ($qiannian as $v){
  308. if($v['ldz'] == 1 ){
  309. $cheng_qian += $v['namount'];
  310. $bb_qian += $v['sum_clje'];
  311. }else{
  312. $cheng_qian += $v['nwshjje'];
  313. $bb_qian += $v['nwsgjhj'];
  314. }
  315. $data_qian = $v['年'];
  316. }
  317. //遍历查询结果,进行统计
  318. foreach ($dqiannian as $v){
  319. if($v['ldz'] == 1 ){
  320. $cheng_dqian += $v['namount'];
  321. $bb_dqian += $v['sum_clje'];
  322. }else{
  323. $cheng_dqian += $v['nwshjje'];
  324. $bb_dqian += $v['nwsgjhj'];
  325. }
  326. $data_dqian = $v['年'];
  327. }
  328. if($data_dang == 0){
  329. $data_dang = date("Y");
  330. }
  331. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  332. 'series'=>[['name'=>'承印销售收入',
  333. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  334. ];
  335. $res['status']=0;
  336. $res['msg']='';
  337. $res['data']=$list;
  338. $redis->set($redis_key, json_encode($res));
  339. return json_encode($res);
  340. }
  341. //承印销售收入->接口调用
  342. public function getxssr(){
  343. $redis = redis();
  344. $data = input('post.');
  345. if(isset($data['dependence'])){
  346. $dependence=$data['dependence'];
  347. }else{
  348. $dependence['item']['value']= '全部';
  349. }
  350. if($dependence['item']['value'] == '全部'){
  351. $result = json_decode($redis->get(md5('getxssrs_redis')),true);
  352. }else{
  353. $result = json_decode($redis->get(md5('getxssr_redis')),true);
  354. }
  355. return json($result);
  356. }
  357. //承印加工收入->缓存调用 本级不包含集团教材外
  358. public function getjgsr_redis(){
  359. $redis=redis();
  360. $redis_key = md5('getjgsr_redis');
  361. // 定义需要查询的字段
  362. $field = [
  363. 'ldz',
  364. 'mcyd.icydid',
  365. 'year(mcyd.dcyrq) as 年',
  366. 'mcyd.dcyrq as 日期',
  367. 'sum(mcyd.nwshjje) nwshjje',
  368. 'sum(mcyd.nwsgjhj) nwsgjhj',
  369. 'sum(tjob.namount) namount',
  370. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  371. 'tjob.itax',
  372. ];
  373. //当年
  374. $dangnian= Db::table('mcyd')->field($field)
  375. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  376. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  377. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  378. ->where('mcyd.icydstate','>',0)
  379. ->where('mcyd.chy','<>', '集团教材外')
  380. ->select();
  381. //去年
  382. $qunian = Db::table('mcyd')->field($field)
  383. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  384. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  385. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  386. ->where('mcyd.icydstate','>',0)
  387. ->where('mcyd.chy','<>', '集团教材外')
  388. ->select();
  389. //前年
  390. $qiannian = Db::table('mcyd')->field($field)
  391. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  392. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  393. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  394. ->where('mcyd.icydstate','>',0)
  395. ->where('mcyd.chy','<>', '集团教材外')
  396. ->select();
  397. //销售收入、销售工价、日期
  398. //当年
  399. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  400. //去年
  401. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  402. //前年
  403. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  404. // 遍历查询结果,进行统计
  405. foreach ($dangnian as $v){
  406. if($v['ldz'] == 1 ){
  407. $cheng_dang += $v['namount'];
  408. $bb_dang += $v['sum_clje'];
  409. }else{
  410. $cheng_dang += $v['nwshjje'];
  411. $bb_dang += $v['nwsgjhj'];
  412. }
  413. $data_dang = $v['年'];
  414. }
  415. // 遍历查询结果,进行统计
  416. foreach ($qunian as $v){
  417. if($v['ldz'] == 1 ){
  418. $cheng_qu += $v['namount'];
  419. $bb_qu += $v['sum_clje'];
  420. }else{
  421. $cheng_qu += $v['nwshjje'];
  422. $bb_qu += $v['nwsgjhj'];
  423. }
  424. $data_qu = $v['年'];
  425. }
  426. // 遍历查询结果,进行统计
  427. foreach ($qiannian as $v){
  428. if($v['ldz'] == 1 ){
  429. $cheng_qian += $v['namount'];
  430. $bb_qian += $v['sum_clje'];
  431. }else{
  432. $cheng_qian += $v['nwshjje'];
  433. $bb_qian += $v['nwsgjhj'];
  434. }
  435. $data_qian = $v['年'];
  436. }
  437. if($data_dang == 0){
  438. $data_dang = date("Y");
  439. }
  440. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  441. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  442. $res['status']=0;
  443. $res['msg']='';
  444. $res['data']=$list;
  445. $redis->set($redis_key, json_encode($res));
  446. return json_encode($res);
  447. }
  448. //承印加工收入->缓存调用 全部包含集团教材外
  449. public function getjgsrs_redis(){
  450. $redis=redis();
  451. $redis_key = md5('getjgsrs_redis');
  452. // 定义需要查询的字段
  453. $field = [
  454. 'ldz',
  455. 'mcyd.icydid',
  456. 'year(mcyd.dcyrq) as 年',
  457. 'mcyd.dcyrq as 日期',
  458. 'sum(mcyd.nwshjje) nwshjje',
  459. 'sum(mcyd.nwsgjhj) nwsgjhj',
  460. 'sum(tjob.namount) namount',
  461. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  462. 'tjob.itax',
  463. ];
  464. //当年
  465. $dangnian= Db::table('mcyd')->field($field)
  466. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  467. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  468. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  469. ->where('mcyd.icydstate','>',0)
  470. ->select();
  471. //去年
  472. $qunian = Db::table('mcyd')->field($field)
  473. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  474. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  475. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  476. ->where('mcyd.icydstate','>',0)
  477. ->select();
  478. //前年
  479. $qiannian = Db::table('mcyd')->field($field)
  480. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  481. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  482. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  483. ->where('mcyd.icydstate','>',0)
  484. ->select();
  485. //销售收入、销售工价、日期
  486. //当年
  487. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  488. //去年
  489. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  490. //前年
  491. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  492. // 遍历查询结果,进行统计
  493. foreach ($dangnian as $v){
  494. if($v['ldz'] == 1 ){
  495. $cheng_dang += $v['namount'];
  496. $bb_dang += $v['sum_clje'];
  497. }else{
  498. $cheng_dang += $v['nwshjje'];
  499. $bb_dang += $v['nwsgjhj'];
  500. }
  501. $data_dang = $v['年'];
  502. }
  503. // 遍历查询结果,进行统计
  504. foreach ($qunian as $v){
  505. if($v['ldz'] == 1 ){
  506. $cheng_qu += $v['namount'];
  507. $bb_qu += $v['sum_clje'];
  508. }else{
  509. $cheng_qu += $v['nwshjje'];
  510. $bb_qu += $v['nwsgjhj'];
  511. }
  512. $data_qu = $v['年'];
  513. }
  514. // 遍历查询结果,进行统计
  515. foreach ($qiannian as $v){
  516. if($v['ldz'] == 1 ){
  517. $cheng_qian += $v['namount'];
  518. $bb_qian += $v['sum_clje'];
  519. }else{
  520. $cheng_qian += $v['nwshjje'];
  521. $bb_qian += $v['nwsgjhj'];
  522. }
  523. $data_qian = $v['年'];
  524. }
  525. if($data_dang == 0){
  526. $data_dang = date("Y");
  527. }
  528. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  529. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  530. $res['status']=0;
  531. $res['msg']='';
  532. $res['data']=$list;
  533. $redis->set($redis_key, json_encode($res));
  534. return json_encode($res);
  535. }
  536. //承印加工收入->接口调用
  537. public function getjgsr(){
  538. // $redis=redis();
  539. // $redis_key = md5('getjgsr_redis');
  540. // $redis_data = $redis->get($redis_key);
  541. // return $redis_data;
  542. $data = input('post.');
  543. if(isset($data['dependence'])){
  544. $dependence=$data['dependence'];
  545. }else{
  546. $dependence['item']['value']= '全部';
  547. }
  548. if($dependence['item']['value'] == '全部'){
  549. $redis = redis();
  550. $result = json_decode($redis->get(md5('getjgsrs_redis')),true);
  551. }else{
  552. $redis = redis();
  553. $result = json_decode($redis->get(md5('getjgsr_redis')),true);
  554. }
  555. return json($result);
  556. }
  557. //承印色令->缓存调用 本级不包含集团教材外
  558. public function getcysl_redis(){
  559. $redis=redis();
  560. $redis_key = md5('getcysl_redis');
  561. $objmatier = Db::table('scyddx')->alias('objmatier')
  562. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  563. ->group('icydid')
  564. ->buildSql();
  565. $t5 = Db::table('mcyd')->alias('ord')
  566. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  567. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  568. ->where('ord.icydstate', '>', 0)
  569. ->where('chy', '<>', '集团教材外')
  570. ->group('rq')
  571. ->buildSql();
  572. $list2023 = Db::table($t5 . ' t5')
  573. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  574. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  575. ->find();
  576. $list2022 = Db::table($t5 . ' t5')
  577. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  578. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  579. ->find();
  580. $list2021 = Db::table($t5 . ' t5')
  581. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  582. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  583. ->find();
  584. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  585. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  586. $res['status']=0;
  587. $res['msg']='';
  588. $res['data']=$list;
  589. $redis->set($redis_key, json_encode($res));
  590. return json_encode($res);
  591. }
  592. //承印色令->缓存调用 全部包含集团教材外
  593. public function getcysls_redis(){
  594. $redis=redis();
  595. $redis_key = md5('getcysls_redis');
  596. $objmatier = Db::table('scyddx')->alias('objmatier')
  597. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  598. ->group('icydid')
  599. ->buildSql();
  600. $t5 = Db::table('mcyd')->alias('ord')
  601. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  602. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  603. ->where('ord.icydstate', '>', 0)
  604. // ->where('chy', '<>', '集团教材外')
  605. ->group('rq')
  606. ->buildSql();
  607. $list2023 = Db::table($t5 . ' t5')
  608. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  609. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  610. ->find();
  611. $list2022 = Db::table($t5 . ' t5')
  612. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  613. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  614. ->find();
  615. $list2021 = Db::table($t5 . ' t5')
  616. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  617. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  618. ->find();
  619. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  620. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  621. $res['status']=0;
  622. $res['msg']='';
  623. $res['data']=$list;
  624. $redis->set($redis_key, json_encode($res));
  625. return json_encode($res);
  626. }
  627. //承印色令->接口调用
  628. public function getcysl(){
  629. // $redis=redis();
  630. // $redis_key = md5('getcysl_redis');
  631. // $redis_data = $redis->get($redis_key);
  632. // return $redis_data;
  633. $data = input('post.');
  634. if(isset($data['dependence'])){
  635. $dependence=$data['dependence'];
  636. }else{
  637. $dependence['item']['value']= '全部';
  638. }
  639. if($dependence['item']['value'] == '全部'){
  640. $redis = redis();
  641. $result = json_decode($redis->get(md5('getcysls_redis')),true);
  642. }else{
  643. $redis = redis();
  644. $result = json_decode($redis->get(md5('getcysl_redis')),true);
  645. }
  646. return json($result);
  647. }
  648. //承印纸令->缓存调用 本级不包含集团教材外
  649. public function getcyzl_redis(){
  650. $redis=redis();
  651. $redis_key = md5('getcyzl_redis');
  652. $objmatier = Db::table('scyddx')->alias('objmatier')
  653. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  654. ->group('icydid')
  655. ->buildSql();
  656. $t5 = Db::table('mcyd')->alias('ord')
  657. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  658. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  659. ->where('ord.icydstate','>',0)
  660. ->where('chy', '<>', '集团教材外')
  661. ->group('rq')
  662. ->buildSql();
  663. $list2023 = Db::table($t5 . ' t5')
  664. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  665. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  666. ->find();
  667. $list2022 = Db::table($t5 . ' t5')
  668. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  669. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  670. ->find();
  671. $list2021 = Db::table($t5 . ' t5')
  672. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  673. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  674. ->find();
  675. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  676. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  677. $res['status']=0;
  678. $res['msg']='';
  679. $res['data']=$list;
  680. if($list){
  681. echo date("Y-m-d H:i:s").'存进去了';
  682. $redis->set($redis_key, json_encode($res));
  683. return json_encode($res);
  684. }
  685. }
  686. //承印纸令->缓存调用 全部包含集团教材外
  687. public function getcyzls_redis(){
  688. $redis=redis();
  689. $redis_key = md5('getcyzls_redis');
  690. $objmatier = Db::table('scyddx')->alias('objmatier')
  691. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  692. ->group('icydid')
  693. ->buildSql();
  694. $t5 = Db::table('mcyd')->alias('ord')
  695. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  696. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  697. ->where('ord.icydstate','>',0)
  698. ->group('rq')
  699. ->buildSql();
  700. $list2023 = Db::table($t5 . ' t5')
  701. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  702. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  703. ->find();
  704. $list2022 = Db::table($t5 . ' t5')
  705. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  706. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  707. ->find();
  708. $list2021 = Db::table($t5 . ' t5')
  709. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  710. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  711. ->find();
  712. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  713. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  714. $res['status']=0;
  715. $res['msg']='';
  716. $res['data']=$list;
  717. if($list){
  718. $redis->set($redis_key, json_encode($res));
  719. return json_encode($res);
  720. }
  721. }
  722. //承印纸令->接口调用
  723. public function getcyzl(){
  724. $data = input('post.');
  725. if(isset($data['dependence'])){
  726. $dependence=$data['dependence'];
  727. }else{
  728. $dependence['item']['value']= '全部';
  729. }
  730. if($dependence['item']['value'] == '全部'){
  731. $redis = redis();
  732. $result = json_decode($redis->get(md5('getcyzls_redis')),true);
  733. }else{
  734. $redis = redis();
  735. $result = json_decode($redis->get(md5('getcyzl_redis')),true);
  736. }
  737. return json($result);
  738. }
  739. //去年与当年--印刷实物产量色令->缓存调用
  740. public function yssl_redis(){
  741. $redis=redis();
  742. $redis_key = md5('yssl_redis');
  743. //首先定义了起始时间和结束时间
  744. //根据查询条件查出色令数据
  745. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  746. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  747. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  748. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  749. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  750. ->union(function ($query) {
  751. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  752. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  753. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  754. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  755. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  756. '小森八色01号机','小森八色02号机']);
  757. }, true)->buildSql();
  758. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  759. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  760. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  761. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  762. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  763. ->union(function ($query) {
  764. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  765. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  766. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  767. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  768. }, true)->buildSql();
  769. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  770. ->whereIn('cbzmc', [
  771. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  772. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  773. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  774. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  775. ->union(function ($query) {
  776. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  777. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  778. ->whereIn('cMachineName', ['标规小森商轮1号',
  779. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  780. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号']);
  781. }, true)
  782. ->buildSql();
  783. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  784. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  785. ->union(function ($query) {
  786. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  787. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  788. })->buildSql();
  789. //查询每天的数据
  790. $subQuery1 = Db::table($subQuery1_child . 'T')
  791. ->field('rq,SUM( fsjsl ) nFourColorSL')
  792. ->group('rq')->buildSql();
  793. //查询每天的数据
  794. $subQuery2 = Db::table($subQuery2_child . 'T')
  795. ->field('rq,SUM( fsjsl ) nBBSL')
  796. ->group('rq')->buildSql();
  797. //查询每天的数据
  798. $subQuery3 = Db::table($subQuery3_child . 'T')
  799. ->field('rq,SUM( fsjsl ) nnRotationSL')
  800. ->group('rq')->buildSql();
  801. //按当天日期进行分组 累计相加当天数据
  802. $subQuery1_5 = Db::table($subQuery . 'A')
  803. ->field('
  804. DISTINCT DATE(A.RQ) RQ,
  805. sum(h.nBBSL) AS nBBSL,
  806. sum(B.nFourColorSL) AS nFourColorSL,
  807. sum(P.nnRotationSL) AS nnRotationSL
  808. ')
  809. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  810. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  811. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  812. ->group('RQ')
  813. ->buildSql();
  814. // 获取当前年份和前两年的年份
  815. $currentYear = date("Y");
  816. $lastYear = date("Y", strtotime("-1 year"));
  817. $twoYearsAgo = date("Y", strtotime("-2 years"));
  818. // 查询SQL,按月份分组计算
  819. $sql_final = Db::table($subQuery1_5 . ' db')
  820. ->field("
  821. DATE_FORMAT(db.RQ, '%Y-%m') AS '日期',
  822. ROUND(SUM(db.nBBSL) + SUM(db.nFourColorSL) + SUM(db.nnRotationSL)) AS '印刷实物产量色令数'
  823. ")
  824. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  825. ->group("DATE_FORMAT(db.RQ, '%Y-%m')")
  826. ->select();
  827. // 初始化数据结构
  828. $list['categories'] = [];
  829. $list['series'] = [
  830. 0 => ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)],
  831. 1 => ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)],
  832. 2 => ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)],
  833. ];
  834. // 填充月份数据
  835. foreach (range(1, 12) as $month) {
  836. $list['categories'][] = str_pad($month, 2, '0', STR_PAD_LEFT); // 月份:01, 02, ..., 12
  837. }
  838. // 当前月份
  839. $currentMonth = date("m");
  840. // 处理查询结果
  841. foreach ($sql_final as $v) {
  842. // 提取年份和月份
  843. $yearMonth = $v['日期'];
  844. $year = date('Y', strtotime($yearMonth));
  845. $month = date('m', strtotime($yearMonth)) - 1; // 索引从0开始
  846. if ($year == $currentYear) {
  847. $list['series'][2]['data'][$month] = $v['印刷实物产量色令数']; // 填充当前年数据
  848. } elseif ($year == $lastYear) {
  849. $list['series'][1]['data'][$month] = $v['印刷实物产量色令数']; // 填充去年数据
  850. } elseif ($year == $twoYearsAgo) {
  851. $list['series'][0]['data'][$month] = $v['印刷实物产量色令数']; // 填充前两年数据
  852. }
  853. }
  854. // 如果某一年没有数据,填充为0
  855. if (!isset($list['series'][1]['data'][$currentMonth - 1])) {
  856. $list['series'][1]['data'][$currentMonth - 1] = 0;
  857. }
  858. // 返回数据
  859. $res['status'] = 0;
  860. $res['msg'] = '';
  861. $res['data'] = $list;
  862. // 将结果存入缓存
  863. $redis->set($redis_key, json_encode($res));
  864. // 返回结果
  865. return json_encode($res);
  866. // //按每个月进行查询 累计相加每月数据
  867. // $sql_final = Db::table($subQuery1_5 . ' db')
  868. // ->field("
  869. // DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  870. // ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量色令数'
  871. // ")
  872. // ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  873. // // ->group('MONTH(db.RQ)')
  874. // ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  875. // ->select();
  876. // $i=0;
  877. // $j=0;
  878. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  879. // $year = date("Y");
  880. // $currentMonth = date("m"); // 当前月份
  881. // $currentYearJanuary = $year . "-01";
  882. // $hasDataFor_year = false;
  883. // foreach($sql_final as $v){
  884. // if($v['日期']>=$currentYearJanuary){
  885. // $list['series'][1]['name']=date("Y").'年';
  886. // $list['series'][1]['data'][$j]=$v['印刷实物产量色令数'];
  887. // $j++;
  888. // if(date('Y', strtotime($v['日期'])) == date("Y")) {
  889. // $hasDataFor_year = true;
  890. // }
  891. // }else{
  892. // $list['series'][0]['name']= date("Y", strtotime("-1 year")).'年';
  893. // $list['series'][0]['data'][$i]=$v['印刷实物产量色令数'];
  894. // $i++;
  895. // }
  896. // }
  897. // // 如果2024年没有数据,添加一个
  898. // if(!$hasDataFor_year) {
  899. // $list['series'][] = [
  900. // 'name' => date("Y"),
  901. // 'data' => array_fill(0, $currentMonth, 0)
  902. // ];
  903. // }
  904. // $res['status']=0;
  905. // $res['msg']='';
  906. // $res['data']=$list;
  907. // $redis->set($redis_key, json_encode($res));
  908. // // halt(json_decode($redis->get($redis_key),true));
  909. // return json_encode($res);
  910. }
  911. //去年与当年--印刷实物产量色令->接口调用
  912. public function yssl(){
  913. $redis=redis();
  914. $redis_key = md5('yssl_redis');
  915. $redis_data = $redis->get($redis_key);
  916. return $redis_data;
  917. }
  918. //去年与当年--印刷实物产量纸令->缓存调用
  919. public function yszl_redis(){
  920. $redis=redis();
  921. $redis_key = md5('yszl_redis');
  922. //首先定义了起始时间和结束时间
  923. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  924. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  925. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  926. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  927. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  928. ->union(function ($query) {
  929. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl')
  930. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  931. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  932. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  933. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  934. '小森八色01号机','小森八色02号机']);
  935. }, true)->buildSql();
  936. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  937. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  938. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  939. 'BB机5号(甲班)','BB机5号(乙班)',
  940. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  941. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  942. ->union(function ($query) {
  943. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  944. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  945. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  946. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  947. }, true)->buildSql();
  948. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  949. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  950. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  951. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  952. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  953. ->union(function ($query) {
  954. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  955. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  956. ->whereIn('cMachineName', ['标规小森商轮1号',
  957. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  958. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号']);
  959. }, true)->buildSql();
  960. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  961. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  962. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  963. })->buildSql();
  964. //四色机纸令合计
  965. $subQuery1 = Db::table($subQuery1_child . 'T')
  966. ->field('rq,SUM( fsjls ) nFourColorSL')
  967. ->group('rq')->buildSql();
  968. //BB机纸令合计
  969. $subQuery2 = Db::table($subQuery2_child . 'T')
  970. ->field('rq,SUM( fsjls ) nBBSL')
  971. ->group('rq')->buildSql();
  972. //轮转纸令合计
  973. $subQuery3 = Db::table($subQuery3_child . 'T')
  974. ->field('rq,SUM( fsjls ) nnRotationSL ')
  975. ->group('rq')->buildSql();
  976. $subQuery1_5 = Db::table($subQuery . 'A')
  977. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL')
  978. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  979. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  980. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  981. ->buildSql();
  982. // 获取当前年份和前两年的年份
  983. $currentYear = date("Y"); // 当前年份
  984. $lastYear = date("Y", strtotime("-1 year")); // 去年
  985. $twoYearsAgo = date("Y", strtotime("-2 years")); // 前两年
  986. // 查询数据,按年月分组统计
  987. $sql_final = Db::table($subQuery1_5 . ' db')
  988. ->field("
  989. DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  990. ROUND(SUM( db.nBBSL ) + SUM( db.nFourColorSL ) + SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  991. ")
  992. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  993. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  994. ->select();
  995. // 初始化数据结构
  996. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // 月份
  997. $list['series'] = [
  998. ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)], // 初始化前两年的数据为0
  999. ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化去年的数据为0
  1000. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化今年的数据为0
  1001. ];
  1002. // 当前月份(主要用于当前年数据的处理)
  1003. $currentMonth = date("m");
  1004. // 遍历查询结果,按年份和月份分配数据
  1005. foreach ($sql_final as $v) {
  1006. // 提取年份和月份
  1007. $yearMonth = $v['日期']; // 格式:YYYY-MM
  1008. $year = date('Y', strtotime($yearMonth)); // 提取年份
  1009. $month = date('m', strtotime($yearMonth)) - 1; // 月份(数组索引从0开始)
  1010. // 根据年份分配数据
  1011. if ($year == $currentYear) {
  1012. $list['series'][2]['data'][$month] = $v['印刷实物产量纸令数']; // 填充今年数据
  1013. } elseif ($year == $lastYear) {
  1014. $list['series'][1]['data'][$month] = $v['印刷实物产量纸令数']; // 填充去年数据
  1015. } elseif ($year == $twoYearsAgo) {
  1016. $list['series'][0]['data'][$month] = $v['印刷实物产量纸令数']; // 填充前两年数据
  1017. }
  1018. }
  1019. // 返回处理后的数据结构
  1020. $res['status'] = 0;
  1021. $res['msg'] = '';
  1022. $res['data'] = $list;
  1023. // 缓存数据到 Redis
  1024. $redis->set($redis_key, json_encode($res));
  1025. // 返回最终结果
  1026. return json_encode($res);
  1027. // $sql_final = Db::table($subQuery1_5 . ' db')
  1028. // ->field("
  1029. // DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  1030. // ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  1031. // ")
  1032. // ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  1033. // // ->group('MONTH(db.RQ)')
  1034. // ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  1035. // ->select();
  1036. // $i=0;
  1037. // $j=0;
  1038. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  1039. // $year = date("Y");
  1040. // $currentMonth = date("m"); // 当前月份
  1041. // $currentYearJanuary = $year . "-01";
  1042. // $hasDataFor_year = false;
  1043. // foreach($sql_final as $v){
  1044. // if($v['日期']>=$currentYearJanuary){
  1045. // $list['series'][1]['name']=date("Y").'年';
  1046. // $list['series'][1]['data'][$j]=$v['印刷实物产量纸令数'];
  1047. // $j++;
  1048. // if(date('Y', strtotime($v['日期'])) == date("Y")) {
  1049. // $hasDataFor_year = true;
  1050. // }
  1051. // }else{
  1052. // $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  1053. // $list['series'][0]['data'][$i]=$v['印刷实物产量纸令数'];
  1054. // $i++;
  1055. // }
  1056. // }
  1057. // // 如果2024年没有数据,添加一个
  1058. // if(!$hasDataFor_year) {
  1059. // $list['series'][] = [
  1060. // 'name' => date("Y"),
  1061. // 'data' => array_fill(0, $currentMonth, 0) // 用0填充12个月
  1062. // ];
  1063. // }
  1064. // $res['status']=0;
  1065. // $res['msg']='';
  1066. // $res['data']=$list;
  1067. // $redis->set($redis_key, json_encode($res));
  1068. // // halt(json_decode($redis->get($redis_key),true));
  1069. // return json_encode($res);
  1070. }
  1071. //去年与当年--印刷实物产量纸令->接口调用
  1072. public function yszl(){
  1073. $redis=redis();
  1074. $redis_key = md5('yszl_redis');
  1075. $redis_data = $redis->get($redis_key);
  1076. return $redis_data;
  1077. }
  1078. //去年装订实物产量册数->缓存调用
  1079. public function zdcs2022(){
  1080. $redis=redis();
  1081. $redis_key = md5('zdcs2022');
  1082. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1083. ->union(function ($query) {
  1084. $query->table('scDayRpt_Teams')->alias('b')
  1085. ->field("DISTINCT DATE_FORMAT(
  1086. CASE
  1087. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1088. ELSE b.dOnDuty
  1089. END,
  1090. '%Y-%m-%d'
  1091. ) AS RQ");
  1092. }, true)
  1093. ->buildSql();
  1094. $B1 = Db::table('cpjtfk')
  1095. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1096. ->field("
  1097. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1098. sum(iwcl) as 精1乙
  1099. ")
  1100. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1101. ->group('drptdate,cbanzu')
  1102. ->buildSql();
  1103. $rr = Db::table('scyddx')->alias('r')
  1104. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1105. ->group('r.ICYDID')
  1106. ->buildSql();
  1107. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1108. ->field("
  1109. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1110. sum(a.nAmount) as 精11乙
  1111. ")
  1112. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1113. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1114. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1115. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1116. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1117. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1118. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  1119. ->group("CASE
  1120. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1121. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1122. END,Name_WorkGroup")
  1123. ->buildSql();
  1124. $db = Db::table($A . 'a')
  1125. ->field("
  1126. DISTINCT DATE(A.RQ) rq,
  1127. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1128. ")
  1129. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1130. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1131. ->group('rq')
  1132. ->buildSql();
  1133. $jp = Db::table($db . ' db')
  1134. ->field("
  1135. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1136. ROUND(sum(db.总计册), 0) as 精平册数
  1137. ")->where("db.RQ >= '{$this->qstart_time()}'
  1138. AND db.RQ <= '{$this->qend_time()}' ")
  1139. ->group('MONTH(db.rq)')
  1140. ->select();
  1141. $B = Db::table('cpjtfk')
  1142. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1143. ->field("
  1144. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1145. sum(iwcl) as 马1甲
  1146. ")
  1147. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1148. ->group('drptdate,cbanzu')
  1149. ->buildSql();
  1150. $B1 = Db::table('cpjtfk')
  1151. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1152. ->field("
  1153. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1154. sum(iwcl) as 马1乙
  1155. ")
  1156. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1157. ->group('drptdate,cbanzu')
  1158. ->buildSql();
  1159. $C = Db::table('cpjtfk')
  1160. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1161. ->field("
  1162. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1163. sum(iwcl) as 马2甲
  1164. ")
  1165. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1166. ->group('drptdate,cbanzu')
  1167. ->buildSql();
  1168. $C1 = Db::table('cpjtfk')
  1169. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1170. ->field("
  1171. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1172. sum(iwcl) as 马2乙
  1173. ")
  1174. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1175. ->group('drptdate,cbanzu')
  1176. ->buildSql();
  1177. $D = Db::table('cpjtfk')
  1178. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1179. ->field("
  1180. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1181. sum(iwcl) as 马3甲
  1182. ")
  1183. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1184. ->group('drptdate,cbanzu')
  1185. ->buildSql();
  1186. $D1 = Db::table('cpjtfk')
  1187. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1188. ->field("
  1189. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1190. sum(iwcl) as 马3乙
  1191. ")
  1192. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1193. ->group('drptdate,cbanzu')
  1194. ->buildSql();
  1195. $E = Db::table('cpjtfk')
  1196. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1197. ->field("
  1198. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1199. sum(iwcl) as 马4甲
  1200. ")
  1201. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1202. ->group('drptdate,cbanzu')
  1203. ->buildSql();
  1204. $E1 = Db::table('cpjtfk')
  1205. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1206. ->field("
  1207. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1208. sum(iwcl) as 马4乙
  1209. ")
  1210. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1211. ->group('drptdate,cbanzu')
  1212. ->buildSql();
  1213. $F = Db::table('cpjtfk')
  1214. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1215. ->field("
  1216. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1217. sum(iwcl) as 马5甲
  1218. ")
  1219. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1220. ->group('drptdate,cbanzu')
  1221. ->buildSql();
  1222. $F1 = Db::table('cpjtfk')
  1223. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1224. ->field("
  1225. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1226. sum(iwcl) as 马5乙,
  1227. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1228. ")
  1229. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1230. ->group('drptdate,cbanzu')
  1231. ->buildSql();
  1232. $rr = Db::table('scyddx')->alias('r')
  1233. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1234. ->group('r.ICYDID')
  1235. ->buildSql();
  1236. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1237. ->field("
  1238. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1239. sum(a.nAmount) as 马11甲")
  1240. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1241. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1242. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1243. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1244. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1245. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1246. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1247. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1248. ->group("CASE
  1249. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1250. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1251. END,Name_WorkGroup")->buildSql();
  1252. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1253. ->field("
  1254. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1255. sum(a.nAmount) as 马11乙
  1256. ")
  1257. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1258. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1259. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1260. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1261. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1262. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1263. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1264. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1265. ->group("CASE
  1266. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1267. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1268. END,Name_WorkGroup")
  1269. ->buildSql();
  1270. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1271. ->field("
  1272. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1273. sum(a.nAmount) as 马22甲
  1274. ")
  1275. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1276. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1277. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1278. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1279. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1280. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1281. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1282. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1283. ->group("CASE
  1284. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1285. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1286. END,Name_WorkGroup")
  1287. ->buildSql();
  1288. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1289. ->field("
  1290. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1291. sum(a.nAmount) as 马22乙
  1292. ")
  1293. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1294. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1295. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1296. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1297. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1298. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1299. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1300. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1301. ->group("CASE
  1302. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1303. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1304. END,Name_WorkGroup")
  1305. ->buildSql();
  1306. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1307. ->field("
  1308. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1309. sum(a.nAmount) as 马33甲
  1310. ")
  1311. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1312. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1313. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1314. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1315. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1316. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1317. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1318. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1319. ->group("CASE
  1320. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1321. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1322. END,Name_WorkGroup")
  1323. ->buildSql();
  1324. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1325. ->field("
  1326. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1327. sum(a.nAmount) as 马33乙
  1328. ")
  1329. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1330. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1331. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1332. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1333. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1334. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1335. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1336. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1337. ->group("CASE
  1338. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1339. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1340. END,Name_WorkGroup")
  1341. ->buildSql();
  1342. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1343. ->field("
  1344. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1345. sum(a.nAmount) as 马44甲
  1346. ")
  1347. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1348. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1349. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1350. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1351. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1352. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1353. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1354. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1355. ->group("CASE
  1356. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1357. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1358. END,Name_WorkGroup")
  1359. ->buildSql();
  1360. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1361. ->field("
  1362. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1363. sum(a.nAmount) as 马44乙
  1364. ")
  1365. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1366. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1367. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1368. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1369. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1370. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1371. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1372. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1373. ->group("CASE
  1374. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1375. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1376. END,Name_WorkGroup")
  1377. ->buildSql();
  1378. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1379. ->field("
  1380. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1381. sum(a.nAmount) as 马55甲
  1382. ")
  1383. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1384. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1385. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1386. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1387. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1388. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1389. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1390. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1391. ->group("CASE
  1392. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1393. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1394. END,Name_WorkGroup")
  1395. ->buildSql();
  1396. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1397. ->field("
  1398. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1399. sum(a.nAmount) as 马66甲
  1400. ")
  1401. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1402. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1403. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1404. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1405. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1406. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1407. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1408. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1409. ->group("CASE
  1410. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1411. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1412. END,Name_WorkGroup")
  1413. ->buildSql();
  1414. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  1415. ->field("
  1416. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1417. sum(a.nAmount) as 马77甲
  1418. ")
  1419. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1420. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1421. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1422. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1423. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1424. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1425. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  1426. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1427. ->group("CASE
  1428. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1429. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1430. END,Name_WorkGroup")
  1431. ->buildSql();
  1432. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1433. ->field("
  1434. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1435. sum(a.nAmount) as 马55乙
  1436. ")
  1437. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1438. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1439. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1440. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1441. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1442. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1443. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1444. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1445. ->group("CASE
  1446. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1447. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1448. END,Name_WorkGroup")
  1449. ->buildSql();
  1450. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  1451. ->field("
  1452. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1453. sum(a.nAmount) as 马66乙
  1454. ")
  1455. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1456. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1457. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1458. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1459. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1460. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1461. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  1462. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1463. ->group("CASE
  1464. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1465. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1466. END,Name_WorkGroup")
  1467. ->buildSql();
  1468. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  1469. ->field("
  1470. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1471. sum(a.nAmount) as 马77乙
  1472. ")
  1473. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1474. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1475. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1476. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1477. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1478. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1479. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  1480. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1481. ->group("CASE
  1482. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1483. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1484. END,Name_WorkGroup")
  1485. ->buildSql();
  1486. $db = Db::table($A . 'a')
  1487. ->field("
  1488. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  1489. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  1490. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  1491. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  1492. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  1493. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  1494. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  1495. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  1496. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  1497. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  1498. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  1499. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  1500. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  1501. ")
  1502. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  1503. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1504. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  1505. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  1506. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  1507. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  1508. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  1509. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  1510. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  1511. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  1512. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1513. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1514. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  1515. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  1516. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  1517. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  1518. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  1519. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  1520. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  1521. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  1522. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  1523. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  1524. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  1525. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  1526. ->buildSql();
  1527. $jd = Db::table($db . ' db')
  1528. ->field("
  1529. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1530. ROUND(sum(db.总计册), 0) as 无线胶订册数
  1531. ")->where("db.RQ >= '{$this->qstart_time()}'
  1532. AND db.RQ <= '{$this->qend_time()}' ")
  1533. ->group('MONTH(db.rq)')
  1534. ->select();
  1535. $B = Db::table('cpjtfk')
  1536. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1537. ->field("
  1538. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1539. Sum(iWcl) AS '簿1甲'
  1540. ")
  1541. ->where('cbanzu','=','簿册机1号(甲班)')
  1542. ->group('drptdate,cbanzu')
  1543. ->buildSql();
  1544. $B1 = Db::table('cpjtfk')
  1545. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1546. ->field("
  1547. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1548. Sum(iWcl) AS '簿1乙'
  1549. ")
  1550. ->where('cbanzu','=','簿册机1号(乙班)')
  1551. ->group('drptdate,cbanzu')
  1552. ->buildSql();
  1553. $rr = Db::table('scyddx')->alias('r')
  1554. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1555. ->group('r.ICYDID')
  1556. ->buildSql();
  1557. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1558. ->field("
  1559. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1560. Sum(a.nAmount) AS '簿11甲'
  1561. ")
  1562. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1563. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1564. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1565. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1566. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1567. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1568. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  1569. ->where('a.cTechName' ,'=','簿册联动')
  1570. ->group("CASE
  1571. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1572. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1573. END,Name_WorkGroup")
  1574. ->buildSql();
  1575. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1576. ->field("
  1577. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1578. Sum(a.nAmount) AS '簿11乙'
  1579. ")
  1580. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1581. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1582. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1583. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1584. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1585. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1586. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  1587. ->where('a.cTechName' ,'=','簿册联动')
  1588. ->group("CASE
  1589. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1590. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1591. END,Name_WorkGroup")
  1592. ->buildSql();
  1593. $db = Db::table($A . 'a')
  1594. ->field("
  1595. DISTINCT DATE(A.RQ) rq,
  1596. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  1597. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  1598. ")
  1599. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  1600. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1601. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1602. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1603. ->group('rq')
  1604. ->buildSql();
  1605. $bc = Db::table($db . ' db')
  1606. ->field("
  1607. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1608. ROUND(sum(db.总计册), 0) as 簿册册数
  1609. ")->where("db.RQ >= '{$this->qstart_time()}'
  1610. AND db.RQ <= '{$this->qend_time()}' ")
  1611. ->group('MONTH(db.rq)')
  1612. ->select();
  1613. // 创建一个结果数组
  1614. $result=[];
  1615. $result1 = [];
  1616. // 遍历第一个数组,并将数据加入结果数组
  1617. foreach ($jp as $val1) {
  1618. $month = $val1['日期'];
  1619. $data1 = $val1['精平册数'];
  1620. if (!isset($result[$month])) {
  1621. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1622. }
  1623. if (!isset($result1[$month])) {
  1624. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1625. }
  1626. $result1[$month] += $data1; // 累加第一个数组的数据
  1627. }
  1628. // 遍历第二个数组,并将数据加入结果数组
  1629. foreach ($jd as $val2) {
  1630. $month = $val2['日期'];
  1631. $data1 = $val2['无线胶订册数'];
  1632. if (!isset($result[$month])) {
  1633. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1634. }
  1635. if (!isset($result1[$month])) {
  1636. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1637. }
  1638. $result1[$month] += $data1; // 累加第二个数组的数据
  1639. }
  1640. foreach ($bc as $val2) {
  1641. $month = $val2['日期'];
  1642. $data1 = $val2['簿册册数'];
  1643. if (!isset($result[$month])) {
  1644. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1645. }
  1646. if (!isset($result1[$month])) {
  1647. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1648. }
  1649. $result1[$month] += $data1; // 累加第二个数组的数据
  1650. }
  1651. foreach($result1 as $k=>$v){
  1652. $list['categories'][]=$k;
  1653. $list['series'][0]['name']='装订实物产量册数';
  1654. $list['series'][0]['data'][]=$v;
  1655. }
  1656. $res['status']=0;
  1657. $res['msg']='';
  1658. $res['data']=$list;
  1659. $redis->set($redis_key, json_encode($result1));
  1660. // halt(json_decode($redis->get($redis_key),true));
  1661. return json_encode($result1);
  1662. }
  1663. //当年装订实物产量册数->缓存调用
  1664. public function zdcs2023(){
  1665. $redis=redis();
  1666. $redis_key = md5('zdcs2023');
  1667. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1668. ->union(function ($query) {
  1669. $query->table('scDayRpt_Teams')->alias('b')
  1670. ->field("DISTINCT DATE_FORMAT(
  1671. CASE
  1672. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1673. ELSE b.dOnDuty
  1674. END,
  1675. '%Y-%m-%d'
  1676. ) AS RQ");
  1677. }, true)
  1678. ->buildSql();
  1679. $B1 = Db::table('cpjtfk')
  1680. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1681. ->field("
  1682. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1683. sum(iwcl) as 精1乙
  1684. ")
  1685. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1686. ->group('drptdate,cbanzu')
  1687. ->buildSql();
  1688. $rr = Db::table('scyddx')->alias('r')
  1689. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1690. ->group('r.ICYDID')
  1691. ->buildSql();
  1692. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1693. ->field("
  1694. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1695. sum(a.nAmount) as 精11乙
  1696. ")
  1697. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1698. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1699. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1700. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1701. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1702. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1703. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  1704. ->group("CASE
  1705. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1706. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1707. END,Name_WorkGroup")
  1708. ->buildSql();
  1709. $db = Db::table($A . 'a')
  1710. ->field("
  1711. DISTINCT DATE(A.RQ) rq,
  1712. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1713. ")
  1714. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1715. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1716. ->group('rq')
  1717. ->buildSql();
  1718. $jp = Db::table($db . ' db')
  1719. ->field("
  1720. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1721. ROUND(sum(db.总计册), 0) as 精平册数
  1722. ")->where("db.RQ >= '{$this->start_time()}'
  1723. AND db.RQ <= '{$this->end_time()}' ")
  1724. ->group('MONTH(db.rq)')
  1725. ->select();
  1726. $B = Db::table('cpjtfk')
  1727. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1728. ->field("
  1729. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1730. sum(iwcl) as 马1甲
  1731. ")
  1732. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1733. ->group('drptdate,cbanzu')
  1734. ->buildSql();
  1735. $B1 = Db::table('cpjtfk')
  1736. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1737. ->field("
  1738. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1739. sum(iwcl) as 马1乙
  1740. ")
  1741. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1742. ->group('drptdate,cbanzu')
  1743. ->buildSql();
  1744. $C = Db::table('cpjtfk')
  1745. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1746. ->field("
  1747. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1748. sum(iwcl) as 马2甲
  1749. ")
  1750. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1751. ->group('drptdate,cbanzu')
  1752. ->buildSql();
  1753. $C1 = Db::table('cpjtfk')
  1754. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1755. ->field("
  1756. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1757. sum(iwcl) as 马2乙
  1758. ")
  1759. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1760. ->group('drptdate,cbanzu')
  1761. ->buildSql();
  1762. $D = Db::table('cpjtfk')
  1763. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1764. ->field("
  1765. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1766. sum(iwcl) as 马3甲
  1767. ")
  1768. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1769. ->group('drptdate,cbanzu')
  1770. ->buildSql();
  1771. $D1 = Db::table('cpjtfk')
  1772. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1773. ->field("
  1774. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1775. sum(iwcl) as 马3乙
  1776. ")
  1777. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1778. ->group('drptdate,cbanzu')
  1779. ->buildSql();
  1780. $E = Db::table('cpjtfk')
  1781. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1782. ->field("
  1783. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1784. sum(iwcl) as 马4甲
  1785. ")
  1786. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1787. ->group('drptdate,cbanzu')
  1788. ->buildSql();
  1789. $E1 = Db::table('cpjtfk')
  1790. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1791. ->field("
  1792. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1793. sum(iwcl) as 马4乙
  1794. ")
  1795. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1796. ->group('drptdate,cbanzu')
  1797. ->buildSql();
  1798. $F = Db::table('cpjtfk')
  1799. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1800. ->field("
  1801. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1802. sum(iwcl) as 马5甲
  1803. ")
  1804. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1805. ->group('drptdate,cbanzu')
  1806. ->buildSql();
  1807. $F1 = Db::table('cpjtfk')
  1808. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1809. ->field("
  1810. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1811. sum(iwcl) as 马5乙,
  1812. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1813. ")
  1814. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1815. ->group('drptdate,cbanzu')
  1816. ->buildSql();
  1817. $rr = Db::table('scyddx')->alias('r')
  1818. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1819. ->group('r.ICYDID')
  1820. ->buildSql();
  1821. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1822. ->field("
  1823. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1824. sum(a.nAmount) as 马11甲")
  1825. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1826. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1827. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1828. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1829. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1830. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1831. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1832. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1833. ->group("CASE
  1834. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1835. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1836. END,Name_WorkGroup")->buildSql();
  1837. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1838. ->field("
  1839. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1840. sum(a.nAmount) as 马11乙
  1841. ")
  1842. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1843. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1844. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1845. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1846. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1847. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1848. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1849. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1850. ->group("CASE
  1851. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1852. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1853. END,Name_WorkGroup")
  1854. ->buildSql();
  1855. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1856. ->field("
  1857. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1858. sum(a.nAmount) as 马22甲
  1859. ")
  1860. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1861. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1862. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1863. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1864. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1865. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1866. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1867. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1868. ->group("CASE
  1869. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1870. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1871. END,Name_WorkGroup")
  1872. ->buildSql();
  1873. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1874. ->field("
  1875. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1876. sum(a.nAmount) as 马22乙
  1877. ")
  1878. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1879. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1880. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1881. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1882. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1883. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1884. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1885. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1886. ->group("CASE
  1887. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1888. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1889. END,Name_WorkGroup")
  1890. ->buildSql();
  1891. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1892. ->field("
  1893. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1894. sum(a.nAmount) as 马33甲
  1895. ")
  1896. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1897. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1898. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1899. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1900. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1901. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1902. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1903. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1904. ->group("CASE
  1905. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1906. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1907. END,Name_WorkGroup")
  1908. ->buildSql();
  1909. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1910. ->field("
  1911. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1912. sum(a.nAmount) as 马33乙
  1913. ")
  1914. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1915. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1916. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1917. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1918. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1919. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1920. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1921. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1922. ->group("CASE
  1923. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1924. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1925. END,Name_WorkGroup")
  1926. ->buildSql();
  1927. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1928. ->field("
  1929. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1930. sum(a.nAmount) as 马44甲
  1931. ")
  1932. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1933. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1934. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1935. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1936. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1937. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1938. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1939. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1940. ->group("CASE
  1941. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1942. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1943. END,Name_WorkGroup")
  1944. ->buildSql();
  1945. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1946. ->field("
  1947. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1948. sum(a.nAmount) as 马44乙
  1949. ")
  1950. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1951. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1952. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1953. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1954. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1955. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1956. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1957. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1958. ->group("CASE
  1959. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1960. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1961. END,Name_WorkGroup")
  1962. ->buildSql();
  1963. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1964. ->field("
  1965. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1966. sum(a.nAmount) as 马55甲
  1967. ")
  1968. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1969. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1970. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1971. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1972. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1973. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1974. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1975. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1976. ->group("CASE
  1977. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1978. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1979. END,Name_WorkGroup")
  1980. ->buildSql();
  1981. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1982. ->field("
  1983. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1984. sum(a.nAmount) as 马66甲
  1985. ")
  1986. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1987. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1988. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1989. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1990. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1991. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1992. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1993. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1994. ->group("CASE
  1995. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1996. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1997. END,Name_WorkGroup")
  1998. ->buildSql();
  1999. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2000. ->field("
  2001. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2002. sum(a.nAmount) as 马77甲
  2003. ")
  2004. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2005. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2006. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2007. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2008. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2009. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2010. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2011. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2012. ->group("CASE
  2013. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2014. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2015. END,Name_WorkGroup")
  2016. ->buildSql();
  2017. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2018. ->field("
  2019. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2020. sum(a.nAmount) as 马55乙
  2021. ")
  2022. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2023. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2024. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2025. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2026. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2027. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2028. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2029. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2030. ->group("CASE
  2031. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2032. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2033. END,Name_WorkGroup")
  2034. ->buildSql();
  2035. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2036. ->field("
  2037. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2038. sum(a.nAmount) as 马66乙
  2039. ")
  2040. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2041. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2042. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2043. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2044. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2045. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2046. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2047. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2048. ->group("CASE
  2049. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2050. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2051. END,Name_WorkGroup")
  2052. ->buildSql();
  2053. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2054. ->field("
  2055. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2056. sum(a.nAmount) as 马77乙
  2057. ")
  2058. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2059. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2060. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2061. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2062. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2063. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2064. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2065. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2066. ->group("CASE
  2067. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2068. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2069. END,Name_WorkGroup")
  2070. ->buildSql();
  2071. $db = Db::table($A . 'a')
  2072. ->field("
  2073. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2074. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2075. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2076. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2077. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2078. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2079. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2080. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2081. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2082. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2083. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2084. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2085. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  2086. ")
  2087. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2088. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2089. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2090. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2091. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2092. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2093. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2094. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2095. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2096. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2097. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2098. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2099. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2100. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2101. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2102. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2103. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2104. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2105. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2106. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2107. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2108. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  2109. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2110. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  2111. ->buildSql();
  2112. $jd = Db::table($db . ' db')
  2113. ->field("
  2114. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2115. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2116. ")->where("db.RQ >= '{$this->start_time()}'
  2117. AND db.RQ <= '{$this->end_time()}' ")
  2118. ->group('MONTH(db.rq)')
  2119. ->select();
  2120. $B = Db::table('cpjtfk')
  2121. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2122. ->field("
  2123. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2124. Sum(iWcl) AS '簿1甲'
  2125. ")
  2126. ->where('cbanzu','=','簿册机1号(甲班)')
  2127. ->group('drptdate,cbanzu')
  2128. ->buildSql();
  2129. $B1 = Db::table('cpjtfk')
  2130. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2131. ->field("
  2132. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2133. Sum(iWcl) AS '簿1乙'
  2134. ")
  2135. ->where('cbanzu','=','簿册机1号(乙班)')
  2136. ->group('drptdate,cbanzu')
  2137. ->buildSql();
  2138. $rr = Db::table('scyddx')->alias('r')
  2139. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2140. ->group('r.ICYDID')
  2141. ->buildSql();
  2142. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2143. ->field("
  2144. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2145. Sum(a.nAmount) AS '簿11甲'
  2146. ")
  2147. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2148. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2149. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2150. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2151. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2152. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2153. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2154. ->where('a.cTechName' ,'=','簿册联动')
  2155. ->group("CASE
  2156. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2157. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2158. END,Name_WorkGroup")
  2159. ->buildSql();
  2160. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2161. ->field("
  2162. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2163. Sum(a.nAmount) AS '簿11乙'
  2164. ")
  2165. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2166. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2167. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2168. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2169. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2170. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2171. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2172. ->where('a.cTechName' ,'=','簿册联动')
  2173. ->group("CASE
  2174. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2175. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2176. END,Name_WorkGroup")
  2177. ->buildSql();
  2178. $db = Db::table($A . 'a')
  2179. ->field("
  2180. DISTINCT DATE(A.RQ) rq,
  2181. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2182. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2183. ")
  2184. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2185. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2186. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2187. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2188. ->group('rq')
  2189. ->buildSql();
  2190. $bc = Db::table($db . ' db')
  2191. ->field("
  2192. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2193. ROUND(sum(db.总计册), 0) as 簿册册数
  2194. ")->where("db.RQ >= '{$this->start_time()}'
  2195. AND db.RQ <= '{$this->end_time()}' ")
  2196. ->group('MONTH(db.rq)')
  2197. ->select();
  2198. // 创建一个结果数组
  2199. $result=[];
  2200. $result1 = [];
  2201. // 遍历第一个数组,并将数据加入结果数组
  2202. foreach ($jp as $val1) {
  2203. $month = $val1['日期'];
  2204. $data1 = $val1['精平册数'];
  2205. if (!isset($result[$month])) {
  2206. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2207. }
  2208. if (!isset($result1[$month])) {
  2209. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2210. }
  2211. $result1[$month] += $data1; // 累加第一个数组的数据
  2212. }
  2213. // 遍历第二个数组,并将数据加入结果数组
  2214. foreach ($jd as $val2) {
  2215. $month = $val2['日期'];
  2216. $data1 = $val2['无线胶订册数'];
  2217. if (!isset($result[$month])) {
  2218. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2219. }
  2220. if (!isset($result1[$month])) {
  2221. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2222. }
  2223. $result1[$month] += $data1; // 累加第二个数组的数据
  2224. }
  2225. foreach ($bc as $val2) {
  2226. $month = $val2['日期'];
  2227. $data1 = $val2['簿册册数'];
  2228. if (!isset($result[$month])) {
  2229. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2230. }
  2231. if (!isset($result1[$month])) {
  2232. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2233. }
  2234. $result1[$month] += $data1; // 累加第二个数组的数据
  2235. }
  2236. foreach($result1 as $k=>$v){
  2237. $list['categories'][]=$k;
  2238. $list['series'][0]['name']='装订实物产量册数';
  2239. $list['series'][0]['data'][]=$v;
  2240. }
  2241. $res['status']=0;
  2242. $res['msg']='';
  2243. $res['data']=$list;
  2244. $redis->set($redis_key, json_encode($result1));
  2245. // halt(json_decode($redis->get($redis_key),true));
  2246. return json_encode($result1);
  2247. }
  2248. //前年装订实物产量册数->缓存调用
  2249. public function zdcsTwoYear(){
  2250. $redis=redis();
  2251. $redis_key = md5('zdcsTwoYear');
  2252. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2253. ->union(function ($query) {
  2254. $query->table('scDayRpt_Teams')->alias('b')
  2255. ->field("DISTINCT DATE_FORMAT(
  2256. CASE
  2257. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2258. ELSE b.dOnDuty
  2259. END,
  2260. '%Y-%m-%d'
  2261. ) AS RQ");
  2262. }, true)
  2263. ->buildSql();
  2264. $B1 = Db::table('cpjtfk')
  2265. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2266. ->field("
  2267. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2268. sum(iwcl) as 精1乙
  2269. ")
  2270. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2271. ->group('drptdate,cbanzu')
  2272. ->buildSql();
  2273. $rr = Db::table('scyddx')->alias('r')
  2274. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2275. ->group('r.ICYDID')
  2276. ->buildSql();
  2277. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2278. ->field("
  2279. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2280. sum(a.nAmount) as 精11乙
  2281. ")
  2282. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2283. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2284. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2285. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2286. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2287. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2288. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  2289. ->group("CASE
  2290. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2291. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2292. END,Name_WorkGroup")
  2293. ->buildSql();
  2294. $db = Db::table($A . 'a')
  2295. ->field("
  2296. DISTINCT DATE(A.RQ) rq,
  2297. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  2298. ")
  2299. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2300. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2301. ->group('rq')
  2302. ->buildSql();
  2303. $jp = Db::table($db . ' db')
  2304. ->field("
  2305. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2306. ROUND(sum(db.总计册), 0) as 精平册数
  2307. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2308. AND db.RQ <= '{$this->qianend_time()}' ")
  2309. ->group('MONTH(db.rq)')
  2310. ->select();
  2311. $B = Db::table('cpjtfk')
  2312. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2313. ->field("
  2314. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2315. sum(iwcl) as 马1甲
  2316. ")
  2317. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  2318. ->group('drptdate,cbanzu')
  2319. ->buildSql();
  2320. $B1 = Db::table('cpjtfk')
  2321. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2322. ->field("
  2323. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2324. sum(iwcl) as 马1乙
  2325. ")
  2326. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  2327. ->group('drptdate,cbanzu')
  2328. ->buildSql();
  2329. $C = Db::table('cpjtfk')
  2330. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2331. ->field("
  2332. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2333. sum(iwcl) as 马2甲
  2334. ")
  2335. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  2336. ->group('drptdate,cbanzu')
  2337. ->buildSql();
  2338. $C1 = Db::table('cpjtfk')
  2339. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2340. ->field("
  2341. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2342. sum(iwcl) as 马2乙
  2343. ")
  2344. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  2345. ->group('drptdate,cbanzu')
  2346. ->buildSql();
  2347. $D = Db::table('cpjtfk')
  2348. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2349. ->field("
  2350. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2351. sum(iwcl) as 马3甲
  2352. ")
  2353. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  2354. ->group('drptdate,cbanzu')
  2355. ->buildSql();
  2356. $D1 = Db::table('cpjtfk')
  2357. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2358. ->field("
  2359. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2360. sum(iwcl) as 马3乙
  2361. ")
  2362. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  2363. ->group('drptdate,cbanzu')
  2364. ->buildSql();
  2365. $E = Db::table('cpjtfk')
  2366. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2367. ->field("
  2368. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2369. sum(iwcl) as 马4甲
  2370. ")
  2371. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  2372. ->group('drptdate,cbanzu')
  2373. ->buildSql();
  2374. $E1 = Db::table('cpjtfk')
  2375. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2376. ->field("
  2377. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2378. sum(iwcl) as 马4乙
  2379. ")
  2380. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  2381. ->group('drptdate,cbanzu')
  2382. ->buildSql();
  2383. $F = Db::table('cpjtfk')
  2384. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2385. ->field("
  2386. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2387. sum(iwcl) as 马5甲
  2388. ")
  2389. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  2390. ->group('drptdate,cbanzu')
  2391. ->buildSql();
  2392. $F1 = Db::table('cpjtfk')
  2393. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2394. ->field("
  2395. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2396. sum(iwcl) as 马5乙,
  2397. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  2398. ")
  2399. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  2400. ->group('drptdate,cbanzu')
  2401. ->buildSql();
  2402. $rr = Db::table('scyddx')->alias('r')
  2403. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2404. ->group('r.ICYDID')
  2405. ->buildSql();
  2406. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2407. ->field("
  2408. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2409. sum(a.nAmount) as 马11甲")
  2410. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2411. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2412. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2413. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2414. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2415. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2416. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  2417. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2418. ->group("CASE
  2419. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2420. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2421. END,Name_WorkGroup")->buildSql();
  2422. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2423. ->field("
  2424. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2425. sum(a.nAmount) as 马11乙
  2426. ")
  2427. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2428. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2429. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2430. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2431. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2432. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2433. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  2434. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2435. ->group("CASE
  2436. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2437. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2438. END,Name_WorkGroup")
  2439. ->buildSql();
  2440. $CC = Db::table('ql_report_feedback_day')->alias('a')
  2441. ->field("
  2442. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2443. sum(a.nAmount) as 马22甲
  2444. ")
  2445. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2446. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2447. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2448. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2449. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2450. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2451. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  2452. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2453. ->group("CASE
  2454. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2455. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2456. END,Name_WorkGroup")
  2457. ->buildSql();
  2458. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  2459. ->field("
  2460. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2461. sum(a.nAmount) as 马22乙
  2462. ")
  2463. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2464. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2465. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2466. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2467. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2468. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2469. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  2470. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2471. ->group("CASE
  2472. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2473. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2474. END,Name_WorkGroup")
  2475. ->buildSql();
  2476. $EE = Db::table('ql_report_feedback_day')->alias('a')
  2477. ->field("
  2478. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2479. sum(a.nAmount) as 马33甲
  2480. ")
  2481. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2482. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2483. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2484. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2485. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2486. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2487. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  2488. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2489. ->group("CASE
  2490. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2491. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2492. END,Name_WorkGroup")
  2493. ->buildSql();
  2494. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  2495. ->field("
  2496. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2497. sum(a.nAmount) as 马33乙
  2498. ")
  2499. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2500. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2501. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2502. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2503. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2504. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2505. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  2506. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2507. ->group("CASE
  2508. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2509. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2510. END,Name_WorkGroup")
  2511. ->buildSql();
  2512. $HH = Db::table('ql_report_feedback_day')->alias('a')
  2513. ->field("
  2514. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2515. sum(a.nAmount) as 马44甲
  2516. ")
  2517. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2518. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2519. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2520. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2521. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2522. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2523. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  2524. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2525. ->group("CASE
  2526. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2527. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2528. END,Name_WorkGroup")
  2529. ->buildSql();
  2530. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  2531. ->field("
  2532. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2533. sum(a.nAmount) as 马44乙
  2534. ")
  2535. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2536. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2537. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2538. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2539. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2540. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2541. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  2542. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2543. ->group("CASE
  2544. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2545. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2546. END,Name_WorkGroup")
  2547. ->buildSql();
  2548. $XX = Db::table('ql_report_feedback_day')->alias('a')
  2549. ->field("
  2550. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2551. sum(a.nAmount) as 马55甲
  2552. ")
  2553. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2554. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2555. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2556. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2557. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2558. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2559. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  2560. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2561. ->group("CASE
  2562. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2563. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2564. END,Name_WorkGroup")
  2565. ->buildSql();
  2566. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  2567. ->field("
  2568. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2569. sum(a.nAmount) as 马66甲
  2570. ")
  2571. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2572. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2573. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2574. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2575. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2576. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2577. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  2578. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2579. ->group("CASE
  2580. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2581. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2582. END,Name_WorkGroup")
  2583. ->buildSql();
  2584. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2585. ->field("
  2586. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2587. sum(a.nAmount) as 马77甲
  2588. ")
  2589. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2590. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2591. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2592. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2593. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2594. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2595. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2596. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2597. ->group("CASE
  2598. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2599. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2600. END,Name_WorkGroup")
  2601. ->buildSql();
  2602. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2603. ->field("
  2604. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2605. sum(a.nAmount) as 马55乙
  2606. ")
  2607. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2608. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2609. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2610. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2611. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2612. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2613. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2614. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2615. ->group("CASE
  2616. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2617. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2618. END,Name_WorkGroup")
  2619. ->buildSql();
  2620. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2621. ->field("
  2622. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2623. sum(a.nAmount) as 马66乙
  2624. ")
  2625. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2626. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2627. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2628. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2629. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2630. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2631. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2632. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2633. ->group("CASE
  2634. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2635. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2636. END,Name_WorkGroup")
  2637. ->buildSql();
  2638. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2639. ->field("
  2640. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2641. sum(a.nAmount) as 马77乙
  2642. ")
  2643. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2644. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2645. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2646. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2647. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2648. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2649. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2650. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2651. ->group("CASE
  2652. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2653. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2654. END,Name_WorkGroup")
  2655. ->buildSql();
  2656. $db = Db::table($A . 'a')
  2657. ->field("
  2658. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2659. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2660. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2661. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2662. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2663. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2664. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2665. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2666. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2667. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2668. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2669. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2670. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  2671. ")
  2672. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2673. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2674. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2675. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2676. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2677. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2678. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2679. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2680. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2681. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2682. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2683. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2684. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2685. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2686. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2687. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2688. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2689. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2690. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2691. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2692. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2693. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  2694. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2695. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  2696. ->buildSql();
  2697. $jd = Db::table($db . ' db')
  2698. ->field("
  2699. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2700. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2701. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2702. AND db.RQ <= '{$this->qianend_time()}' ")
  2703. ->group('MONTH(db.rq)')
  2704. ->select();
  2705. $B = Db::table('cpjtfk')
  2706. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2707. ->field("
  2708. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2709. Sum(iWcl) AS '簿1甲'
  2710. ")
  2711. ->where('cbanzu','=','簿册机1号(甲班)')
  2712. ->group('drptdate,cbanzu')
  2713. ->buildSql();
  2714. $B1 = Db::table('cpjtfk')
  2715. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2716. ->field("
  2717. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2718. Sum(iWcl) AS '簿1乙'
  2719. ")
  2720. ->where('cbanzu','=','簿册机1号(乙班)')
  2721. ->group('drptdate,cbanzu')
  2722. ->buildSql();
  2723. $rr = Db::table('scyddx')->alias('r')
  2724. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2725. ->group('r.ICYDID')
  2726. ->buildSql();
  2727. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2728. ->field("
  2729. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2730. Sum(a.nAmount) AS '簿11甲'
  2731. ")
  2732. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2733. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2734. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2735. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2736. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2737. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2738. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2739. ->where('a.cTechName' ,'=','簿册联动')
  2740. ->group("CASE
  2741. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2742. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2743. END,Name_WorkGroup")
  2744. ->buildSql();
  2745. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2746. ->field("
  2747. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2748. Sum(a.nAmount) AS '簿11乙'
  2749. ")
  2750. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2751. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2752. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2753. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2754. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2755. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2756. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2757. ->where('a.cTechName' ,'=','簿册联动')
  2758. ->group("CASE
  2759. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2760. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2761. END,Name_WorkGroup")
  2762. ->buildSql();
  2763. $db = Db::table($A . 'a')
  2764. ->field("
  2765. DISTINCT DATE(A.RQ) rq,
  2766. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2767. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2768. ")
  2769. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2770. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2771. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2772. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2773. ->group('rq')
  2774. ->buildSql();
  2775. $bc = Db::table($db . ' db')
  2776. ->field("
  2777. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2778. ROUND(sum(db.总计册), 0) as 簿册册数
  2779. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2780. AND db.RQ <= '{$this->qianend_time()}' ")
  2781. ->group('MONTH(db.rq)')
  2782. ->select();
  2783. // 创建一个结果数组
  2784. $result=[];
  2785. $result1 = [];
  2786. // 遍历第一个数组,并将数据加入结果数组
  2787. foreach ($jp as $val1) {
  2788. $month = $val1['日期'];
  2789. $data1 = $val1['精平册数'];
  2790. if (!isset($result[$month])) {
  2791. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2792. }
  2793. if (!isset($result1[$month])) {
  2794. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2795. }
  2796. $result1[$month] += $data1; // 累加第一个数组的数据
  2797. }
  2798. // 遍历第二个数组,并将数据加入结果数组
  2799. foreach ($jd as $val2) {
  2800. $month = $val2['日期'];
  2801. $data1 = $val2['无线胶订册数'];
  2802. if (!isset($result[$month])) {
  2803. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2804. }
  2805. if (!isset($result1[$month])) {
  2806. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2807. }
  2808. $result1[$month] += $data1; // 累加第二个数组的数据
  2809. }
  2810. foreach ($bc as $val2) {
  2811. $month = $val2['日期'];
  2812. $data1 = $val2['簿册册数'];
  2813. if (!isset($result[$month])) {
  2814. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2815. }
  2816. if (!isset($result1[$month])) {
  2817. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2818. }
  2819. $result1[$month] += $data1; // 累加第二个数组的数据
  2820. }
  2821. foreach($result1 as $k=>$v){
  2822. $list['categories'][]=$k;
  2823. $list['series'][0]['name']='装订实物产量册数';
  2824. $list['series'][0]['data'][]=$v;
  2825. }
  2826. $res['status']=0;
  2827. $res['msg']='';
  2828. $res['data']=$list;
  2829. $redis->set($redis_key, json_encode($result1));
  2830. // halt(json_decode($redis->get($redis_key),true));
  2831. return json_encode($result1);
  2832. }
  2833. //去年与当年--装订实物产量册数 接口合并一起->接口调用
  2834. public function zdcs() {
  2835. $redis = redis();
  2836. $result2022 = json_decode($redis->get(md5('zdcs2022')), true);
  2837. $result2023 = json_decode($redis->get(md5('zdcs2023')), true);
  2838. $resultzdcsTwoYear = json_decode($redis->get(md5('zdcsTwoYear')), true);
  2839. // 合并三年的数据
  2840. $result1 = array_merge($result2022, $result2023, $resultzdcsTwoYear);
  2841. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2842. $currentYear = date("Y"); // 当前年份
  2843. $currentMonth = date("m"); // 当前月份
  2844. $previousYear = $currentYear - 1; // 上一年
  2845. $previousQianYear = $currentYear - 2; // 前年
  2846. // 初始化三个年份的数据数组,先填充0
  2847. $list['series'][0]['name'] = $previousQianYear . '年';
  2848. $list['series'][0]['data'] = array_fill(0, 12, 0);
  2849. $list['series'][1]['name'] = $previousYear . '年';
  2850. $list['series'][1]['data'] = array_fill(0, 12, 0);
  2851. $list['series'][2]['name'] = $currentYear . '年';
  2852. $list['series'][2]['data'] = array_fill(0, 12, 0);
  2853. foreach ($result1 as $k => $v) {
  2854. $yearMonth = explode('-', $k);
  2855. $year = $yearMonth[0];
  2856. $month = (int)$yearMonth[1];
  2857. if ($year == $previousQianYear) {
  2858. // 如果是前两年的数据,直接赋值
  2859. $list['series'][0]['data'][$month - 1] = $v;
  2860. } elseif ($year == $previousYear) {
  2861. // 如果是去年的数据,直接赋值
  2862. $list['series'][1]['data'][$month - 1] = $v;
  2863. } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  2864. // 如果是当前年份,并且月份不超过当前月份,则赋值
  2865. $list['series'][2]['data'][$month - 1] = $v;
  2866. }
  2867. // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  2868. }
  2869. $res['status'] = 0;
  2870. $res['msg'] = '';
  2871. $res['data'] = $list;
  2872. return json_encode($res);
  2873. }
  2874. // public function zdcs(){
  2875. // $redis=redis();
  2876. // $result2022=json_decode($redis->get(md5('zdcs2022')),true);
  2877. // $result2023=json_decode($redis->get(md5('zdcs2023')),true);
  2878. // $result1=array_merge($result2022,$result2023);
  2879. //
  2880. // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2881. // $currentYear = date("Y"); // 当前年份
  2882. // $currentMonth = date("m"); // 当前月份
  2883. // $previousYear = $currentYear - 1; // 上一年
  2884. // // 初始化两个年份的数据数组,先填充0
  2885. // $list['series'][0]['name'] = $previousYear . '年';
  2886. // $list['series'][0]['data'] = array_fill(0, 12, 0);
  2887. // $list['series'][1]['name'] = $currentYear . '年';
  2888. // $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  2889. //
  2890. // foreach ($result1 as $k => $v) {
  2891. // $yearMonth = explode('-', $k);
  2892. // $year = $yearMonth[0];
  2893. // $month = (int)$yearMonth[1];
  2894. //
  2895. // if ($year == $previousYear) {
  2896. // // 如果是上一年的数据,直接赋值
  2897. // $list['series'][0]['data'][$month - 1] = $v;
  2898. // } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  2899. // // 如果是当前年份,并且月份不超过当前月份,则赋值
  2900. // $list['series'][1]['data'][$month - 1] = $v;
  2901. // }
  2902. // // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  2903. // }
  2904. // $res['status'] = 0;
  2905. // $res['msg'] = '';
  2906. // $res['data'] = $list;
  2907. // return json_encode($res);
  2908. // }
  2909. //去年装订实物产量纸令->缓存调用
  2910. public function zdzl2022(){
  2911. $redis=redis();
  2912. $redis_key = md5('zdzl2022');
  2913. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2914. ->union(function ($query) {
  2915. $query->table('scDayRpt_Teams')->alias('b')
  2916. ->field("DISTINCT DATE_FORMAT(
  2917. CASE
  2918. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2919. ELSE b.dOnDuty
  2920. END,
  2921. '%Y-%m-%d'
  2922. ) AS RQ");
  2923. }, true)
  2924. ->buildSql();
  2925. $B1 = Db::table('cpjtfk')
  2926. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2927. ->field("
  2928. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2929. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  2930. ")
  2931. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2932. ->group('drptdate,cbanzu')
  2933. ->buildSql();
  2934. $rr = Db::table('scyddx')->alias('r')
  2935. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2936. ->group('r.ICYDID')
  2937. ->buildSql();
  2938. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2939. ->field("
  2940. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2941. ROUND(SUM(
  2942. CASE
  2943. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2944. THEN
  2945. CASE
  2946. WHEN a.cCyddxMc = '装配'
  2947. OR a.cCyddxMc LIKE '%正文%'
  2948. OR a.cCyddxMc LIKE '%答案%'
  2949. OR a.cCyddxMc LIKE '%卷%'
  2950. THEN
  2951. CASE
  2952. WHEN CASE
  2953. WHEN IFNULL(d.fZls, 0) < rr.zl
  2954. THEN rr.zl
  2955. ELSE IFNULL(d.fZls, 0)
  2956. END = 0
  2957. THEN c.nzdls
  2958. ELSE (
  2959. CASE
  2960. WHEN c.nzdls <
  2961. CASE
  2962. WHEN IFNULL(d.fZls, 0) < rr.zl
  2963. THEN rr.zl
  2964. ELSE IFNULL(d.fZls, 0)
  2965. END
  2966. THEN
  2967. CASE
  2968. WHEN IFNULL(d.fZls, 0) < rr.zl
  2969. THEN rr.zl
  2970. ELSE IFNULL(d.fZls, 0)
  2971. END
  2972. ELSE c.nzdls
  2973. END
  2974. )
  2975. END
  2976. ELSE 0
  2977. END
  2978. ELSE
  2979. CASE
  2980. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2981. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2982. CASE
  2983. WHEN a.cCyddxMc = '装配'
  2984. OR a.cCyddxMc LIKE '%正文%'
  2985. OR a.cCyddxMc LIKE '%答案%'
  2986. OR a.cCyddxMc LIKE '%卷%'
  2987. THEN
  2988. CASE
  2989. WHEN CASE
  2990. WHEN IFNULL(d.fZls, 0) < rr.zl
  2991. THEN rr.zl
  2992. ELSE IFNULL(d.fZls, 0)
  2993. END = 0
  2994. THEN c.nzdls
  2995. ELSE (
  2996. CASE
  2997. WHEN c.nzdls <
  2998. CASE
  2999. WHEN IFNULL(d.fZls, 0) < rr.zl
  3000. THEN rr.zl
  3001. ELSE IFNULL(d.fZls, 0)
  3002. END
  3003. THEN
  3004. CASE
  3005. WHEN IFNULL(d.fZls, 0) < rr.zl
  3006. THEN rr.zl
  3007. ELSE IFNULL(d.fZls, 0)
  3008. END
  3009. ELSE c.nzdls
  3010. END
  3011. )
  3012. END
  3013. ELSE 0
  3014. END
  3015. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3016. END
  3017. END )
  3018. , 3) 精11乙纸令
  3019. ")
  3020. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3021. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3022. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3023. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3024. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3025. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3026. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  3027. ->group("CASE
  3028. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3029. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3030. END,Name_WorkGroup")
  3031. ->buildSql();
  3032. $db = Db::table($A . 'a')
  3033. ->field("
  3034. DATE(A.RQ) rq,
  3035. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  3036. ")
  3037. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  3038. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  3039. ->buildSql();
  3040. $jp = Db::table($db . ' db')
  3041. ->field("
  3042. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  3043. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  3044. ")->where("db.RQ >= '{$this->qstart_time()}'
  3045. AND db.RQ <= '{$this->qend_time()}' ")
  3046. ->group('MONTH(db.rq)')
  3047. ->select();
  3048. $B = Db::table('cpjtfk')
  3049. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3050. ->field("
  3051. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3052. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  3053. ")
  3054. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  3055. ->group('drptdate,cbanzu')
  3056. ->buildSql();
  3057. $B1 = Db::table('cpjtfk')
  3058. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3059. ->field("
  3060. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3061. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  3062. ")
  3063. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  3064. ->group('drptdate,cbanzu')
  3065. ->buildSql();
  3066. $C = Db::table('cpjtfk')
  3067. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3068. ->field("
  3069. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3070. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  3071. ")
  3072. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  3073. ->group('drptdate,cbanzu')
  3074. ->buildSql();
  3075. $C1 = Db::table('cpjtfk')
  3076. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3077. ->field("
  3078. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3079. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  3080. ")
  3081. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  3082. ->group('drptdate,cbanzu')
  3083. ->buildSql();
  3084. $D = Db::table('cpjtfk')
  3085. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3086. ->field("
  3087. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3088. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  3089. ")
  3090. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  3091. ->group('drptdate,cbanzu')
  3092. ->buildSql();
  3093. $D1 = Db::table('cpjtfk')
  3094. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3095. ->field("
  3096. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3097. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  3098. ")
  3099. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  3100. ->group('drptdate,cbanzu')
  3101. ->buildSql();
  3102. $E = Db::table('cpjtfk')
  3103. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3104. ->field("
  3105. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3106. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  3107. ")
  3108. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  3109. ->group('drptdate,cbanzu')
  3110. ->buildSql();
  3111. $E1 = Db::table('cpjtfk')
  3112. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3113. ->field("
  3114. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3115. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  3116. ")
  3117. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  3118. ->group('drptdate,cbanzu')
  3119. ->buildSql();
  3120. $F = Db::table('cpjtfk')
  3121. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3122. ->field("
  3123. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3124. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  3125. ")
  3126. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  3127. ->group('drptdate,cbanzu')
  3128. ->buildSql();
  3129. $F1 = Db::table('cpjtfk')
  3130. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3131. ->field("
  3132. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3133. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  3134. ")
  3135. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  3136. ->group('drptdate,cbanzu')
  3137. ->buildSql();
  3138. $rr = Db::table('scyddx')->alias('r')
  3139. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3140. ->group('r.ICYDID')
  3141. ->buildSql();
  3142. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  3143. ->field("
  3144. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3145. ROUND(SUM(
  3146. CASE
  3147. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3148. THEN CASE WHEN a.cCyddxMc = '装配'
  3149. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3150. THEN CASE
  3151. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3152. END = 0 THEN c.nzdls
  3153. ELSE ( CASE
  3154. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3155. END
  3156. THEN CASE
  3157. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3158. END ELSE c.nzdls END
  3159. ) END ELSE 0 END
  3160. ELSE CASE
  3161. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3162. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3163. CASE WHEN a.cCyddxMc = '装配'
  3164. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3165. THEN CASE
  3166. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3167. END = 0 THEN c.nzdls
  3168. ELSE ( CASE WHEN c.nzdls <
  3169. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3170. END
  3171. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3172. END ELSE c.nzdls END )
  3173. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3174. END END ), 3) 马11甲纸令 ")
  3175. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3176. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3177. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3178. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3179. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3180. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3181. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  3182. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3183. ->group("CASE
  3184. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3185. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3186. END,Name_WorkGroup")->buildSql();
  3187. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3188. ->field("
  3189. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3190. ROUND(SUM(
  3191. CASE
  3192. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3193. THEN
  3194. CASE
  3195. WHEN a.cCyddxMc = '装配'
  3196. OR a.cCyddxMc LIKE '%正文%'
  3197. OR a.cCyddxMc LIKE '%答案%'
  3198. OR a.cCyddxMc LIKE '%卷%'
  3199. THEN
  3200. CASE
  3201. WHEN CASE
  3202. WHEN IFNULL(d.fZls, 0) < rr.zl
  3203. THEN rr.zl
  3204. ELSE IFNULL(d.fZls, 0)
  3205. END = 0
  3206. THEN c.nzdls
  3207. ELSE (
  3208. CASE
  3209. WHEN c.nzdls <
  3210. CASE
  3211. WHEN IFNULL(d.fZls, 0) < rr.zl
  3212. THEN rr.zl
  3213. ELSE IFNULL(d.fZls, 0)
  3214. END
  3215. THEN
  3216. CASE
  3217. WHEN IFNULL(d.fZls, 0) < rr.zl
  3218. THEN rr.zl
  3219. ELSE IFNULL(d.fZls, 0)
  3220. END
  3221. ELSE c.nzdls
  3222. END
  3223. )
  3224. END
  3225. ELSE 0
  3226. END
  3227. ELSE
  3228. CASE
  3229. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3230. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3231. CASE
  3232. WHEN a.cCyddxMc = '装配'
  3233. OR a.cCyddxMc LIKE '%正文%'
  3234. OR a.cCyddxMc LIKE '%答案%'
  3235. OR a.cCyddxMc LIKE '%卷%'
  3236. THEN
  3237. CASE
  3238. WHEN CASE
  3239. WHEN IFNULL(d.fZls, 0) < rr.zl
  3240. THEN rr.zl
  3241. ELSE IFNULL(d.fZls, 0)
  3242. END = 0
  3243. THEN c.nzdls
  3244. ELSE (
  3245. CASE
  3246. WHEN c.nzdls <
  3247. CASE
  3248. WHEN IFNULL(d.fZls, 0) < rr.zl
  3249. THEN rr.zl
  3250. ELSE IFNULL(d.fZls, 0)
  3251. END
  3252. THEN
  3253. CASE
  3254. WHEN IFNULL(d.fZls, 0) < rr.zl
  3255. THEN rr.zl
  3256. ELSE IFNULL(d.fZls, 0)
  3257. END
  3258. ELSE c.nzdls
  3259. END
  3260. )
  3261. END
  3262. ELSE 0
  3263. END
  3264. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3265. END
  3266. END )
  3267. , 3) 马11乙纸令
  3268. ")
  3269. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3270. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3271. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3272. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3273. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3274. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3275. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  3276. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3277. ->group("CASE
  3278. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3279. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3280. END,Name_WorkGroup")
  3281. ->buildSql();
  3282. $CC = Db::table('ql_report_feedback_day')->alias('a')
  3283. ->field("
  3284. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3285. ROUND(SUM(
  3286. CASE
  3287. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3288. THEN
  3289. CASE
  3290. WHEN a.cCyddxMc = '装配'
  3291. OR a.cCyddxMc LIKE '%正文%'
  3292. OR a.cCyddxMc LIKE '%答案%'
  3293. OR a.cCyddxMc LIKE '%卷%'
  3294. THEN
  3295. CASE
  3296. WHEN CASE
  3297. WHEN IFNULL(d.fZls, 0) < rr.zl
  3298. THEN rr.zl
  3299. ELSE IFNULL(d.fZls, 0)
  3300. END = 0
  3301. THEN c.nzdls
  3302. ELSE (
  3303. CASE
  3304. WHEN c.nzdls <
  3305. CASE
  3306. WHEN IFNULL(d.fZls, 0) < rr.zl
  3307. THEN rr.zl
  3308. ELSE IFNULL(d.fZls, 0)
  3309. END
  3310. THEN
  3311. CASE
  3312. WHEN IFNULL(d.fZls, 0) < rr.zl
  3313. THEN rr.zl
  3314. ELSE IFNULL(d.fZls, 0)
  3315. END
  3316. ELSE c.nzdls
  3317. END
  3318. )
  3319. END
  3320. ELSE 0
  3321. END
  3322. ELSE
  3323. CASE
  3324. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3325. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3326. CASE
  3327. WHEN a.cCyddxMc = '装配'
  3328. OR a.cCyddxMc LIKE '%正文%'
  3329. OR a.cCyddxMc LIKE '%答案%'
  3330. OR a.cCyddxMc LIKE '%卷%'
  3331. THEN
  3332. CASE
  3333. WHEN CASE
  3334. WHEN IFNULL(d.fZls, 0) < rr.zl
  3335. THEN rr.zl
  3336. ELSE IFNULL(d.fZls, 0)
  3337. END = 0
  3338. THEN c.nzdls
  3339. ELSE (
  3340. CASE
  3341. WHEN c.nzdls <
  3342. CASE
  3343. WHEN IFNULL(d.fZls, 0) < rr.zl
  3344. THEN rr.zl
  3345. ELSE IFNULL(d.fZls, 0)
  3346. END
  3347. THEN
  3348. CASE
  3349. WHEN IFNULL(d.fZls, 0) < rr.zl
  3350. THEN rr.zl
  3351. ELSE IFNULL(d.fZls, 0)
  3352. END
  3353. ELSE c.nzdls
  3354. END
  3355. )
  3356. END
  3357. ELSE 0
  3358. END
  3359. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3360. END
  3361. END )
  3362. , 3) 马22甲纸令
  3363. ")
  3364. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3365. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3366. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3367. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3368. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3369. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3370. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  3371. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3372. ->group("CASE
  3373. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3374. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3375. END,Name_WorkGroup")
  3376. ->buildSql();
  3377. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  3378. ->field("
  3379. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3380. ROUND(SUM(
  3381. CASE
  3382. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3383. THEN
  3384. CASE
  3385. WHEN a.cCyddxMc = '装配'
  3386. OR a.cCyddxMc LIKE '%正文%'
  3387. OR a.cCyddxMc LIKE '%答案%'
  3388. OR a.cCyddxMc LIKE '%卷%'
  3389. THEN
  3390. CASE
  3391. WHEN CASE
  3392. WHEN IFNULL(d.fZls, 0) < rr.zl
  3393. THEN rr.zl
  3394. ELSE IFNULL(d.fZls, 0)
  3395. END = 0
  3396. THEN c.nzdls
  3397. ELSE (
  3398. CASE
  3399. WHEN c.nzdls <
  3400. CASE
  3401. WHEN IFNULL(d.fZls, 0) < rr.zl
  3402. THEN rr.zl
  3403. ELSE IFNULL(d.fZls, 0)
  3404. END
  3405. THEN
  3406. CASE
  3407. WHEN IFNULL(d.fZls, 0) < rr.zl
  3408. THEN rr.zl
  3409. ELSE IFNULL(d.fZls, 0)
  3410. END
  3411. ELSE c.nzdls
  3412. END
  3413. )
  3414. END
  3415. ELSE 0
  3416. END
  3417. ELSE
  3418. CASE
  3419. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3420. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3421. CASE
  3422. WHEN a.cCyddxMc = '装配'
  3423. OR a.cCyddxMc LIKE '%正文%'
  3424. OR a.cCyddxMc LIKE '%答案%'
  3425. OR a.cCyddxMc LIKE '%卷%'
  3426. THEN
  3427. CASE
  3428. WHEN CASE
  3429. WHEN IFNULL(d.fZls, 0) < rr.zl
  3430. THEN rr.zl
  3431. ELSE IFNULL(d.fZls, 0)
  3432. END = 0
  3433. THEN c.nzdls
  3434. ELSE (
  3435. CASE
  3436. WHEN c.nzdls <
  3437. CASE
  3438. WHEN IFNULL(d.fZls, 0) < rr.zl
  3439. THEN rr.zl
  3440. ELSE IFNULL(d.fZls, 0)
  3441. END
  3442. THEN
  3443. CASE
  3444. WHEN IFNULL(d.fZls, 0) < rr.zl
  3445. THEN rr.zl
  3446. ELSE IFNULL(d.fZls, 0)
  3447. END
  3448. ELSE c.nzdls
  3449. END
  3450. )
  3451. END
  3452. ELSE 0
  3453. END
  3454. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3455. END
  3456. END )
  3457. , 3) 马22乙纸令
  3458. ")
  3459. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3460. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3461. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3462. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3463. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3464. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3465. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  3466. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3467. ->group("CASE
  3468. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3469. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3470. END,Name_WorkGroup")
  3471. ->buildSql();
  3472. $EE = Db::table('ql_report_feedback_day')->alias('a')
  3473. ->field("
  3474. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3475. ROUND(SUM(
  3476. CASE
  3477. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3478. THEN
  3479. CASE
  3480. WHEN a.cCyddxMc = '装配'
  3481. OR a.cCyddxMc LIKE '%正文%'
  3482. OR a.cCyddxMc LIKE '%答案%'
  3483. OR a.cCyddxMc LIKE '%卷%'
  3484. THEN
  3485. CASE
  3486. WHEN CASE
  3487. WHEN IFNULL(d.fZls, 0) < rr.zl
  3488. THEN rr.zl
  3489. ELSE IFNULL(d.fZls, 0)
  3490. END = 0
  3491. THEN c.nzdls
  3492. ELSE (
  3493. CASE
  3494. WHEN c.nzdls <
  3495. CASE
  3496. WHEN IFNULL(d.fZls, 0) < rr.zl
  3497. THEN rr.zl
  3498. ELSE IFNULL(d.fZls, 0)
  3499. END
  3500. THEN
  3501. CASE
  3502. WHEN IFNULL(d.fZls, 0) < rr.zl
  3503. THEN rr.zl
  3504. ELSE IFNULL(d.fZls, 0)
  3505. END
  3506. ELSE c.nzdls
  3507. END
  3508. )
  3509. END
  3510. ELSE 0
  3511. END
  3512. ELSE
  3513. CASE
  3514. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3515. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3516. CASE
  3517. WHEN a.cCyddxMc = '装配'
  3518. OR a.cCyddxMc LIKE '%正文%'
  3519. OR a.cCyddxMc LIKE '%答案%'
  3520. OR a.cCyddxMc LIKE '%卷%'
  3521. THEN
  3522. CASE
  3523. WHEN CASE
  3524. WHEN IFNULL(d.fZls, 0) < rr.zl
  3525. THEN rr.zl
  3526. ELSE IFNULL(d.fZls, 0)
  3527. END = 0
  3528. THEN c.nzdls
  3529. ELSE (
  3530. CASE
  3531. WHEN c.nzdls <
  3532. CASE
  3533. WHEN IFNULL(d.fZls, 0) < rr.zl
  3534. THEN rr.zl
  3535. ELSE IFNULL(d.fZls, 0)
  3536. END
  3537. THEN
  3538. CASE
  3539. WHEN IFNULL(d.fZls, 0) < rr.zl
  3540. THEN rr.zl
  3541. ELSE IFNULL(d.fZls, 0)
  3542. END
  3543. ELSE c.nzdls
  3544. END
  3545. )
  3546. END
  3547. ELSE 0
  3548. END
  3549. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3550. END
  3551. END )
  3552. , 3) 马33甲纸令
  3553. ")
  3554. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3555. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3556. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3557. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3558. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3559. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3560. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  3561. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3562. ->group("CASE
  3563. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3564. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3565. END,Name_WorkGroup")
  3566. ->buildSql();
  3567. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  3568. ->field("
  3569. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3570. ROUND(SUM(
  3571. CASE
  3572. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3573. THEN
  3574. CASE
  3575. WHEN a.cCyddxMc = '装配'
  3576. OR a.cCyddxMc LIKE '%正文%'
  3577. OR a.cCyddxMc LIKE '%答案%'
  3578. OR a.cCyddxMc LIKE '%卷%'
  3579. THEN
  3580. CASE
  3581. WHEN CASE
  3582. WHEN IFNULL(d.fZls, 0) < rr.zl
  3583. THEN rr.zl
  3584. ELSE IFNULL(d.fZls, 0)
  3585. END = 0
  3586. THEN c.nzdls
  3587. ELSE (
  3588. CASE
  3589. WHEN c.nzdls <
  3590. CASE
  3591. WHEN IFNULL(d.fZls, 0) < rr.zl
  3592. THEN rr.zl
  3593. ELSE IFNULL(d.fZls, 0)
  3594. END
  3595. THEN
  3596. CASE
  3597. WHEN IFNULL(d.fZls, 0) < rr.zl
  3598. THEN rr.zl
  3599. ELSE IFNULL(d.fZls, 0)
  3600. END
  3601. ELSE c.nzdls
  3602. END
  3603. )
  3604. END
  3605. ELSE 0
  3606. END
  3607. ELSE
  3608. CASE
  3609. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3610. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3611. CASE
  3612. WHEN a.cCyddxMc = '装配'
  3613. OR a.cCyddxMc LIKE '%正文%'
  3614. OR a.cCyddxMc LIKE '%答案%'
  3615. OR a.cCyddxMc LIKE '%卷%'
  3616. THEN
  3617. CASE
  3618. WHEN CASE
  3619. WHEN IFNULL(d.fZls, 0) < rr.zl
  3620. THEN rr.zl
  3621. ELSE IFNULL(d.fZls, 0)
  3622. END = 0
  3623. THEN c.nzdls
  3624. ELSE (
  3625. CASE
  3626. WHEN c.nzdls <
  3627. CASE
  3628. WHEN IFNULL(d.fZls, 0) < rr.zl
  3629. THEN rr.zl
  3630. ELSE IFNULL(d.fZls, 0)
  3631. END
  3632. THEN
  3633. CASE
  3634. WHEN IFNULL(d.fZls, 0) < rr.zl
  3635. THEN rr.zl
  3636. ELSE IFNULL(d.fZls, 0)
  3637. END
  3638. ELSE c.nzdls
  3639. END
  3640. )
  3641. END
  3642. ELSE 0
  3643. END
  3644. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3645. END
  3646. END )
  3647. , 3) 马33乙纸令
  3648. ")
  3649. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3650. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3651. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3652. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3653. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3654. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3655. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  3656. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3657. ->group("CASE
  3658. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3659. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3660. END,Name_WorkGroup")
  3661. ->buildSql();
  3662. $HH = Db::table('ql_report_feedback_day')->alias('a')
  3663. ->field("
  3664. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3665. ROUND(SUM(
  3666. CASE
  3667. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3668. THEN
  3669. CASE
  3670. WHEN a.cCyddxMc = '装配'
  3671. OR a.cCyddxMc LIKE '%正文%'
  3672. OR a.cCyddxMc LIKE '%答案%'
  3673. OR a.cCyddxMc LIKE '%卷%'
  3674. THEN
  3675. CASE
  3676. WHEN CASE
  3677. WHEN IFNULL(d.fZls, 0) < rr.zl
  3678. THEN rr.zl
  3679. ELSE IFNULL(d.fZls, 0)
  3680. END = 0
  3681. THEN c.nzdls
  3682. ELSE (
  3683. CASE
  3684. WHEN c.nzdls <
  3685. CASE
  3686. WHEN IFNULL(d.fZls, 0) < rr.zl
  3687. THEN rr.zl
  3688. ELSE IFNULL(d.fZls, 0)
  3689. END
  3690. THEN
  3691. CASE
  3692. WHEN IFNULL(d.fZls, 0) < rr.zl
  3693. THEN rr.zl
  3694. ELSE IFNULL(d.fZls, 0)
  3695. END
  3696. ELSE c.nzdls
  3697. END
  3698. )
  3699. END
  3700. ELSE 0
  3701. END
  3702. ELSE
  3703. CASE
  3704. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3705. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3706. CASE
  3707. WHEN a.cCyddxMc = '装配'
  3708. OR a.cCyddxMc LIKE '%正文%'
  3709. OR a.cCyddxMc LIKE '%答案%'
  3710. OR a.cCyddxMc LIKE '%卷%'
  3711. THEN
  3712. CASE
  3713. WHEN CASE
  3714. WHEN IFNULL(d.fZls, 0) < rr.zl
  3715. THEN rr.zl
  3716. ELSE IFNULL(d.fZls, 0)
  3717. END = 0
  3718. THEN c.nzdls
  3719. ELSE (
  3720. CASE
  3721. WHEN c.nzdls <
  3722. CASE
  3723. WHEN IFNULL(d.fZls, 0) < rr.zl
  3724. THEN rr.zl
  3725. ELSE IFNULL(d.fZls, 0)
  3726. END
  3727. THEN
  3728. CASE
  3729. WHEN IFNULL(d.fZls, 0) < rr.zl
  3730. THEN rr.zl
  3731. ELSE IFNULL(d.fZls, 0)
  3732. END
  3733. ELSE c.nzdls
  3734. END
  3735. )
  3736. END
  3737. ELSE 0
  3738. END
  3739. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3740. END
  3741. END )
  3742. , 3) 马44甲纸令
  3743. ")
  3744. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3745. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3746. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3747. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3748. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3749. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3750. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  3751. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3752. ->group("CASE
  3753. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3754. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3755. END,Name_WorkGroup")
  3756. ->buildSql();
  3757. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  3758. ->field("
  3759. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3760. ROUND(SUM(
  3761. CASE
  3762. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3763. THEN
  3764. CASE
  3765. WHEN a.cCyddxMc = '装配'
  3766. OR a.cCyddxMc LIKE '%正文%'
  3767. OR a.cCyddxMc LIKE '%答案%'
  3768. OR a.cCyddxMc LIKE '%卷%'
  3769. THEN
  3770. CASE
  3771. WHEN CASE
  3772. WHEN IFNULL(d.fZls, 0) < rr.zl
  3773. THEN rr.zl
  3774. ELSE IFNULL(d.fZls, 0)
  3775. END = 0
  3776. THEN c.nzdls
  3777. ELSE (
  3778. CASE
  3779. WHEN c.nzdls <
  3780. CASE
  3781. WHEN IFNULL(d.fZls, 0) < rr.zl
  3782. THEN rr.zl
  3783. ELSE IFNULL(d.fZls, 0)
  3784. END
  3785. THEN
  3786. CASE
  3787. WHEN IFNULL(d.fZls, 0) < rr.zl
  3788. THEN rr.zl
  3789. ELSE IFNULL(d.fZls, 0)
  3790. END
  3791. ELSE c.nzdls
  3792. END
  3793. )
  3794. END
  3795. ELSE 0
  3796. END
  3797. ELSE
  3798. CASE
  3799. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3800. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3801. CASE
  3802. WHEN a.cCyddxMc = '装配'
  3803. OR a.cCyddxMc LIKE '%正文%'
  3804. OR a.cCyddxMc LIKE '%答案%'
  3805. OR a.cCyddxMc LIKE '%卷%'
  3806. THEN
  3807. CASE
  3808. WHEN CASE
  3809. WHEN IFNULL(d.fZls, 0) < rr.zl
  3810. THEN rr.zl
  3811. ELSE IFNULL(d.fZls, 0)
  3812. END = 0
  3813. THEN c.nzdls
  3814. ELSE (
  3815. CASE
  3816. WHEN c.nzdls <
  3817. CASE
  3818. WHEN IFNULL(d.fZls, 0) < rr.zl
  3819. THEN rr.zl
  3820. ELSE IFNULL(d.fZls, 0)
  3821. END
  3822. THEN
  3823. CASE
  3824. WHEN IFNULL(d.fZls, 0) < rr.zl
  3825. THEN rr.zl
  3826. ELSE IFNULL(d.fZls, 0)
  3827. END
  3828. ELSE c.nzdls
  3829. END
  3830. )
  3831. END
  3832. ELSE 0
  3833. END
  3834. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3835. END
  3836. END )
  3837. , 3) 马44乙纸令
  3838. ")
  3839. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3840. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3841. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3842. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3843. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3844. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3845. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  3846. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3847. ->group("CASE
  3848. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3849. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3850. END,Name_WorkGroup")
  3851. ->buildSql();
  3852. $XX = Db::table('ql_report_feedback_day')->alias('a')
  3853. ->field("
  3854. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3855. ROUND(SUM(
  3856. CASE
  3857. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3858. THEN
  3859. CASE
  3860. WHEN a.cCyddxMc = '装配'
  3861. OR a.cCyddxMc LIKE '%正文%'
  3862. OR a.cCyddxMc LIKE '%答案%'
  3863. OR a.cCyddxMc LIKE '%卷%'
  3864. THEN
  3865. CASE
  3866. WHEN CASE
  3867. WHEN IFNULL(d.fZls, 0) < rr.zl
  3868. THEN rr.zl
  3869. ELSE IFNULL(d.fZls, 0)
  3870. END = 0
  3871. THEN c.nzdls
  3872. ELSE (
  3873. CASE
  3874. WHEN c.nzdls <
  3875. CASE
  3876. WHEN IFNULL(d.fZls, 0) < rr.zl
  3877. THEN rr.zl
  3878. ELSE IFNULL(d.fZls, 0)
  3879. END
  3880. THEN
  3881. CASE
  3882. WHEN IFNULL(d.fZls, 0) < rr.zl
  3883. THEN rr.zl
  3884. ELSE IFNULL(d.fZls, 0)
  3885. END
  3886. ELSE c.nzdls
  3887. END
  3888. )
  3889. END
  3890. ELSE 0
  3891. END
  3892. ELSE
  3893. CASE
  3894. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3895. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3896. CASE
  3897. WHEN a.cCyddxMc = '装配'
  3898. OR a.cCyddxMc LIKE '%正文%'
  3899. OR a.cCyddxMc LIKE '%答案%'
  3900. OR a.cCyddxMc LIKE '%卷%'
  3901. THEN
  3902. CASE
  3903. WHEN CASE
  3904. WHEN IFNULL(d.fZls, 0) < rr.zl
  3905. THEN rr.zl
  3906. ELSE IFNULL(d.fZls, 0)
  3907. END = 0
  3908. THEN c.nzdls
  3909. ELSE (
  3910. CASE
  3911. WHEN c.nzdls <
  3912. CASE
  3913. WHEN IFNULL(d.fZls, 0) < rr.zl
  3914. THEN rr.zl
  3915. ELSE IFNULL(d.fZls, 0)
  3916. END
  3917. THEN
  3918. CASE
  3919. WHEN IFNULL(d.fZls, 0) < rr.zl
  3920. THEN rr.zl
  3921. ELSE IFNULL(d.fZls, 0)
  3922. END
  3923. ELSE c.nzdls
  3924. END
  3925. )
  3926. END
  3927. ELSE 0
  3928. END
  3929. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3930. END
  3931. END )
  3932. , 3) 马55甲纸令
  3933. ")
  3934. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3935. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3936. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3937. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3938. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3939. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3940. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  3941. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3942. ->group("CASE
  3943. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3944. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3945. END,Name_WorkGroup")
  3946. ->buildSql();
  3947. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  3948. ->field("
  3949. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3950. ROUND(SUM(
  3951. CASE
  3952. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3953. THEN
  3954. CASE
  3955. WHEN a.cCyddxMc = '装配'
  3956. OR a.cCyddxMc LIKE '%正文%'
  3957. OR a.cCyddxMc LIKE '%答案%'
  3958. OR a.cCyddxMc LIKE '%卷%'
  3959. THEN
  3960. CASE
  3961. WHEN CASE
  3962. WHEN IFNULL(d.fZls, 0) < rr.zl
  3963. THEN rr.zl
  3964. ELSE IFNULL(d.fZls, 0)
  3965. END = 0
  3966. THEN c.nzdls
  3967. ELSE (
  3968. CASE
  3969. WHEN c.nzdls <
  3970. CASE
  3971. WHEN IFNULL(d.fZls, 0) < rr.zl
  3972. THEN rr.zl
  3973. ELSE IFNULL(d.fZls, 0)
  3974. END
  3975. THEN
  3976. CASE
  3977. WHEN IFNULL(d.fZls, 0) < rr.zl
  3978. THEN rr.zl
  3979. ELSE IFNULL(d.fZls, 0)
  3980. END
  3981. ELSE c.nzdls
  3982. END
  3983. )
  3984. END
  3985. ELSE 0
  3986. END
  3987. ELSE
  3988. CASE
  3989. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3990. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3991. CASE
  3992. WHEN a.cCyddxMc = '装配'
  3993. OR a.cCyddxMc LIKE '%正文%'
  3994. OR a.cCyddxMc LIKE '%答案%'
  3995. OR a.cCyddxMc LIKE '%卷%'
  3996. THEN
  3997. CASE
  3998. WHEN CASE
  3999. WHEN IFNULL(d.fZls, 0) < rr.zl
  4000. THEN rr.zl
  4001. ELSE IFNULL(d.fZls, 0)
  4002. END = 0
  4003. THEN c.nzdls
  4004. ELSE (
  4005. CASE
  4006. WHEN c.nzdls <
  4007. CASE
  4008. WHEN IFNULL(d.fZls, 0) < rr.zl
  4009. THEN rr.zl
  4010. ELSE IFNULL(d.fZls, 0)
  4011. END
  4012. THEN
  4013. CASE
  4014. WHEN IFNULL(d.fZls, 0) < rr.zl
  4015. THEN rr.zl
  4016. ELSE IFNULL(d.fZls, 0)
  4017. END
  4018. ELSE c.nzdls
  4019. END
  4020. )
  4021. END
  4022. ELSE 0
  4023. END
  4024. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4025. END
  4026. END )
  4027. , 3) 马66甲纸令
  4028. ")
  4029. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4030. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4031. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4032. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4033. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4034. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4035. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  4036. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4037. ->group("CASE
  4038. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4039. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4040. END,Name_WorkGroup")
  4041. ->buildSql();
  4042. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  4043. ->field("
  4044. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4045. ROUND(SUM(
  4046. CASE
  4047. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4048. THEN
  4049. CASE
  4050. WHEN a.cCyddxMc = '装配'
  4051. OR a.cCyddxMc LIKE '%正文%'
  4052. OR a.cCyddxMc LIKE '%答案%'
  4053. OR a.cCyddxMc LIKE '%卷%'
  4054. THEN
  4055. CASE
  4056. WHEN CASE
  4057. WHEN IFNULL(d.fZls, 0) < rr.zl
  4058. THEN rr.zl
  4059. ELSE IFNULL(d.fZls, 0)
  4060. END = 0
  4061. THEN c.nzdls
  4062. ELSE (
  4063. CASE
  4064. WHEN c.nzdls <
  4065. CASE
  4066. WHEN IFNULL(d.fZls, 0) < rr.zl
  4067. THEN rr.zl
  4068. ELSE IFNULL(d.fZls, 0)
  4069. END
  4070. THEN
  4071. CASE
  4072. WHEN IFNULL(d.fZls, 0) < rr.zl
  4073. THEN rr.zl
  4074. ELSE IFNULL(d.fZls, 0)
  4075. END
  4076. ELSE c.nzdls
  4077. END
  4078. )
  4079. END
  4080. ELSE 0
  4081. END
  4082. ELSE
  4083. CASE
  4084. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4085. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4086. CASE
  4087. WHEN a.cCyddxMc = '装配'
  4088. OR a.cCyddxMc LIKE '%正文%'
  4089. OR a.cCyddxMc LIKE '%答案%'
  4090. OR a.cCyddxMc LIKE '%卷%'
  4091. THEN
  4092. CASE
  4093. WHEN CASE
  4094. WHEN IFNULL(d.fZls, 0) < rr.zl
  4095. THEN rr.zl
  4096. ELSE IFNULL(d.fZls, 0)
  4097. END = 0
  4098. THEN c.nzdls
  4099. ELSE (
  4100. CASE
  4101. WHEN c.nzdls <
  4102. CASE
  4103. WHEN IFNULL(d.fZls, 0) < rr.zl
  4104. THEN rr.zl
  4105. ELSE IFNULL(d.fZls, 0)
  4106. END
  4107. THEN
  4108. CASE
  4109. WHEN IFNULL(d.fZls, 0) < rr.zl
  4110. THEN rr.zl
  4111. ELSE IFNULL(d.fZls, 0)
  4112. END
  4113. ELSE c.nzdls
  4114. END
  4115. )
  4116. END
  4117. ELSE 0
  4118. END
  4119. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4120. END
  4121. END )
  4122. , 3) 马77甲纸令
  4123. ")
  4124. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4125. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4126. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4127. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4128. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4129. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4130. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  4131. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4132. ->group("CASE
  4133. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4134. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4135. END,Name_WorkGroup")
  4136. ->buildSql();
  4137. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  4138. ->field("
  4139. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4140. ROUND(SUM(
  4141. CASE
  4142. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4143. THEN
  4144. CASE
  4145. WHEN a.cCyddxMc = '装配'
  4146. OR a.cCyddxMc LIKE '%正文%'
  4147. OR a.cCyddxMc LIKE '%答案%'
  4148. OR a.cCyddxMc LIKE '%卷%'
  4149. THEN
  4150. CASE
  4151. WHEN CASE
  4152. WHEN IFNULL(d.fZls, 0) < rr.zl
  4153. THEN rr.zl
  4154. ELSE IFNULL(d.fZls, 0)
  4155. END = 0
  4156. THEN c.nzdls
  4157. ELSE (
  4158. CASE
  4159. WHEN c.nzdls <
  4160. CASE
  4161. WHEN IFNULL(d.fZls, 0) < rr.zl
  4162. THEN rr.zl
  4163. ELSE IFNULL(d.fZls, 0)
  4164. END
  4165. THEN
  4166. CASE
  4167. WHEN IFNULL(d.fZls, 0) < rr.zl
  4168. THEN rr.zl
  4169. ELSE IFNULL(d.fZls, 0)
  4170. END
  4171. ELSE c.nzdls
  4172. END
  4173. )
  4174. END
  4175. ELSE 0
  4176. END
  4177. ELSE
  4178. CASE
  4179. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4180. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4181. CASE
  4182. WHEN a.cCyddxMc = '装配'
  4183. OR a.cCyddxMc LIKE '%正文%'
  4184. OR a.cCyddxMc LIKE '%答案%'
  4185. OR a.cCyddxMc LIKE '%卷%'
  4186. THEN
  4187. CASE
  4188. WHEN CASE
  4189. WHEN IFNULL(d.fZls, 0) < rr.zl
  4190. THEN rr.zl
  4191. ELSE IFNULL(d.fZls, 0)
  4192. END = 0
  4193. THEN c.nzdls
  4194. ELSE (
  4195. CASE
  4196. WHEN c.nzdls <
  4197. CASE
  4198. WHEN IFNULL(d.fZls, 0) < rr.zl
  4199. THEN rr.zl
  4200. ELSE IFNULL(d.fZls, 0)
  4201. END
  4202. THEN
  4203. CASE
  4204. WHEN IFNULL(d.fZls, 0) < rr.zl
  4205. THEN rr.zl
  4206. ELSE IFNULL(d.fZls, 0)
  4207. END
  4208. ELSE c.nzdls
  4209. END
  4210. )
  4211. END
  4212. ELSE 0
  4213. END
  4214. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4215. END
  4216. END )
  4217. , 3) 马55乙纸令
  4218. ")
  4219. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4220. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4221. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4222. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4223. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4224. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4225. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  4226. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4227. ->group("CASE
  4228. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4229. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4230. END,Name_WorkGroup")
  4231. ->buildSql();
  4232. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  4233. ->field("
  4234. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4235. ROUND(SUM(
  4236. CASE
  4237. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4238. THEN
  4239. CASE
  4240. WHEN a.cCyddxMc = '装配'
  4241. OR a.cCyddxMc LIKE '%正文%'
  4242. OR a.cCyddxMc LIKE '%答案%'
  4243. OR a.cCyddxMc LIKE '%卷%'
  4244. THEN
  4245. CASE
  4246. WHEN CASE
  4247. WHEN IFNULL(d.fZls, 0) < rr.zl
  4248. THEN rr.zl
  4249. ELSE IFNULL(d.fZls, 0)
  4250. END = 0
  4251. THEN c.nzdls
  4252. ELSE (
  4253. CASE
  4254. WHEN c.nzdls <
  4255. CASE
  4256. WHEN IFNULL(d.fZls, 0) < rr.zl
  4257. THEN rr.zl
  4258. ELSE IFNULL(d.fZls, 0)
  4259. END
  4260. THEN
  4261. CASE
  4262. WHEN IFNULL(d.fZls, 0) < rr.zl
  4263. THEN rr.zl
  4264. ELSE IFNULL(d.fZls, 0)
  4265. END
  4266. ELSE c.nzdls
  4267. END
  4268. )
  4269. END
  4270. ELSE 0
  4271. END
  4272. ELSE
  4273. CASE
  4274. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4275. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4276. CASE
  4277. WHEN a.cCyddxMc = '装配'
  4278. OR a.cCyddxMc LIKE '%正文%'
  4279. OR a.cCyddxMc LIKE '%答案%'
  4280. OR a.cCyddxMc LIKE '%卷%'
  4281. THEN
  4282. CASE
  4283. WHEN CASE
  4284. WHEN IFNULL(d.fZls, 0) < rr.zl
  4285. THEN rr.zl
  4286. ELSE IFNULL(d.fZls, 0)
  4287. END = 0
  4288. THEN c.nzdls
  4289. ELSE (
  4290. CASE
  4291. WHEN c.nzdls <
  4292. CASE
  4293. WHEN IFNULL(d.fZls, 0) < rr.zl
  4294. THEN rr.zl
  4295. ELSE IFNULL(d.fZls, 0)
  4296. END
  4297. THEN
  4298. CASE
  4299. WHEN IFNULL(d.fZls, 0) < rr.zl
  4300. THEN rr.zl
  4301. ELSE IFNULL(d.fZls, 0)
  4302. END
  4303. ELSE c.nzdls
  4304. END
  4305. )
  4306. END
  4307. ELSE 0
  4308. END
  4309. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4310. END
  4311. END )
  4312. , 3) 马66乙纸令
  4313. ")
  4314. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4315. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4316. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4317. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4318. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4319. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4320. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  4321. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4322. ->group("CASE
  4323. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4324. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4325. END,Name_WorkGroup")
  4326. ->buildSql();
  4327. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  4328. ->field("
  4329. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4330. ROUND(SUM(
  4331. CASE
  4332. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4333. THEN
  4334. CASE
  4335. WHEN a.cCyddxMc = '装配'
  4336. OR a.cCyddxMc LIKE '%正文%'
  4337. OR a.cCyddxMc LIKE '%答案%'
  4338. OR a.cCyddxMc LIKE '%卷%'
  4339. THEN
  4340. CASE
  4341. WHEN CASE
  4342. WHEN IFNULL(d.fZls, 0) < rr.zl
  4343. THEN rr.zl
  4344. ELSE IFNULL(d.fZls, 0)
  4345. END = 0
  4346. THEN c.nzdls
  4347. ELSE (
  4348. CASE
  4349. WHEN c.nzdls <
  4350. CASE
  4351. WHEN IFNULL(d.fZls, 0) < rr.zl
  4352. THEN rr.zl
  4353. ELSE IFNULL(d.fZls, 0)
  4354. END
  4355. THEN
  4356. CASE
  4357. WHEN IFNULL(d.fZls, 0) < rr.zl
  4358. THEN rr.zl
  4359. ELSE IFNULL(d.fZls, 0)
  4360. END
  4361. ELSE c.nzdls
  4362. END
  4363. )
  4364. END
  4365. ELSE 0
  4366. END
  4367. ELSE
  4368. CASE
  4369. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4370. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4371. CASE
  4372. WHEN a.cCyddxMc = '装配'
  4373. OR a.cCyddxMc LIKE '%正文%'
  4374. OR a.cCyddxMc LIKE '%答案%'
  4375. OR a.cCyddxMc LIKE '%卷%'
  4376. THEN
  4377. CASE
  4378. WHEN CASE
  4379. WHEN IFNULL(d.fZls, 0) < rr.zl
  4380. THEN rr.zl
  4381. ELSE IFNULL(d.fZls, 0)
  4382. END = 0
  4383. THEN c.nzdls
  4384. ELSE (
  4385. CASE
  4386. WHEN c.nzdls <
  4387. CASE
  4388. WHEN IFNULL(d.fZls, 0) < rr.zl
  4389. THEN rr.zl
  4390. ELSE IFNULL(d.fZls, 0)
  4391. END
  4392. THEN
  4393. CASE
  4394. WHEN IFNULL(d.fZls, 0) < rr.zl
  4395. THEN rr.zl
  4396. ELSE IFNULL(d.fZls, 0)
  4397. END
  4398. ELSE c.nzdls
  4399. END
  4400. )
  4401. END
  4402. ELSE 0
  4403. END
  4404. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4405. END
  4406. END )
  4407. , 3) 马77乙纸令
  4408. ")
  4409. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4410. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4411. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4412. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4413. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4414. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4415. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  4416. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4417. ->group("CASE
  4418. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4419. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4420. END,Name_WorkGroup")
  4421. ->buildSql();
  4422. $db = Db::table($A . 'a')
  4423. ->field("
  4424. DISTINCT DATE(A.RQ) rq,
  4425. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  4426. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  4427. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  4428. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  4429. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  4430. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  4431. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  4432. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  4433. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  4434. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  4435. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  4436. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  4437. ")
  4438. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  4439. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4440. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  4441. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  4442. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  4443. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  4444. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  4445. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  4446. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  4447. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  4448. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4449. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4450. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  4451. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  4452. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  4453. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  4454. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  4455. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  4456. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  4457. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  4458. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  4459. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  4460. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  4461. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  4462. ->group('rq')
  4463. ->buildSql();
  4464. $jd = Db::table($db . ' db')
  4465. ->field("
  4466. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4467. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  4468. ")
  4469. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ")
  4470. ->group('MONTH(db.rq)')
  4471. ->select();
  4472. /**
  4473. * 簿册联动线纸令
  4474. */
  4475. $B = Db::table('cpjtfk')
  4476. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4477. ->field("
  4478. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4479. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  4480. ")
  4481. ->where('cbanzu','=','簿册机1号(甲班)')
  4482. ->group('drptdate,cbanzu')
  4483. ->buildSql();
  4484. $B1 = Db::table('cpjtfk')
  4485. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4486. ->field("
  4487. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4488. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  4489. ")
  4490. ->where('cbanzu','=','簿册机1号(乙班)')
  4491. ->group('drptdate,cbanzu')
  4492. ->buildSql();
  4493. $rr = Db::table('scyddx')->alias('r')
  4494. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4495. ->group('r.ICYDID')
  4496. ->buildSql();
  4497. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4498. ->field("
  4499. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4500. ROUND(SUM(
  4501. CASE
  4502. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4503. THEN
  4504. CASE
  4505. WHEN a.cCyddxMc = '装配'
  4506. OR a.cCyddxMc LIKE '%正文%'
  4507. OR a.cCyddxMc LIKE '%答案%'
  4508. OR a.cCyddxMc LIKE '%卷%'
  4509. THEN
  4510. CASE
  4511. WHEN CASE
  4512. WHEN IFNULL(d.fZls, 0) < rr.zl
  4513. THEN rr.zl
  4514. ELSE IFNULL(d.fZls, 0)
  4515. END = 0
  4516. THEN c.nzdls
  4517. ELSE (
  4518. CASE
  4519. WHEN c.nzdls <
  4520. CASE
  4521. WHEN IFNULL(d.fZls, 0) < rr.zl
  4522. THEN rr.zl
  4523. ELSE IFNULL(d.fZls, 0)
  4524. END
  4525. THEN
  4526. CASE
  4527. WHEN IFNULL(d.fZls, 0) < rr.zl
  4528. THEN rr.zl
  4529. ELSE IFNULL(d.fZls, 0)
  4530. END
  4531. ELSE c.nzdls
  4532. END
  4533. )
  4534. END
  4535. ELSE 0
  4536. END
  4537. ELSE
  4538. CASE
  4539. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4540. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4541. CASE
  4542. WHEN a.cCyddxMc = '装配'
  4543. OR a.cCyddxMc LIKE '%正文%'
  4544. OR a.cCyddxMc LIKE '%答案%'
  4545. OR a.cCyddxMc LIKE '%卷%'
  4546. THEN
  4547. CASE
  4548. WHEN CASE
  4549. WHEN IFNULL(d.fZls, 0) < rr.zl
  4550. THEN rr.zl
  4551. ELSE IFNULL(d.fZls, 0)
  4552. END = 0
  4553. THEN c.nzdls
  4554. ELSE (
  4555. CASE
  4556. WHEN c.nzdls <
  4557. CASE
  4558. WHEN IFNULL(d.fZls, 0) < rr.zl
  4559. THEN rr.zl
  4560. ELSE IFNULL(d.fZls, 0)
  4561. END
  4562. THEN
  4563. CASE
  4564. WHEN IFNULL(d.fZls, 0) < rr.zl
  4565. THEN rr.zl
  4566. ELSE IFNULL(d.fZls, 0)
  4567. END
  4568. ELSE c.nzdls
  4569. END
  4570. )
  4571. END
  4572. ELSE 0
  4573. END
  4574. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4575. END
  4576. END )
  4577. , 3) 簿11甲纸令
  4578. ")
  4579. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4580. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4581. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4582. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4583. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4584. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4585. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  4586. ->where('a.cTechName' ,'=','簿册联动')
  4587. ->group("CASE
  4588. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4589. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4590. END,Name_WorkGroup")
  4591. ->buildSql();
  4592. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4593. ->field("
  4594. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4595. ROUND(SUM(
  4596. CASE
  4597. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4598. THEN
  4599. CASE
  4600. WHEN a.cCyddxMc = '装配'
  4601. OR a.cCyddxMc LIKE '%正文%'
  4602. OR a.cCyddxMc LIKE '%答案%'
  4603. OR a.cCyddxMc LIKE '%卷%'
  4604. THEN
  4605. CASE
  4606. WHEN CASE
  4607. WHEN IFNULL(d.fZls, 0) < rr.zl
  4608. THEN rr.zl
  4609. ELSE IFNULL(d.fZls, 0)
  4610. END = 0
  4611. THEN c.nzdls
  4612. ELSE (
  4613. CASE
  4614. WHEN c.nzdls <
  4615. CASE
  4616. WHEN IFNULL(d.fZls, 0) < rr.zl
  4617. THEN rr.zl
  4618. ELSE IFNULL(d.fZls, 0)
  4619. END
  4620. THEN
  4621. CASE
  4622. WHEN IFNULL(d.fZls, 0) < rr.zl
  4623. THEN rr.zl
  4624. ELSE IFNULL(d.fZls, 0)
  4625. END
  4626. ELSE c.nzdls
  4627. END
  4628. )
  4629. END
  4630. ELSE 0
  4631. END
  4632. ELSE
  4633. CASE
  4634. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4635. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4636. CASE
  4637. WHEN a.cCyddxMc = '装配'
  4638. OR a.cCyddxMc LIKE '%正文%'
  4639. OR a.cCyddxMc LIKE '%答案%'
  4640. OR a.cCyddxMc LIKE '%卷%'
  4641. THEN
  4642. CASE
  4643. WHEN CASE
  4644. WHEN IFNULL(d.fZls, 0) < rr.zl
  4645. THEN rr.zl
  4646. ELSE IFNULL(d.fZls, 0)
  4647. END = 0
  4648. THEN c.nzdls
  4649. ELSE (
  4650. CASE
  4651. WHEN c.nzdls <
  4652. CASE
  4653. WHEN IFNULL(d.fZls, 0) < rr.zl
  4654. THEN rr.zl
  4655. ELSE IFNULL(d.fZls, 0)
  4656. END
  4657. THEN
  4658. CASE
  4659. WHEN IFNULL(d.fZls, 0) < rr.zl
  4660. THEN rr.zl
  4661. ELSE IFNULL(d.fZls, 0)
  4662. END
  4663. ELSE c.nzdls
  4664. END
  4665. )
  4666. END
  4667. ELSE 0
  4668. END
  4669. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4670. END
  4671. END )
  4672. , 3) 簿11乙纸令
  4673. ")
  4674. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4675. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4676. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4677. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4678. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4679. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4680. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  4681. ->where('a.cTechName' ,'=','簿册联动')
  4682. ->group("CASE
  4683. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4684. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4685. END,Name_WorkGroup")
  4686. ->buildSql();
  4687. $db = Db::table($A . 'a')
  4688. ->field("
  4689. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  4690. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  4691. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  4692. ")
  4693. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  4694. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4695. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4696. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4697. ->group('rq')
  4698. ->buildSql();
  4699. $bc = Db::table($db . ' db')
  4700. ->field("
  4701. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4702. ROUND(sum(db.纸令), 0) as 簿册纸令
  4703. ")->where("db.RQ >= '{$this->qstart_time()}'
  4704. AND db.RQ <= '{$this->qend_time()}' ")
  4705. ->group('MONTH(db.rq)')
  4706. ->select();
  4707. // 创建一个结果数组
  4708. $result=[];
  4709. $result1 = [];
  4710. // 遍历第一个数组,并将数据加入结果数组
  4711. foreach ($jp as $val1) {
  4712. $month = $val1['日期'];
  4713. $data1 = $val1['精平纸令'];
  4714. if (!isset($result[$month])) {
  4715. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4716. }
  4717. if (!isset($result1[$month])) {
  4718. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4719. }
  4720. $result1[$month] += $data1; // 累加第一个数组的数据
  4721. }
  4722. // 遍历第二个数组,并将数据加入结果数组
  4723. foreach ($jd as $val2) {
  4724. $month = $val2['日期'];
  4725. $data1 = $val2['无线胶订纸令'];
  4726. if (!isset($result[$month])) {
  4727. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4728. }
  4729. if (!isset($result1[$month])) {
  4730. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4731. }
  4732. $result1[$month] += $data1; // 累加第二个数组的数据
  4733. }
  4734. foreach ($bc as $val2) {
  4735. $month = $val2['日期'];
  4736. $data1 = $val2['簿册纸令'];
  4737. if (!isset($result[$month])) {
  4738. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4739. }
  4740. if (!isset($result1[$month])) {
  4741. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4742. }
  4743. $result1[$month] += $data1; // 累加第二个数组的数据
  4744. }
  4745. foreach($result1 as $k=>$v){
  4746. $list['categories'][]=$k;
  4747. $list['series'][0]['name']='装订实物产量色令数';
  4748. $list['series'][0]['data'][]=$v;
  4749. }
  4750. $res['status']=0;
  4751. $res['msg']='';
  4752. $res['data']=$list;
  4753. $redis->set($redis_key, json_encode($result1));
  4754. // halt(json_decode($redis->get($redis_key),true));
  4755. return json_encode($result1);
  4756. }
  4757. //当年装订实物产量纸令->缓存调用
  4758. public function zdzl2023(){
  4759. $redis=redis();
  4760. $redis_key = md5('zdzl2023');
  4761. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  4762. ->union(function ($query) {
  4763. $query->table('scDayRpt_Teams')->alias('b')
  4764. ->field("DISTINCT DATE_FORMAT(
  4765. CASE
  4766. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  4767. ELSE b.dOnDuty
  4768. END,
  4769. '%Y-%m-%d'
  4770. ) AS RQ");
  4771. }, true)
  4772. ->buildSql();
  4773. $B1 = Db::table('cpjtfk')
  4774. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4775. ->field("
  4776. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4777. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  4778. ")
  4779. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  4780. ->group('drptdate,cbanzu')
  4781. ->buildSql();
  4782. $rr = Db::table('scyddx')->alias('r')
  4783. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4784. ->group('r.ICYDID')
  4785. ->buildSql();
  4786. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4787. ->field("
  4788. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4789. ROUND(SUM(
  4790. CASE
  4791. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4792. THEN
  4793. CASE
  4794. WHEN a.cCyddxMc = '装配'
  4795. OR a.cCyddxMc LIKE '%正文%'
  4796. OR a.cCyddxMc LIKE '%答案%'
  4797. OR a.cCyddxMc LIKE '%卷%'
  4798. THEN
  4799. CASE
  4800. WHEN CASE
  4801. WHEN IFNULL(d.fZls, 0) < rr.zl
  4802. THEN rr.zl
  4803. ELSE IFNULL(d.fZls, 0)
  4804. END = 0
  4805. THEN c.nzdls
  4806. ELSE (
  4807. CASE
  4808. WHEN c.nzdls <
  4809. CASE
  4810. WHEN IFNULL(d.fZls, 0) < rr.zl
  4811. THEN rr.zl
  4812. ELSE IFNULL(d.fZls, 0)
  4813. END
  4814. THEN
  4815. CASE
  4816. WHEN IFNULL(d.fZls, 0) < rr.zl
  4817. THEN rr.zl
  4818. ELSE IFNULL(d.fZls, 0)
  4819. END
  4820. ELSE c.nzdls
  4821. END
  4822. )
  4823. END
  4824. ELSE 0
  4825. END
  4826. ELSE
  4827. CASE
  4828. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4829. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4830. CASE
  4831. WHEN a.cCyddxMc = '装配'
  4832. OR a.cCyddxMc LIKE '%正文%'
  4833. OR a.cCyddxMc LIKE '%答案%'
  4834. OR a.cCyddxMc LIKE '%卷%'
  4835. THEN
  4836. CASE
  4837. WHEN CASE
  4838. WHEN IFNULL(d.fZls, 0) < rr.zl
  4839. THEN rr.zl
  4840. ELSE IFNULL(d.fZls, 0)
  4841. END = 0
  4842. THEN c.nzdls
  4843. ELSE (
  4844. CASE
  4845. WHEN c.nzdls <
  4846. CASE
  4847. WHEN IFNULL(d.fZls, 0) < rr.zl
  4848. THEN rr.zl
  4849. ELSE IFNULL(d.fZls, 0)
  4850. END
  4851. THEN
  4852. CASE
  4853. WHEN IFNULL(d.fZls, 0) < rr.zl
  4854. THEN rr.zl
  4855. ELSE IFNULL(d.fZls, 0)
  4856. END
  4857. ELSE c.nzdls
  4858. END
  4859. )
  4860. END
  4861. ELSE 0
  4862. END
  4863. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4864. END
  4865. END )
  4866. , 3) 精11乙纸令
  4867. ")
  4868. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4869. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4870. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4871. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4872. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4873. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4874. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  4875. ->group("CASE
  4876. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4877. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4878. END,Name_WorkGroup")
  4879. ->buildSql();
  4880. $db = Db::table($A . 'a')
  4881. ->field("
  4882. DATE(A.RQ) rq,
  4883. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  4884. ")
  4885. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4886. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4887. ->buildSql();
  4888. $jp = Db::table($db . ' db')
  4889. ->field("
  4890. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4891. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  4892. ")->where("db.RQ >= '{$this->start_time()}'
  4893. AND db.RQ <= '{$this->end_time()}' ")
  4894. ->group('MONTH(db.rq)')
  4895. ->select();
  4896. $B = Db::table('cpjtfk')
  4897. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4898. ->field("
  4899. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4900. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  4901. ")
  4902. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  4903. ->group('drptdate,cbanzu')
  4904. ->buildSql();
  4905. $B1 = Db::table('cpjtfk')
  4906. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4907. ->field("
  4908. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4909. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  4910. ")
  4911. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  4912. ->group('drptdate,cbanzu')
  4913. ->buildSql();
  4914. $C = Db::table('cpjtfk')
  4915. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4916. ->field("
  4917. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4918. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  4919. ")
  4920. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  4921. ->group('drptdate,cbanzu')
  4922. ->buildSql();
  4923. $C1 = Db::table('cpjtfk')
  4924. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4925. ->field("
  4926. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4927. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  4928. ")
  4929. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  4930. ->group('drptdate,cbanzu')
  4931. ->buildSql();
  4932. $D = Db::table('cpjtfk')
  4933. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4934. ->field("
  4935. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4936. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  4937. ")
  4938. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  4939. ->group('drptdate,cbanzu')
  4940. ->buildSql();
  4941. $D1 = Db::table('cpjtfk')
  4942. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4943. ->field("
  4944. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4945. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  4946. ")
  4947. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  4948. ->group('drptdate,cbanzu')
  4949. ->buildSql();
  4950. $E = Db::table('cpjtfk')
  4951. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4952. ->field("
  4953. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4954. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  4955. ")
  4956. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  4957. ->group('drptdate,cbanzu')
  4958. ->buildSql();
  4959. $E1 = Db::table('cpjtfk')
  4960. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4961. ->field("
  4962. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4963. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  4964. ")
  4965. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  4966. ->group('drptdate,cbanzu')
  4967. ->buildSql();
  4968. $F = Db::table('cpjtfk')
  4969. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4970. ->field("
  4971. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4972. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  4973. ")
  4974. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  4975. ->group('drptdate,cbanzu')
  4976. ->buildSql();
  4977. $F1 = Db::table('cpjtfk')
  4978. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4979. ->field("
  4980. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4981. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  4982. ")
  4983. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  4984. ->group('drptdate,cbanzu')
  4985. ->buildSql();
  4986. $rr = Db::table('scyddx')->alias('r')
  4987. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4988. ->group('r.ICYDID')
  4989. ->buildSql();
  4990. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4991. ->field("
  4992. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4993. ROUND(SUM(
  4994. CASE
  4995. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4996. THEN CASE WHEN a.cCyddxMc = '装配'
  4997. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  4998. THEN CASE
  4999. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5000. END = 0 THEN c.nzdls
  5001. ELSE ( CASE
  5002. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5003. END
  5004. THEN CASE
  5005. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5006. END ELSE c.nzdls END
  5007. ) END ELSE 0 END
  5008. ELSE CASE
  5009. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5010. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5011. CASE WHEN a.cCyddxMc = '装配'
  5012. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5013. THEN CASE
  5014. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5015. END = 0 THEN c.nzdls
  5016. ELSE ( CASE WHEN c.nzdls <
  5017. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5018. END
  5019. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5020. END ELSE c.nzdls END )
  5021. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5022. END END ), 3) 马11甲纸令 ")
  5023. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5024. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5025. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5026. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5027. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5028. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5029. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  5030. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5031. ->group("CASE
  5032. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5033. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5034. END,Name_WorkGroup")->buildSql();
  5035. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  5036. ->field("
  5037. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5038. ROUND(SUM(
  5039. CASE
  5040. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5041. THEN
  5042. CASE
  5043. WHEN a.cCyddxMc = '装配'
  5044. OR a.cCyddxMc LIKE '%正文%'
  5045. OR a.cCyddxMc LIKE '%答案%'
  5046. OR a.cCyddxMc LIKE '%卷%'
  5047. THEN
  5048. CASE
  5049. WHEN CASE
  5050. WHEN IFNULL(d.fZls, 0) < rr.zl
  5051. THEN rr.zl
  5052. ELSE IFNULL(d.fZls, 0)
  5053. END = 0
  5054. THEN c.nzdls
  5055. ELSE (
  5056. CASE
  5057. WHEN c.nzdls <
  5058. CASE
  5059. WHEN IFNULL(d.fZls, 0) < rr.zl
  5060. THEN rr.zl
  5061. ELSE IFNULL(d.fZls, 0)
  5062. END
  5063. THEN
  5064. CASE
  5065. WHEN IFNULL(d.fZls, 0) < rr.zl
  5066. THEN rr.zl
  5067. ELSE IFNULL(d.fZls, 0)
  5068. END
  5069. ELSE c.nzdls
  5070. END
  5071. )
  5072. END
  5073. ELSE 0
  5074. END
  5075. ELSE
  5076. CASE
  5077. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5078. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5079. CASE
  5080. WHEN a.cCyddxMc = '装配'
  5081. OR a.cCyddxMc LIKE '%正文%'
  5082. OR a.cCyddxMc LIKE '%答案%'
  5083. OR a.cCyddxMc LIKE '%卷%'
  5084. THEN
  5085. CASE
  5086. WHEN CASE
  5087. WHEN IFNULL(d.fZls, 0) < rr.zl
  5088. THEN rr.zl
  5089. ELSE IFNULL(d.fZls, 0)
  5090. END = 0
  5091. THEN c.nzdls
  5092. ELSE (
  5093. CASE
  5094. WHEN c.nzdls <
  5095. CASE
  5096. WHEN IFNULL(d.fZls, 0) < rr.zl
  5097. THEN rr.zl
  5098. ELSE IFNULL(d.fZls, 0)
  5099. END
  5100. THEN
  5101. CASE
  5102. WHEN IFNULL(d.fZls, 0) < rr.zl
  5103. THEN rr.zl
  5104. ELSE IFNULL(d.fZls, 0)
  5105. END
  5106. ELSE c.nzdls
  5107. END
  5108. )
  5109. END
  5110. ELSE 0
  5111. END
  5112. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5113. END
  5114. END )
  5115. , 3) 马11乙纸令
  5116. ")
  5117. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5118. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5119. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5120. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5121. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5122. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5123. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  5124. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5125. ->group("CASE
  5126. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5127. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5128. END,Name_WorkGroup")
  5129. ->buildSql();
  5130. $CC = Db::table('ql_report_feedback_day')->alias('a')
  5131. ->field("
  5132. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5133. ROUND(SUM(
  5134. CASE
  5135. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5136. THEN
  5137. CASE
  5138. WHEN a.cCyddxMc = '装配'
  5139. OR a.cCyddxMc LIKE '%正文%'
  5140. OR a.cCyddxMc LIKE '%答案%'
  5141. OR a.cCyddxMc LIKE '%卷%'
  5142. THEN
  5143. CASE
  5144. WHEN CASE
  5145. WHEN IFNULL(d.fZls, 0) < rr.zl
  5146. THEN rr.zl
  5147. ELSE IFNULL(d.fZls, 0)
  5148. END = 0
  5149. THEN c.nzdls
  5150. ELSE (
  5151. CASE
  5152. WHEN c.nzdls <
  5153. CASE
  5154. WHEN IFNULL(d.fZls, 0) < rr.zl
  5155. THEN rr.zl
  5156. ELSE IFNULL(d.fZls, 0)
  5157. END
  5158. THEN
  5159. CASE
  5160. WHEN IFNULL(d.fZls, 0) < rr.zl
  5161. THEN rr.zl
  5162. ELSE IFNULL(d.fZls, 0)
  5163. END
  5164. ELSE c.nzdls
  5165. END
  5166. )
  5167. END
  5168. ELSE 0
  5169. END
  5170. ELSE
  5171. CASE
  5172. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5173. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5174. CASE
  5175. WHEN a.cCyddxMc = '装配'
  5176. OR a.cCyddxMc LIKE '%正文%'
  5177. OR a.cCyddxMc LIKE '%答案%'
  5178. OR a.cCyddxMc LIKE '%卷%'
  5179. THEN
  5180. CASE
  5181. WHEN CASE
  5182. WHEN IFNULL(d.fZls, 0) < rr.zl
  5183. THEN rr.zl
  5184. ELSE IFNULL(d.fZls, 0)
  5185. END = 0
  5186. THEN c.nzdls
  5187. ELSE (
  5188. CASE
  5189. WHEN c.nzdls <
  5190. CASE
  5191. WHEN IFNULL(d.fZls, 0) < rr.zl
  5192. THEN rr.zl
  5193. ELSE IFNULL(d.fZls, 0)
  5194. END
  5195. THEN
  5196. CASE
  5197. WHEN IFNULL(d.fZls, 0) < rr.zl
  5198. THEN rr.zl
  5199. ELSE IFNULL(d.fZls, 0)
  5200. END
  5201. ELSE c.nzdls
  5202. END
  5203. )
  5204. END
  5205. ELSE 0
  5206. END
  5207. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5208. END
  5209. END )
  5210. , 3) 马22甲纸令
  5211. ")
  5212. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5213. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5214. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5215. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5216. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5217. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5218. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  5219. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5220. ->group("CASE
  5221. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5222. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5223. END,Name_WorkGroup")
  5224. ->buildSql();
  5225. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  5226. ->field("
  5227. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5228. ROUND(SUM(
  5229. CASE
  5230. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5231. THEN
  5232. CASE
  5233. WHEN a.cCyddxMc = '装配'
  5234. OR a.cCyddxMc LIKE '%正文%'
  5235. OR a.cCyddxMc LIKE '%答案%'
  5236. OR a.cCyddxMc LIKE '%卷%'
  5237. THEN
  5238. CASE
  5239. WHEN CASE
  5240. WHEN IFNULL(d.fZls, 0) < rr.zl
  5241. THEN rr.zl
  5242. ELSE IFNULL(d.fZls, 0)
  5243. END = 0
  5244. THEN c.nzdls
  5245. ELSE (
  5246. CASE
  5247. WHEN c.nzdls <
  5248. CASE
  5249. WHEN IFNULL(d.fZls, 0) < rr.zl
  5250. THEN rr.zl
  5251. ELSE IFNULL(d.fZls, 0)
  5252. END
  5253. THEN
  5254. CASE
  5255. WHEN IFNULL(d.fZls, 0) < rr.zl
  5256. THEN rr.zl
  5257. ELSE IFNULL(d.fZls, 0)
  5258. END
  5259. ELSE c.nzdls
  5260. END
  5261. )
  5262. END
  5263. ELSE 0
  5264. END
  5265. ELSE
  5266. CASE
  5267. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5268. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5269. CASE
  5270. WHEN a.cCyddxMc = '装配'
  5271. OR a.cCyddxMc LIKE '%正文%'
  5272. OR a.cCyddxMc LIKE '%答案%'
  5273. OR a.cCyddxMc LIKE '%卷%'
  5274. THEN
  5275. CASE
  5276. WHEN CASE
  5277. WHEN IFNULL(d.fZls, 0) < rr.zl
  5278. THEN rr.zl
  5279. ELSE IFNULL(d.fZls, 0)
  5280. END = 0
  5281. THEN c.nzdls
  5282. ELSE (
  5283. CASE
  5284. WHEN c.nzdls <
  5285. CASE
  5286. WHEN IFNULL(d.fZls, 0) < rr.zl
  5287. THEN rr.zl
  5288. ELSE IFNULL(d.fZls, 0)
  5289. END
  5290. THEN
  5291. CASE
  5292. WHEN IFNULL(d.fZls, 0) < rr.zl
  5293. THEN rr.zl
  5294. ELSE IFNULL(d.fZls, 0)
  5295. END
  5296. ELSE c.nzdls
  5297. END
  5298. )
  5299. END
  5300. ELSE 0
  5301. END
  5302. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5303. END
  5304. END )
  5305. , 3) 马22乙纸令
  5306. ")
  5307. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5308. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5309. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5310. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5311. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5312. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5313. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  5314. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5315. ->group("CASE
  5316. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5317. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5318. END,Name_WorkGroup")
  5319. ->buildSql();
  5320. $EE = Db::table('ql_report_feedback_day')->alias('a')
  5321. ->field("
  5322. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5323. ROUND(SUM(
  5324. CASE
  5325. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5326. THEN
  5327. CASE
  5328. WHEN a.cCyddxMc = '装配'
  5329. OR a.cCyddxMc LIKE '%正文%'
  5330. OR a.cCyddxMc LIKE '%答案%'
  5331. OR a.cCyddxMc LIKE '%卷%'
  5332. THEN
  5333. CASE
  5334. WHEN CASE
  5335. WHEN IFNULL(d.fZls, 0) < rr.zl
  5336. THEN rr.zl
  5337. ELSE IFNULL(d.fZls, 0)
  5338. END = 0
  5339. THEN c.nzdls
  5340. ELSE (
  5341. CASE
  5342. WHEN c.nzdls <
  5343. CASE
  5344. WHEN IFNULL(d.fZls, 0) < rr.zl
  5345. THEN rr.zl
  5346. ELSE IFNULL(d.fZls, 0)
  5347. END
  5348. THEN
  5349. CASE
  5350. WHEN IFNULL(d.fZls, 0) < rr.zl
  5351. THEN rr.zl
  5352. ELSE IFNULL(d.fZls, 0)
  5353. END
  5354. ELSE c.nzdls
  5355. END
  5356. )
  5357. END
  5358. ELSE 0
  5359. END
  5360. ELSE
  5361. CASE
  5362. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5363. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5364. CASE
  5365. WHEN a.cCyddxMc = '装配'
  5366. OR a.cCyddxMc LIKE '%正文%'
  5367. OR a.cCyddxMc LIKE '%答案%'
  5368. OR a.cCyddxMc LIKE '%卷%'
  5369. THEN
  5370. CASE
  5371. WHEN CASE
  5372. WHEN IFNULL(d.fZls, 0) < rr.zl
  5373. THEN rr.zl
  5374. ELSE IFNULL(d.fZls, 0)
  5375. END = 0
  5376. THEN c.nzdls
  5377. ELSE (
  5378. CASE
  5379. WHEN c.nzdls <
  5380. CASE
  5381. WHEN IFNULL(d.fZls, 0) < rr.zl
  5382. THEN rr.zl
  5383. ELSE IFNULL(d.fZls, 0)
  5384. END
  5385. THEN
  5386. CASE
  5387. WHEN IFNULL(d.fZls, 0) < rr.zl
  5388. THEN rr.zl
  5389. ELSE IFNULL(d.fZls, 0)
  5390. END
  5391. ELSE c.nzdls
  5392. END
  5393. )
  5394. END
  5395. ELSE 0
  5396. END
  5397. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5398. END
  5399. END )
  5400. , 3) 马33甲纸令
  5401. ")
  5402. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5403. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5404. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5405. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5406. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5407. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5408. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  5409. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5410. ->group("CASE
  5411. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5412. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5413. END,Name_WorkGroup")
  5414. ->buildSql();
  5415. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  5416. ->field("
  5417. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5418. ROUND(SUM(
  5419. CASE
  5420. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5421. THEN
  5422. CASE
  5423. WHEN a.cCyddxMc = '装配'
  5424. OR a.cCyddxMc LIKE '%正文%'
  5425. OR a.cCyddxMc LIKE '%答案%'
  5426. OR a.cCyddxMc LIKE '%卷%'
  5427. THEN
  5428. CASE
  5429. WHEN CASE
  5430. WHEN IFNULL(d.fZls, 0) < rr.zl
  5431. THEN rr.zl
  5432. ELSE IFNULL(d.fZls, 0)
  5433. END = 0
  5434. THEN c.nzdls
  5435. ELSE (
  5436. CASE
  5437. WHEN c.nzdls <
  5438. CASE
  5439. WHEN IFNULL(d.fZls, 0) < rr.zl
  5440. THEN rr.zl
  5441. ELSE IFNULL(d.fZls, 0)
  5442. END
  5443. THEN
  5444. CASE
  5445. WHEN IFNULL(d.fZls, 0) < rr.zl
  5446. THEN rr.zl
  5447. ELSE IFNULL(d.fZls, 0)
  5448. END
  5449. ELSE c.nzdls
  5450. END
  5451. )
  5452. END
  5453. ELSE 0
  5454. END
  5455. ELSE
  5456. CASE
  5457. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5458. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5459. CASE
  5460. WHEN a.cCyddxMc = '装配'
  5461. OR a.cCyddxMc LIKE '%正文%'
  5462. OR a.cCyddxMc LIKE '%答案%'
  5463. OR a.cCyddxMc LIKE '%卷%'
  5464. THEN
  5465. CASE
  5466. WHEN CASE
  5467. WHEN IFNULL(d.fZls, 0) < rr.zl
  5468. THEN rr.zl
  5469. ELSE IFNULL(d.fZls, 0)
  5470. END = 0
  5471. THEN c.nzdls
  5472. ELSE (
  5473. CASE
  5474. WHEN c.nzdls <
  5475. CASE
  5476. WHEN IFNULL(d.fZls, 0) < rr.zl
  5477. THEN rr.zl
  5478. ELSE IFNULL(d.fZls, 0)
  5479. END
  5480. THEN
  5481. CASE
  5482. WHEN IFNULL(d.fZls, 0) < rr.zl
  5483. THEN rr.zl
  5484. ELSE IFNULL(d.fZls, 0)
  5485. END
  5486. ELSE c.nzdls
  5487. END
  5488. )
  5489. END
  5490. ELSE 0
  5491. END
  5492. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5493. END
  5494. END )
  5495. , 3) 马33乙纸令
  5496. ")
  5497. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5498. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5499. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5500. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5501. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5502. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5503. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  5504. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5505. ->group("CASE
  5506. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5507. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5508. END,Name_WorkGroup")
  5509. ->buildSql();
  5510. $HH = Db::table('ql_report_feedback_day')->alias('a')
  5511. ->field("
  5512. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5513. ROUND(SUM(
  5514. CASE
  5515. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5516. THEN
  5517. CASE
  5518. WHEN a.cCyddxMc = '装配'
  5519. OR a.cCyddxMc LIKE '%正文%'
  5520. OR a.cCyddxMc LIKE '%答案%'
  5521. OR a.cCyddxMc LIKE '%卷%'
  5522. THEN
  5523. CASE
  5524. WHEN CASE
  5525. WHEN IFNULL(d.fZls, 0) < rr.zl
  5526. THEN rr.zl
  5527. ELSE IFNULL(d.fZls, 0)
  5528. END = 0
  5529. THEN c.nzdls
  5530. ELSE (
  5531. CASE
  5532. WHEN c.nzdls <
  5533. CASE
  5534. WHEN IFNULL(d.fZls, 0) < rr.zl
  5535. THEN rr.zl
  5536. ELSE IFNULL(d.fZls, 0)
  5537. END
  5538. THEN
  5539. CASE
  5540. WHEN IFNULL(d.fZls, 0) < rr.zl
  5541. THEN rr.zl
  5542. ELSE IFNULL(d.fZls, 0)
  5543. END
  5544. ELSE c.nzdls
  5545. END
  5546. )
  5547. END
  5548. ELSE 0
  5549. END
  5550. ELSE
  5551. CASE
  5552. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5553. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5554. CASE
  5555. WHEN a.cCyddxMc = '装配'
  5556. OR a.cCyddxMc LIKE '%正文%'
  5557. OR a.cCyddxMc LIKE '%答案%'
  5558. OR a.cCyddxMc LIKE '%卷%'
  5559. THEN
  5560. CASE
  5561. WHEN CASE
  5562. WHEN IFNULL(d.fZls, 0) < rr.zl
  5563. THEN rr.zl
  5564. ELSE IFNULL(d.fZls, 0)
  5565. END = 0
  5566. THEN c.nzdls
  5567. ELSE (
  5568. CASE
  5569. WHEN c.nzdls <
  5570. CASE
  5571. WHEN IFNULL(d.fZls, 0) < rr.zl
  5572. THEN rr.zl
  5573. ELSE IFNULL(d.fZls, 0)
  5574. END
  5575. THEN
  5576. CASE
  5577. WHEN IFNULL(d.fZls, 0) < rr.zl
  5578. THEN rr.zl
  5579. ELSE IFNULL(d.fZls, 0)
  5580. END
  5581. ELSE c.nzdls
  5582. END
  5583. )
  5584. END
  5585. ELSE 0
  5586. END
  5587. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5588. END
  5589. END )
  5590. , 3) 马44甲纸令
  5591. ")
  5592. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5593. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5594. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5595. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5596. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5597. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5598. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  5599. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5600. ->group("CASE
  5601. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5602. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5603. END,Name_WorkGroup")
  5604. ->buildSql();
  5605. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  5606. ->field("
  5607. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5608. ROUND(SUM(
  5609. CASE
  5610. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5611. THEN
  5612. CASE
  5613. WHEN a.cCyddxMc = '装配'
  5614. OR a.cCyddxMc LIKE '%正文%'
  5615. OR a.cCyddxMc LIKE '%答案%'
  5616. OR a.cCyddxMc LIKE '%卷%'
  5617. THEN
  5618. CASE
  5619. WHEN CASE
  5620. WHEN IFNULL(d.fZls, 0) < rr.zl
  5621. THEN rr.zl
  5622. ELSE IFNULL(d.fZls, 0)
  5623. END = 0
  5624. THEN c.nzdls
  5625. ELSE (
  5626. CASE
  5627. WHEN c.nzdls <
  5628. CASE
  5629. WHEN IFNULL(d.fZls, 0) < rr.zl
  5630. THEN rr.zl
  5631. ELSE IFNULL(d.fZls, 0)
  5632. END
  5633. THEN
  5634. CASE
  5635. WHEN IFNULL(d.fZls, 0) < rr.zl
  5636. THEN rr.zl
  5637. ELSE IFNULL(d.fZls, 0)
  5638. END
  5639. ELSE c.nzdls
  5640. END
  5641. )
  5642. END
  5643. ELSE 0
  5644. END
  5645. ELSE
  5646. CASE
  5647. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5648. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5649. CASE
  5650. WHEN a.cCyddxMc = '装配'
  5651. OR a.cCyddxMc LIKE '%正文%'
  5652. OR a.cCyddxMc LIKE '%答案%'
  5653. OR a.cCyddxMc LIKE '%卷%'
  5654. THEN
  5655. CASE
  5656. WHEN CASE
  5657. WHEN IFNULL(d.fZls, 0) < rr.zl
  5658. THEN rr.zl
  5659. ELSE IFNULL(d.fZls, 0)
  5660. END = 0
  5661. THEN c.nzdls
  5662. ELSE (
  5663. CASE
  5664. WHEN c.nzdls <
  5665. CASE
  5666. WHEN IFNULL(d.fZls, 0) < rr.zl
  5667. THEN rr.zl
  5668. ELSE IFNULL(d.fZls, 0)
  5669. END
  5670. THEN
  5671. CASE
  5672. WHEN IFNULL(d.fZls, 0) < rr.zl
  5673. THEN rr.zl
  5674. ELSE IFNULL(d.fZls, 0)
  5675. END
  5676. ELSE c.nzdls
  5677. END
  5678. )
  5679. END
  5680. ELSE 0
  5681. END
  5682. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5683. END
  5684. END )
  5685. , 3) 马44乙纸令
  5686. ")
  5687. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5688. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5689. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5690. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5691. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5692. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5693. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  5694. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5695. ->group("CASE
  5696. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5697. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5698. END,Name_WorkGroup")
  5699. ->buildSql();
  5700. $XX = Db::table('ql_report_feedback_day')->alias('a')
  5701. ->field("
  5702. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5703. ROUND(SUM(
  5704. CASE
  5705. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5706. THEN
  5707. CASE
  5708. WHEN a.cCyddxMc = '装配'
  5709. OR a.cCyddxMc LIKE '%正文%'
  5710. OR a.cCyddxMc LIKE '%答案%'
  5711. OR a.cCyddxMc LIKE '%卷%'
  5712. THEN
  5713. CASE
  5714. WHEN CASE
  5715. WHEN IFNULL(d.fZls, 0) < rr.zl
  5716. THEN rr.zl
  5717. ELSE IFNULL(d.fZls, 0)
  5718. END = 0
  5719. THEN c.nzdls
  5720. ELSE (
  5721. CASE
  5722. WHEN c.nzdls <
  5723. CASE
  5724. WHEN IFNULL(d.fZls, 0) < rr.zl
  5725. THEN rr.zl
  5726. ELSE IFNULL(d.fZls, 0)
  5727. END
  5728. THEN
  5729. CASE
  5730. WHEN IFNULL(d.fZls, 0) < rr.zl
  5731. THEN rr.zl
  5732. ELSE IFNULL(d.fZls, 0)
  5733. END
  5734. ELSE c.nzdls
  5735. END
  5736. )
  5737. END
  5738. ELSE 0
  5739. END
  5740. ELSE
  5741. CASE
  5742. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5743. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5744. CASE
  5745. WHEN a.cCyddxMc = '装配'
  5746. OR a.cCyddxMc LIKE '%正文%'
  5747. OR a.cCyddxMc LIKE '%答案%'
  5748. OR a.cCyddxMc LIKE '%卷%'
  5749. THEN
  5750. CASE
  5751. WHEN CASE
  5752. WHEN IFNULL(d.fZls, 0) < rr.zl
  5753. THEN rr.zl
  5754. ELSE IFNULL(d.fZls, 0)
  5755. END = 0
  5756. THEN c.nzdls
  5757. ELSE (
  5758. CASE
  5759. WHEN c.nzdls <
  5760. CASE
  5761. WHEN IFNULL(d.fZls, 0) < rr.zl
  5762. THEN rr.zl
  5763. ELSE IFNULL(d.fZls, 0)
  5764. END
  5765. THEN
  5766. CASE
  5767. WHEN IFNULL(d.fZls, 0) < rr.zl
  5768. THEN rr.zl
  5769. ELSE IFNULL(d.fZls, 0)
  5770. END
  5771. ELSE c.nzdls
  5772. END
  5773. )
  5774. END
  5775. ELSE 0
  5776. END
  5777. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5778. END
  5779. END )
  5780. , 3) 马55甲纸令
  5781. ")
  5782. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5783. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5784. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5785. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5786. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5787. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5788. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  5789. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5790. ->group("CASE
  5791. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5792. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5793. END,Name_WorkGroup")
  5794. ->buildSql();
  5795. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  5796. ->field("
  5797. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5798. ROUND(SUM(
  5799. CASE
  5800. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5801. THEN
  5802. CASE
  5803. WHEN a.cCyddxMc = '装配'
  5804. OR a.cCyddxMc LIKE '%正文%'
  5805. OR a.cCyddxMc LIKE '%答案%'
  5806. OR a.cCyddxMc LIKE '%卷%'
  5807. THEN
  5808. CASE
  5809. WHEN CASE
  5810. WHEN IFNULL(d.fZls, 0) < rr.zl
  5811. THEN rr.zl
  5812. ELSE IFNULL(d.fZls, 0)
  5813. END = 0
  5814. THEN c.nzdls
  5815. ELSE (
  5816. CASE
  5817. WHEN c.nzdls <
  5818. CASE
  5819. WHEN IFNULL(d.fZls, 0) < rr.zl
  5820. THEN rr.zl
  5821. ELSE IFNULL(d.fZls, 0)
  5822. END
  5823. THEN
  5824. CASE
  5825. WHEN IFNULL(d.fZls, 0) < rr.zl
  5826. THEN rr.zl
  5827. ELSE IFNULL(d.fZls, 0)
  5828. END
  5829. ELSE c.nzdls
  5830. END
  5831. )
  5832. END
  5833. ELSE 0
  5834. END
  5835. ELSE
  5836. CASE
  5837. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5838. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5839. CASE
  5840. WHEN a.cCyddxMc = '装配'
  5841. OR a.cCyddxMc LIKE '%正文%'
  5842. OR a.cCyddxMc LIKE '%答案%'
  5843. OR a.cCyddxMc LIKE '%卷%'
  5844. THEN
  5845. CASE
  5846. WHEN CASE
  5847. WHEN IFNULL(d.fZls, 0) < rr.zl
  5848. THEN rr.zl
  5849. ELSE IFNULL(d.fZls, 0)
  5850. END = 0
  5851. THEN c.nzdls
  5852. ELSE (
  5853. CASE
  5854. WHEN c.nzdls <
  5855. CASE
  5856. WHEN IFNULL(d.fZls, 0) < rr.zl
  5857. THEN rr.zl
  5858. ELSE IFNULL(d.fZls, 0)
  5859. END
  5860. THEN
  5861. CASE
  5862. WHEN IFNULL(d.fZls, 0) < rr.zl
  5863. THEN rr.zl
  5864. ELSE IFNULL(d.fZls, 0)
  5865. END
  5866. ELSE c.nzdls
  5867. END
  5868. )
  5869. END
  5870. ELSE 0
  5871. END
  5872. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5873. END
  5874. END )
  5875. , 3) 马66甲纸令
  5876. ")
  5877. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5878. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5879. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5880. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5881. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5882. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5883. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  5884. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5885. ->group("CASE
  5886. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5887. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5888. END,Name_WorkGroup")
  5889. ->buildSql();
  5890. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  5891. ->field("
  5892. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5893. ROUND(SUM(
  5894. CASE
  5895. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5896. THEN
  5897. CASE
  5898. WHEN a.cCyddxMc = '装配'
  5899. OR a.cCyddxMc LIKE '%正文%'
  5900. OR a.cCyddxMc LIKE '%答案%'
  5901. OR a.cCyddxMc LIKE '%卷%'
  5902. THEN
  5903. CASE
  5904. WHEN CASE
  5905. WHEN IFNULL(d.fZls, 0) < rr.zl
  5906. THEN rr.zl
  5907. ELSE IFNULL(d.fZls, 0)
  5908. END = 0
  5909. THEN c.nzdls
  5910. ELSE (
  5911. CASE
  5912. WHEN c.nzdls <
  5913. CASE
  5914. WHEN IFNULL(d.fZls, 0) < rr.zl
  5915. THEN rr.zl
  5916. ELSE IFNULL(d.fZls, 0)
  5917. END
  5918. THEN
  5919. CASE
  5920. WHEN IFNULL(d.fZls, 0) < rr.zl
  5921. THEN rr.zl
  5922. ELSE IFNULL(d.fZls, 0)
  5923. END
  5924. ELSE c.nzdls
  5925. END
  5926. )
  5927. END
  5928. ELSE 0
  5929. END
  5930. ELSE
  5931. CASE
  5932. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5933. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5934. CASE
  5935. WHEN a.cCyddxMc = '装配'
  5936. OR a.cCyddxMc LIKE '%正文%'
  5937. OR a.cCyddxMc LIKE '%答案%'
  5938. OR a.cCyddxMc LIKE '%卷%'
  5939. THEN
  5940. CASE
  5941. WHEN CASE
  5942. WHEN IFNULL(d.fZls, 0) < rr.zl
  5943. THEN rr.zl
  5944. ELSE IFNULL(d.fZls, 0)
  5945. END = 0
  5946. THEN c.nzdls
  5947. ELSE (
  5948. CASE
  5949. WHEN c.nzdls <
  5950. CASE
  5951. WHEN IFNULL(d.fZls, 0) < rr.zl
  5952. THEN rr.zl
  5953. ELSE IFNULL(d.fZls, 0)
  5954. END
  5955. THEN
  5956. CASE
  5957. WHEN IFNULL(d.fZls, 0) < rr.zl
  5958. THEN rr.zl
  5959. ELSE IFNULL(d.fZls, 0)
  5960. END
  5961. ELSE c.nzdls
  5962. END
  5963. )
  5964. END
  5965. ELSE 0
  5966. END
  5967. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5968. END
  5969. END )
  5970. , 3) 马77甲纸令
  5971. ")
  5972. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5973. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5974. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5975. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5976. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5977. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5978. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  5979. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5980. ->group("CASE
  5981. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5982. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5983. END,Name_WorkGroup")
  5984. ->buildSql();
  5985. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  5986. ->field("
  5987. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5988. ROUND(SUM(
  5989. CASE
  5990. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5991. THEN
  5992. CASE
  5993. WHEN a.cCyddxMc = '装配'
  5994. OR a.cCyddxMc LIKE '%正文%'
  5995. OR a.cCyddxMc LIKE '%答案%'
  5996. OR a.cCyddxMc LIKE '%卷%'
  5997. THEN
  5998. CASE
  5999. WHEN CASE
  6000. WHEN IFNULL(d.fZls, 0) < rr.zl
  6001. THEN rr.zl
  6002. ELSE IFNULL(d.fZls, 0)
  6003. END = 0
  6004. THEN c.nzdls
  6005. ELSE (
  6006. CASE
  6007. WHEN c.nzdls <
  6008. CASE
  6009. WHEN IFNULL(d.fZls, 0) < rr.zl
  6010. THEN rr.zl
  6011. ELSE IFNULL(d.fZls, 0)
  6012. END
  6013. THEN
  6014. CASE
  6015. WHEN IFNULL(d.fZls, 0) < rr.zl
  6016. THEN rr.zl
  6017. ELSE IFNULL(d.fZls, 0)
  6018. END
  6019. ELSE c.nzdls
  6020. END
  6021. )
  6022. END
  6023. ELSE 0
  6024. END
  6025. ELSE
  6026. CASE
  6027. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6028. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6029. CASE
  6030. WHEN a.cCyddxMc = '装配'
  6031. OR a.cCyddxMc LIKE '%正文%'
  6032. OR a.cCyddxMc LIKE '%答案%'
  6033. OR a.cCyddxMc LIKE '%卷%'
  6034. THEN
  6035. CASE
  6036. WHEN CASE
  6037. WHEN IFNULL(d.fZls, 0) < rr.zl
  6038. THEN rr.zl
  6039. ELSE IFNULL(d.fZls, 0)
  6040. END = 0
  6041. THEN c.nzdls
  6042. ELSE (
  6043. CASE
  6044. WHEN c.nzdls <
  6045. CASE
  6046. WHEN IFNULL(d.fZls, 0) < rr.zl
  6047. THEN rr.zl
  6048. ELSE IFNULL(d.fZls, 0)
  6049. END
  6050. THEN
  6051. CASE
  6052. WHEN IFNULL(d.fZls, 0) < rr.zl
  6053. THEN rr.zl
  6054. ELSE IFNULL(d.fZls, 0)
  6055. END
  6056. ELSE c.nzdls
  6057. END
  6058. )
  6059. END
  6060. ELSE 0
  6061. END
  6062. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6063. END
  6064. END )
  6065. , 3) 马55乙纸令
  6066. ")
  6067. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6068. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6069. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6070. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6071. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6072. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6073. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  6074. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6075. ->group("CASE
  6076. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6077. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6078. END,Name_WorkGroup")
  6079. ->buildSql();
  6080. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  6081. ->field("
  6082. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6083. ROUND(SUM(
  6084. CASE
  6085. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6086. THEN
  6087. CASE
  6088. WHEN a.cCyddxMc = '装配'
  6089. OR a.cCyddxMc LIKE '%正文%'
  6090. OR a.cCyddxMc LIKE '%答案%'
  6091. OR a.cCyddxMc LIKE '%卷%'
  6092. THEN
  6093. CASE
  6094. WHEN CASE
  6095. WHEN IFNULL(d.fZls, 0) < rr.zl
  6096. THEN rr.zl
  6097. ELSE IFNULL(d.fZls, 0)
  6098. END = 0
  6099. THEN c.nzdls
  6100. ELSE (
  6101. CASE
  6102. WHEN c.nzdls <
  6103. CASE
  6104. WHEN IFNULL(d.fZls, 0) < rr.zl
  6105. THEN rr.zl
  6106. ELSE IFNULL(d.fZls, 0)
  6107. END
  6108. THEN
  6109. CASE
  6110. WHEN IFNULL(d.fZls, 0) < rr.zl
  6111. THEN rr.zl
  6112. ELSE IFNULL(d.fZls, 0)
  6113. END
  6114. ELSE c.nzdls
  6115. END
  6116. )
  6117. END
  6118. ELSE 0
  6119. END
  6120. ELSE
  6121. CASE
  6122. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6123. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6124. CASE
  6125. WHEN a.cCyddxMc = '装配'
  6126. OR a.cCyddxMc LIKE '%正文%'
  6127. OR a.cCyddxMc LIKE '%答案%'
  6128. OR a.cCyddxMc LIKE '%卷%'
  6129. THEN
  6130. CASE
  6131. WHEN CASE
  6132. WHEN IFNULL(d.fZls, 0) < rr.zl
  6133. THEN rr.zl
  6134. ELSE IFNULL(d.fZls, 0)
  6135. END = 0
  6136. THEN c.nzdls
  6137. ELSE (
  6138. CASE
  6139. WHEN c.nzdls <
  6140. CASE
  6141. WHEN IFNULL(d.fZls, 0) < rr.zl
  6142. THEN rr.zl
  6143. ELSE IFNULL(d.fZls, 0)
  6144. END
  6145. THEN
  6146. CASE
  6147. WHEN IFNULL(d.fZls, 0) < rr.zl
  6148. THEN rr.zl
  6149. ELSE IFNULL(d.fZls, 0)
  6150. END
  6151. ELSE c.nzdls
  6152. END
  6153. )
  6154. END
  6155. ELSE 0
  6156. END
  6157. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6158. END
  6159. END )
  6160. , 3) 马66乙纸令
  6161. ")
  6162. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6163. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6164. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6165. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6166. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6167. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6168. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  6169. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6170. ->group("CASE
  6171. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6172. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6173. END,Name_WorkGroup")
  6174. ->buildSql();
  6175. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  6176. ->field("
  6177. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6178. ROUND(SUM(
  6179. CASE
  6180. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6181. THEN
  6182. CASE
  6183. WHEN a.cCyddxMc = '装配'
  6184. OR a.cCyddxMc LIKE '%正文%'
  6185. OR a.cCyddxMc LIKE '%答案%'
  6186. OR a.cCyddxMc LIKE '%卷%'
  6187. THEN
  6188. CASE
  6189. WHEN CASE
  6190. WHEN IFNULL(d.fZls, 0) < rr.zl
  6191. THEN rr.zl
  6192. ELSE IFNULL(d.fZls, 0)
  6193. END = 0
  6194. THEN c.nzdls
  6195. ELSE (
  6196. CASE
  6197. WHEN c.nzdls <
  6198. CASE
  6199. WHEN IFNULL(d.fZls, 0) < rr.zl
  6200. THEN rr.zl
  6201. ELSE IFNULL(d.fZls, 0)
  6202. END
  6203. THEN
  6204. CASE
  6205. WHEN IFNULL(d.fZls, 0) < rr.zl
  6206. THEN rr.zl
  6207. ELSE IFNULL(d.fZls, 0)
  6208. END
  6209. ELSE c.nzdls
  6210. END
  6211. )
  6212. END
  6213. ELSE 0
  6214. END
  6215. ELSE
  6216. CASE
  6217. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6218. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6219. CASE
  6220. WHEN a.cCyddxMc = '装配'
  6221. OR a.cCyddxMc LIKE '%正文%'
  6222. OR a.cCyddxMc LIKE '%答案%'
  6223. OR a.cCyddxMc LIKE '%卷%'
  6224. THEN
  6225. CASE
  6226. WHEN CASE
  6227. WHEN IFNULL(d.fZls, 0) < rr.zl
  6228. THEN rr.zl
  6229. ELSE IFNULL(d.fZls, 0)
  6230. END = 0
  6231. THEN c.nzdls
  6232. ELSE (
  6233. CASE
  6234. WHEN c.nzdls <
  6235. CASE
  6236. WHEN IFNULL(d.fZls, 0) < rr.zl
  6237. THEN rr.zl
  6238. ELSE IFNULL(d.fZls, 0)
  6239. END
  6240. THEN
  6241. CASE
  6242. WHEN IFNULL(d.fZls, 0) < rr.zl
  6243. THEN rr.zl
  6244. ELSE IFNULL(d.fZls, 0)
  6245. END
  6246. ELSE c.nzdls
  6247. END
  6248. )
  6249. END
  6250. ELSE 0
  6251. END
  6252. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6253. END
  6254. END )
  6255. , 3) 马77乙纸令
  6256. ")
  6257. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6258. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6259. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6260. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6261. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6262. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6263. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  6264. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6265. ->group("CASE
  6266. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6267. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6268. END,Name_WorkGroup")
  6269. ->buildSql();
  6270. $db = Db::table($A . 'a')
  6271. ->field("
  6272. DISTINCT DATE(A.RQ) rq,
  6273. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  6274. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  6275. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  6276. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  6277. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  6278. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  6279. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  6280. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  6281. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  6282. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  6283. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  6284. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  6285. ")
  6286. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  6287. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6288. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  6289. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  6290. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  6291. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  6292. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  6293. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  6294. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  6295. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  6296. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6297. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6298. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  6299. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  6300. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  6301. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  6302. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  6303. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  6304. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  6305. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  6306. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  6307. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  6308. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  6309. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  6310. ->group('rq')
  6311. ->buildSql();
  6312. $jd = Db::table($db . ' db')
  6313. ->field("
  6314. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6315. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  6316. ")
  6317. ->where("db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ")
  6318. ->group('MONTH(db.rq)')
  6319. ->select();
  6320. /**
  6321. * 簿册联动线纸令
  6322. */
  6323. $B = Db::table('cpjtfk')
  6324. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6325. ->field("
  6326. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6327. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  6328. ")
  6329. ->where('cbanzu','=','簿册机1号(甲班)')
  6330. ->group('drptdate,cbanzu')
  6331. ->buildSql();
  6332. $B1 = Db::table('cpjtfk')
  6333. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6334. ->field("
  6335. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6336. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  6337. ")
  6338. ->where('cbanzu','=','簿册机1号(乙班)')
  6339. ->group('drptdate,cbanzu')
  6340. ->buildSql();
  6341. $rr = Db::table('scyddx')->alias('r')
  6342. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6343. ->group('r.ICYDID')
  6344. ->buildSql();
  6345. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6346. ->field("
  6347. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6348. ROUND(SUM(
  6349. CASE
  6350. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6351. THEN
  6352. CASE
  6353. WHEN a.cCyddxMc = '装配'
  6354. OR a.cCyddxMc LIKE '%正文%'
  6355. OR a.cCyddxMc LIKE '%答案%'
  6356. OR a.cCyddxMc LIKE '%卷%'
  6357. THEN
  6358. CASE
  6359. WHEN CASE
  6360. WHEN IFNULL(d.fZls, 0) < rr.zl
  6361. THEN rr.zl
  6362. ELSE IFNULL(d.fZls, 0)
  6363. END = 0
  6364. THEN c.nzdls
  6365. ELSE (
  6366. CASE
  6367. WHEN c.nzdls <
  6368. CASE
  6369. WHEN IFNULL(d.fZls, 0) < rr.zl
  6370. THEN rr.zl
  6371. ELSE IFNULL(d.fZls, 0)
  6372. END
  6373. THEN
  6374. CASE
  6375. WHEN IFNULL(d.fZls, 0) < rr.zl
  6376. THEN rr.zl
  6377. ELSE IFNULL(d.fZls, 0)
  6378. END
  6379. ELSE c.nzdls
  6380. END
  6381. )
  6382. END
  6383. ELSE 0
  6384. END
  6385. ELSE
  6386. CASE
  6387. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6388. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6389. CASE
  6390. WHEN a.cCyddxMc = '装配'
  6391. OR a.cCyddxMc LIKE '%正文%'
  6392. OR a.cCyddxMc LIKE '%答案%'
  6393. OR a.cCyddxMc LIKE '%卷%'
  6394. THEN
  6395. CASE
  6396. WHEN CASE
  6397. WHEN IFNULL(d.fZls, 0) < rr.zl
  6398. THEN rr.zl
  6399. ELSE IFNULL(d.fZls, 0)
  6400. END = 0
  6401. THEN c.nzdls
  6402. ELSE (
  6403. CASE
  6404. WHEN c.nzdls <
  6405. CASE
  6406. WHEN IFNULL(d.fZls, 0) < rr.zl
  6407. THEN rr.zl
  6408. ELSE IFNULL(d.fZls, 0)
  6409. END
  6410. THEN
  6411. CASE
  6412. WHEN IFNULL(d.fZls, 0) < rr.zl
  6413. THEN rr.zl
  6414. ELSE IFNULL(d.fZls, 0)
  6415. END
  6416. ELSE c.nzdls
  6417. END
  6418. )
  6419. END
  6420. ELSE 0
  6421. END
  6422. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6423. END
  6424. END )
  6425. , 3) 簿11甲纸令
  6426. ")
  6427. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6428. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6429. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6430. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6431. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6432. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6433. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  6434. ->where('a.cTechName' ,'=','簿册联动')
  6435. ->group("CASE
  6436. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6437. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6438. END,Name_WorkGroup")
  6439. ->buildSql();
  6440. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6441. ->field("
  6442. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6443. ROUND(SUM(
  6444. CASE
  6445. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6446. THEN
  6447. CASE
  6448. WHEN a.cCyddxMc = '装配'
  6449. OR a.cCyddxMc LIKE '%正文%'
  6450. OR a.cCyddxMc LIKE '%答案%'
  6451. OR a.cCyddxMc LIKE '%卷%'
  6452. THEN
  6453. CASE
  6454. WHEN CASE
  6455. WHEN IFNULL(d.fZls, 0) < rr.zl
  6456. THEN rr.zl
  6457. ELSE IFNULL(d.fZls, 0)
  6458. END = 0
  6459. THEN c.nzdls
  6460. ELSE (
  6461. CASE
  6462. WHEN c.nzdls <
  6463. CASE
  6464. WHEN IFNULL(d.fZls, 0) < rr.zl
  6465. THEN rr.zl
  6466. ELSE IFNULL(d.fZls, 0)
  6467. END
  6468. THEN
  6469. CASE
  6470. WHEN IFNULL(d.fZls, 0) < rr.zl
  6471. THEN rr.zl
  6472. ELSE IFNULL(d.fZls, 0)
  6473. END
  6474. ELSE c.nzdls
  6475. END
  6476. )
  6477. END
  6478. ELSE 0
  6479. END
  6480. ELSE
  6481. CASE
  6482. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6483. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6484. CASE
  6485. WHEN a.cCyddxMc = '装配'
  6486. OR a.cCyddxMc LIKE '%正文%'
  6487. OR a.cCyddxMc LIKE '%答案%'
  6488. OR a.cCyddxMc LIKE '%卷%'
  6489. THEN
  6490. CASE
  6491. WHEN CASE
  6492. WHEN IFNULL(d.fZls, 0) < rr.zl
  6493. THEN rr.zl
  6494. ELSE IFNULL(d.fZls, 0)
  6495. END = 0
  6496. THEN c.nzdls
  6497. ELSE (
  6498. CASE
  6499. WHEN c.nzdls <
  6500. CASE
  6501. WHEN IFNULL(d.fZls, 0) < rr.zl
  6502. THEN rr.zl
  6503. ELSE IFNULL(d.fZls, 0)
  6504. END
  6505. THEN
  6506. CASE
  6507. WHEN IFNULL(d.fZls, 0) < rr.zl
  6508. THEN rr.zl
  6509. ELSE IFNULL(d.fZls, 0)
  6510. END
  6511. ELSE c.nzdls
  6512. END
  6513. )
  6514. END
  6515. ELSE 0
  6516. END
  6517. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6518. END
  6519. END )
  6520. , 3) 簿11乙纸令
  6521. ")
  6522. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6523. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6524. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6525. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6526. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6527. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6528. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  6529. ->where('a.cTechName' ,'=','簿册联动')
  6530. ->group("CASE
  6531. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6532. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6533. END,Name_WorkGroup")
  6534. ->buildSql();
  6535. $db = Db::table($A . 'a')
  6536. ->field("
  6537. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  6538. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  6539. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  6540. ")
  6541. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  6542. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6543. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6544. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6545. ->group('rq')
  6546. ->buildSql();
  6547. $bc = Db::table($db . ' db')
  6548. ->field("
  6549. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6550. ROUND(sum(db.纸令), 0) as 簿册纸令
  6551. ")->where("db.RQ >= '{$this->start_time()}'
  6552. AND db.RQ <= '{$this->end_time()}' ")
  6553. ->group('MONTH(db.rq)')
  6554. ->select();
  6555. // 创建一个结果数组
  6556. $result=[];
  6557. $result1 = [];
  6558. // 遍历第一个数组,并将数据加入结果数组
  6559. foreach ($jp as $val1) {
  6560. $month = $val1['日期'];
  6561. $data1 = $val1['精平纸令'];
  6562. if (!isset($result[$month])) {
  6563. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6564. }
  6565. if (!isset($result1[$month])) {
  6566. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6567. }
  6568. $result1[$month] += $data1; // 累加第一个数组的数据
  6569. }
  6570. // 遍历第二个数组,并将数据加入结果数组
  6571. foreach ($jd as $val2) {
  6572. $month = $val2['日期'];
  6573. $data1 = $val2['无线胶订纸令'];
  6574. if (!isset($result[$month])) {
  6575. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6576. }
  6577. if (!isset($result1[$month])) {
  6578. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6579. }
  6580. $result1[$month] += $data1; // 累加第二个数组的数据
  6581. }
  6582. foreach ($bc as $val2) {
  6583. $month = $val2['日期'];
  6584. $data1 = $val2['簿册纸令'];
  6585. if (!isset($result[$month])) {
  6586. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6587. }
  6588. if (!isset($result1[$month])) {
  6589. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6590. }
  6591. $result1[$month] += $data1; // 累加第二个数组的数据
  6592. }
  6593. foreach($result1 as $k=>$v){
  6594. $list['categories'][]=$k;
  6595. $list['series'][0]['name']='装订实物产量色令数';
  6596. $list['series'][0]['data'][]=$v;
  6597. }
  6598. $res['status']=0;
  6599. $res['msg']='';
  6600. $res['data']=$list;
  6601. $redis->set($redis_key, json_encode($result1));
  6602. // halt(json_decode($redis->get($redis_key),true));
  6603. return json_encode($result1);
  6604. }
  6605. //前年装订实物产量纸令->缓存调用
  6606. public function zdzlTwoYear(){
  6607. $redis=redis();
  6608. $redis_key = md5('zdzlTwoYear');
  6609. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  6610. ->union(function ($query) {
  6611. $query->table('scDayRpt_Teams')->alias('b')
  6612. ->field("DISTINCT DATE_FORMAT(
  6613. CASE
  6614. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  6615. ELSE b.dOnDuty
  6616. END,
  6617. '%Y-%m-%d'
  6618. ) AS RQ");
  6619. }, true)
  6620. ->buildSql();
  6621. $B1 = Db::table('cpjtfk')
  6622. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6623. ->field("
  6624. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6625. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  6626. ")
  6627. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  6628. ->group('drptdate,cbanzu')
  6629. ->buildSql();
  6630. $rr = Db::table('scyddx')->alias('r')
  6631. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6632. ->group('r.ICYDID')
  6633. ->buildSql();
  6634. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6635. ->field("
  6636. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6637. ROUND(SUM(
  6638. CASE
  6639. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6640. THEN
  6641. CASE
  6642. WHEN a.cCyddxMc = '装配'
  6643. OR a.cCyddxMc LIKE '%正文%'
  6644. OR a.cCyddxMc LIKE '%答案%'
  6645. OR a.cCyddxMc LIKE '%卷%'
  6646. THEN
  6647. CASE
  6648. WHEN CASE
  6649. WHEN IFNULL(d.fZls, 0) < rr.zl
  6650. THEN rr.zl
  6651. ELSE IFNULL(d.fZls, 0)
  6652. END = 0
  6653. THEN c.nzdls
  6654. ELSE (
  6655. CASE
  6656. WHEN c.nzdls <
  6657. CASE
  6658. WHEN IFNULL(d.fZls, 0) < rr.zl
  6659. THEN rr.zl
  6660. ELSE IFNULL(d.fZls, 0)
  6661. END
  6662. THEN
  6663. CASE
  6664. WHEN IFNULL(d.fZls, 0) < rr.zl
  6665. THEN rr.zl
  6666. ELSE IFNULL(d.fZls, 0)
  6667. END
  6668. ELSE c.nzdls
  6669. END
  6670. )
  6671. END
  6672. ELSE 0
  6673. END
  6674. ELSE
  6675. CASE
  6676. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6677. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6678. CASE
  6679. WHEN a.cCyddxMc = '装配'
  6680. OR a.cCyddxMc LIKE '%正文%'
  6681. OR a.cCyddxMc LIKE '%答案%'
  6682. OR a.cCyddxMc LIKE '%卷%'
  6683. THEN
  6684. CASE
  6685. WHEN CASE
  6686. WHEN IFNULL(d.fZls, 0) < rr.zl
  6687. THEN rr.zl
  6688. ELSE IFNULL(d.fZls, 0)
  6689. END = 0
  6690. THEN c.nzdls
  6691. ELSE (
  6692. CASE
  6693. WHEN c.nzdls <
  6694. CASE
  6695. WHEN IFNULL(d.fZls, 0) < rr.zl
  6696. THEN rr.zl
  6697. ELSE IFNULL(d.fZls, 0)
  6698. END
  6699. THEN
  6700. CASE
  6701. WHEN IFNULL(d.fZls, 0) < rr.zl
  6702. THEN rr.zl
  6703. ELSE IFNULL(d.fZls, 0)
  6704. END
  6705. ELSE c.nzdls
  6706. END
  6707. )
  6708. END
  6709. ELSE 0
  6710. END
  6711. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6712. END
  6713. END )
  6714. , 3) 精11乙纸令
  6715. ")
  6716. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6717. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6718. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6719. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6720. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6721. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6722. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  6723. ->group("CASE
  6724. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6725. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6726. END,Name_WorkGroup")
  6727. ->buildSql();
  6728. $db = Db::table($A . 'a')
  6729. ->field("
  6730. DATE(A.RQ) rq,
  6731. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  6732. ")
  6733. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6734. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6735. ->buildSql();
  6736. $jp = Db::table($db . ' db')
  6737. ->field("
  6738. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6739. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  6740. ")->where("db.RQ >= '{$this->start_time()}'
  6741. AND db.RQ <= '{$this->end_time()}' ")
  6742. ->group('MONTH(db.rq)')
  6743. ->select();
  6744. $B = Db::table('cpjtfk')
  6745. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6746. ->field("
  6747. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6748. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  6749. ")
  6750. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  6751. ->group('drptdate,cbanzu')
  6752. ->buildSql();
  6753. $B1 = Db::table('cpjtfk')
  6754. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6755. ->field("
  6756. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6757. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  6758. ")
  6759. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  6760. ->group('drptdate,cbanzu')
  6761. ->buildSql();
  6762. $C = Db::table('cpjtfk')
  6763. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6764. ->field("
  6765. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6766. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  6767. ")
  6768. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  6769. ->group('drptdate,cbanzu')
  6770. ->buildSql();
  6771. $C1 = Db::table('cpjtfk')
  6772. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6773. ->field("
  6774. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6775. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  6776. ")
  6777. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  6778. ->group('drptdate,cbanzu')
  6779. ->buildSql();
  6780. $D = Db::table('cpjtfk')
  6781. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6782. ->field("
  6783. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6784. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  6785. ")
  6786. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  6787. ->group('drptdate,cbanzu')
  6788. ->buildSql();
  6789. $D1 = Db::table('cpjtfk')
  6790. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6791. ->field("
  6792. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6793. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  6794. ")
  6795. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  6796. ->group('drptdate,cbanzu')
  6797. ->buildSql();
  6798. $E = Db::table('cpjtfk')
  6799. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6800. ->field("
  6801. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6802. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  6803. ")
  6804. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  6805. ->group('drptdate,cbanzu')
  6806. ->buildSql();
  6807. $E1 = Db::table('cpjtfk')
  6808. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6809. ->field("
  6810. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6811. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  6812. ")
  6813. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  6814. ->group('drptdate,cbanzu')
  6815. ->buildSql();
  6816. $F = Db::table('cpjtfk')
  6817. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6818. ->field("
  6819. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6820. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  6821. ")
  6822. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  6823. ->group('drptdate,cbanzu')
  6824. ->buildSql();
  6825. $F1 = Db::table('cpjtfk')
  6826. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6827. ->field("
  6828. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6829. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  6830. ")
  6831. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  6832. ->group('drptdate,cbanzu')
  6833. ->buildSql();
  6834. $rr = Db::table('scyddx')->alias('r')
  6835. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6836. ->group('r.ICYDID')
  6837. ->buildSql();
  6838. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6839. ->field("
  6840. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6841. ROUND(SUM(
  6842. CASE
  6843. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6844. THEN CASE WHEN a.cCyddxMc = '装配'
  6845. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  6846. THEN CASE
  6847. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6848. END = 0 THEN c.nzdls
  6849. ELSE ( CASE
  6850. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6851. END
  6852. THEN CASE
  6853. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6854. END ELSE c.nzdls END
  6855. ) END ELSE 0 END
  6856. ELSE CASE
  6857. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6858. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6859. CASE WHEN a.cCyddxMc = '装配'
  6860. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  6861. THEN CASE
  6862. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6863. END = 0 THEN c.nzdls
  6864. ELSE ( CASE WHEN c.nzdls <
  6865. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6866. END
  6867. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6868. END ELSE c.nzdls END )
  6869. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6870. END END ), 3) 马11甲纸令 ")
  6871. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6872. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6873. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6874. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6875. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6876. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6877. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  6878. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6879. ->group("CASE
  6880. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6881. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6882. END,Name_WorkGroup")->buildSql();
  6883. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6884. ->field("
  6885. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6886. ROUND(SUM(
  6887. CASE
  6888. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6889. THEN
  6890. CASE
  6891. WHEN a.cCyddxMc = '装配'
  6892. OR a.cCyddxMc LIKE '%正文%'
  6893. OR a.cCyddxMc LIKE '%答案%'
  6894. OR a.cCyddxMc LIKE '%卷%'
  6895. THEN
  6896. CASE
  6897. WHEN CASE
  6898. WHEN IFNULL(d.fZls, 0) < rr.zl
  6899. THEN rr.zl
  6900. ELSE IFNULL(d.fZls, 0)
  6901. END = 0
  6902. THEN c.nzdls
  6903. ELSE (
  6904. CASE
  6905. WHEN c.nzdls <
  6906. CASE
  6907. WHEN IFNULL(d.fZls, 0) < rr.zl
  6908. THEN rr.zl
  6909. ELSE IFNULL(d.fZls, 0)
  6910. END
  6911. THEN
  6912. CASE
  6913. WHEN IFNULL(d.fZls, 0) < rr.zl
  6914. THEN rr.zl
  6915. ELSE IFNULL(d.fZls, 0)
  6916. END
  6917. ELSE c.nzdls
  6918. END
  6919. )
  6920. END
  6921. ELSE 0
  6922. END
  6923. ELSE
  6924. CASE
  6925. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6926. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6927. CASE
  6928. WHEN a.cCyddxMc = '装配'
  6929. OR a.cCyddxMc LIKE '%正文%'
  6930. OR a.cCyddxMc LIKE '%答案%'
  6931. OR a.cCyddxMc LIKE '%卷%'
  6932. THEN
  6933. CASE
  6934. WHEN CASE
  6935. WHEN IFNULL(d.fZls, 0) < rr.zl
  6936. THEN rr.zl
  6937. ELSE IFNULL(d.fZls, 0)
  6938. END = 0
  6939. THEN c.nzdls
  6940. ELSE (
  6941. CASE
  6942. WHEN c.nzdls <
  6943. CASE
  6944. WHEN IFNULL(d.fZls, 0) < rr.zl
  6945. THEN rr.zl
  6946. ELSE IFNULL(d.fZls, 0)
  6947. END
  6948. THEN
  6949. CASE
  6950. WHEN IFNULL(d.fZls, 0) < rr.zl
  6951. THEN rr.zl
  6952. ELSE IFNULL(d.fZls, 0)
  6953. END
  6954. ELSE c.nzdls
  6955. END
  6956. )
  6957. END
  6958. ELSE 0
  6959. END
  6960. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6961. END
  6962. END )
  6963. , 3) 马11乙纸令
  6964. ")
  6965. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6966. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6967. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6968. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6969. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6970. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6971. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  6972. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6973. ->group("CASE
  6974. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6975. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6976. END,Name_WorkGroup")
  6977. ->buildSql();
  6978. $CC = Db::table('ql_report_feedback_day')->alias('a')
  6979. ->field("
  6980. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6981. ROUND(SUM(
  6982. CASE
  6983. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6984. THEN
  6985. CASE
  6986. WHEN a.cCyddxMc = '装配'
  6987. OR a.cCyddxMc LIKE '%正文%'
  6988. OR a.cCyddxMc LIKE '%答案%'
  6989. OR a.cCyddxMc LIKE '%卷%'
  6990. THEN
  6991. CASE
  6992. WHEN CASE
  6993. WHEN IFNULL(d.fZls, 0) < rr.zl
  6994. THEN rr.zl
  6995. ELSE IFNULL(d.fZls, 0)
  6996. END = 0
  6997. THEN c.nzdls
  6998. ELSE (
  6999. CASE
  7000. WHEN c.nzdls <
  7001. CASE
  7002. WHEN IFNULL(d.fZls, 0) < rr.zl
  7003. THEN rr.zl
  7004. ELSE IFNULL(d.fZls, 0)
  7005. END
  7006. THEN
  7007. CASE
  7008. WHEN IFNULL(d.fZls, 0) < rr.zl
  7009. THEN rr.zl
  7010. ELSE IFNULL(d.fZls, 0)
  7011. END
  7012. ELSE c.nzdls
  7013. END
  7014. )
  7015. END
  7016. ELSE 0
  7017. END
  7018. ELSE
  7019. CASE
  7020. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7021. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7022. CASE
  7023. WHEN a.cCyddxMc = '装配'
  7024. OR a.cCyddxMc LIKE '%正文%'
  7025. OR a.cCyddxMc LIKE '%答案%'
  7026. OR a.cCyddxMc LIKE '%卷%'
  7027. THEN
  7028. CASE
  7029. WHEN CASE
  7030. WHEN IFNULL(d.fZls, 0) < rr.zl
  7031. THEN rr.zl
  7032. ELSE IFNULL(d.fZls, 0)
  7033. END = 0
  7034. THEN c.nzdls
  7035. ELSE (
  7036. CASE
  7037. WHEN c.nzdls <
  7038. CASE
  7039. WHEN IFNULL(d.fZls, 0) < rr.zl
  7040. THEN rr.zl
  7041. ELSE IFNULL(d.fZls, 0)
  7042. END
  7043. THEN
  7044. CASE
  7045. WHEN IFNULL(d.fZls, 0) < rr.zl
  7046. THEN rr.zl
  7047. ELSE IFNULL(d.fZls, 0)
  7048. END
  7049. ELSE c.nzdls
  7050. END
  7051. )
  7052. END
  7053. ELSE 0
  7054. END
  7055. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7056. END
  7057. END )
  7058. , 3) 马22甲纸令
  7059. ")
  7060. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7061. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7062. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7063. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7064. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7065. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7066. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  7067. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7068. ->group("CASE
  7069. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7070. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7071. END,Name_WorkGroup")
  7072. ->buildSql();
  7073. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  7074. ->field("
  7075. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7076. ROUND(SUM(
  7077. CASE
  7078. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7079. THEN
  7080. CASE
  7081. WHEN a.cCyddxMc = '装配'
  7082. OR a.cCyddxMc LIKE '%正文%'
  7083. OR a.cCyddxMc LIKE '%答案%'
  7084. OR a.cCyddxMc LIKE '%卷%'
  7085. THEN
  7086. CASE
  7087. WHEN CASE
  7088. WHEN IFNULL(d.fZls, 0) < rr.zl
  7089. THEN rr.zl
  7090. ELSE IFNULL(d.fZls, 0)
  7091. END = 0
  7092. THEN c.nzdls
  7093. ELSE (
  7094. CASE
  7095. WHEN c.nzdls <
  7096. CASE
  7097. WHEN IFNULL(d.fZls, 0) < rr.zl
  7098. THEN rr.zl
  7099. ELSE IFNULL(d.fZls, 0)
  7100. END
  7101. THEN
  7102. CASE
  7103. WHEN IFNULL(d.fZls, 0) < rr.zl
  7104. THEN rr.zl
  7105. ELSE IFNULL(d.fZls, 0)
  7106. END
  7107. ELSE c.nzdls
  7108. END
  7109. )
  7110. END
  7111. ELSE 0
  7112. END
  7113. ELSE
  7114. CASE
  7115. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7116. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7117. CASE
  7118. WHEN a.cCyddxMc = '装配'
  7119. OR a.cCyddxMc LIKE '%正文%'
  7120. OR a.cCyddxMc LIKE '%答案%'
  7121. OR a.cCyddxMc LIKE '%卷%'
  7122. THEN
  7123. CASE
  7124. WHEN CASE
  7125. WHEN IFNULL(d.fZls, 0) < rr.zl
  7126. THEN rr.zl
  7127. ELSE IFNULL(d.fZls, 0)
  7128. END = 0
  7129. THEN c.nzdls
  7130. ELSE (
  7131. CASE
  7132. WHEN c.nzdls <
  7133. CASE
  7134. WHEN IFNULL(d.fZls, 0) < rr.zl
  7135. THEN rr.zl
  7136. ELSE IFNULL(d.fZls, 0)
  7137. END
  7138. THEN
  7139. CASE
  7140. WHEN IFNULL(d.fZls, 0) < rr.zl
  7141. THEN rr.zl
  7142. ELSE IFNULL(d.fZls, 0)
  7143. END
  7144. ELSE c.nzdls
  7145. END
  7146. )
  7147. END
  7148. ELSE 0
  7149. END
  7150. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7151. END
  7152. END )
  7153. , 3) 马22乙纸令
  7154. ")
  7155. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7156. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7157. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7158. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7159. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7160. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7161. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  7162. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7163. ->group("CASE
  7164. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7165. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7166. END,Name_WorkGroup")
  7167. ->buildSql();
  7168. $EE = Db::table('ql_report_feedback_day')->alias('a')
  7169. ->field("
  7170. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7171. ROUND(SUM(
  7172. CASE
  7173. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7174. THEN
  7175. CASE
  7176. WHEN a.cCyddxMc = '装配'
  7177. OR a.cCyddxMc LIKE '%正文%'
  7178. OR a.cCyddxMc LIKE '%答案%'
  7179. OR a.cCyddxMc LIKE '%卷%'
  7180. THEN
  7181. CASE
  7182. WHEN CASE
  7183. WHEN IFNULL(d.fZls, 0) < rr.zl
  7184. THEN rr.zl
  7185. ELSE IFNULL(d.fZls, 0)
  7186. END = 0
  7187. THEN c.nzdls
  7188. ELSE (
  7189. CASE
  7190. WHEN c.nzdls <
  7191. CASE
  7192. WHEN IFNULL(d.fZls, 0) < rr.zl
  7193. THEN rr.zl
  7194. ELSE IFNULL(d.fZls, 0)
  7195. END
  7196. THEN
  7197. CASE
  7198. WHEN IFNULL(d.fZls, 0) < rr.zl
  7199. THEN rr.zl
  7200. ELSE IFNULL(d.fZls, 0)
  7201. END
  7202. ELSE c.nzdls
  7203. END
  7204. )
  7205. END
  7206. ELSE 0
  7207. END
  7208. ELSE
  7209. CASE
  7210. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7211. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7212. CASE
  7213. WHEN a.cCyddxMc = '装配'
  7214. OR a.cCyddxMc LIKE '%正文%'
  7215. OR a.cCyddxMc LIKE '%答案%'
  7216. OR a.cCyddxMc LIKE '%卷%'
  7217. THEN
  7218. CASE
  7219. WHEN CASE
  7220. WHEN IFNULL(d.fZls, 0) < rr.zl
  7221. THEN rr.zl
  7222. ELSE IFNULL(d.fZls, 0)
  7223. END = 0
  7224. THEN c.nzdls
  7225. ELSE (
  7226. CASE
  7227. WHEN c.nzdls <
  7228. CASE
  7229. WHEN IFNULL(d.fZls, 0) < rr.zl
  7230. THEN rr.zl
  7231. ELSE IFNULL(d.fZls, 0)
  7232. END
  7233. THEN
  7234. CASE
  7235. WHEN IFNULL(d.fZls, 0) < rr.zl
  7236. THEN rr.zl
  7237. ELSE IFNULL(d.fZls, 0)
  7238. END
  7239. ELSE c.nzdls
  7240. END
  7241. )
  7242. END
  7243. ELSE 0
  7244. END
  7245. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7246. END
  7247. END )
  7248. , 3) 马33甲纸令
  7249. ")
  7250. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7251. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7252. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7253. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7254. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7255. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7256. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  7257. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7258. ->group("CASE
  7259. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7260. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7261. END,Name_WorkGroup")
  7262. ->buildSql();
  7263. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  7264. ->field("
  7265. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7266. ROUND(SUM(
  7267. CASE
  7268. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7269. THEN
  7270. CASE
  7271. WHEN a.cCyddxMc = '装配'
  7272. OR a.cCyddxMc LIKE '%正文%'
  7273. OR a.cCyddxMc LIKE '%答案%'
  7274. OR a.cCyddxMc LIKE '%卷%'
  7275. THEN
  7276. CASE
  7277. WHEN CASE
  7278. WHEN IFNULL(d.fZls, 0) < rr.zl
  7279. THEN rr.zl
  7280. ELSE IFNULL(d.fZls, 0)
  7281. END = 0
  7282. THEN c.nzdls
  7283. ELSE (
  7284. CASE
  7285. WHEN c.nzdls <
  7286. CASE
  7287. WHEN IFNULL(d.fZls, 0) < rr.zl
  7288. THEN rr.zl
  7289. ELSE IFNULL(d.fZls, 0)
  7290. END
  7291. THEN
  7292. CASE
  7293. WHEN IFNULL(d.fZls, 0) < rr.zl
  7294. THEN rr.zl
  7295. ELSE IFNULL(d.fZls, 0)
  7296. END
  7297. ELSE c.nzdls
  7298. END
  7299. )
  7300. END
  7301. ELSE 0
  7302. END
  7303. ELSE
  7304. CASE
  7305. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7306. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7307. CASE
  7308. WHEN a.cCyddxMc = '装配'
  7309. OR a.cCyddxMc LIKE '%正文%'
  7310. OR a.cCyddxMc LIKE '%答案%'
  7311. OR a.cCyddxMc LIKE '%卷%'
  7312. THEN
  7313. CASE
  7314. WHEN CASE
  7315. WHEN IFNULL(d.fZls, 0) < rr.zl
  7316. THEN rr.zl
  7317. ELSE IFNULL(d.fZls, 0)
  7318. END = 0
  7319. THEN c.nzdls
  7320. ELSE (
  7321. CASE
  7322. WHEN c.nzdls <
  7323. CASE
  7324. WHEN IFNULL(d.fZls, 0) < rr.zl
  7325. THEN rr.zl
  7326. ELSE IFNULL(d.fZls, 0)
  7327. END
  7328. THEN
  7329. CASE
  7330. WHEN IFNULL(d.fZls, 0) < rr.zl
  7331. THEN rr.zl
  7332. ELSE IFNULL(d.fZls, 0)
  7333. END
  7334. ELSE c.nzdls
  7335. END
  7336. )
  7337. END
  7338. ELSE 0
  7339. END
  7340. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7341. END
  7342. END )
  7343. , 3) 马33乙纸令
  7344. ")
  7345. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7346. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7347. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7348. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7349. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7350. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7351. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  7352. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7353. ->group("CASE
  7354. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7355. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7356. END,Name_WorkGroup")
  7357. ->buildSql();
  7358. $HH = Db::table('ql_report_feedback_day')->alias('a')
  7359. ->field("
  7360. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7361. ROUND(SUM(
  7362. CASE
  7363. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7364. THEN
  7365. CASE
  7366. WHEN a.cCyddxMc = '装配'
  7367. OR a.cCyddxMc LIKE '%正文%'
  7368. OR a.cCyddxMc LIKE '%答案%'
  7369. OR a.cCyddxMc LIKE '%卷%'
  7370. THEN
  7371. CASE
  7372. WHEN CASE
  7373. WHEN IFNULL(d.fZls, 0) < rr.zl
  7374. THEN rr.zl
  7375. ELSE IFNULL(d.fZls, 0)
  7376. END = 0
  7377. THEN c.nzdls
  7378. ELSE (
  7379. CASE
  7380. WHEN c.nzdls <
  7381. CASE
  7382. WHEN IFNULL(d.fZls, 0) < rr.zl
  7383. THEN rr.zl
  7384. ELSE IFNULL(d.fZls, 0)
  7385. END
  7386. THEN
  7387. CASE
  7388. WHEN IFNULL(d.fZls, 0) < rr.zl
  7389. THEN rr.zl
  7390. ELSE IFNULL(d.fZls, 0)
  7391. END
  7392. ELSE c.nzdls
  7393. END
  7394. )
  7395. END
  7396. ELSE 0
  7397. END
  7398. ELSE
  7399. CASE
  7400. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7401. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7402. CASE
  7403. WHEN a.cCyddxMc = '装配'
  7404. OR a.cCyddxMc LIKE '%正文%'
  7405. OR a.cCyddxMc LIKE '%答案%'
  7406. OR a.cCyddxMc LIKE '%卷%'
  7407. THEN
  7408. CASE
  7409. WHEN CASE
  7410. WHEN IFNULL(d.fZls, 0) < rr.zl
  7411. THEN rr.zl
  7412. ELSE IFNULL(d.fZls, 0)
  7413. END = 0
  7414. THEN c.nzdls
  7415. ELSE (
  7416. CASE
  7417. WHEN c.nzdls <
  7418. CASE
  7419. WHEN IFNULL(d.fZls, 0) < rr.zl
  7420. THEN rr.zl
  7421. ELSE IFNULL(d.fZls, 0)
  7422. END
  7423. THEN
  7424. CASE
  7425. WHEN IFNULL(d.fZls, 0) < rr.zl
  7426. THEN rr.zl
  7427. ELSE IFNULL(d.fZls, 0)
  7428. END
  7429. ELSE c.nzdls
  7430. END
  7431. )
  7432. END
  7433. ELSE 0
  7434. END
  7435. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7436. END
  7437. END )
  7438. , 3) 马44甲纸令
  7439. ")
  7440. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7441. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7442. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7443. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7444. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7445. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7446. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  7447. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7448. ->group("CASE
  7449. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7450. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7451. END,Name_WorkGroup")
  7452. ->buildSql();
  7453. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  7454. ->field("
  7455. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7456. ROUND(SUM(
  7457. CASE
  7458. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7459. THEN
  7460. CASE
  7461. WHEN a.cCyddxMc = '装配'
  7462. OR a.cCyddxMc LIKE '%正文%'
  7463. OR a.cCyddxMc LIKE '%答案%'
  7464. OR a.cCyddxMc LIKE '%卷%'
  7465. THEN
  7466. CASE
  7467. WHEN CASE
  7468. WHEN IFNULL(d.fZls, 0) < rr.zl
  7469. THEN rr.zl
  7470. ELSE IFNULL(d.fZls, 0)
  7471. END = 0
  7472. THEN c.nzdls
  7473. ELSE (
  7474. CASE
  7475. WHEN c.nzdls <
  7476. CASE
  7477. WHEN IFNULL(d.fZls, 0) < rr.zl
  7478. THEN rr.zl
  7479. ELSE IFNULL(d.fZls, 0)
  7480. END
  7481. THEN
  7482. CASE
  7483. WHEN IFNULL(d.fZls, 0) < rr.zl
  7484. THEN rr.zl
  7485. ELSE IFNULL(d.fZls, 0)
  7486. END
  7487. ELSE c.nzdls
  7488. END
  7489. )
  7490. END
  7491. ELSE 0
  7492. END
  7493. ELSE
  7494. CASE
  7495. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7496. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7497. CASE
  7498. WHEN a.cCyddxMc = '装配'
  7499. OR a.cCyddxMc LIKE '%正文%'
  7500. OR a.cCyddxMc LIKE '%答案%'
  7501. OR a.cCyddxMc LIKE '%卷%'
  7502. THEN
  7503. CASE
  7504. WHEN CASE
  7505. WHEN IFNULL(d.fZls, 0) < rr.zl
  7506. THEN rr.zl
  7507. ELSE IFNULL(d.fZls, 0)
  7508. END = 0
  7509. THEN c.nzdls
  7510. ELSE (
  7511. CASE
  7512. WHEN c.nzdls <
  7513. CASE
  7514. WHEN IFNULL(d.fZls, 0) < rr.zl
  7515. THEN rr.zl
  7516. ELSE IFNULL(d.fZls, 0)
  7517. END
  7518. THEN
  7519. CASE
  7520. WHEN IFNULL(d.fZls, 0) < rr.zl
  7521. THEN rr.zl
  7522. ELSE IFNULL(d.fZls, 0)
  7523. END
  7524. ELSE c.nzdls
  7525. END
  7526. )
  7527. END
  7528. ELSE 0
  7529. END
  7530. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7531. END
  7532. END )
  7533. , 3) 马44乙纸令
  7534. ")
  7535. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7536. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7537. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7538. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7539. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7540. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7541. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  7542. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7543. ->group("CASE
  7544. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7545. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7546. END,Name_WorkGroup")
  7547. ->buildSql();
  7548. $XX = Db::table('ql_report_feedback_day')->alias('a')
  7549. ->field("
  7550. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7551. ROUND(SUM(
  7552. CASE
  7553. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7554. THEN
  7555. CASE
  7556. WHEN a.cCyddxMc = '装配'
  7557. OR a.cCyddxMc LIKE '%正文%'
  7558. OR a.cCyddxMc LIKE '%答案%'
  7559. OR a.cCyddxMc LIKE '%卷%'
  7560. THEN
  7561. CASE
  7562. WHEN CASE
  7563. WHEN IFNULL(d.fZls, 0) < rr.zl
  7564. THEN rr.zl
  7565. ELSE IFNULL(d.fZls, 0)
  7566. END = 0
  7567. THEN c.nzdls
  7568. ELSE (
  7569. CASE
  7570. WHEN c.nzdls <
  7571. CASE
  7572. WHEN IFNULL(d.fZls, 0) < rr.zl
  7573. THEN rr.zl
  7574. ELSE IFNULL(d.fZls, 0)
  7575. END
  7576. THEN
  7577. CASE
  7578. WHEN IFNULL(d.fZls, 0) < rr.zl
  7579. THEN rr.zl
  7580. ELSE IFNULL(d.fZls, 0)
  7581. END
  7582. ELSE c.nzdls
  7583. END
  7584. )
  7585. END
  7586. ELSE 0
  7587. END
  7588. ELSE
  7589. CASE
  7590. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7591. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7592. CASE
  7593. WHEN a.cCyddxMc = '装配'
  7594. OR a.cCyddxMc LIKE '%正文%'
  7595. OR a.cCyddxMc LIKE '%答案%'
  7596. OR a.cCyddxMc LIKE '%卷%'
  7597. THEN
  7598. CASE
  7599. WHEN CASE
  7600. WHEN IFNULL(d.fZls, 0) < rr.zl
  7601. THEN rr.zl
  7602. ELSE IFNULL(d.fZls, 0)
  7603. END = 0
  7604. THEN c.nzdls
  7605. ELSE (
  7606. CASE
  7607. WHEN c.nzdls <
  7608. CASE
  7609. WHEN IFNULL(d.fZls, 0) < rr.zl
  7610. THEN rr.zl
  7611. ELSE IFNULL(d.fZls, 0)
  7612. END
  7613. THEN
  7614. CASE
  7615. WHEN IFNULL(d.fZls, 0) < rr.zl
  7616. THEN rr.zl
  7617. ELSE IFNULL(d.fZls, 0)
  7618. END
  7619. ELSE c.nzdls
  7620. END
  7621. )
  7622. END
  7623. ELSE 0
  7624. END
  7625. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7626. END
  7627. END )
  7628. , 3) 马55甲纸令
  7629. ")
  7630. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7631. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7632. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7633. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7634. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7635. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7636. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  7637. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7638. ->group("CASE
  7639. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7640. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7641. END,Name_WorkGroup")
  7642. ->buildSql();
  7643. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  7644. ->field("
  7645. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7646. ROUND(SUM(
  7647. CASE
  7648. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7649. THEN
  7650. CASE
  7651. WHEN a.cCyddxMc = '装配'
  7652. OR a.cCyddxMc LIKE '%正文%'
  7653. OR a.cCyddxMc LIKE '%答案%'
  7654. OR a.cCyddxMc LIKE '%卷%'
  7655. THEN
  7656. CASE
  7657. WHEN CASE
  7658. WHEN IFNULL(d.fZls, 0) < rr.zl
  7659. THEN rr.zl
  7660. ELSE IFNULL(d.fZls, 0)
  7661. END = 0
  7662. THEN c.nzdls
  7663. ELSE (
  7664. CASE
  7665. WHEN c.nzdls <
  7666. CASE
  7667. WHEN IFNULL(d.fZls, 0) < rr.zl
  7668. THEN rr.zl
  7669. ELSE IFNULL(d.fZls, 0)
  7670. END
  7671. THEN
  7672. CASE
  7673. WHEN IFNULL(d.fZls, 0) < rr.zl
  7674. THEN rr.zl
  7675. ELSE IFNULL(d.fZls, 0)
  7676. END
  7677. ELSE c.nzdls
  7678. END
  7679. )
  7680. END
  7681. ELSE 0
  7682. END
  7683. ELSE
  7684. CASE
  7685. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7686. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7687. CASE
  7688. WHEN a.cCyddxMc = '装配'
  7689. OR a.cCyddxMc LIKE '%正文%'
  7690. OR a.cCyddxMc LIKE '%答案%'
  7691. OR a.cCyddxMc LIKE '%卷%'
  7692. THEN
  7693. CASE
  7694. WHEN CASE
  7695. WHEN IFNULL(d.fZls, 0) < rr.zl
  7696. THEN rr.zl
  7697. ELSE IFNULL(d.fZls, 0)
  7698. END = 0
  7699. THEN c.nzdls
  7700. ELSE (
  7701. CASE
  7702. WHEN c.nzdls <
  7703. CASE
  7704. WHEN IFNULL(d.fZls, 0) < rr.zl
  7705. THEN rr.zl
  7706. ELSE IFNULL(d.fZls, 0)
  7707. END
  7708. THEN
  7709. CASE
  7710. WHEN IFNULL(d.fZls, 0) < rr.zl
  7711. THEN rr.zl
  7712. ELSE IFNULL(d.fZls, 0)
  7713. END
  7714. ELSE c.nzdls
  7715. END
  7716. )
  7717. END
  7718. ELSE 0
  7719. END
  7720. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7721. END
  7722. END )
  7723. , 3) 马66甲纸令
  7724. ")
  7725. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7726. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7727. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7728. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7729. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7730. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7731. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  7732. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7733. ->group("CASE
  7734. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7735. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7736. END,Name_WorkGroup")
  7737. ->buildSql();
  7738. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  7739. ->field("
  7740. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7741. ROUND(SUM(
  7742. CASE
  7743. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7744. THEN
  7745. CASE
  7746. WHEN a.cCyddxMc = '装配'
  7747. OR a.cCyddxMc LIKE '%正文%'
  7748. OR a.cCyddxMc LIKE '%答案%'
  7749. OR a.cCyddxMc LIKE '%卷%'
  7750. THEN
  7751. CASE
  7752. WHEN CASE
  7753. WHEN IFNULL(d.fZls, 0) < rr.zl
  7754. THEN rr.zl
  7755. ELSE IFNULL(d.fZls, 0)
  7756. END = 0
  7757. THEN c.nzdls
  7758. ELSE (
  7759. CASE
  7760. WHEN c.nzdls <
  7761. CASE
  7762. WHEN IFNULL(d.fZls, 0) < rr.zl
  7763. THEN rr.zl
  7764. ELSE IFNULL(d.fZls, 0)
  7765. END
  7766. THEN
  7767. CASE
  7768. WHEN IFNULL(d.fZls, 0) < rr.zl
  7769. THEN rr.zl
  7770. ELSE IFNULL(d.fZls, 0)
  7771. END
  7772. ELSE c.nzdls
  7773. END
  7774. )
  7775. END
  7776. ELSE 0
  7777. END
  7778. ELSE
  7779. CASE
  7780. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7781. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7782. CASE
  7783. WHEN a.cCyddxMc = '装配'
  7784. OR a.cCyddxMc LIKE '%正文%'
  7785. OR a.cCyddxMc LIKE '%答案%'
  7786. OR a.cCyddxMc LIKE '%卷%'
  7787. THEN
  7788. CASE
  7789. WHEN CASE
  7790. WHEN IFNULL(d.fZls, 0) < rr.zl
  7791. THEN rr.zl
  7792. ELSE IFNULL(d.fZls, 0)
  7793. END = 0
  7794. THEN c.nzdls
  7795. ELSE (
  7796. CASE
  7797. WHEN c.nzdls <
  7798. CASE
  7799. WHEN IFNULL(d.fZls, 0) < rr.zl
  7800. THEN rr.zl
  7801. ELSE IFNULL(d.fZls, 0)
  7802. END
  7803. THEN
  7804. CASE
  7805. WHEN IFNULL(d.fZls, 0) < rr.zl
  7806. THEN rr.zl
  7807. ELSE IFNULL(d.fZls, 0)
  7808. END
  7809. ELSE c.nzdls
  7810. END
  7811. )
  7812. END
  7813. ELSE 0
  7814. END
  7815. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7816. END
  7817. END )
  7818. , 3) 马77甲纸令
  7819. ")
  7820. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7821. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7822. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7823. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7824. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7825. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7826. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  7827. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7828. ->group("CASE
  7829. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7830. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7831. END,Name_WorkGroup")
  7832. ->buildSql();
  7833. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  7834. ->field("
  7835. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7836. ROUND(SUM(
  7837. CASE
  7838. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7839. THEN
  7840. CASE
  7841. WHEN a.cCyddxMc = '装配'
  7842. OR a.cCyddxMc LIKE '%正文%'
  7843. OR a.cCyddxMc LIKE '%答案%'
  7844. OR a.cCyddxMc LIKE '%卷%'
  7845. THEN
  7846. CASE
  7847. WHEN CASE
  7848. WHEN IFNULL(d.fZls, 0) < rr.zl
  7849. THEN rr.zl
  7850. ELSE IFNULL(d.fZls, 0)
  7851. END = 0
  7852. THEN c.nzdls
  7853. ELSE (
  7854. CASE
  7855. WHEN c.nzdls <
  7856. CASE
  7857. WHEN IFNULL(d.fZls, 0) < rr.zl
  7858. THEN rr.zl
  7859. ELSE IFNULL(d.fZls, 0)
  7860. END
  7861. THEN
  7862. CASE
  7863. WHEN IFNULL(d.fZls, 0) < rr.zl
  7864. THEN rr.zl
  7865. ELSE IFNULL(d.fZls, 0)
  7866. END
  7867. ELSE c.nzdls
  7868. END
  7869. )
  7870. END
  7871. ELSE 0
  7872. END
  7873. ELSE
  7874. CASE
  7875. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7876. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7877. CASE
  7878. WHEN a.cCyddxMc = '装配'
  7879. OR a.cCyddxMc LIKE '%正文%'
  7880. OR a.cCyddxMc LIKE '%答案%'
  7881. OR a.cCyddxMc LIKE '%卷%'
  7882. THEN
  7883. CASE
  7884. WHEN CASE
  7885. WHEN IFNULL(d.fZls, 0) < rr.zl
  7886. THEN rr.zl
  7887. ELSE IFNULL(d.fZls, 0)
  7888. END = 0
  7889. THEN c.nzdls
  7890. ELSE (
  7891. CASE
  7892. WHEN c.nzdls <
  7893. CASE
  7894. WHEN IFNULL(d.fZls, 0) < rr.zl
  7895. THEN rr.zl
  7896. ELSE IFNULL(d.fZls, 0)
  7897. END
  7898. THEN
  7899. CASE
  7900. WHEN IFNULL(d.fZls, 0) < rr.zl
  7901. THEN rr.zl
  7902. ELSE IFNULL(d.fZls, 0)
  7903. END
  7904. ELSE c.nzdls
  7905. END
  7906. )
  7907. END
  7908. ELSE 0
  7909. END
  7910. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7911. END
  7912. END )
  7913. , 3) 马55乙纸令
  7914. ")
  7915. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7916. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7917. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7918. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7919. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7920. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7921. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  7922. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7923. ->group("CASE
  7924. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7925. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7926. END,Name_WorkGroup")
  7927. ->buildSql();
  7928. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  7929. ->field("
  7930. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7931. ROUND(SUM(
  7932. CASE
  7933. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7934. THEN
  7935. CASE
  7936. WHEN a.cCyddxMc = '装配'
  7937. OR a.cCyddxMc LIKE '%正文%'
  7938. OR a.cCyddxMc LIKE '%答案%'
  7939. OR a.cCyddxMc LIKE '%卷%'
  7940. THEN
  7941. CASE
  7942. WHEN CASE
  7943. WHEN IFNULL(d.fZls, 0) < rr.zl
  7944. THEN rr.zl
  7945. ELSE IFNULL(d.fZls, 0)
  7946. END = 0
  7947. THEN c.nzdls
  7948. ELSE (
  7949. CASE
  7950. WHEN c.nzdls <
  7951. CASE
  7952. WHEN IFNULL(d.fZls, 0) < rr.zl
  7953. THEN rr.zl
  7954. ELSE IFNULL(d.fZls, 0)
  7955. END
  7956. THEN
  7957. CASE
  7958. WHEN IFNULL(d.fZls, 0) < rr.zl
  7959. THEN rr.zl
  7960. ELSE IFNULL(d.fZls, 0)
  7961. END
  7962. ELSE c.nzdls
  7963. END
  7964. )
  7965. END
  7966. ELSE 0
  7967. END
  7968. ELSE
  7969. CASE
  7970. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7971. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7972. CASE
  7973. WHEN a.cCyddxMc = '装配'
  7974. OR a.cCyddxMc LIKE '%正文%'
  7975. OR a.cCyddxMc LIKE '%答案%'
  7976. OR a.cCyddxMc LIKE '%卷%'
  7977. THEN
  7978. CASE
  7979. WHEN CASE
  7980. WHEN IFNULL(d.fZls, 0) < rr.zl
  7981. THEN rr.zl
  7982. ELSE IFNULL(d.fZls, 0)
  7983. END = 0
  7984. THEN c.nzdls
  7985. ELSE (
  7986. CASE
  7987. WHEN c.nzdls <
  7988. CASE
  7989. WHEN IFNULL(d.fZls, 0) < rr.zl
  7990. THEN rr.zl
  7991. ELSE IFNULL(d.fZls, 0)
  7992. END
  7993. THEN
  7994. CASE
  7995. WHEN IFNULL(d.fZls, 0) < rr.zl
  7996. THEN rr.zl
  7997. ELSE IFNULL(d.fZls, 0)
  7998. END
  7999. ELSE c.nzdls
  8000. END
  8001. )
  8002. END
  8003. ELSE 0
  8004. END
  8005. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8006. END
  8007. END )
  8008. , 3) 马66乙纸令
  8009. ")
  8010. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8011. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8012. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8013. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8014. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8015. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8016. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  8017. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8018. ->group("CASE
  8019. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8020. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8021. END,Name_WorkGroup")
  8022. ->buildSql();
  8023. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  8024. ->field("
  8025. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8026. ROUND(SUM(
  8027. CASE
  8028. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8029. THEN
  8030. CASE
  8031. WHEN a.cCyddxMc = '装配'
  8032. OR a.cCyddxMc LIKE '%正文%'
  8033. OR a.cCyddxMc LIKE '%答案%'
  8034. OR a.cCyddxMc LIKE '%卷%'
  8035. THEN
  8036. CASE
  8037. WHEN CASE
  8038. WHEN IFNULL(d.fZls, 0) < rr.zl
  8039. THEN rr.zl
  8040. ELSE IFNULL(d.fZls, 0)
  8041. END = 0
  8042. THEN c.nzdls
  8043. ELSE (
  8044. CASE
  8045. WHEN c.nzdls <
  8046. CASE
  8047. WHEN IFNULL(d.fZls, 0) < rr.zl
  8048. THEN rr.zl
  8049. ELSE IFNULL(d.fZls, 0)
  8050. END
  8051. THEN
  8052. CASE
  8053. WHEN IFNULL(d.fZls, 0) < rr.zl
  8054. THEN rr.zl
  8055. ELSE IFNULL(d.fZls, 0)
  8056. END
  8057. ELSE c.nzdls
  8058. END
  8059. )
  8060. END
  8061. ELSE 0
  8062. END
  8063. ELSE
  8064. CASE
  8065. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8066. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8067. CASE
  8068. WHEN a.cCyddxMc = '装配'
  8069. OR a.cCyddxMc LIKE '%正文%'
  8070. OR a.cCyddxMc LIKE '%答案%'
  8071. OR a.cCyddxMc LIKE '%卷%'
  8072. THEN
  8073. CASE
  8074. WHEN CASE
  8075. WHEN IFNULL(d.fZls, 0) < rr.zl
  8076. THEN rr.zl
  8077. ELSE IFNULL(d.fZls, 0)
  8078. END = 0
  8079. THEN c.nzdls
  8080. ELSE (
  8081. CASE
  8082. WHEN c.nzdls <
  8083. CASE
  8084. WHEN IFNULL(d.fZls, 0) < rr.zl
  8085. THEN rr.zl
  8086. ELSE IFNULL(d.fZls, 0)
  8087. END
  8088. THEN
  8089. CASE
  8090. WHEN IFNULL(d.fZls, 0) < rr.zl
  8091. THEN rr.zl
  8092. ELSE IFNULL(d.fZls, 0)
  8093. END
  8094. ELSE c.nzdls
  8095. END
  8096. )
  8097. END
  8098. ELSE 0
  8099. END
  8100. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8101. END
  8102. END )
  8103. , 3) 马77乙纸令
  8104. ")
  8105. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8106. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8107. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8108. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8109. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8110. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8111. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  8112. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8113. ->group("CASE
  8114. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8115. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8116. END,Name_WorkGroup")
  8117. ->buildSql();
  8118. $db = Db::table($A . 'a')
  8119. ->field("
  8120. DISTINCT DATE(A.RQ) rq,
  8121. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  8122. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  8123. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  8124. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  8125. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  8126. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  8127. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  8128. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  8129. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  8130. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  8131. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  8132. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  8133. ")
  8134. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  8135. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8136. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  8137. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  8138. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  8139. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  8140. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  8141. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  8142. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  8143. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  8144. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8145. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8146. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  8147. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  8148. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  8149. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  8150. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  8151. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  8152. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  8153. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  8154. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  8155. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  8156. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  8157. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  8158. ->group('rq')
  8159. ->buildSql();
  8160. $jd = Db::table($db . ' db')
  8161. ->field("
  8162. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8163. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  8164. ")
  8165. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->qianend_time()}' ")
  8166. ->group('MONTH(db.rq)')
  8167. ->select();
  8168. /**
  8169. * 簿册联动线纸令
  8170. */
  8171. $B = Db::table('cpjtfk')
  8172. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8173. ->field("
  8174. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8175. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  8176. ")
  8177. ->where('cbanzu','=','簿册机1号(甲班)')
  8178. ->group('drptdate,cbanzu')
  8179. ->buildSql();
  8180. $B1 = Db::table('cpjtfk')
  8181. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8182. ->field("
  8183. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8184. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  8185. ")
  8186. ->where('cbanzu','=','簿册机1号(乙班)')
  8187. ->group('drptdate,cbanzu')
  8188. ->buildSql();
  8189. $rr = Db::table('scyddx')->alias('r')
  8190. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  8191. ->group('r.ICYDID')
  8192. ->buildSql();
  8193. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  8194. ->field("
  8195. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8196. ROUND(SUM(
  8197. CASE
  8198. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8199. THEN
  8200. CASE
  8201. WHEN a.cCyddxMc = '装配'
  8202. OR a.cCyddxMc LIKE '%正文%'
  8203. OR a.cCyddxMc LIKE '%答案%'
  8204. OR a.cCyddxMc LIKE '%卷%'
  8205. THEN
  8206. CASE
  8207. WHEN CASE
  8208. WHEN IFNULL(d.fZls, 0) < rr.zl
  8209. THEN rr.zl
  8210. ELSE IFNULL(d.fZls, 0)
  8211. END = 0
  8212. THEN c.nzdls
  8213. ELSE (
  8214. CASE
  8215. WHEN c.nzdls <
  8216. CASE
  8217. WHEN IFNULL(d.fZls, 0) < rr.zl
  8218. THEN rr.zl
  8219. ELSE IFNULL(d.fZls, 0)
  8220. END
  8221. THEN
  8222. CASE
  8223. WHEN IFNULL(d.fZls, 0) < rr.zl
  8224. THEN rr.zl
  8225. ELSE IFNULL(d.fZls, 0)
  8226. END
  8227. ELSE c.nzdls
  8228. END
  8229. )
  8230. END
  8231. ELSE 0
  8232. END
  8233. ELSE
  8234. CASE
  8235. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8236. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8237. CASE
  8238. WHEN a.cCyddxMc = '装配'
  8239. OR a.cCyddxMc LIKE '%正文%'
  8240. OR a.cCyddxMc LIKE '%答案%'
  8241. OR a.cCyddxMc LIKE '%卷%'
  8242. THEN
  8243. CASE
  8244. WHEN CASE
  8245. WHEN IFNULL(d.fZls, 0) < rr.zl
  8246. THEN rr.zl
  8247. ELSE IFNULL(d.fZls, 0)
  8248. END = 0
  8249. THEN c.nzdls
  8250. ELSE (
  8251. CASE
  8252. WHEN c.nzdls <
  8253. CASE
  8254. WHEN IFNULL(d.fZls, 0) < rr.zl
  8255. THEN rr.zl
  8256. ELSE IFNULL(d.fZls, 0)
  8257. END
  8258. THEN
  8259. CASE
  8260. WHEN IFNULL(d.fZls, 0) < rr.zl
  8261. THEN rr.zl
  8262. ELSE IFNULL(d.fZls, 0)
  8263. END
  8264. ELSE c.nzdls
  8265. END
  8266. )
  8267. END
  8268. ELSE 0
  8269. END
  8270. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8271. END
  8272. END )
  8273. , 3) 簿11甲纸令
  8274. ")
  8275. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8276. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8277. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8278. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8279. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8280. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8281. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  8282. ->where('a.cTechName' ,'=','簿册联动')
  8283. ->group("CASE
  8284. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8285. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8286. END,Name_WorkGroup")
  8287. ->buildSql();
  8288. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  8289. ->field("
  8290. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8291. ROUND(SUM(
  8292. CASE
  8293. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8294. THEN
  8295. CASE
  8296. WHEN a.cCyddxMc = '装配'
  8297. OR a.cCyddxMc LIKE '%正文%'
  8298. OR a.cCyddxMc LIKE '%答案%'
  8299. OR a.cCyddxMc LIKE '%卷%'
  8300. THEN
  8301. CASE
  8302. WHEN CASE
  8303. WHEN IFNULL(d.fZls, 0) < rr.zl
  8304. THEN rr.zl
  8305. ELSE IFNULL(d.fZls, 0)
  8306. END = 0
  8307. THEN c.nzdls
  8308. ELSE (
  8309. CASE
  8310. WHEN c.nzdls <
  8311. CASE
  8312. WHEN IFNULL(d.fZls, 0) < rr.zl
  8313. THEN rr.zl
  8314. ELSE IFNULL(d.fZls, 0)
  8315. END
  8316. THEN
  8317. CASE
  8318. WHEN IFNULL(d.fZls, 0) < rr.zl
  8319. THEN rr.zl
  8320. ELSE IFNULL(d.fZls, 0)
  8321. END
  8322. ELSE c.nzdls
  8323. END
  8324. )
  8325. END
  8326. ELSE 0
  8327. END
  8328. ELSE
  8329. CASE
  8330. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8331. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8332. CASE
  8333. WHEN a.cCyddxMc = '装配'
  8334. OR a.cCyddxMc LIKE '%正文%'
  8335. OR a.cCyddxMc LIKE '%答案%'
  8336. OR a.cCyddxMc LIKE '%卷%'
  8337. THEN
  8338. CASE
  8339. WHEN CASE
  8340. WHEN IFNULL(d.fZls, 0) < rr.zl
  8341. THEN rr.zl
  8342. ELSE IFNULL(d.fZls, 0)
  8343. END = 0
  8344. THEN c.nzdls
  8345. ELSE (
  8346. CASE
  8347. WHEN c.nzdls <
  8348. CASE
  8349. WHEN IFNULL(d.fZls, 0) < rr.zl
  8350. THEN rr.zl
  8351. ELSE IFNULL(d.fZls, 0)
  8352. END
  8353. THEN
  8354. CASE
  8355. WHEN IFNULL(d.fZls, 0) < rr.zl
  8356. THEN rr.zl
  8357. ELSE IFNULL(d.fZls, 0)
  8358. END
  8359. ELSE c.nzdls
  8360. END
  8361. )
  8362. END
  8363. ELSE 0
  8364. END
  8365. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8366. END
  8367. END )
  8368. , 3) 簿11乙纸令
  8369. ")
  8370. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8371. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8372. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8373. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8374. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8375. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8376. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  8377. ->where('a.cTechName' ,'=','簿册联动')
  8378. ->group("CASE
  8379. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8380. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8381. END,Name_WorkGroup")
  8382. ->buildSql();
  8383. $db = Db::table($A . 'a')
  8384. ->field("
  8385. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  8386. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  8387. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  8388. ")
  8389. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  8390. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8391. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8392. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8393. ->group('rq')
  8394. ->buildSql();
  8395. $bc = Db::table($db . ' db')
  8396. ->field("
  8397. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8398. ROUND(sum(db.纸令), 0) as 簿册纸令
  8399. ")->where("db.RQ >= '{$this->qianstart_time()}'
  8400. AND db.RQ <= '{$this->qianend_time()}' ")
  8401. ->group('MONTH(db.rq)')
  8402. ->select();
  8403. // 创建一个结果数组
  8404. $result=[];
  8405. $result1 = [];
  8406. // 遍历第一个数组,并将数据加入结果数组
  8407. foreach ($jp as $val1) {
  8408. $month = $val1['日期'];
  8409. $data1 = $val1['精平纸令'];
  8410. if (!isset($result[$month])) {
  8411. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8412. }
  8413. if (!isset($result1[$month])) {
  8414. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8415. }
  8416. $result1[$month] += $data1; // 累加第一个数组的数据
  8417. }
  8418. // 遍历第二个数组,并将数据加入结果数组
  8419. foreach ($jd as $val2) {
  8420. $month = $val2['日期'];
  8421. $data1 = $val2['无线胶订纸令'];
  8422. if (!isset($result[$month])) {
  8423. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8424. }
  8425. if (!isset($result1[$month])) {
  8426. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8427. }
  8428. $result1[$month] += $data1; // 累加第二个数组的数据
  8429. }
  8430. foreach ($bc as $val2) {
  8431. $month = $val2['日期'];
  8432. $data1 = $val2['簿册纸令'];
  8433. if (!isset($result[$month])) {
  8434. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8435. }
  8436. if (!isset($result1[$month])) {
  8437. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8438. }
  8439. $result1[$month] += $data1; // 累加第二个数组的数据
  8440. }
  8441. foreach($result1 as $k=>$v){
  8442. $list['categories'][]=$k;
  8443. $list['series'][0]['name']='装订实物产量色令数';
  8444. $list['series'][0]['data'][]=$v;
  8445. }
  8446. $res['status']=0;
  8447. $res['msg']='';
  8448. $res['data']=$list;
  8449. $redis->set($redis_key, json_encode($result1));
  8450. // halt(json_decode($redis->get($redis_key),true));
  8451. return json_encode($result1);
  8452. }
  8453. //去年与当年--装订实物产量纸令 接口合并一起->接口调用
  8454. public function zdzl(){
  8455. $redis=redis();
  8456. $result2022=json_decode($redis->get(md5('zdzl2022')),true);
  8457. $result2023=json_decode($redis->get(md5('zdzl2023')),true);
  8458. $resultzdzlTwoYear=json_decode($redis->get(md5('zdzlTwoYear')),true);
  8459. // 合并三年的数据
  8460. $result1 = array_merge($result2022, $result2023, $resultzdzlTwoYear);
  8461. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8462. $currentYear = date("Y"); // 当前年份
  8463. $currentMonth = date("m"); // 当前月份
  8464. $previousYear = $currentYear - 1; // 上一年
  8465. $previousQianYear = $currentYear - 2; // 前年
  8466. // 初始化三个年份的数据数组,先填充0
  8467. $list['series'][0]['name'] = $previousQianYear . '年';
  8468. $list['series'][0]['data'] = array_fill(0, 12, 0);
  8469. $list['series'][1]['name'] = $previousYear . '年';
  8470. $list['series'][1]['data'] = array_fill(0, 12, 0);
  8471. $list['series'][2]['name'] = $currentYear . '年';
  8472. $list['series'][2]['data'] = array_fill(0, 12, 0);
  8473. foreach ($result1 as $k => $v) {
  8474. $yearMonth = explode('-', $k);
  8475. $year = $yearMonth[0];
  8476. $month = (int)$yearMonth[1];
  8477. if ($year == $previousQianYear) {
  8478. // 如果是前两年的数据,直接赋值
  8479. $list['series'][0]['data'][$month - 1] = $v;
  8480. } elseif ($year == $previousYear) {
  8481. // 如果是去年的数据,直接赋值
  8482. $list['series'][1]['data'][$month - 1] = $v;
  8483. } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  8484. // 如果是当前年份,并且月份不超过当前月份,则赋值
  8485. $list['series'][2]['data'][$month - 1] = $v;
  8486. }
  8487. // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  8488. }
  8489. $res['status'] = 0;
  8490. $res['msg'] = '';
  8491. $res['data'] = $list;
  8492. return json_encode($res);
  8493. }
  8494. // public function zdzl(){
  8495. // $redis=redis();
  8496. // $result2022=json_decode($redis->get(md5('zdzl2022')),true);
  8497. // $result2023=json_decode($redis->get(md5('zdzl2023')),true);
  8498. // $resultzdzlTwoYear=json_decode($redis->get(md5('zdzlTwoYear')),true);
  8499. // $result1=array_merge($result2022,$result2023,$resultzdzlTwoYear);
  8500. //
  8501. // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8502. // $currentYear = date("Y"); // 当前年份
  8503. // $currentMonth = date("m"); // 当前月份
  8504. // $previousYear = $currentYear - 1; // 上一年
  8505. // // 初始化两个年份的数据数组,先填充0
  8506. // $list['series'][0]['name'] = $previousYear . '年';
  8507. // $list['series'][0]['data'] = array_fill(0, 12, 0);
  8508. // $list['series'][1]['name'] = $currentYear . '年';
  8509. // $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  8510. //
  8511. // foreach ($result1 as $k => $v) {
  8512. // $yearMonth = explode('-', $k);
  8513. // $year = $yearMonth[0];
  8514. // $month = (int)$yearMonth[1];
  8515. //
  8516. // if ($year == $previousYear) {
  8517. // // 如果是上一年的数据,直接赋值
  8518. // $list['series'][0]['data'][$month - 1] = $v;
  8519. // } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  8520. // // 如果是当前年份,并且月份不超过当前月份,则赋值
  8521. // $list['series'][1]['data'][$month - 1] = $v;
  8522. // }
  8523. // // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  8524. // }
  8525. // $res['status'] = 0;
  8526. // $res['msg'] = '';
  8527. // $res['data'] = $list;
  8528. // return json_encode($res);
  8529. // }
  8530. //年度承接量及完成百分比->缓存调用
  8531. public function ndcj_redis(){
  8532. $redis=redis();
  8533. $redis_key = md5('ndcj_redis');
  8534. $name='年度承接产量(万色令)';
  8535. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8536. $result = Db::query("SELECT
  8537. round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度
  8538. FROM (SELECT t5.rq as rq,sum(t5.sl)/10000 as 总色令,sum(t5.zl) as 总纸令 FROM ( SELECT DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl
  8539. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  8540. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  8541. WHERE `ord`.`icydstate` > 0 GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8542. GROUP BY year(t5.rq) ) M");
  8543. // WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8544. foreach ($result as $v) {
  8545. $list[0]['name'] = ' ';
  8546. $list[0]['value'] = round($v['色令']);
  8547. $list[1]['name'] = ' ';
  8548. $list[1]['value'] = round($v['常量']);
  8549. $list[2]['name'] = ' ';
  8550. $list[2]['value'] = round($v['色令百分比']);
  8551. }
  8552. $res['status'] = 0;
  8553. $res['msg'] = '';
  8554. $res['data'] = $list;
  8555. $redis->set($redis_key, json_encode($res));
  8556. // halt(json_decode($redis->get($redis_key),true));
  8557. return json_encode($res);
  8558. }
  8559. //年度承接量及完成百分比->接口调用
  8560. public function ndcj(){
  8561. $redis=redis();
  8562. $redis_key = md5('ndcj_redis');
  8563. $redis_data = $redis->get($redis_key);
  8564. return $redis_data;
  8565. }
  8566. //完成实物产量色令数及百分比->缓存调用
  8567. public function wcsw_redis(){
  8568. $redis=redis();
  8569. $redis_key = md5('wcsw_redis');
  8570. $name='年度完成实物产量(万色令)';
  8571. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8572. $result = Db::query("SELECT
  8573. round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量
  8574. from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数'
  8575. FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL
  8576. FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a`
  8577. INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` ) )A LEFT JOIN (( SELECT rq,SUM( iSjys ) nFourColorsTotal,COUNT( 1 ) nFourColorPZ, SUM( fsjsl ) nFourColorSL
  8578. FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)','海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)','海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)','三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)')
  8579. UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams`
  8580. WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T
  8581. GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL
  8582. FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)','BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)','海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)')
  8583. UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams`
  8584. WHERE `cMachineName` IN ('BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T
  8585. GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL
  8586. FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)')
  8587. UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams`
  8588. WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号') ) )T
  8589. GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}')
  8590. GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m");
  8591. if($result){
  8592. foreach ($result as $v) {
  8593. $list[0]['name'] = ' ';
  8594. $list[0]['value'] = round($v['色令数求和']);
  8595. $list[1]['name'] = ' ';
  8596. $list[1]['value'] = round($v['常量']);
  8597. $list[2]['name'] = ' ';
  8598. $list[2]['value'] = round($v['完成率']);
  8599. }
  8600. $res['status'] = 0;
  8601. $res['msg'] = '';
  8602. $res['data'] = $list;
  8603. $redis->set($redis_key, json_encode($res));
  8604. // halt(json_decode($redis->get($redis_key),true));
  8605. return json_encode($res);
  8606. }
  8607. }
  8608. //完成实物产量色令数及百分比->接口调用
  8609. public function wcsw(){
  8610. $redis=redis();
  8611. // $redis_key = md5('wcsw_redis');
  8612. // $redis_key = md5('yssl_redis');
  8613. // $redis_data = $redis->get($redis_key);
  8614. // $result=json_decode($redis_data,true)['data']['series'][1]['data'];
  8615. $result = json_decode($redis->get(md5('yssl_redis')),true)['data']['series'][1]['data'];
  8616. $name='年度完成实物产量(万色令)';
  8617. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8618. $num=0;
  8619. foreach($result as $v){
  8620. $num+=$v;
  8621. }
  8622. $num=$num/10000;
  8623. $list[0]['name'] = ' ';
  8624. $list[0]['value'] = round($num);
  8625. $list[1]['name'] = ' ';
  8626. $list[1]['value'] = round($yu);
  8627. $list[2]['name'] = ' ';
  8628. $list[2]['value'] = round($num/$yu*100);
  8629. $res['status'] = 0;
  8630. $res['msg'] = '';
  8631. $res['data'] = $list;
  8632. return json_encode($res);
  8633. // return $redis_data;
  8634. }
  8635. //年度销售额及百分比->缓存调用
  8636. public function ndxs_redis(){
  8637. $redis=redis();
  8638. $redis_key = md5('ndxs_redis');
  8639. $name='年度销售额(万元)';
  8640. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8641. $result = Db::query("SELECT round( m.sum_nwshjje/10000/$yu*100,0) 销售收入百分比,round( m.sum_nwshjje/10000 ) 销售收入,$yu 常量
  8642. FROM(SELECT SUM( zb.sum_nwshjje ) sum_nwshjje,DCYRQ
  8643. FROM(SELECT MCYD.DCYRQ AS DCYRQ,CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje,MCYD.icydid
  8644. FROM MCYD LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid WHERE MCYD.ICYDSTATE > 0 ) zb
  8645. WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}'
  8646. GROUP BY YEAR ( zb.DCYRQ ) ) M
  8647. GROUP BY YEAR (DCYRQ),( m.sum_nwshjje )");
  8648. foreach ($result as $v) {
  8649. $list[0]['name'] = ' ';
  8650. $list[0]['value'] = round($v['销售收入']);
  8651. $list[1]['name'] = ' ';
  8652. $list[1]['value'] = round($v['常量']);
  8653. $list[2]['name'] = ' ';
  8654. $list[2]['value'] = round($v['销售收入百分比']);
  8655. }
  8656. $res['status'] = 0;
  8657. $res['msg'] = '';
  8658. $res['data'] = $list;
  8659. $redis->set($redis_key, json_encode($res));
  8660. // halt(json_decode($redis->get($redis_key),true));
  8661. return json_encode($res);
  8662. }
  8663. //年度销售额及百分比->接口调用
  8664. public function ndxs(){
  8665. $redis=redis();
  8666. $redis_key = md5('ndxs_redis');
  8667. $redis_data = $redis->get($redis_key);
  8668. return $redis_data;
  8669. }
  8670. //当年业务模块百分比->缓存调用
  8671. public function yewujg2023_redis(){
  8672. $redis=redis();
  8673. $redis_key = md5('yewujg2023_redis');
  8674. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  8675. $tj = Db::table('tjob')
  8676. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  8677. ->group('icydid, ldz, nclje, itax')
  8678. ->where('lzfbs', '=', 0)->buildSql();
  8679. return Db::table($table)->alias('ord')
  8680. ->field($field)
  8681. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  8682. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  8683. ->where('ord.icydstate', '>', 0)
  8684. ->where($groupBy)
  8685. ->buildSql();
  8686. }
  8687. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  8688. $ObjMatier = Db::table('scyddx')
  8689. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  8690. ->group('icydid')->buildSql();
  8691. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8692. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8693. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  8694. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8695. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8696. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  8697. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8698. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8699. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  8700. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8701. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8702. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  8703. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8704. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8705. ObjMatier.nysls AS nysls,
  8706. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  8707. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8708. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8709. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  8710. // 期刊色令
  8711. $t = Db::table($dd . ' dd')
  8712. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  8713. ->group('dd.cyrq')->buildSql();
  8714. // 集团出版社色令
  8715. $t1 = Db::table($tq . ' t')
  8716. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  8717. ->group('t.cyrq')->buildSql();
  8718. // 集团教材内色令
  8719. $t2 = Db::table($tt . ' t')
  8720. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  8721. ->group('t.cyrq')->buildSql();
  8722. // 集团教材外色令
  8723. $t3 = Db::table($ttt . ' t')
  8724. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  8725. ->group('t.cyrq')->buildSql();
  8726. // 外贸订单纸令、外贸订单色令
  8727. $t4 = Db::table($tttt . ' t')
  8728. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  8729. ->group('t.cyrq')->buildSql();
  8730. // 总色令
  8731. $t5 = Db::table($ttttt . ' t')
  8732. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  8733. ->group('t.cyrq')->buildSql();
  8734. $db = Db::table($a . ' a')
  8735. ->field("
  8736. DISTINCT a.dcyrq AS dcyrq,
  8737. t.期刊色令 AS 期刊色令,
  8738. t1.集团出版社色令 AS 集团出版社色令,
  8739. t2.集团教材内色令 AS 集团教材内色令,
  8740. t3.集团教材外色令 AS 集团教材外色令,
  8741. t4.外贸订单色令 AS 外贸订单色令,
  8742. t4.外贸订单纸令 AS 外贸订单纸令,
  8743. t5.总色令 AS 总色令"
  8744. )
  8745. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  8746. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  8747. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  8748. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  8749. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  8750. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  8751. ->group('date(a.dcyrq)')->buildSql();
  8752. $sql_final = Db::table($db . ' db')
  8753. ->field("
  8754. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  8755. CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) -
  8756. IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0))
  8757. AS DECIMAL(10, 2)))) AS 社会图书,
  8758. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  8759. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  8760. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  8761. ")
  8762. ->whereTime('dcyrq', 'between', [$this->start_time(), $this->end_time()])
  8763. ->group('year(db.dcyrq)')->find();
  8764. $i=0;
  8765. foreach($sql_final as $v){
  8766. $list[$i]['name']=' ';
  8767. $list[$i]['value']=round($v);
  8768. $i++;
  8769. }
  8770. $res['status']=0;
  8771. $res['msg']='';
  8772. $res['data']=$list;
  8773. $redis->set($redis_key, json_encode($res));
  8774. // halt(json_decode($redis->get($redis_key),true));
  8775. return json_encode($res);
  8776. }
  8777. //当年业务模块百分比->接口调用
  8778. public function yewujg2023(){
  8779. $redis=redis();
  8780. $redis_key = md5('yewujg2023_redis');
  8781. $redis_data = $redis->get($redis_key);
  8782. return $redis_data;
  8783. }
  8784. //去年业务模块百分比->缓存调用
  8785. public function yewujg2022_redis(){
  8786. $redis=redis();
  8787. $redis_key = md5('yewujg2022_redis');
  8788. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  8789. $tj = Db::table('tjob')
  8790. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  8791. ->group('icydid, ldz, nclje, itax')
  8792. ->where('lzfbs', '=', 0)->buildSql();
  8793. return Db::table($table)->alias('ord')
  8794. ->field($field)
  8795. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  8796. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  8797. ->where('ord.icydstate', '>', 0)
  8798. ->where($groupBy)
  8799. ->buildSql();
  8800. }
  8801. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  8802. $ObjMatier = Db::table('scyddx')
  8803. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  8804. ->group('icydid')->buildSql();
  8805. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8806. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8807. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  8808. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8809. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8810. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  8811. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8812. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8813. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  8814. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8815. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8816. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  8817. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8818. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8819. ObjMatier.nysls AS nysls,
  8820. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  8821. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8822. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8823. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  8824. // 期刊色令
  8825. $t = Db::table($dd . ' dd')
  8826. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  8827. ->group('dd.cyrq')->buildSql();
  8828. // 集团出版社色令
  8829. $t1 = Db::table($tq . ' t')
  8830. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  8831. ->group('t.cyrq')->buildSql();
  8832. // 集团教材内色令
  8833. $t2 = Db::table($tt . ' t')
  8834. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  8835. ->group('t.cyrq')->buildSql();
  8836. // 集团教材外色令
  8837. $t3 = Db::table($ttt . ' t')
  8838. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  8839. ->group('t.cyrq')->buildSql();
  8840. // 外贸订单纸令、外贸订单色令
  8841. $t4 = Db::table($tttt . ' t')
  8842. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  8843. ->group('t.cyrq')->buildSql();
  8844. // 总色令
  8845. $t5 = Db::table($ttttt . ' t')
  8846. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  8847. ->group('t.cyrq')->buildSql();
  8848. $db = Db::table($a . ' a')
  8849. ->field("
  8850. DISTINCT a.dcyrq AS dcyrq,
  8851. t.期刊色令 AS 期刊色令,
  8852. t1.集团出版社色令 AS 集团出版社色令,
  8853. t2.集团教材内色令 AS 集团教材内色令,
  8854. t3.集团教材外色令 AS 集团教材外色令,
  8855. t4.外贸订单色令 AS 外贸订单色令,
  8856. t4.外贸订单纸令 AS 外贸订单纸令,
  8857. t5.总色令 AS 总色令"
  8858. )
  8859. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  8860. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  8861. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  8862. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  8863. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  8864. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  8865. ->group('date(a.dcyrq)')->buildSql();
  8866. $sql_final = Db::table($db . ' db')
  8867. ->field("
  8868. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  8869. 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 社会图书,
  8870. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  8871. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  8872. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  8873. ")
  8874. ->whereTime('dcyrq', 'between', [$this->qstart_time(), $this->qend_time()])
  8875. ->group('year(db.dcyrq)')->find();
  8876. $i=0;
  8877. foreach($sql_final as $v){
  8878. $list[$i]['name']=' ';
  8879. $list[$i]['value']=round($v);
  8880. $i++;
  8881. }
  8882. $res['status']=0;
  8883. $res['msg']='';
  8884. $res['data']=$list;
  8885. $redis->set($redis_key, json_encode($res));
  8886. // halt(json_decode($redis->get($redis_key),true));
  8887. return json_encode($res);
  8888. }
  8889. //去年业务模块百分比->接口调用
  8890. public function yewujg2022(){
  8891. $redis=redis();
  8892. $redis_key = md5('yewujg2022_redis');
  8893. $redis_data = $redis->get($redis_key);
  8894. return $redis_data;
  8895. }
  8896. /**
  8897. * 业务总览 第一屏 第二页
  8898. */
  8899. //轮转机每月生产趋势 纸令->缓存调用
  8900. public function lunzhuanzl_redis(){
  8901. $redis=redis();
  8902. $redis_key = md5('lunzhuanzl_redis');
  8903. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  8904. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  8905. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  8906. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  8907. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  8908. ->union(function ($query) {
  8909. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  8910. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  8911. ->whereIn('cMachineName', ['标规小森商轮1号',
  8912. '标规小森商轮2号', '大规小森商轮1号',
  8913. '大规三菱商轮1号', '标规三菱商轮1号',
  8914. '标规三菱商轮2号', '标规204胶轮1号',
  8915. '大规海德堡1号', '标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号']);
  8916. }, true)->buildSql();
  8917. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  8918. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  8919. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  8920. })->buildSql();
  8921. //轮转纸令合计
  8922. $subQuery3 = Db::table($subQuery3_child . 'T')
  8923. ->field('rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjls ) nnRotationSL ')
  8924. ->group('rq')->buildSql();
  8925. $subQuery1_5 = Db::table($subQuery . 'A')
  8926. ->field('DISTINCT A.RQ,P.nnRotationSL AS nnRotationSL')
  8927. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  8928. ->buildSql();
  8929. $sql_final = Db::table($subQuery1_5 . ' db')
  8930. ->field("
  8931. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  8932. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  8933. ")
  8934. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  8935. // ->group('MONTH(db.RQ)')
  8936. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  8937. ->select();
  8938. // 初始化数据
  8939. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8940. $currentYear = date("Y"); // 当前年份
  8941. $currentMonth = date("m"); // 当前月份
  8942. $previousYear = (int)$currentYear - 1; // 前一年
  8943. // 为前一年和当前年份创建数据数组,初始值为0
  8944. $list['series'][0]['name'] = $previousYear . '年';
  8945. $list['series'][0]['data'] = array_fill(0, 12, 0);
  8946. $list['series'][1]['name'] = $currentYear . '年';
  8947. $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  8948. // 遍历查询结果
  8949. foreach ($sql_final as $v) {
  8950. // 获取年份和月份
  8951. $year = substr($v['rq'], 0, 4);
  8952. $month = substr($v['rq'], 5, 2);
  8953. // 如果是前一年的数据
  8954. if ($year == $previousYear) {
  8955. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  8956. }
  8957. // 如果是当前年份的数据
  8958. if ($year == $currentYear) {
  8959. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  8960. }
  8961. }
  8962. // 设置响应数据
  8963. $res['status'] = 0;
  8964. $res['msg'] = '';
  8965. $res['data'] = $list;
  8966. // 将结果存储到Redis并返回
  8967. $redis->set($redis_key, json_encode($res));
  8968. return json_encode($res);
  8969. // $i=0;
  8970. // $j=0;
  8971. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  8972. // foreach($sql_final as $v){
  8973. // if($v['rq']>=date("Y-01")){
  8974. // $list['series'][1]['name']=date("Y").'年';
  8975. // $list['series'][1]['data'][$j]=$v['nnRotationSL'];
  8976. // $j++;
  8977. // }else{
  8978. // $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  8979. // $list['series'][0]['data'][$i]=$v['nnRotationSL'];
  8980. // $i++;
  8981. // }
  8982. // }
  8983. // $res['status']=0;
  8984. // $res['msg']='';
  8985. // $res['data']=$list;
  8986. // $redis->set($redis_key, json_encode($res));
  8987. // return json_encode($res);
  8988. }
  8989. //轮转机每月生产趋势 纸令->接口调用
  8990. public function lunzhuanzl(){
  8991. $redis=redis();
  8992. $redis_key = md5('lunzhuanzl_redis');
  8993. $redis_data = $redis->get($redis_key);
  8994. return $redis_data;
  8995. }
  8996. //四色机每月生产趋势 纸令->缓存调用
  8997. public function sisejizl_redis(){
  8998. $redis=redis();
  8999. $redis_key = md5('sisejizl_redis');
  9000. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9001. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9002. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9003. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9004. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9005. ->union(function ($query) {
  9006. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl')
  9007. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9008. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9009. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9010. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9011. '小森八色01号机','小森八色02号机']);
  9012. }, true)->buildSql();
  9013. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9014. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9015. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9016. })->buildSql();
  9017. //四色机纸令合计
  9018. $subQuery1 = Db::table($subQuery1_child . 'T')
  9019. ->field('rq,SUM( fsjls ) nFourColorSL')
  9020. ->group('rq')->buildSql();
  9021. $subQuery1_5 = Db::table($subQuery . 'A')
  9022. ->field('DISTINCT A.RQ,B.nFourColorSL AS nFourColorSL')
  9023. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9024. ->buildSql();
  9025. $sql_final = Db::table($subQuery1_5 . ' db')
  9026. ->field("
  9027. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9028. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9029. ")
  9030. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9031. // ->group('MONTH(db.RQ)')
  9032. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9033. ->select();
  9034. // 初始化数据
  9035. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9036. $currentYear = date("Y"); // 当前年份
  9037. $currentMonth = date("m"); // 当前月份
  9038. $previousYear = (int)$currentYear - 1; // 前一年
  9039. // 为前一年和当前年份创建数据数组,初始值为0
  9040. $list['series'][0]['name'] = $previousYear . '年';
  9041. $list['series'][0]['data'] = array_fill(0, 12, 0);
  9042. $list['series'][1]['name'] = $currentYear . '年';
  9043. $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  9044. // 遍历查询结果
  9045. foreach ($sql_final as $v) {
  9046. // 获取年份和月份
  9047. $year = substr($v['rq'], 0, 4);
  9048. $month = substr($v['rq'], 5, 2);
  9049. // 如果是前一年的数据
  9050. if ($year == $previousYear) {
  9051. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9052. }
  9053. // 如果是当前年份的数据
  9054. if ($year == $currentYear) {
  9055. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9056. }
  9057. }
  9058. // 设置响应数据
  9059. $res['status'] = 0;
  9060. $res['msg'] = '';
  9061. $res['data'] = $list;
  9062. // 将结果存储到Redis并返回
  9063. $redis->set($redis_key, json_encode($res));
  9064. return json_encode($res);
  9065. // $i=0;
  9066. // $j=0;
  9067. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  9068. // foreach($sql_final as $v){
  9069. // if($v['rq']>=$this->year_January()){
  9070. // $list['series'][1]['name']=date("Y"). '年';
  9071. // $list['series'][1]['data'][$j]=$v['nFourColorSL'];
  9072. // $j++;
  9073. // }else{
  9074. // $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  9075. // $list['series'][0]['data'][$i]=$v['nFourColorSL'];
  9076. // $i++;
  9077. // }
  9078. // }
  9079. // $res['status']=0;
  9080. // $res['msg']='';
  9081. // $res['data']=$list;
  9082. // $redis->set($redis_key, json_encode($res));
  9083. // // halt(json_decode($redis->get($redis_key),true));
  9084. // return json_encode($res);
  9085. }
  9086. //四色机每月生产趋势 纸令->接口调用
  9087. public function sisejizl(){
  9088. $redis=redis();
  9089. $redis_key = md5('sisejizl_redis');
  9090. $redis_data = $redis->get($redis_key);
  9091. return $redis_data;
  9092. }
  9093. //BB机每月生产趋势 纸令->缓存调用
  9094. public function bbjzl_redis(){
  9095. $redis=redis();
  9096. $redis_key = md5('bbjzl_redis');
  9097. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9098. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  9099. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  9100. 'BB机5号(甲班)','BB机5号(乙班)',
  9101. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  9102. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9103. ->union(function ($query) {
  9104. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9105. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9106. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  9107. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  9108. }, true)->buildSql();
  9109. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9110. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9111. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9112. })->buildSql();
  9113. //BB机纸令合计
  9114. $subQuery2 = Db::table($subQuery2_child . 'T')
  9115. ->field('rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjls ) nBBSL')
  9116. ->group('rq')->buildSql();
  9117. $subQuery1_5 = Db::table($subQuery . 'A')
  9118. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL')
  9119. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9120. ->buildSql();
  9121. $sql_final = Db::table($subQuery1_5 . ' db')
  9122. ->field("
  9123. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9124. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9125. ")
  9126. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9127. // ->group('MONTH(db.RQ)')
  9128. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9129. ->select();
  9130. // 初始化数据
  9131. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9132. $currentYear = date("Y"); // 当前年份
  9133. $currentMonth = date("m"); // 当前月份
  9134. $previousYear = (int)$currentYear - 1; // 前一年
  9135. // 为前一年和当前年份创建数据数组,初始值为0
  9136. $list['series'][0]['name'] = $previousYear . '年';
  9137. $list['series'][0]['data'] = array_fill(0, $currentMonth, 0);
  9138. $list['series'][1]['name'] = $currentYear . '年';
  9139. $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  9140. // 遍历查询结果
  9141. foreach ($sql_final as $v) {
  9142. // 获取年份和月份
  9143. $year = substr($v['rq'], 0, 4);
  9144. $month = substr($v['rq'], 5, 2);
  9145. // 如果是前一年的数据
  9146. if ($year == $previousYear) {
  9147. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9148. }
  9149. // 如果是当前年份的数据
  9150. if ($year == $currentYear) {
  9151. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9152. }
  9153. }
  9154. // 设置响应数据
  9155. $res['status'] = 0;
  9156. $res['msg'] = '';
  9157. $res['data'] = $list;
  9158. // 将结果存储到Redis并返回
  9159. $redis->set($redis_key, json_encode($res));
  9160. return json_encode($res);
  9161. // $i=0;
  9162. // $j=0;
  9163. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  9164. // foreach($sql_final as $v){
  9165. // if($v['rq']>=$this->year_January()){
  9166. // $list['series'][1]['name']=date("Y"). '年';
  9167. // $list['series'][1]['data'][$j]=$v['nBBSL'];
  9168. // $j++;
  9169. // }else{
  9170. // $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  9171. // $list['series'][0]['data'][$i]=$v['nBBSL'];
  9172. // $i++;
  9173. // }
  9174. // }
  9175. // $res['status']=0;
  9176. // $res['msg']='';
  9177. // $res['data']=$list;
  9178. // $redis->set($redis_key, json_encode($res));
  9179. // return json_encode($res);
  9180. }
  9181. //BB机每月生产趋势 纸令->接口调用
  9182. public function bbjzl(){
  9183. $redis=redis();
  9184. $redis_key = md5('bbjzl_redis');
  9185. $redis_data = $redis->get($redis_key);
  9186. return $redis_data;
  9187. }
  9188. //轮转机每月生产趋势 色令->缓存调用
  9189. public function lunzhuan_redis(){
  9190. $redis=redis();
  9191. $redis_key = md5('lunzhuan_redis');
  9192. //首先定义了起始时间和结束时间
  9193. //根据查询条件查出色令数据
  9194. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9195. ->whereIn('cbzmc', [
  9196. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  9197. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  9198. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  9199. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9200. ->union(function ($query) {
  9201. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9202. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9203. ->whereIn('cMachineName', ['标规小森商轮1号',
  9204. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  9205. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号']);
  9206. }, true)
  9207. ->buildSql();
  9208. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9209. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9210. ->union(function ($query) {
  9211. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9212. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9213. })->buildSql();
  9214. //查询每天的数据
  9215. $subQuery3 = Db::table($subQuery3_child . 'T')
  9216. ->field('rq,SUM( fsjsl ) nnRotationSL ')
  9217. ->group('rq')
  9218. ->buildSql();
  9219. //按当天日期进行分组 累计相加当天数据
  9220. $subQuery1_5 = Db::table($subQuery . 'A')
  9221. ->field('DISTINCT DATE(A.RQ) RQ,sum(P.nnRotationSL) AS nnRotationSL')
  9222. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9223. ->group('RQ')
  9224. ->buildSql();
  9225. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nnRotationSL )) AS '轮转色令合计'
  9226. $sql_final = Db::table($subQuery1_5 . ' db')
  9227. ->field("
  9228. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9229. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9230. ")
  9231. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9232. // ->group('MONTH(db.RQ)')
  9233. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9234. ->select();
  9235. // 初始化数据
  9236. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9237. $currentYear = date("Y"); // 当前年份
  9238. $currentMonth = date("m"); // 当前月份
  9239. $previousYear = (int)$currentYear - 1; // 前一年
  9240. // 为前一年和当前年份创建数据数组,初始值为0
  9241. $list['series'][0]['name'] = $previousYear . '年';
  9242. $list['series'][0]['data'] = array_fill(0, $currentMonth, 0);
  9243. $list['series'][1]['name'] = $currentYear . '年';
  9244. $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  9245. // 遍历查询结果
  9246. foreach ($sql_final as $v) {
  9247. // 获取年份和月份
  9248. $year = substr($v['rq'], 0, 4);
  9249. $month = substr($v['rq'], 5, 2);
  9250. // 如果是前一年的数据
  9251. if ($year == $previousYear) {
  9252. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9253. }
  9254. // 如果是当前年份的数据
  9255. if ($year == $currentYear) {
  9256. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9257. }
  9258. }
  9259. // 设置响应数据
  9260. $res['status'] = 0;
  9261. $res['msg'] = '';
  9262. $res['data'] = $list;
  9263. // 将结果存储到Redis并返回
  9264. $redis->set($redis_key, json_encode($res));
  9265. return json_encode($res);
  9266. // $i=0;
  9267. // $j=0;
  9268. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  9269. // foreach($sql_final as $v){
  9270. // if($v['rq']>=$this->year_January()){
  9271. // $list['series'][1]['name']=date("Y"). '年';
  9272. // $list['series'][1]['data'][$j]=$v['nnRotationSL'];
  9273. // $j++;
  9274. // }else{
  9275. // $list['series'][0]['name']= date("Y", strtotime("-1 year")).'年';
  9276. // $list['series'][0]['data'][$i]=$v['nnRotationSL'];
  9277. // $i++;
  9278. // }
  9279. // }
  9280. // $res['status']=0;
  9281. // $res['msg']='';
  9282. // $res['data']=$list;
  9283. // $redis->set($redis_key, json_encode($res));
  9284. // return json_encode($res);
  9285. }
  9286. //轮转机每月生产趋势 色令->接口调用
  9287. public function lunzhuan(){
  9288. $redis=redis();
  9289. $redis_key = md5('lunzhuan_redis');
  9290. $redis_data = $redis->get($redis_key);
  9291. return $redis_data;
  9292. }
  9293. //四色机每月生产趋势 色令->缓存调用
  9294. public function siseji_redis(){
  9295. $redis=redis();
  9296. $redis_key = md5('siseji_redis');
  9297. //根据查询条件查出色令数据
  9298. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9299. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9300. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9301. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9302. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9303. ->union(function ($query) {
  9304. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  9305. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9306. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9307. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9308. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9309. '小森八色01号机','小森八色02号机']);
  9310. }, true)->buildSql();
  9311. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9312. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9313. ->union(function ($query) {
  9314. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9315. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9316. })->buildSql();
  9317. //查询每天的数据
  9318. $subQuery1 = Db::table($subQuery1_child . 'T')
  9319. ->field('rq,SUM( fsjsl ) nFourColorSL')
  9320. ->group('rq')->buildSql();
  9321. //按当天日期进行分组 累计相加当天数据
  9322. $subQuery1_5 = Db::table($subQuery . 'A')
  9323. ->field('
  9324. DISTINCT DATE(A.RQ) RQ,
  9325. sum(B.nFourColorSL) AS nFourColorSL
  9326. ')
  9327. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9328. ->group('RQ')
  9329. ->buildSql();
  9330. //按每个月进行查询 累计相加每月数据
  9331. $sql_final = Db::table($subQuery1_5 . ' db')
  9332. ->field("
  9333. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9334. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9335. ")
  9336. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9337. // ->group('MONTH(db.RQ)')
  9338. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9339. ->select();
  9340. // 初始化数据
  9341. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9342. $currentYear = date("Y"); // 当前年份
  9343. $currentMonth = date("m"); // 当前月份
  9344. $previousYear = (int)$currentYear - 1; // 前一年
  9345. // 为前一年和当前年份创建数据数组,初始值为0
  9346. $list['series'][0]['name'] = $previousYear . '年';
  9347. $list['series'][0]['data'] = array_fill(0, 12, 0);
  9348. $list['series'][1]['name'] = $currentYear . '年';
  9349. $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  9350. // 遍历查询结果
  9351. foreach ($sql_final as $v) {
  9352. // 获取年份和月份
  9353. $year = substr($v['rq'], 0, 4);
  9354. $month = substr($v['rq'], 5, 2);
  9355. // 如果是前一年的数据
  9356. if ($year == $previousYear) {
  9357. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9358. }
  9359. // 如果是当前年份的数据
  9360. if ($year == $currentYear) {
  9361. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9362. }
  9363. }
  9364. // 设置响应数据
  9365. $res['status'] = 0;
  9366. $res['msg'] = '';
  9367. $res['data'] = $list;
  9368. // 将结果存储到Redis并返回
  9369. $redis->set($redis_key, json_encode($res));
  9370. return json_encode($res);
  9371. // $i=0;
  9372. // $j=0;
  9373. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  9374. // foreach($sql_final as $v){
  9375. // if($v['rq']>=$this->year_January()){
  9376. // $list['series'][1]['name']=date("Y").'年';
  9377. // $list['series'][1]['data'][$j]=$v['nFourColorSL'];
  9378. // $j++;
  9379. // }else{
  9380. // $list['series'][0]['name']= date("Y", strtotime("-1 year")).'年';
  9381. // $list['series'][0]['data'][$i]=$v['nFourColorSL'];
  9382. // $i++;
  9383. // }
  9384. // }
  9385. // $res['status']=0;
  9386. // $res['msg']='';
  9387. // $res['data']=$list;
  9388. // $redis->set($redis_key, json_encode($res));
  9389. // // halt(json_decode($redis->get($redis_key),true));
  9390. // return json_encode($res);
  9391. }
  9392. //四色机每月生产趋势 色令->接口调用
  9393. public function siseji(){
  9394. $redis=redis();
  9395. $redis_key = md5('siseji_redis');
  9396. $redis_data = $redis->get($redis_key);
  9397. return $redis_data;
  9398. }
  9399. //BB机每月生产趋势 色令->缓存调用
  9400. public function bbj_redis(){
  9401. $redis=redis();
  9402. $redis_key = md5('bbj_redis');
  9403. //首先定义了起始时间和结束时间
  9404. //根据查询条件查出色令数据
  9405. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9406. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  9407. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  9408. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  9409. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9410. ->union(function ($query) {
  9411. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9412. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9413. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  9414. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  9415. }, true)->buildSql();
  9416. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9417. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9418. ->union(function ($query) {
  9419. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9420. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9421. })->buildSql();
  9422. //查询每天的数据
  9423. $subQuery2 = Db::table($subQuery2_child . 'T')
  9424. ->field('rq,SUM( fsjsl ) nBBSL')
  9425. ->group('rq')->buildSql();
  9426. //按当天日期进行分组 累计相加当天数据
  9427. $subQuery1_5 = Db::table($subQuery . 'A')
  9428. ->field('DISTINCT DATE(A.RQ) RQ,sum(h.nBBSL) AS nBBSL')
  9429. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9430. ->group('RQ')
  9431. ->buildSql();
  9432. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nBBSL )) AS '单双色机(BB机)色令合计'
  9433. $sql_final = Db::table($subQuery1_5 . ' db')
  9434. ->field("
  9435. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9436. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9437. ")
  9438. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9439. // ->group('MONTH(db.RQ)')
  9440. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9441. ->order('db.RQ', 'asc')
  9442. ->select();
  9443. // 初始化数据
  9444. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9445. $currentYear = date("Y"); // 当前年份
  9446. $currentMonth = date("m"); // 当前月份
  9447. $previousYear = (int)$currentYear - 1; // 前一年
  9448. // 为前一年和当前年份创建数据数组,初始值为0
  9449. $list['series'][0]['name'] = $previousYear . '年';
  9450. $list['series'][0]['data'] = array_fill(0, $currentMonth, 0);
  9451. $list['series'][1]['name'] = $currentYear . '年';
  9452. $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  9453. // 遍历查询结果
  9454. foreach ($sql_final as $v) {
  9455. // 获取年份和月份
  9456. $year = substr($v['rq'], 0, 4);
  9457. $month = substr($v['rq'], 5, 2);
  9458. // 如果是前一年的数据
  9459. if ($year == $previousYear) {
  9460. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9461. }
  9462. // 如果是当前年份的数据
  9463. if ($year == $currentYear) {
  9464. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9465. }
  9466. }
  9467. // 设置响应数据
  9468. $res['status'] = 0;
  9469. $res['msg'] = '';
  9470. $res['data'] = $list;
  9471. // 将结果存储到Redis并返回
  9472. $redis->set($redis_key, json_encode($res));
  9473. return json_encode($res);
  9474. // $i=0;
  9475. // $j=0;
  9476. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  9477. // foreach($sql_final as $v){
  9478. // if($v['rq']>=$this->year_January()){
  9479. // $list['series'][1]['name']=date("Y").'年';
  9480. // $list['series'][1]['data'][$j]=$v['nBBSL'];
  9481. // $j++;
  9482. // }else{
  9483. // $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  9484. // $list['series'][0]['data'][$i]=$v['nBBSL'];
  9485. // $i++;
  9486. // }
  9487. // }
  9488. // $res['status']=0;
  9489. // $res['msg']='';
  9490. // $res['data']=$list;
  9491. // $redis->set($redis_key, json_encode($res));
  9492. // return json_encode($res);
  9493. }
  9494. //BB机每月生产趋势 色令->接口调用
  9495. public function bbj(){
  9496. $redis=redis();
  9497. $redis_key = md5('bbj_redis');
  9498. $redis_data = $redis->get($redis_key);
  9499. return $redis_data;
  9500. }
  9501. //胶订纸令->缓存调用
  9502. public function jdzl_redis(){
  9503. $redis=redis();
  9504. $redis_key = md5('jdzl_redis');
  9505. //首先定义了起始时间和结束时间
  9506. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  9507. ->union(function ($query) {
  9508. $query->table('scDayRpt_Teams')->alias('b')
  9509. ->field("DISTINCT DATE_FORMAT(
  9510. CASE
  9511. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  9512. ELSE b.dOnDuty
  9513. END,
  9514. '%Y-%m-%d'
  9515. ) AS RQ");
  9516. }, true)
  9517. ->buildSql();
  9518. $B = Db::table('cpjtfk')
  9519. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9520. ->field("
  9521. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9522. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  9523. ")
  9524. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  9525. ->group('drptdate,cbanzu')
  9526. ->buildSql();
  9527. $B1 = Db::table('cpjtfk')
  9528. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9529. ->field("
  9530. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9531. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  9532. ")
  9533. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  9534. ->group('drptdate,cbanzu')
  9535. ->buildSql();
  9536. $C = Db::table('cpjtfk')
  9537. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9538. ->field("
  9539. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9540. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  9541. ")
  9542. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  9543. ->group('drptdate,cbanzu')
  9544. ->buildSql();
  9545. $C1 = Db::table('cpjtfk')
  9546. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9547. ->field("
  9548. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9549. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  9550. ")
  9551. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  9552. ->group('drptdate,cbanzu')
  9553. ->buildSql();
  9554. $D = Db::table('cpjtfk')
  9555. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9556. ->field("
  9557. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9558. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  9559. ")
  9560. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  9561. ->group('drptdate,cbanzu')
  9562. ->buildSql();
  9563. $D1 = Db::table('cpjtfk')
  9564. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9565. ->field("
  9566. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9567. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  9568. ")
  9569. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  9570. ->group('drptdate,cbanzu')
  9571. ->buildSql();
  9572. $E = Db::table('cpjtfk')
  9573. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9574. ->field("
  9575. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9576. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  9577. ")
  9578. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  9579. ->group('drptdate,cbanzu')
  9580. ->buildSql();
  9581. $E1 = Db::table('cpjtfk')
  9582. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9583. ->field("
  9584. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9585. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  9586. ")
  9587. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  9588. ->group('drptdate,cbanzu')
  9589. ->buildSql();
  9590. $F = Db::table('cpjtfk')
  9591. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9592. ->field("
  9593. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9594. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  9595. ")
  9596. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  9597. ->group('drptdate,cbanzu')
  9598. ->buildSql();
  9599. $F1 = Db::table('cpjtfk')
  9600. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9601. ->field("
  9602. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9603. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  9604. ")
  9605. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  9606. ->group('drptdate,cbanzu')
  9607. ->buildSql();
  9608. $rr = Db::table('scyddx')->alias('r')
  9609. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  9610. ->group('r.ICYDID')
  9611. ->buildSql();
  9612. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  9613. ->field("
  9614. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9615. ROUND(SUM(
  9616. CASE
  9617. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9618. THEN CASE WHEN a.cCyddxMc = '装配'
  9619. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9620. THEN CASE
  9621. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9622. END = 0 THEN c.nzdls
  9623. ELSE ( CASE
  9624. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9625. END
  9626. THEN CASE
  9627. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9628. END ELSE c.nzdls END
  9629. ) END ELSE 0 END
  9630. ELSE CASE
  9631. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9632. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9633. CASE WHEN a.cCyddxMc = '装配'
  9634. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9635. THEN CASE
  9636. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9637. END = 0 THEN c.nzdls
  9638. ELSE ( CASE WHEN c.nzdls <
  9639. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9640. END
  9641. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9642. END ELSE c.nzdls END )
  9643. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9644. END END ), 3) 马11甲纸令 ")
  9645. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9646. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9647. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9648. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9649. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9650. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9651. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  9652. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9653. ->group("CASE
  9654. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9655. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9656. END,Name_WorkGroup")->buildSql();
  9657. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  9658. ->field("
  9659. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9660. ROUND(SUM(
  9661. CASE
  9662. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9663. THEN
  9664. CASE
  9665. WHEN a.cCyddxMc = '装配'
  9666. OR a.cCyddxMc LIKE '%正文%'
  9667. OR a.cCyddxMc LIKE '%答案%'
  9668. OR a.cCyddxMc LIKE '%卷%'
  9669. THEN
  9670. CASE
  9671. WHEN CASE
  9672. WHEN IFNULL(d.fZls, 0) < rr.zl
  9673. THEN rr.zl
  9674. ELSE IFNULL(d.fZls, 0)
  9675. END = 0
  9676. THEN c.nzdls
  9677. ELSE (
  9678. CASE
  9679. WHEN c.nzdls <
  9680. CASE
  9681. WHEN IFNULL(d.fZls, 0) < rr.zl
  9682. THEN rr.zl
  9683. ELSE IFNULL(d.fZls, 0)
  9684. END
  9685. THEN
  9686. CASE
  9687. WHEN IFNULL(d.fZls, 0) < rr.zl
  9688. THEN rr.zl
  9689. ELSE IFNULL(d.fZls, 0)
  9690. END
  9691. ELSE c.nzdls
  9692. END
  9693. )
  9694. END
  9695. ELSE 0
  9696. END
  9697. ELSE
  9698. CASE
  9699. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9700. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9701. CASE
  9702. WHEN a.cCyddxMc = '装配'
  9703. OR a.cCyddxMc LIKE '%正文%'
  9704. OR a.cCyddxMc LIKE '%答案%'
  9705. OR a.cCyddxMc LIKE '%卷%'
  9706. THEN
  9707. CASE
  9708. WHEN CASE
  9709. WHEN IFNULL(d.fZls, 0) < rr.zl
  9710. THEN rr.zl
  9711. ELSE IFNULL(d.fZls, 0)
  9712. END = 0
  9713. THEN c.nzdls
  9714. ELSE (
  9715. CASE
  9716. WHEN c.nzdls <
  9717. CASE
  9718. WHEN IFNULL(d.fZls, 0) < rr.zl
  9719. THEN rr.zl
  9720. ELSE IFNULL(d.fZls, 0)
  9721. END
  9722. THEN
  9723. CASE
  9724. WHEN IFNULL(d.fZls, 0) < rr.zl
  9725. THEN rr.zl
  9726. ELSE IFNULL(d.fZls, 0)
  9727. END
  9728. ELSE c.nzdls
  9729. END
  9730. )
  9731. END
  9732. ELSE 0
  9733. END
  9734. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9735. END
  9736. END )
  9737. , 3) 马11乙纸令
  9738. ")
  9739. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9740. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9741. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9742. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9743. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9744. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9745. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  9746. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9747. ->group("CASE
  9748. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9749. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9750. END,Name_WorkGroup")
  9751. ->buildSql();
  9752. $CC = Db::table('ql_report_feedback_day')->alias('a')
  9753. ->field("
  9754. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9755. ROUND(SUM(
  9756. CASE
  9757. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9758. THEN
  9759. CASE
  9760. WHEN a.cCyddxMc = '装配'
  9761. OR a.cCyddxMc LIKE '%正文%'
  9762. OR a.cCyddxMc LIKE '%答案%'
  9763. OR a.cCyddxMc LIKE '%卷%'
  9764. THEN
  9765. CASE
  9766. WHEN CASE
  9767. WHEN IFNULL(d.fZls, 0) < rr.zl
  9768. THEN rr.zl
  9769. ELSE IFNULL(d.fZls, 0)
  9770. END = 0
  9771. THEN c.nzdls
  9772. ELSE (
  9773. CASE
  9774. WHEN c.nzdls <
  9775. CASE
  9776. WHEN IFNULL(d.fZls, 0) < rr.zl
  9777. THEN rr.zl
  9778. ELSE IFNULL(d.fZls, 0)
  9779. END
  9780. THEN
  9781. CASE
  9782. WHEN IFNULL(d.fZls, 0) < rr.zl
  9783. THEN rr.zl
  9784. ELSE IFNULL(d.fZls, 0)
  9785. END
  9786. ELSE c.nzdls
  9787. END
  9788. )
  9789. END
  9790. ELSE 0
  9791. END
  9792. ELSE
  9793. CASE
  9794. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9795. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9796. CASE
  9797. WHEN a.cCyddxMc = '装配'
  9798. OR a.cCyddxMc LIKE '%正文%'
  9799. OR a.cCyddxMc LIKE '%答案%'
  9800. OR a.cCyddxMc LIKE '%卷%'
  9801. THEN
  9802. CASE
  9803. WHEN CASE
  9804. WHEN IFNULL(d.fZls, 0) < rr.zl
  9805. THEN rr.zl
  9806. ELSE IFNULL(d.fZls, 0)
  9807. END = 0
  9808. THEN c.nzdls
  9809. ELSE (
  9810. CASE
  9811. WHEN c.nzdls <
  9812. CASE
  9813. WHEN IFNULL(d.fZls, 0) < rr.zl
  9814. THEN rr.zl
  9815. ELSE IFNULL(d.fZls, 0)
  9816. END
  9817. THEN
  9818. CASE
  9819. WHEN IFNULL(d.fZls, 0) < rr.zl
  9820. THEN rr.zl
  9821. ELSE IFNULL(d.fZls, 0)
  9822. END
  9823. ELSE c.nzdls
  9824. END
  9825. )
  9826. END
  9827. ELSE 0
  9828. END
  9829. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9830. END
  9831. END )
  9832. , 3) 马22甲纸令
  9833. ")
  9834. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9835. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9836. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9837. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9838. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9839. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9840. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  9841. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9842. ->group("CASE
  9843. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9844. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9845. END,Name_WorkGroup")
  9846. ->buildSql();
  9847. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  9848. ->field("
  9849. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9850. ROUND(SUM(
  9851. CASE
  9852. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9853. THEN
  9854. CASE
  9855. WHEN a.cCyddxMc = '装配'
  9856. OR a.cCyddxMc LIKE '%正文%'
  9857. OR a.cCyddxMc LIKE '%答案%'
  9858. OR a.cCyddxMc LIKE '%卷%'
  9859. THEN
  9860. CASE
  9861. WHEN CASE
  9862. WHEN IFNULL(d.fZls, 0) < rr.zl
  9863. THEN rr.zl
  9864. ELSE IFNULL(d.fZls, 0)
  9865. END = 0
  9866. THEN c.nzdls
  9867. ELSE (
  9868. CASE
  9869. WHEN c.nzdls <
  9870. CASE
  9871. WHEN IFNULL(d.fZls, 0) < rr.zl
  9872. THEN rr.zl
  9873. ELSE IFNULL(d.fZls, 0)
  9874. END
  9875. THEN
  9876. CASE
  9877. WHEN IFNULL(d.fZls, 0) < rr.zl
  9878. THEN rr.zl
  9879. ELSE IFNULL(d.fZls, 0)
  9880. END
  9881. ELSE c.nzdls
  9882. END
  9883. )
  9884. END
  9885. ELSE 0
  9886. END
  9887. ELSE
  9888. CASE
  9889. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9890. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9891. CASE
  9892. WHEN a.cCyddxMc = '装配'
  9893. OR a.cCyddxMc LIKE '%正文%'
  9894. OR a.cCyddxMc LIKE '%答案%'
  9895. OR a.cCyddxMc LIKE '%卷%'
  9896. THEN
  9897. CASE
  9898. WHEN CASE
  9899. WHEN IFNULL(d.fZls, 0) < rr.zl
  9900. THEN rr.zl
  9901. ELSE IFNULL(d.fZls, 0)
  9902. END = 0
  9903. THEN c.nzdls
  9904. ELSE (
  9905. CASE
  9906. WHEN c.nzdls <
  9907. CASE
  9908. WHEN IFNULL(d.fZls, 0) < rr.zl
  9909. THEN rr.zl
  9910. ELSE IFNULL(d.fZls, 0)
  9911. END
  9912. THEN
  9913. CASE
  9914. WHEN IFNULL(d.fZls, 0) < rr.zl
  9915. THEN rr.zl
  9916. ELSE IFNULL(d.fZls, 0)
  9917. END
  9918. ELSE c.nzdls
  9919. END
  9920. )
  9921. END
  9922. ELSE 0
  9923. END
  9924. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9925. END
  9926. END )
  9927. , 3) 马22乙纸令
  9928. ")
  9929. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9930. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9931. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9932. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9933. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9934. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9935. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  9936. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9937. ->group("CASE
  9938. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9939. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9940. END,Name_WorkGroup")
  9941. ->buildSql();
  9942. $EE = Db::table('ql_report_feedback_day')->alias('a')
  9943. ->field("
  9944. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9945. ROUND(SUM(
  9946. CASE
  9947. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9948. THEN
  9949. CASE
  9950. WHEN a.cCyddxMc = '装配'
  9951. OR a.cCyddxMc LIKE '%正文%'
  9952. OR a.cCyddxMc LIKE '%答案%'
  9953. OR a.cCyddxMc LIKE '%卷%'
  9954. THEN
  9955. CASE
  9956. WHEN CASE
  9957. WHEN IFNULL(d.fZls, 0) < rr.zl
  9958. THEN rr.zl
  9959. ELSE IFNULL(d.fZls, 0)
  9960. END = 0
  9961. THEN c.nzdls
  9962. ELSE (
  9963. CASE
  9964. WHEN c.nzdls <
  9965. CASE
  9966. WHEN IFNULL(d.fZls, 0) < rr.zl
  9967. THEN rr.zl
  9968. ELSE IFNULL(d.fZls, 0)
  9969. END
  9970. THEN
  9971. CASE
  9972. WHEN IFNULL(d.fZls, 0) < rr.zl
  9973. THEN rr.zl
  9974. ELSE IFNULL(d.fZls, 0)
  9975. END
  9976. ELSE c.nzdls
  9977. END
  9978. )
  9979. END
  9980. ELSE 0
  9981. END
  9982. ELSE
  9983. CASE
  9984. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9985. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9986. CASE
  9987. WHEN a.cCyddxMc = '装配'
  9988. OR a.cCyddxMc LIKE '%正文%'
  9989. OR a.cCyddxMc LIKE '%答案%'
  9990. OR a.cCyddxMc LIKE '%卷%'
  9991. THEN
  9992. CASE
  9993. WHEN CASE
  9994. WHEN IFNULL(d.fZls, 0) < rr.zl
  9995. THEN rr.zl
  9996. ELSE IFNULL(d.fZls, 0)
  9997. END = 0
  9998. THEN c.nzdls
  9999. ELSE (
  10000. CASE
  10001. WHEN c.nzdls <
  10002. CASE
  10003. WHEN IFNULL(d.fZls, 0) < rr.zl
  10004. THEN rr.zl
  10005. ELSE IFNULL(d.fZls, 0)
  10006. END
  10007. THEN
  10008. CASE
  10009. WHEN IFNULL(d.fZls, 0) < rr.zl
  10010. THEN rr.zl
  10011. ELSE IFNULL(d.fZls, 0)
  10012. END
  10013. ELSE c.nzdls
  10014. END
  10015. )
  10016. END
  10017. ELSE 0
  10018. END
  10019. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10020. END
  10021. END )
  10022. , 3) 马33甲纸令
  10023. ")
  10024. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10025. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10026. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10027. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10028. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10029. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10030. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  10031. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10032. ->group("CASE
  10033. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10034. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10035. END,Name_WorkGroup")
  10036. ->buildSql();
  10037. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  10038. ->field("
  10039. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10040. ROUND(SUM(
  10041. CASE
  10042. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10043. THEN
  10044. CASE
  10045. WHEN a.cCyddxMc = '装配'
  10046. OR a.cCyddxMc LIKE '%正文%'
  10047. OR a.cCyddxMc LIKE '%答案%'
  10048. OR a.cCyddxMc LIKE '%卷%'
  10049. THEN
  10050. CASE
  10051. WHEN CASE
  10052. WHEN IFNULL(d.fZls, 0) < rr.zl
  10053. THEN rr.zl
  10054. ELSE IFNULL(d.fZls, 0)
  10055. END = 0
  10056. THEN c.nzdls
  10057. ELSE (
  10058. CASE
  10059. WHEN c.nzdls <
  10060. CASE
  10061. WHEN IFNULL(d.fZls, 0) < rr.zl
  10062. THEN rr.zl
  10063. ELSE IFNULL(d.fZls, 0)
  10064. END
  10065. THEN
  10066. CASE
  10067. WHEN IFNULL(d.fZls, 0) < rr.zl
  10068. THEN rr.zl
  10069. ELSE IFNULL(d.fZls, 0)
  10070. END
  10071. ELSE c.nzdls
  10072. END
  10073. )
  10074. END
  10075. ELSE 0
  10076. END
  10077. ELSE
  10078. CASE
  10079. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10080. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10081. CASE
  10082. WHEN a.cCyddxMc = '装配'
  10083. OR a.cCyddxMc LIKE '%正文%'
  10084. OR a.cCyddxMc LIKE '%答案%'
  10085. OR a.cCyddxMc LIKE '%卷%'
  10086. THEN
  10087. CASE
  10088. WHEN CASE
  10089. WHEN IFNULL(d.fZls, 0) < rr.zl
  10090. THEN rr.zl
  10091. ELSE IFNULL(d.fZls, 0)
  10092. END = 0
  10093. THEN c.nzdls
  10094. ELSE (
  10095. CASE
  10096. WHEN c.nzdls <
  10097. CASE
  10098. WHEN IFNULL(d.fZls, 0) < rr.zl
  10099. THEN rr.zl
  10100. ELSE IFNULL(d.fZls, 0)
  10101. END
  10102. THEN
  10103. CASE
  10104. WHEN IFNULL(d.fZls, 0) < rr.zl
  10105. THEN rr.zl
  10106. ELSE IFNULL(d.fZls, 0)
  10107. END
  10108. ELSE c.nzdls
  10109. END
  10110. )
  10111. END
  10112. ELSE 0
  10113. END
  10114. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10115. END
  10116. END )
  10117. , 3) 马33乙纸令
  10118. ")
  10119. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10120. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10121. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10122. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10123. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10124. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10125. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  10126. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10127. ->group("CASE
  10128. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10129. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10130. END,Name_WorkGroup")
  10131. ->buildSql();
  10132. $HH = Db::table('ql_report_feedback_day')->alias('a')
  10133. ->field("
  10134. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10135. ROUND(SUM(
  10136. CASE
  10137. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10138. THEN
  10139. CASE
  10140. WHEN a.cCyddxMc = '装配'
  10141. OR a.cCyddxMc LIKE '%正文%'
  10142. OR a.cCyddxMc LIKE '%答案%'
  10143. OR a.cCyddxMc LIKE '%卷%'
  10144. THEN
  10145. CASE
  10146. WHEN CASE
  10147. WHEN IFNULL(d.fZls, 0) < rr.zl
  10148. THEN rr.zl
  10149. ELSE IFNULL(d.fZls, 0)
  10150. END = 0
  10151. THEN c.nzdls
  10152. ELSE (
  10153. CASE
  10154. WHEN c.nzdls <
  10155. CASE
  10156. WHEN IFNULL(d.fZls, 0) < rr.zl
  10157. THEN rr.zl
  10158. ELSE IFNULL(d.fZls, 0)
  10159. END
  10160. THEN
  10161. CASE
  10162. WHEN IFNULL(d.fZls, 0) < rr.zl
  10163. THEN rr.zl
  10164. ELSE IFNULL(d.fZls, 0)
  10165. END
  10166. ELSE c.nzdls
  10167. END
  10168. )
  10169. END
  10170. ELSE 0
  10171. END
  10172. ELSE
  10173. CASE
  10174. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10175. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10176. CASE
  10177. WHEN a.cCyddxMc = '装配'
  10178. OR a.cCyddxMc LIKE '%正文%'
  10179. OR a.cCyddxMc LIKE '%答案%'
  10180. OR a.cCyddxMc LIKE '%卷%'
  10181. THEN
  10182. CASE
  10183. WHEN CASE
  10184. WHEN IFNULL(d.fZls, 0) < rr.zl
  10185. THEN rr.zl
  10186. ELSE IFNULL(d.fZls, 0)
  10187. END = 0
  10188. THEN c.nzdls
  10189. ELSE (
  10190. CASE
  10191. WHEN c.nzdls <
  10192. CASE
  10193. WHEN IFNULL(d.fZls, 0) < rr.zl
  10194. THEN rr.zl
  10195. ELSE IFNULL(d.fZls, 0)
  10196. END
  10197. THEN
  10198. CASE
  10199. WHEN IFNULL(d.fZls, 0) < rr.zl
  10200. THEN rr.zl
  10201. ELSE IFNULL(d.fZls, 0)
  10202. END
  10203. ELSE c.nzdls
  10204. END
  10205. )
  10206. END
  10207. ELSE 0
  10208. END
  10209. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10210. END
  10211. END )
  10212. , 3) 马44甲纸令
  10213. ")
  10214. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10215. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10216. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10217. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10218. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10219. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10220. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  10221. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10222. ->group("CASE
  10223. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10224. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10225. END,Name_WorkGroup")
  10226. ->buildSql();
  10227. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  10228. ->field("
  10229. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10230. ROUND(SUM(
  10231. CASE
  10232. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10233. THEN
  10234. CASE
  10235. WHEN a.cCyddxMc = '装配'
  10236. OR a.cCyddxMc LIKE '%正文%'
  10237. OR a.cCyddxMc LIKE '%答案%'
  10238. OR a.cCyddxMc LIKE '%卷%'
  10239. THEN
  10240. CASE
  10241. WHEN CASE
  10242. WHEN IFNULL(d.fZls, 0) < rr.zl
  10243. THEN rr.zl
  10244. ELSE IFNULL(d.fZls, 0)
  10245. END = 0
  10246. THEN c.nzdls
  10247. ELSE (
  10248. CASE
  10249. WHEN c.nzdls <
  10250. CASE
  10251. WHEN IFNULL(d.fZls, 0) < rr.zl
  10252. THEN rr.zl
  10253. ELSE IFNULL(d.fZls, 0)
  10254. END
  10255. THEN
  10256. CASE
  10257. WHEN IFNULL(d.fZls, 0) < rr.zl
  10258. THEN rr.zl
  10259. ELSE IFNULL(d.fZls, 0)
  10260. END
  10261. ELSE c.nzdls
  10262. END
  10263. )
  10264. END
  10265. ELSE 0
  10266. END
  10267. ELSE
  10268. CASE
  10269. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10270. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10271. CASE
  10272. WHEN a.cCyddxMc = '装配'
  10273. OR a.cCyddxMc LIKE '%正文%'
  10274. OR a.cCyddxMc LIKE '%答案%'
  10275. OR a.cCyddxMc LIKE '%卷%'
  10276. THEN
  10277. CASE
  10278. WHEN CASE
  10279. WHEN IFNULL(d.fZls, 0) < rr.zl
  10280. THEN rr.zl
  10281. ELSE IFNULL(d.fZls, 0)
  10282. END = 0
  10283. THEN c.nzdls
  10284. ELSE (
  10285. CASE
  10286. WHEN c.nzdls <
  10287. CASE
  10288. WHEN IFNULL(d.fZls, 0) < rr.zl
  10289. THEN rr.zl
  10290. ELSE IFNULL(d.fZls, 0)
  10291. END
  10292. THEN
  10293. CASE
  10294. WHEN IFNULL(d.fZls, 0) < rr.zl
  10295. THEN rr.zl
  10296. ELSE IFNULL(d.fZls, 0)
  10297. END
  10298. ELSE c.nzdls
  10299. END
  10300. )
  10301. END
  10302. ELSE 0
  10303. END
  10304. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10305. END
  10306. END )
  10307. , 3) 马44乙纸令
  10308. ")
  10309. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10310. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10311. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10312. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10313. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10314. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10315. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  10316. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10317. ->group("CASE
  10318. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10319. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10320. END,Name_WorkGroup")
  10321. ->buildSql();
  10322. $XX = Db::table('ql_report_feedback_day')->alias('a')
  10323. ->field("
  10324. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10325. ROUND(SUM(
  10326. CASE
  10327. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10328. THEN
  10329. CASE
  10330. WHEN a.cCyddxMc = '装配'
  10331. OR a.cCyddxMc LIKE '%正文%'
  10332. OR a.cCyddxMc LIKE '%答案%'
  10333. OR a.cCyddxMc LIKE '%卷%'
  10334. THEN
  10335. CASE
  10336. WHEN CASE
  10337. WHEN IFNULL(d.fZls, 0) < rr.zl
  10338. THEN rr.zl
  10339. ELSE IFNULL(d.fZls, 0)
  10340. END = 0
  10341. THEN c.nzdls
  10342. ELSE (
  10343. CASE
  10344. WHEN c.nzdls <
  10345. CASE
  10346. WHEN IFNULL(d.fZls, 0) < rr.zl
  10347. THEN rr.zl
  10348. ELSE IFNULL(d.fZls, 0)
  10349. END
  10350. THEN
  10351. CASE
  10352. WHEN IFNULL(d.fZls, 0) < rr.zl
  10353. THEN rr.zl
  10354. ELSE IFNULL(d.fZls, 0)
  10355. END
  10356. ELSE c.nzdls
  10357. END
  10358. )
  10359. END
  10360. ELSE 0
  10361. END
  10362. ELSE
  10363. CASE
  10364. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10365. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10366. CASE
  10367. WHEN a.cCyddxMc = '装配'
  10368. OR a.cCyddxMc LIKE '%正文%'
  10369. OR a.cCyddxMc LIKE '%答案%'
  10370. OR a.cCyddxMc LIKE '%卷%'
  10371. THEN
  10372. CASE
  10373. WHEN CASE
  10374. WHEN IFNULL(d.fZls, 0) < rr.zl
  10375. THEN rr.zl
  10376. ELSE IFNULL(d.fZls, 0)
  10377. END = 0
  10378. THEN c.nzdls
  10379. ELSE (
  10380. CASE
  10381. WHEN c.nzdls <
  10382. CASE
  10383. WHEN IFNULL(d.fZls, 0) < rr.zl
  10384. THEN rr.zl
  10385. ELSE IFNULL(d.fZls, 0)
  10386. END
  10387. THEN
  10388. CASE
  10389. WHEN IFNULL(d.fZls, 0) < rr.zl
  10390. THEN rr.zl
  10391. ELSE IFNULL(d.fZls, 0)
  10392. END
  10393. ELSE c.nzdls
  10394. END
  10395. )
  10396. END
  10397. ELSE 0
  10398. END
  10399. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10400. END
  10401. END )
  10402. , 3) 马55甲纸令
  10403. ")
  10404. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10405. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10406. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10407. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10408. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10409. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10410. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  10411. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10412. ->group("CASE
  10413. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10414. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10415. END,Name_WorkGroup")
  10416. ->buildSql();
  10417. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  10418. ->field("
  10419. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10420. ROUND(SUM(
  10421. CASE
  10422. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10423. THEN
  10424. CASE
  10425. WHEN a.cCyddxMc = '装配'
  10426. OR a.cCyddxMc LIKE '%正文%'
  10427. OR a.cCyddxMc LIKE '%答案%'
  10428. OR a.cCyddxMc LIKE '%卷%'
  10429. THEN
  10430. CASE
  10431. WHEN CASE
  10432. WHEN IFNULL(d.fZls, 0) < rr.zl
  10433. THEN rr.zl
  10434. ELSE IFNULL(d.fZls, 0)
  10435. END = 0
  10436. THEN c.nzdls
  10437. ELSE (
  10438. CASE
  10439. WHEN c.nzdls <
  10440. CASE
  10441. WHEN IFNULL(d.fZls, 0) < rr.zl
  10442. THEN rr.zl
  10443. ELSE IFNULL(d.fZls, 0)
  10444. END
  10445. THEN
  10446. CASE
  10447. WHEN IFNULL(d.fZls, 0) < rr.zl
  10448. THEN rr.zl
  10449. ELSE IFNULL(d.fZls, 0)
  10450. END
  10451. ELSE c.nzdls
  10452. END
  10453. )
  10454. END
  10455. ELSE 0
  10456. END
  10457. ELSE
  10458. CASE
  10459. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10460. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10461. CASE
  10462. WHEN a.cCyddxMc = '装配'
  10463. OR a.cCyddxMc LIKE '%正文%'
  10464. OR a.cCyddxMc LIKE '%答案%'
  10465. OR a.cCyddxMc LIKE '%卷%'
  10466. THEN
  10467. CASE
  10468. WHEN CASE
  10469. WHEN IFNULL(d.fZls, 0) < rr.zl
  10470. THEN rr.zl
  10471. ELSE IFNULL(d.fZls, 0)
  10472. END = 0
  10473. THEN c.nzdls
  10474. ELSE (
  10475. CASE
  10476. WHEN c.nzdls <
  10477. CASE
  10478. WHEN IFNULL(d.fZls, 0) < rr.zl
  10479. THEN rr.zl
  10480. ELSE IFNULL(d.fZls, 0)
  10481. END
  10482. THEN
  10483. CASE
  10484. WHEN IFNULL(d.fZls, 0) < rr.zl
  10485. THEN rr.zl
  10486. ELSE IFNULL(d.fZls, 0)
  10487. END
  10488. ELSE c.nzdls
  10489. END
  10490. )
  10491. END
  10492. ELSE 0
  10493. END
  10494. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10495. END
  10496. END )
  10497. , 3) 马66甲纸令
  10498. ")
  10499. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10500. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10501. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10502. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10503. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10504. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10505. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  10506. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10507. ->group("CASE
  10508. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10509. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10510. END,Name_WorkGroup")
  10511. ->buildSql();
  10512. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  10513. ->field("
  10514. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10515. ROUND(SUM(
  10516. CASE
  10517. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10518. THEN
  10519. CASE
  10520. WHEN a.cCyddxMc = '装配'
  10521. OR a.cCyddxMc LIKE '%正文%'
  10522. OR a.cCyddxMc LIKE '%答案%'
  10523. OR a.cCyddxMc LIKE '%卷%'
  10524. THEN
  10525. CASE
  10526. WHEN CASE
  10527. WHEN IFNULL(d.fZls, 0) < rr.zl
  10528. THEN rr.zl
  10529. ELSE IFNULL(d.fZls, 0)
  10530. END = 0
  10531. THEN c.nzdls
  10532. ELSE (
  10533. CASE
  10534. WHEN c.nzdls <
  10535. CASE
  10536. WHEN IFNULL(d.fZls, 0) < rr.zl
  10537. THEN rr.zl
  10538. ELSE IFNULL(d.fZls, 0)
  10539. END
  10540. THEN
  10541. CASE
  10542. WHEN IFNULL(d.fZls, 0) < rr.zl
  10543. THEN rr.zl
  10544. ELSE IFNULL(d.fZls, 0)
  10545. END
  10546. ELSE c.nzdls
  10547. END
  10548. )
  10549. END
  10550. ELSE 0
  10551. END
  10552. ELSE
  10553. CASE
  10554. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10555. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10556. CASE
  10557. WHEN a.cCyddxMc = '装配'
  10558. OR a.cCyddxMc LIKE '%正文%'
  10559. OR a.cCyddxMc LIKE '%答案%'
  10560. OR a.cCyddxMc LIKE '%卷%'
  10561. THEN
  10562. CASE
  10563. WHEN CASE
  10564. WHEN IFNULL(d.fZls, 0) < rr.zl
  10565. THEN rr.zl
  10566. ELSE IFNULL(d.fZls, 0)
  10567. END = 0
  10568. THEN c.nzdls
  10569. ELSE (
  10570. CASE
  10571. WHEN c.nzdls <
  10572. CASE
  10573. WHEN IFNULL(d.fZls, 0) < rr.zl
  10574. THEN rr.zl
  10575. ELSE IFNULL(d.fZls, 0)
  10576. END
  10577. THEN
  10578. CASE
  10579. WHEN IFNULL(d.fZls, 0) < rr.zl
  10580. THEN rr.zl
  10581. ELSE IFNULL(d.fZls, 0)
  10582. END
  10583. ELSE c.nzdls
  10584. END
  10585. )
  10586. END
  10587. ELSE 0
  10588. END
  10589. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10590. END
  10591. END )
  10592. , 3) 马77甲纸令
  10593. ")
  10594. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10595. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10596. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10597. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10598. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10599. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10600. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  10601. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10602. ->group("CASE
  10603. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10604. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10605. END,Name_WorkGroup")
  10606. ->buildSql();
  10607. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  10608. ->field("
  10609. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10610. ROUND(SUM(
  10611. CASE
  10612. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10613. THEN
  10614. CASE
  10615. WHEN a.cCyddxMc = '装配'
  10616. OR a.cCyddxMc LIKE '%正文%'
  10617. OR a.cCyddxMc LIKE '%答案%'
  10618. OR a.cCyddxMc LIKE '%卷%'
  10619. THEN
  10620. CASE
  10621. WHEN CASE
  10622. WHEN IFNULL(d.fZls, 0) < rr.zl
  10623. THEN rr.zl
  10624. ELSE IFNULL(d.fZls, 0)
  10625. END = 0
  10626. THEN c.nzdls
  10627. ELSE (
  10628. CASE
  10629. WHEN c.nzdls <
  10630. CASE
  10631. WHEN IFNULL(d.fZls, 0) < rr.zl
  10632. THEN rr.zl
  10633. ELSE IFNULL(d.fZls, 0)
  10634. END
  10635. THEN
  10636. CASE
  10637. WHEN IFNULL(d.fZls, 0) < rr.zl
  10638. THEN rr.zl
  10639. ELSE IFNULL(d.fZls, 0)
  10640. END
  10641. ELSE c.nzdls
  10642. END
  10643. )
  10644. END
  10645. ELSE 0
  10646. END
  10647. ELSE
  10648. CASE
  10649. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10650. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10651. CASE
  10652. WHEN a.cCyddxMc = '装配'
  10653. OR a.cCyddxMc LIKE '%正文%'
  10654. OR a.cCyddxMc LIKE '%答案%'
  10655. OR a.cCyddxMc LIKE '%卷%'
  10656. THEN
  10657. CASE
  10658. WHEN CASE
  10659. WHEN IFNULL(d.fZls, 0) < rr.zl
  10660. THEN rr.zl
  10661. ELSE IFNULL(d.fZls, 0)
  10662. END = 0
  10663. THEN c.nzdls
  10664. ELSE (
  10665. CASE
  10666. WHEN c.nzdls <
  10667. CASE
  10668. WHEN IFNULL(d.fZls, 0) < rr.zl
  10669. THEN rr.zl
  10670. ELSE IFNULL(d.fZls, 0)
  10671. END
  10672. THEN
  10673. CASE
  10674. WHEN IFNULL(d.fZls, 0) < rr.zl
  10675. THEN rr.zl
  10676. ELSE IFNULL(d.fZls, 0)
  10677. END
  10678. ELSE c.nzdls
  10679. END
  10680. )
  10681. END
  10682. ELSE 0
  10683. END
  10684. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10685. END
  10686. END )
  10687. , 3) 马55乙纸令
  10688. ")
  10689. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10690. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10691. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10692. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10693. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10694. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10695. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  10696. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10697. ->group("CASE
  10698. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10699. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10700. END,Name_WorkGroup")
  10701. ->buildSql();
  10702. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  10703. ->field("
  10704. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10705. ROUND(SUM(
  10706. CASE
  10707. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10708. THEN
  10709. CASE
  10710. WHEN a.cCyddxMc = '装配'
  10711. OR a.cCyddxMc LIKE '%正文%'
  10712. OR a.cCyddxMc LIKE '%答案%'
  10713. OR a.cCyddxMc LIKE '%卷%'
  10714. THEN
  10715. CASE
  10716. WHEN CASE
  10717. WHEN IFNULL(d.fZls, 0) < rr.zl
  10718. THEN rr.zl
  10719. ELSE IFNULL(d.fZls, 0)
  10720. END = 0
  10721. THEN c.nzdls
  10722. ELSE (
  10723. CASE
  10724. WHEN c.nzdls <
  10725. CASE
  10726. WHEN IFNULL(d.fZls, 0) < rr.zl
  10727. THEN rr.zl
  10728. ELSE IFNULL(d.fZls, 0)
  10729. END
  10730. THEN
  10731. CASE
  10732. WHEN IFNULL(d.fZls, 0) < rr.zl
  10733. THEN rr.zl
  10734. ELSE IFNULL(d.fZls, 0)
  10735. END
  10736. ELSE c.nzdls
  10737. END
  10738. )
  10739. END
  10740. ELSE 0
  10741. END
  10742. ELSE
  10743. CASE
  10744. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10745. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10746. CASE
  10747. WHEN a.cCyddxMc = '装配'
  10748. OR a.cCyddxMc LIKE '%正文%'
  10749. OR a.cCyddxMc LIKE '%答案%'
  10750. OR a.cCyddxMc LIKE '%卷%'
  10751. THEN
  10752. CASE
  10753. WHEN CASE
  10754. WHEN IFNULL(d.fZls, 0) < rr.zl
  10755. THEN rr.zl
  10756. ELSE IFNULL(d.fZls, 0)
  10757. END = 0
  10758. THEN c.nzdls
  10759. ELSE (
  10760. CASE
  10761. WHEN c.nzdls <
  10762. CASE
  10763. WHEN IFNULL(d.fZls, 0) < rr.zl
  10764. THEN rr.zl
  10765. ELSE IFNULL(d.fZls, 0)
  10766. END
  10767. THEN
  10768. CASE
  10769. WHEN IFNULL(d.fZls, 0) < rr.zl
  10770. THEN rr.zl
  10771. ELSE IFNULL(d.fZls, 0)
  10772. END
  10773. ELSE c.nzdls
  10774. END
  10775. )
  10776. END
  10777. ELSE 0
  10778. END
  10779. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10780. END
  10781. END )
  10782. , 3) 马66乙纸令
  10783. ")
  10784. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10785. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10786. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10787. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10788. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10789. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10790. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  10791. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10792. ->group("CASE
  10793. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10794. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10795. END,Name_WorkGroup")
  10796. ->buildSql();
  10797. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  10798. ->field("
  10799. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10800. ROUND(SUM(
  10801. CASE
  10802. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10803. THEN
  10804. CASE
  10805. WHEN a.cCyddxMc = '装配'
  10806. OR a.cCyddxMc LIKE '%正文%'
  10807. OR a.cCyddxMc LIKE '%答案%'
  10808. OR a.cCyddxMc LIKE '%卷%'
  10809. THEN
  10810. CASE
  10811. WHEN CASE
  10812. WHEN IFNULL(d.fZls, 0) < rr.zl
  10813. THEN rr.zl
  10814. ELSE IFNULL(d.fZls, 0)
  10815. END = 0
  10816. THEN c.nzdls
  10817. ELSE (
  10818. CASE
  10819. WHEN c.nzdls <
  10820. CASE
  10821. WHEN IFNULL(d.fZls, 0) < rr.zl
  10822. THEN rr.zl
  10823. ELSE IFNULL(d.fZls, 0)
  10824. END
  10825. THEN
  10826. CASE
  10827. WHEN IFNULL(d.fZls, 0) < rr.zl
  10828. THEN rr.zl
  10829. ELSE IFNULL(d.fZls, 0)
  10830. END
  10831. ELSE c.nzdls
  10832. END
  10833. )
  10834. END
  10835. ELSE 0
  10836. END
  10837. ELSE
  10838. CASE
  10839. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10840. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10841. CASE
  10842. WHEN a.cCyddxMc = '装配'
  10843. OR a.cCyddxMc LIKE '%正文%'
  10844. OR a.cCyddxMc LIKE '%答案%'
  10845. OR a.cCyddxMc LIKE '%卷%'
  10846. THEN
  10847. CASE
  10848. WHEN CASE
  10849. WHEN IFNULL(d.fZls, 0) < rr.zl
  10850. THEN rr.zl
  10851. ELSE IFNULL(d.fZls, 0)
  10852. END = 0
  10853. THEN c.nzdls
  10854. ELSE (
  10855. CASE
  10856. WHEN c.nzdls <
  10857. CASE
  10858. WHEN IFNULL(d.fZls, 0) < rr.zl
  10859. THEN rr.zl
  10860. ELSE IFNULL(d.fZls, 0)
  10861. END
  10862. THEN
  10863. CASE
  10864. WHEN IFNULL(d.fZls, 0) < rr.zl
  10865. THEN rr.zl
  10866. ELSE IFNULL(d.fZls, 0)
  10867. END
  10868. ELSE c.nzdls
  10869. END
  10870. )
  10871. END
  10872. ELSE 0
  10873. END
  10874. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10875. END
  10876. END )
  10877. , 3) 马77乙纸令
  10878. ")
  10879. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10880. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10881. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10882. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10883. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10884. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10885. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  10886. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10887. ->group("CASE
  10888. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10889. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10890. END,Name_WorkGroup")
  10891. ->buildSql();
  10892. //DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  10893. $db = Db::table($A . 'a')
  10894. ->field("
  10895. DISTINCT DATE(A.RQ) rq,
  10896. floor(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  10897. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  10898. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  10899. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  10900. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  10901. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  10902. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  10903. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  10904. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  10905. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  10906. + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0)
  10907. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0)) 纸令数总计
  10908. ")
  10909. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  10910. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  10911. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  10912. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  10913. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  10914. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  10915. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  10916. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  10917. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  10918. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  10919. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  10920. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  10921. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  10922. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  10923. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  10924. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  10925. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  10926. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  10927. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  10928. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  10929. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  10930. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  10931. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  10932. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  10933. ->group('rq')
  10934. ->buildSql();
  10935. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.纸令数总计 )) AS '无线胶订纸令'
  10936. $sql_final = Db::table($db . ' db')
  10937. ->field("
  10938. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  10939. ROUND(SUM(db.纸令数总计), 0) AS jdzl
  10940. ")
  10941. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  10942. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  10943. ->select();
  10944. $i=0;
  10945. $j=0;
  10946. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  10947. foreach($sql_final as $v){
  10948. if($v['rq']>=$this->year_January()){
  10949. $list['series'][1]['name']=date("Y").'年';
  10950. $list['series'][1]['data'][$j]=$v['jdzl'];
  10951. $j++;
  10952. }else{
  10953. $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  10954. $list['series'][0]['data'][$i]=$v['jdzl'];
  10955. $i++;
  10956. }
  10957. }
  10958. $res['status']=0;
  10959. $res['msg']='';
  10960. $res['data']=$list;
  10961. $redis->set($redis_key, json_encode($res));
  10962. return json_encode($res);
  10963. }
  10964. //胶订纸令->接口调用
  10965. public function jdzl(){
  10966. $redis=redis();
  10967. $redis_key = md5('jdzl_redis');
  10968. $redis_data = $redis->get($redis_key);
  10969. return $redis_data;
  10970. }
  10971. //精装纸令->缓存调用
  10972. public function jzzl_redis(){
  10973. $redis=redis();
  10974. $redis_key = md5('jzzl_redis');
  10975. //首先定义了起始时间和结束时间
  10976. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  10977. ->union(function ($query) {
  10978. $query->table('scDayRpt_Teams')->alias('b')
  10979. ->field("DISTINCT DATE_FORMAT(
  10980. CASE
  10981. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  10982. ELSE b.dOnDuty
  10983. END,
  10984. '%Y-%m-%d'
  10985. ) AS RQ");
  10986. }, true)
  10987. ->buildSql();
  10988. //精1甲、精1甲纸令数
  10989. $B = Db::table('cpjtfk')
  10990. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10991. ->field("
  10992. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10993. sum(mcyd.NZWyz * iWCl / 1000) as 精1甲纸令数
  10994. ")
  10995. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  10996. ->group('drptdate,cbanzu')
  10997. ->buildSql();
  10998. //精1乙 精1乙纸令数
  10999. $B1 = Db::table('cpjtfk')
  11000. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11001. ->field("
  11002. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11003. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  11004. ")
  11005. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  11006. ->group('drptdate,cbanzu')
  11007. ->buildSql();
  11008. $rr = Db::table('scyddx')->alias('r')
  11009. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11010. ->group('r.ICYDID')
  11011. ->buildSql();
  11012. //精11甲--精11甲纸令
  11013. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11014. ->field("
  11015. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11016. ROUND(SUM(
  11017. CASE
  11018. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11019. THEN
  11020. CASE
  11021. WHEN a.cCyddxMc = '装配'
  11022. OR a.cCyddxMc LIKE '%正文%'
  11023. OR a.cCyddxMc LIKE '%答案%'
  11024. OR a.cCyddxMc LIKE '%卷%'
  11025. THEN
  11026. CASE
  11027. WHEN CASE
  11028. WHEN IFNULL(d.fZls, 0) < rr.zl
  11029. THEN rr.zl
  11030. ELSE IFNULL(d.fZls, 0)
  11031. END = 0
  11032. THEN c.nzdls
  11033. ELSE (
  11034. CASE
  11035. WHEN c.nzdls <
  11036. CASE
  11037. WHEN IFNULL(d.fZls, 0) < rr.zl
  11038. THEN rr.zl
  11039. ELSE IFNULL(d.fZls, 0)
  11040. END
  11041. THEN
  11042. CASE
  11043. WHEN IFNULL(d.fZls, 0) < rr.zl
  11044. THEN rr.zl
  11045. ELSE IFNULL(d.fZls, 0)
  11046. END
  11047. ELSE c.nzdls
  11048. END
  11049. )
  11050. END
  11051. ELSE 0
  11052. END
  11053. ELSE
  11054. CASE
  11055. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11056. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11057. CASE
  11058. WHEN a.cCyddxMc = '装配'
  11059. OR a.cCyddxMc LIKE '%正文%'
  11060. OR a.cCyddxMc LIKE '%答案%'
  11061. OR a.cCyddxMc LIKE '%卷%'
  11062. THEN
  11063. CASE
  11064. WHEN CASE
  11065. WHEN IFNULL(d.fZls, 0) < rr.zl
  11066. THEN rr.zl
  11067. ELSE IFNULL(d.fZls, 0)
  11068. END = 0
  11069. THEN c.nzdls
  11070. ELSE (
  11071. CASE
  11072. WHEN c.nzdls <
  11073. CASE
  11074. WHEN IFNULL(d.fZls, 0) < rr.zl
  11075. THEN rr.zl
  11076. ELSE IFNULL(d.fZls, 0)
  11077. END
  11078. THEN
  11079. CASE
  11080. WHEN IFNULL(d.fZls, 0) < rr.zl
  11081. THEN rr.zl
  11082. ELSE IFNULL(d.fZls, 0)
  11083. END
  11084. ELSE c.nzdls
  11085. END
  11086. )
  11087. END
  11088. ELSE 0
  11089. END
  11090. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11091. END
  11092. END )
  11093. , 3) 精11甲纸令,
  11094. d.cSccpbh
  11095. ")
  11096. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11097. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11098. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11099. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11100. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11101. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11102. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  11103. ->where('a.cTechName' ,'=','精装联动')
  11104. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11105. ->group("CASE
  11106. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11107. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11108. END,Name_WorkGroup")
  11109. ->buildSql();
  11110. //精11乙--精11乙纸令
  11111. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11112. ->field("
  11113. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11114. ROUND(SUM(
  11115. CASE
  11116. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11117. THEN
  11118. CASE
  11119. WHEN a.cCyddxMc = '装配'
  11120. OR a.cCyddxMc LIKE '%正文%'
  11121. OR a.cCyddxMc LIKE '%答案%'
  11122. OR a.cCyddxMc LIKE '%卷%'
  11123. THEN
  11124. CASE
  11125. WHEN CASE
  11126. WHEN IFNULL(d.fZls, 0) < rr.zl
  11127. THEN rr.zl
  11128. ELSE IFNULL(d.fZls, 0)
  11129. END = 0
  11130. THEN c.nzdls
  11131. ELSE (
  11132. CASE
  11133. WHEN c.nzdls <
  11134. CASE
  11135. WHEN IFNULL(d.fZls, 0) < rr.zl
  11136. THEN rr.zl
  11137. ELSE IFNULL(d.fZls, 0)
  11138. END
  11139. THEN
  11140. CASE
  11141. WHEN IFNULL(d.fZls, 0) < rr.zl
  11142. THEN rr.zl
  11143. ELSE IFNULL(d.fZls, 0)
  11144. END
  11145. ELSE c.nzdls
  11146. END
  11147. )
  11148. END
  11149. ELSE 0
  11150. END
  11151. ELSE
  11152. CASE
  11153. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11154. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11155. CASE
  11156. WHEN a.cCyddxMc = '装配'
  11157. OR a.cCyddxMc LIKE '%正文%'
  11158. OR a.cCyddxMc LIKE '%答案%'
  11159. OR a.cCyddxMc LIKE '%卷%'
  11160. THEN
  11161. CASE
  11162. WHEN CASE
  11163. WHEN IFNULL(d.fZls, 0) < rr.zl
  11164. THEN rr.zl
  11165. ELSE IFNULL(d.fZls, 0)
  11166. END = 0
  11167. THEN c.nzdls
  11168. ELSE (
  11169. CASE
  11170. WHEN c.nzdls <
  11171. CASE
  11172. WHEN IFNULL(d.fZls, 0) < rr.zl
  11173. THEN rr.zl
  11174. ELSE IFNULL(d.fZls, 0)
  11175. END
  11176. THEN
  11177. CASE
  11178. WHEN IFNULL(d.fZls, 0) < rr.zl
  11179. THEN rr.zl
  11180. ELSE IFNULL(d.fZls, 0)
  11181. END
  11182. ELSE c.nzdls
  11183. END
  11184. )
  11185. END
  11186. ELSE 0
  11187. END
  11188. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11189. END
  11190. END )
  11191. , 3) 精11乙纸令,
  11192. d.cSccpbh
  11193. ")
  11194. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11195. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11196. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11197. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11198. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11199. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11200. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  11201. ->where('a.cTechName' ,'=','精装联动')
  11202. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11203. ->group("CASE
  11204. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11205. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11206. END,Name_WorkGroup")
  11207. ->buildSql();
  11208. $db = Db::table($A . 'a')
  11209. ->field("
  11210. DISTINCT DATE(A.RQ) rq,
  11211. floor(IFNULL(sum(b.精1甲纸令数), 0) + IFNULL(sum(b1.精1乙纸令数), 0)
  11212. + IFNULL(sum(Bb.精11甲纸令), 0) + IFNULL(sum(Bb1.精11乙纸令), 0)) 纸令数总计
  11213. ")
  11214. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11215. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11216. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11217. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11218. ->group('rq')
  11219. ->buildSql();
  11220. $sql_final = Db::table($db . ' db')
  11221. ->field("
  11222. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11223. ROUND(sum(db.纸令数总计), 0) as jzzl
  11224. ")
  11225. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11226. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11227. ->select();
  11228. $redis->set($redis_key, json_encode($sql_final));
  11229. echo date("Y-m-d H:i:s").' 存进去了';
  11230. return $sql_final;
  11231. }
  11232. //精装纸令->接口调用
  11233. public function jzzl(){
  11234. $redis=redis();
  11235. $sql_final = json_decode($redis->get(md5('jzzl_redis')), true);
  11236. $i=0;
  11237. $j=0;
  11238. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  11239. foreach($sql_final as $v){
  11240. if($v['rq']>=$this->year_January()){
  11241. $list['series'][1]['name']=date("Y").'年';
  11242. $list['series'][1]['data'][$j]=$v['jzzl'];
  11243. $j++;
  11244. }else{
  11245. $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  11246. $list['series'][0]['data'][$i]=$v['jzzl'];
  11247. $i++;
  11248. }
  11249. }
  11250. $res['status']=0;
  11251. $res['msg']='';
  11252. $res['data']=$list;
  11253. return json_encode($res);
  11254. }
  11255. //骑马纸令->缓存调用
  11256. public function qmzl_redis(){
  11257. $redis=redis();
  11258. $redis_key = md5('qmzl_redis');
  11259. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  11260. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  11261. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  11262. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  11263. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  11264. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  11265. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11266. ->union(function ($query) {
  11267. $query->table('scDayRpt_Teams')->alias('b')
  11268. ->field("DISTINCT DATE_FORMAT(
  11269. CASE
  11270. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  11271. ELSE b.dOnDuty
  11272. END,
  11273. '%Y-%m-%d'
  11274. ) AS RQ");
  11275. }, true)
  11276. ->buildSql();
  11277. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  11278. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  11279. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  11280. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  11281. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  11282. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  11283. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  11284. $B = Db::table('cpjtfk')
  11285. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11286. ->field("
  11287. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11288. sum(mcyd.NZWyz * iWCl / 1000) as 骑1甲纸令数
  11289. ")
  11290. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  11291. ->group('drptdate,cbanzu')
  11292. ->buildSql();
  11293. $B1 = Db::table('cpjtfk')
  11294. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11295. ->field("
  11296. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11297. sum(mcyd.NZWyz * iWCl / 1000) as 骑1乙纸令数
  11298. ")
  11299. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  11300. ->group('drptdate,cbanzu')
  11301. ->buildSql();
  11302. $C = Db::table('cpjtfk')
  11303. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11304. ->field("
  11305. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11306. sum(mcyd.NZWyz * iWCl / 1000) as 骑2甲纸令数
  11307. ")
  11308. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  11309. ->group('drptdate,cbanzu')
  11310. ->buildSql();
  11311. $C1 = Db::table('cpjtfk')
  11312. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11313. ->field("
  11314. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11315. sum(mcyd.NZWyz * iWCl / 1000) as 骑2乙纸令数
  11316. ")
  11317. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  11318. ->group('drptdate,cbanzu')
  11319. ->buildSql();
  11320. $D = Db::table('cpjtfk')
  11321. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11322. ->field("
  11323. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11324. sum(mcyd.NZWyz * iWCl / 1000) as 骑3甲纸令数
  11325. ")
  11326. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  11327. ->group('drptdate,cbanzu')
  11328. ->buildSql();
  11329. $D1 = Db::table('cpjtfk')
  11330. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11331. ->field("
  11332. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11333. sum(mcyd.NZWyz * iWCl / 1000) as 骑3乙纸令数
  11334. ")
  11335. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  11336. ->group('drptdate,cbanzu')
  11337. ->buildSql();
  11338. $E = Db::table('cpjtfk')
  11339. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11340. ->field("
  11341. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11342. sum(mcyd.NZWyz * iWCl / 1000) as 骑4甲纸令数
  11343. ")
  11344. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  11345. ->group('drptdate,cbanzu')
  11346. ->buildSql();
  11347. $E1 = Db::table('cpjtfk')
  11348. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11349. ->field("
  11350. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11351. sum(mcyd.NZWyz * iWCl / 1000) as 骑4乙纸令数
  11352. ")
  11353. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  11354. ->group('drptdate,cbanzu')
  11355. ->buildSql();
  11356. $rr = Db::table('scyddx')->alias('r')
  11357. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11358. ->group('r.ICYDID')
  11359. ->buildSql();
  11360. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  11361. //2.使用别名$Bb表示主查询结果。
  11362. //3.查询的主要数据来源是表ql_report_feedback_day。
  11363. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  11364. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  11365. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  11366. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  11367. //8.通过buildSql方法生成最终的SQL查询语句
  11368. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11369. ->field("
  11370. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11371. ROUND(SUM(
  11372. CASE
  11373. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11374. THEN
  11375. CASE
  11376. WHEN a.cCyddxMc = '装配'
  11377. OR a.cCyddxMc LIKE '%正文%'
  11378. OR a.cCyddxMc LIKE '%答案%'
  11379. OR a.cCyddxMc LIKE '%卷%'
  11380. THEN
  11381. CASE
  11382. WHEN CASE
  11383. WHEN IFNULL(d.fZls, 0) < rr.zl
  11384. THEN rr.zl
  11385. ELSE IFNULL(d.fZls, 0)
  11386. END = 0
  11387. THEN c.nzdls
  11388. ELSE (
  11389. CASE
  11390. WHEN c.nzdls <
  11391. CASE
  11392. WHEN IFNULL(d.fZls, 0) < rr.zl
  11393. THEN rr.zl
  11394. ELSE IFNULL(d.fZls, 0)
  11395. END
  11396. THEN
  11397. CASE
  11398. WHEN IFNULL(d.fZls, 0) < rr.zl
  11399. THEN rr.zl
  11400. ELSE IFNULL(d.fZls, 0)
  11401. END
  11402. ELSE c.nzdls
  11403. END
  11404. )
  11405. END
  11406. ELSE 0
  11407. END
  11408. ELSE
  11409. CASE
  11410. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11411. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11412. CASE
  11413. WHEN a.cCyddxMc = '装配'
  11414. OR a.cCyddxMc LIKE '%正文%'
  11415. OR a.cCyddxMc LIKE '%答案%'
  11416. OR a.cCyddxMc LIKE '%卷%'
  11417. THEN
  11418. CASE
  11419. WHEN CASE
  11420. WHEN IFNULL(d.fZls, 0) < rr.zl
  11421. THEN rr.zl
  11422. ELSE IFNULL(d.fZls, 0)
  11423. END = 0
  11424. THEN c.nzdls
  11425. ELSE (
  11426. CASE
  11427. WHEN c.nzdls <
  11428. CASE
  11429. WHEN IFNULL(d.fZls, 0) < rr.zl
  11430. THEN rr.zl
  11431. ELSE IFNULL(d.fZls, 0)
  11432. END
  11433. THEN
  11434. CASE
  11435. WHEN IFNULL(d.fZls, 0) < rr.zl
  11436. THEN rr.zl
  11437. ELSE IFNULL(d.fZls, 0)
  11438. END
  11439. ELSE c.nzdls
  11440. END
  11441. )
  11442. END
  11443. ELSE 0
  11444. END
  11445. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11446. END
  11447. END )
  11448. , 3) 骑11甲纸令
  11449. ")
  11450. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11451. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11452. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11453. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11454. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11455. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11456. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  11457. ->where('a.cTechName' ,'=','骑马联动')
  11458. ->group("CASE
  11459. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11460. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11461. END,Name_WorkGroup")
  11462. ->buildSql();
  11463. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11464. ->field("
  11465. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11466. ROUND(SUM(
  11467. CASE
  11468. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11469. THEN
  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
  11504. CASE
  11505. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11506. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11507. CASE
  11508. WHEN a.cCyddxMc = '装配'
  11509. OR a.cCyddxMc LIKE '%正文%'
  11510. OR a.cCyddxMc LIKE '%答案%'
  11511. OR a.cCyddxMc LIKE '%卷%'
  11512. THEN
  11513. CASE
  11514. WHEN CASE
  11515. WHEN IFNULL(d.fZls, 0) < rr.zl
  11516. THEN rr.zl
  11517. ELSE IFNULL(d.fZls, 0)
  11518. END = 0
  11519. THEN c.nzdls
  11520. ELSE (
  11521. CASE
  11522. WHEN c.nzdls <
  11523. CASE
  11524. WHEN IFNULL(d.fZls, 0) < rr.zl
  11525. THEN rr.zl
  11526. ELSE IFNULL(d.fZls, 0)
  11527. END
  11528. THEN
  11529. CASE
  11530. WHEN IFNULL(d.fZls, 0) < rr.zl
  11531. THEN rr.zl
  11532. ELSE IFNULL(d.fZls, 0)
  11533. END
  11534. ELSE c.nzdls
  11535. END
  11536. )
  11537. END
  11538. ELSE 0
  11539. END
  11540. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11541. END
  11542. END )
  11543. , 3) 骑11乙纸令
  11544. ")
  11545. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11546. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11547. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11548. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11549. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11550. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11551. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  11552. ->where('a.cTechName' ,'=','骑马联动')
  11553. ->group("CASE
  11554. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11555. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11556. END,Name_WorkGroup")
  11557. ->buildSql();
  11558. $CC = Db::table('ql_report_feedback_day')->alias('a')
  11559. ->field("
  11560. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11561. ROUND(SUM(
  11562. CASE
  11563. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11564. THEN
  11565. CASE
  11566. WHEN a.cCyddxMc = '装配'
  11567. OR a.cCyddxMc LIKE '%正文%'
  11568. OR a.cCyddxMc LIKE '%答案%'
  11569. OR a.cCyddxMc LIKE '%卷%'
  11570. THEN
  11571. CASE
  11572. WHEN CASE
  11573. WHEN IFNULL(d.fZls, 0) < rr.zl
  11574. THEN rr.zl
  11575. ELSE IFNULL(d.fZls, 0)
  11576. END = 0
  11577. THEN c.nzdls
  11578. ELSE (
  11579. CASE
  11580. WHEN c.nzdls <
  11581. CASE
  11582. WHEN IFNULL(d.fZls, 0) < rr.zl
  11583. THEN rr.zl
  11584. ELSE IFNULL(d.fZls, 0)
  11585. END
  11586. THEN
  11587. CASE
  11588. WHEN IFNULL(d.fZls, 0) < rr.zl
  11589. THEN rr.zl
  11590. ELSE IFNULL(d.fZls, 0)
  11591. END
  11592. ELSE c.nzdls
  11593. END
  11594. )
  11595. END
  11596. ELSE 0
  11597. END
  11598. ELSE
  11599. CASE
  11600. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11601. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11602. CASE
  11603. WHEN a.cCyddxMc = '装配'
  11604. OR a.cCyddxMc LIKE '%正文%'
  11605. OR a.cCyddxMc LIKE '%答案%'
  11606. OR a.cCyddxMc LIKE '%卷%'
  11607. THEN
  11608. CASE
  11609. WHEN CASE
  11610. WHEN IFNULL(d.fZls, 0) < rr.zl
  11611. THEN rr.zl
  11612. ELSE IFNULL(d.fZls, 0)
  11613. END = 0
  11614. THEN c.nzdls
  11615. ELSE (
  11616. CASE
  11617. WHEN c.nzdls <
  11618. CASE
  11619. WHEN IFNULL(d.fZls, 0) < rr.zl
  11620. THEN rr.zl
  11621. ELSE IFNULL(d.fZls, 0)
  11622. END
  11623. THEN
  11624. CASE
  11625. WHEN IFNULL(d.fZls, 0) < rr.zl
  11626. THEN rr.zl
  11627. ELSE IFNULL(d.fZls, 0)
  11628. END
  11629. ELSE c.nzdls
  11630. END
  11631. )
  11632. END
  11633. ELSE 0
  11634. END
  11635. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11636. END
  11637. END )
  11638. , 3) 骑22甲纸令
  11639. ")
  11640. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11641. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11642. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11643. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11644. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11645. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11646. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  11647. ->where('a.cTechName' ,'=','骑马联动')
  11648. ->group("CASE
  11649. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11650. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11651. END,Name_WorkGroup")
  11652. ->buildSql();
  11653. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  11654. ->field("
  11655. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11656. ROUND(SUM(
  11657. CASE
  11658. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11659. THEN
  11660. CASE
  11661. WHEN a.cCyddxMc = '装配'
  11662. OR a.cCyddxMc LIKE '%正文%'
  11663. OR a.cCyddxMc LIKE '%答案%'
  11664. OR a.cCyddxMc LIKE '%卷%'
  11665. THEN
  11666. CASE
  11667. WHEN CASE
  11668. WHEN IFNULL(d.fZls, 0) < rr.zl
  11669. THEN rr.zl
  11670. ELSE IFNULL(d.fZls, 0)
  11671. END = 0
  11672. THEN c.nzdls
  11673. ELSE (
  11674. CASE
  11675. WHEN c.nzdls <
  11676. CASE
  11677. WHEN IFNULL(d.fZls, 0) < rr.zl
  11678. THEN rr.zl
  11679. ELSE IFNULL(d.fZls, 0)
  11680. END
  11681. THEN
  11682. CASE
  11683. WHEN IFNULL(d.fZls, 0) < rr.zl
  11684. THEN rr.zl
  11685. ELSE IFNULL(d.fZls, 0)
  11686. END
  11687. ELSE c.nzdls
  11688. END
  11689. )
  11690. END
  11691. ELSE 0
  11692. END
  11693. ELSE
  11694. CASE
  11695. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11696. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11697. CASE
  11698. WHEN a.cCyddxMc = '装配'
  11699. OR a.cCyddxMc LIKE '%正文%'
  11700. OR a.cCyddxMc LIKE '%答案%'
  11701. OR a.cCyddxMc LIKE '%卷%'
  11702. THEN
  11703. CASE
  11704. WHEN CASE
  11705. WHEN IFNULL(d.fZls, 0) < rr.zl
  11706. THEN rr.zl
  11707. ELSE IFNULL(d.fZls, 0)
  11708. END = 0
  11709. THEN c.nzdls
  11710. ELSE (
  11711. CASE
  11712. WHEN c.nzdls <
  11713. CASE
  11714. WHEN IFNULL(d.fZls, 0) < rr.zl
  11715. THEN rr.zl
  11716. ELSE IFNULL(d.fZls, 0)
  11717. END
  11718. THEN
  11719. CASE
  11720. WHEN IFNULL(d.fZls, 0) < rr.zl
  11721. THEN rr.zl
  11722. ELSE IFNULL(d.fZls, 0)
  11723. END
  11724. ELSE c.nzdls
  11725. END
  11726. )
  11727. END
  11728. ELSE 0
  11729. END
  11730. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11731. END
  11732. END )
  11733. , 3) 骑22乙纸令
  11734. ")
  11735. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11736. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11737. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11738. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11739. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11740. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11741. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  11742. ->where('a.cTechName' ,'=','骑马联动')
  11743. ->group("CASE
  11744. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11745. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11746. END,Name_WorkGroup")
  11747. ->buildSql();
  11748. $EE = Db::table('ql_report_feedback_day')->alias('a')
  11749. ->field("
  11750. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11751. ROUND(SUM(
  11752. CASE
  11753. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11754. THEN
  11755. CASE
  11756. WHEN a.cCyddxMc = '装配'
  11757. OR a.cCyddxMc LIKE '%正文%'
  11758. OR a.cCyddxMc LIKE '%答案%'
  11759. OR a.cCyddxMc LIKE '%卷%'
  11760. THEN
  11761. CASE
  11762. WHEN CASE
  11763. WHEN IFNULL(d.fZls, 0) < rr.zl
  11764. THEN rr.zl
  11765. ELSE IFNULL(d.fZls, 0)
  11766. END = 0
  11767. THEN c.nzdls
  11768. ELSE (
  11769. CASE
  11770. WHEN c.nzdls <
  11771. CASE
  11772. WHEN IFNULL(d.fZls, 0) < rr.zl
  11773. THEN rr.zl
  11774. ELSE IFNULL(d.fZls, 0)
  11775. END
  11776. THEN
  11777. CASE
  11778. WHEN IFNULL(d.fZls, 0) < rr.zl
  11779. THEN rr.zl
  11780. ELSE IFNULL(d.fZls, 0)
  11781. END
  11782. ELSE c.nzdls
  11783. END
  11784. )
  11785. END
  11786. ELSE 0
  11787. END
  11788. ELSE
  11789. CASE
  11790. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11791. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11792. CASE
  11793. WHEN a.cCyddxMc = '装配'
  11794. OR a.cCyddxMc LIKE '%正文%'
  11795. OR a.cCyddxMc LIKE '%答案%'
  11796. OR a.cCyddxMc LIKE '%卷%'
  11797. THEN
  11798. CASE
  11799. WHEN CASE
  11800. WHEN IFNULL(d.fZls, 0) < rr.zl
  11801. THEN rr.zl
  11802. ELSE IFNULL(d.fZls, 0)
  11803. END = 0
  11804. THEN c.nzdls
  11805. ELSE (
  11806. CASE
  11807. WHEN c.nzdls <
  11808. CASE
  11809. WHEN IFNULL(d.fZls, 0) < rr.zl
  11810. THEN rr.zl
  11811. ELSE IFNULL(d.fZls, 0)
  11812. END
  11813. THEN
  11814. CASE
  11815. WHEN IFNULL(d.fZls, 0) < rr.zl
  11816. THEN rr.zl
  11817. ELSE IFNULL(d.fZls, 0)
  11818. END
  11819. ELSE c.nzdls
  11820. END
  11821. )
  11822. END
  11823. ELSE 0
  11824. END
  11825. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11826. END
  11827. END )
  11828. , 3) 骑33甲纸令
  11829. ")
  11830. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11831. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11832. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11833. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11834. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11835. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11836. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  11837. ->where('a.cTechName' ,'=','骑马联动')
  11838. ->group("CASE
  11839. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11840. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11841. END,Name_WorkGroup")
  11842. ->buildSql();
  11843. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  11844. ->field("
  11845. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11846. ROUND(SUM(
  11847. CASE
  11848. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11849. THEN
  11850. CASE
  11851. WHEN a.cCyddxMc = '装配'
  11852. OR a.cCyddxMc LIKE '%正文%'
  11853. OR a.cCyddxMc LIKE '%答案%'
  11854. OR a.cCyddxMc LIKE '%卷%'
  11855. THEN
  11856. CASE
  11857. WHEN CASE
  11858. WHEN IFNULL(d.fZls, 0) < rr.zl
  11859. THEN rr.zl
  11860. ELSE IFNULL(d.fZls, 0)
  11861. END = 0
  11862. THEN c.nzdls
  11863. ELSE (
  11864. CASE
  11865. WHEN c.nzdls <
  11866. CASE
  11867. WHEN IFNULL(d.fZls, 0) < rr.zl
  11868. THEN rr.zl
  11869. ELSE IFNULL(d.fZls, 0)
  11870. END
  11871. THEN
  11872. CASE
  11873. WHEN IFNULL(d.fZls, 0) < rr.zl
  11874. THEN rr.zl
  11875. ELSE IFNULL(d.fZls, 0)
  11876. END
  11877. ELSE c.nzdls
  11878. END
  11879. )
  11880. END
  11881. ELSE 0
  11882. END
  11883. ELSE
  11884. CASE
  11885. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11886. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11887. CASE
  11888. WHEN a.cCyddxMc = '装配'
  11889. OR a.cCyddxMc LIKE '%正文%'
  11890. OR a.cCyddxMc LIKE '%答案%'
  11891. OR a.cCyddxMc LIKE '%卷%'
  11892. THEN
  11893. CASE
  11894. WHEN CASE
  11895. WHEN IFNULL(d.fZls, 0) < rr.zl
  11896. THEN rr.zl
  11897. ELSE IFNULL(d.fZls, 0)
  11898. END = 0
  11899. THEN c.nzdls
  11900. ELSE (
  11901. CASE
  11902. WHEN c.nzdls <
  11903. CASE
  11904. WHEN IFNULL(d.fZls, 0) < rr.zl
  11905. THEN rr.zl
  11906. ELSE IFNULL(d.fZls, 0)
  11907. END
  11908. THEN
  11909. CASE
  11910. WHEN IFNULL(d.fZls, 0) < rr.zl
  11911. THEN rr.zl
  11912. ELSE IFNULL(d.fZls, 0)
  11913. END
  11914. ELSE c.nzdls
  11915. END
  11916. )
  11917. END
  11918. ELSE 0
  11919. END
  11920. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11921. END
  11922. END )
  11923. , 3) 骑33乙纸令
  11924. ")
  11925. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11926. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11927. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11928. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11929. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11930. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11931. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  11932. ->where('a.cTechName' ,'=','骑马联动')
  11933. ->group("CASE
  11934. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11935. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11936. END,Name_WorkGroup")
  11937. ->buildSql();
  11938. $HH = Db::table('ql_report_feedback_day')->alias('a')
  11939. ->field("
  11940. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11941. ROUND(SUM(
  11942. CASE
  11943. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11944. THEN
  11945. CASE
  11946. WHEN a.cCyddxMc = '装配'
  11947. OR a.cCyddxMc LIKE '%正文%'
  11948. OR a.cCyddxMc LIKE '%答案%'
  11949. OR a.cCyddxMc LIKE '%卷%'
  11950. THEN
  11951. CASE
  11952. WHEN CASE
  11953. WHEN IFNULL(d.fZls, 0) < rr.zl
  11954. THEN rr.zl
  11955. ELSE IFNULL(d.fZls, 0)
  11956. END = 0
  11957. THEN c.nzdls
  11958. ELSE (
  11959. CASE
  11960. WHEN c.nzdls <
  11961. CASE
  11962. WHEN IFNULL(d.fZls, 0) < rr.zl
  11963. THEN rr.zl
  11964. ELSE IFNULL(d.fZls, 0)
  11965. END
  11966. THEN
  11967. CASE
  11968. WHEN IFNULL(d.fZls, 0) < rr.zl
  11969. THEN rr.zl
  11970. ELSE IFNULL(d.fZls, 0)
  11971. END
  11972. ELSE c.nzdls
  11973. END
  11974. )
  11975. END
  11976. ELSE 0
  11977. END
  11978. ELSE
  11979. CASE
  11980. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11981. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11982. CASE
  11983. WHEN a.cCyddxMc = '装配'
  11984. OR a.cCyddxMc LIKE '%正文%'
  11985. OR a.cCyddxMc LIKE '%答案%'
  11986. OR a.cCyddxMc LIKE '%卷%'
  11987. THEN
  11988. CASE
  11989. WHEN CASE
  11990. WHEN IFNULL(d.fZls, 0) < rr.zl
  11991. THEN rr.zl
  11992. ELSE IFNULL(d.fZls, 0)
  11993. END = 0
  11994. THEN c.nzdls
  11995. ELSE (
  11996. CASE
  11997. WHEN c.nzdls <
  11998. CASE
  11999. WHEN IFNULL(d.fZls, 0) < rr.zl
  12000. THEN rr.zl
  12001. ELSE IFNULL(d.fZls, 0)
  12002. END
  12003. THEN
  12004. CASE
  12005. WHEN IFNULL(d.fZls, 0) < rr.zl
  12006. THEN rr.zl
  12007. ELSE IFNULL(d.fZls, 0)
  12008. END
  12009. ELSE c.nzdls
  12010. END
  12011. )
  12012. END
  12013. ELSE 0
  12014. END
  12015. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12016. END
  12017. END )
  12018. , 3) 骑44甲纸令
  12019. ")
  12020. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12021. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12022. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12023. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12024. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12025. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12026. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  12027. ->where('a.cTechName' ,'=','骑马联动')
  12028. ->group("CASE
  12029. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12030. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12031. END,Name_WorkGroup")
  12032. ->buildSql();
  12033. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12034. ->field("
  12035. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12036. ROUND(SUM(
  12037. CASE
  12038. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12039. THEN
  12040. CASE
  12041. WHEN a.cCyddxMc = '装配'
  12042. OR a.cCyddxMc LIKE '%正文%'
  12043. OR a.cCyddxMc LIKE '%答案%'
  12044. OR a.cCyddxMc LIKE '%卷%'
  12045. THEN
  12046. CASE
  12047. WHEN CASE
  12048. WHEN IFNULL(d.fZls, 0) < rr.zl
  12049. THEN rr.zl
  12050. ELSE IFNULL(d.fZls, 0)
  12051. END = 0
  12052. THEN c.nzdls
  12053. ELSE (
  12054. CASE
  12055. WHEN c.nzdls <
  12056. CASE
  12057. WHEN IFNULL(d.fZls, 0) < rr.zl
  12058. THEN rr.zl
  12059. ELSE IFNULL(d.fZls, 0)
  12060. END
  12061. THEN
  12062. CASE
  12063. WHEN IFNULL(d.fZls, 0) < rr.zl
  12064. THEN rr.zl
  12065. ELSE IFNULL(d.fZls, 0)
  12066. END
  12067. ELSE c.nzdls
  12068. END
  12069. )
  12070. END
  12071. ELSE 0
  12072. END
  12073. ELSE
  12074. CASE
  12075. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12076. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12077. CASE
  12078. WHEN a.cCyddxMc = '装配'
  12079. OR a.cCyddxMc LIKE '%正文%'
  12080. OR a.cCyddxMc LIKE '%答案%'
  12081. OR a.cCyddxMc LIKE '%卷%'
  12082. THEN
  12083. CASE
  12084. WHEN CASE
  12085. WHEN IFNULL(d.fZls, 0) < rr.zl
  12086. THEN rr.zl
  12087. ELSE IFNULL(d.fZls, 0)
  12088. END = 0
  12089. THEN c.nzdls
  12090. ELSE (
  12091. CASE
  12092. WHEN c.nzdls <
  12093. CASE
  12094. WHEN IFNULL(d.fZls, 0) < rr.zl
  12095. THEN rr.zl
  12096. ELSE IFNULL(d.fZls, 0)
  12097. END
  12098. THEN
  12099. CASE
  12100. WHEN IFNULL(d.fZls, 0) < rr.zl
  12101. THEN rr.zl
  12102. ELSE IFNULL(d.fZls, 0)
  12103. END
  12104. ELSE c.nzdls
  12105. END
  12106. )
  12107. END
  12108. ELSE 0
  12109. END
  12110. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12111. END
  12112. END )
  12113. , 3) 骑44乙纸令
  12114. ")
  12115. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12116. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12117. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12118. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12119. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12120. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12121. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  12122. ->where('a.cTechName' ,'=','骑马联动')
  12123. ->group("CASE
  12124. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12125. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12126. END,Name_WorkGroup")
  12127. ->buildSql();
  12128. $db = Db::table($A . 'a')
  12129. ->field("
  12130. DISTINCT DATE(A.RQ) rq,
  12131. TRUNCATE(IFNULL(sum(b.骑1甲纸令数), 0) + IFNULL(sum(b1.骑1乙纸令数), 0)
  12132. + IFNULL(sum(C.骑2甲纸令数), 0) + IFNULL(sum(C1.骑2乙纸令数), 0)
  12133. + IFNULL(sum(D.骑3甲纸令数), 0) + IFNULL(sum(D1.骑3乙纸令数), 0)
  12134. + IFNULL(sum(E.骑4甲纸令数), 0) + IFNULL(sum(E1.骑4乙纸令数), 0)
  12135. + IFNULL(sum(Bb.骑11甲纸令), 0) + IFNULL(sum(cc.骑22甲纸令), 0)
  12136. + IFNULL(sum(ee.骑33甲纸令), 0) + IFNULL(sum(hh.骑44甲纸令), 0)
  12137. + IFNULL(sum(Bb1.骑11乙纸令), 0) + IFNULL(sum(cc1.骑22乙纸令), 0)
  12138. + IFNULL(sum(ee1.骑33乙纸令), 0) + IFNULL(sum(hh1.骑44乙纸令), 0), 0) 纸令数总计
  12139. ")
  12140. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12141. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  12142. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  12143. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  12144. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  12145. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  12146. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  12147. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  12148. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  12149. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  12150. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  12151. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  12152. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  12153. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  12154. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  12155. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  12156. ->group('rq')
  12157. ->buildSql();
  12158. //使用GROUP BY对日期字段进行分组
  12159. //汇总每个月骑马纸令总和
  12160. $sql_final = Db::table($db . ' db')
  12161. ->field("
  12162. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12163. ROUND(sum(db.纸令数总计),0) as qmzl
  12164. ")
  12165. ->where("db.rq >= '{$this->qstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  12166. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12167. ->select();
  12168. $i=0;
  12169. $j=0;
  12170. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  12171. foreach($sql_final as $v){
  12172. if($v['rq']>=$this->year_January()){
  12173. $list['series'][1]['name']=date("Y").'年';
  12174. $list['series'][1]['data'][$j]=$v['qmzl'];
  12175. $j++;
  12176. }else{
  12177. $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  12178. $list['series'][0]['data'][$i]=$v['qmzl'];
  12179. $i++;
  12180. }
  12181. }
  12182. $res['status']=0;
  12183. $res['msg']='';
  12184. $res['data']=$list;
  12185. $redis->set($redis_key, json_encode($res));
  12186. return json_encode($res);
  12187. }
  12188. //骑马纸令->接口调用
  12189. public function qmzl(){
  12190. $redis=redis();
  12191. $redis_key = md5('qmzl_redis');
  12192. $redis_data = $redis->get($redis_key);
  12193. return $redis_data;
  12194. }
  12195. //胶订册数->缓存调用
  12196. public function jdcs_redis(){
  12197. $redis=redis();
  12198. $redis_key = md5('jdcs_redis');
  12199. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12200. ->union(function ($query) {
  12201. $query->table('scDayRpt_Teams')->alias('b')
  12202. ->field("DISTINCT DATE_FORMAT(
  12203. CASE
  12204. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12205. ELSE b.dOnDuty
  12206. END,
  12207. '%Y-%m-%d'
  12208. ) AS RQ");
  12209. }, true)
  12210. ->buildSql();
  12211. $B = Db::table('cpjtfk')
  12212. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12213. ->field("
  12214. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12215. sum(iwcl) as 马1甲
  12216. ")
  12217. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  12218. ->group('drptdate,cbanzu')
  12219. ->buildSql();
  12220. $B1 = Db::table('cpjtfk')
  12221. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12222. ->field("
  12223. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12224. sum(iwcl) as 马1乙
  12225. ")
  12226. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  12227. ->group('drptdate,cbanzu')
  12228. ->buildSql();
  12229. $C = Db::table('cpjtfk')
  12230. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12231. ->field("
  12232. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12233. sum(iwcl) as 马2甲
  12234. ")
  12235. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  12236. ->group('drptdate,cbanzu')
  12237. ->buildSql();
  12238. $C1 = Db::table('cpjtfk')
  12239. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12240. ->field("
  12241. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12242. sum(iwcl) as 马2乙
  12243. ")
  12244. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  12245. ->group('drptdate,cbanzu')
  12246. ->buildSql();
  12247. $D = Db::table('cpjtfk')
  12248. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12249. ->field("
  12250. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12251. sum(iwcl) as 马3甲
  12252. ")
  12253. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  12254. ->group('drptdate,cbanzu')
  12255. ->buildSql();
  12256. $D1 = Db::table('cpjtfk')
  12257. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12258. ->field("
  12259. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12260. sum(iwcl) as 马3乙
  12261. ")
  12262. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  12263. ->group('drptdate,cbanzu')
  12264. ->buildSql();
  12265. $E = Db::table('cpjtfk')
  12266. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12267. ->field("
  12268. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12269. sum(iwcl) as 马4甲
  12270. ")
  12271. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  12272. ->group('drptdate,cbanzu')
  12273. ->buildSql();
  12274. $E1 = Db::table('cpjtfk')
  12275. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12276. ->field("
  12277. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12278. sum(iwcl) as 马4乙
  12279. ")
  12280. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  12281. ->group('drptdate,cbanzu')
  12282. ->buildSql();
  12283. $F = Db::table('cpjtfk')
  12284. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12285. ->field("
  12286. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12287. sum(iwcl) as 马5甲
  12288. ")
  12289. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  12290. ->group('drptdate,cbanzu')
  12291. ->buildSql();
  12292. $F1 = Db::table('cpjtfk')
  12293. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12294. ->field("
  12295. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12296. sum(iwcl) as 马5乙,
  12297. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  12298. ")
  12299. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  12300. ->group('drptdate,cbanzu')
  12301. ->buildSql();
  12302. $rr = Db::table('scyddx')->alias('r')
  12303. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12304. ->group('r.ICYDID')
  12305. ->buildSql();
  12306. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12307. ->field("
  12308. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12309. sum(a.nAmount) as 马11甲")
  12310. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12311. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12312. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12313. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12314. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12315. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12316. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  12317. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12318. ->group("CASE
  12319. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12320. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12321. END,Name_WorkGroup")->buildSql();
  12322. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12323. ->field("
  12324. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12325. sum(a.nAmount) as 马11乙
  12326. ")
  12327. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12328. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12329. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12330. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12331. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12332. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12333. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  12334. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12335. ->group("CASE
  12336. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12337. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12338. END,Name_WorkGroup")
  12339. ->buildSql();
  12340. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12341. ->field("
  12342. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12343. sum(a.nAmount) as 马22甲
  12344. ")
  12345. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12346. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12347. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12348. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12349. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12350. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12351. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  12352. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12353. ->group("CASE
  12354. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12355. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12356. END,Name_WorkGroup")
  12357. ->buildSql();
  12358. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12359. ->field("
  12360. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12361. sum(a.nAmount) as 马22乙
  12362. ")
  12363. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12364. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12365. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12366. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12367. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12368. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12369. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  12370. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12371. ->group("CASE
  12372. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12373. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12374. END,Name_WorkGroup")
  12375. ->buildSql();
  12376. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12377. ->field("
  12378. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12379. sum(a.nAmount) as 马33甲
  12380. ")
  12381. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12382. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12383. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12384. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12385. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12386. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12387. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  12388. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12389. ->group("CASE
  12390. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12391. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12392. END,Name_WorkGroup")
  12393. ->buildSql();
  12394. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12395. ->field("
  12396. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12397. sum(a.nAmount) as 马33乙
  12398. ")
  12399. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12400. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12401. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12402. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12403. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12404. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12405. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  12406. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12407. ->group("CASE
  12408. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12409. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12410. END,Name_WorkGroup")
  12411. ->buildSql();
  12412. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12413. ->field("
  12414. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12415. sum(a.nAmount) as 马44甲
  12416. ")
  12417. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12418. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12419. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12420. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12421. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12422. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12423. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  12424. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12425. ->group("CASE
  12426. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12427. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12428. END,Name_WorkGroup")
  12429. ->buildSql();
  12430. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12431. ->field("
  12432. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12433. sum(a.nAmount) as 马44乙
  12434. ")
  12435. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12436. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12437. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12438. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12439. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12440. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12441. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  12442. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12443. ->group("CASE
  12444. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12445. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12446. END,Name_WorkGroup")
  12447. ->buildSql();
  12448. $XX = Db::table('ql_report_feedback_day')->alias('a')
  12449. ->field("
  12450. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12451. sum(a.nAmount) as 马55甲
  12452. ")
  12453. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12454. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12455. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12456. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12457. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12458. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12459. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  12460. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12461. ->group("CASE
  12462. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12463. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12464. END,Name_WorkGroup")
  12465. ->buildSql();
  12466. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  12467. ->field("
  12468. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12469. sum(a.nAmount) as 马66甲
  12470. ")
  12471. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12472. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12473. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12474. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12475. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12476. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12477. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  12478. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12479. ->group("CASE
  12480. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12481. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12482. END,Name_WorkGroup")
  12483. ->buildSql();
  12484. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  12485. ->field("
  12486. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12487. sum(a.nAmount) as 马77甲
  12488. ")
  12489. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12490. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12491. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12492. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12493. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12494. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12495. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  12496. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12497. ->group("CASE
  12498. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12499. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12500. END,Name_WorkGroup")
  12501. ->buildSql();
  12502. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  12503. ->field("
  12504. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12505. sum(a.nAmount) as 马55乙
  12506. ")
  12507. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12508. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12509. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12510. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12511. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12512. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12513. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  12514. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12515. ->group("CASE
  12516. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12517. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12518. END,Name_WorkGroup")
  12519. ->buildSql();
  12520. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  12521. ->field("
  12522. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12523. sum(a.nAmount) as 马66乙
  12524. ")
  12525. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12526. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12527. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12528. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12529. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12530. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12531. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  12532. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12533. ->group("CASE
  12534. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12535. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12536. END,Name_WorkGroup")
  12537. ->buildSql();
  12538. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  12539. ->field("
  12540. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12541. sum(a.nAmount) as 马77乙
  12542. ")
  12543. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12544. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12545. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12546. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12547. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12548. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12549. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  12550. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12551. ->group("CASE
  12552. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12553. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12554. END,Name_WorkGroup")
  12555. ->buildSql();
  12556. $db = Db::table($A . 'a')
  12557. ->field("
  12558. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  12559. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  12560. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  12561. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  12562. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  12563. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  12564. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  12565. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  12566. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  12567. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  12568. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  12569. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  12570. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 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('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  12581. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  12582. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  12583. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  12584. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  12585. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  12586. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  12587. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  12588. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  12589. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  12590. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  12591. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  12592. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  12593. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  12594. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  12595. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  12596. ->buildSql();
  12597. $sql_final = Db::table($db . ' db')
  12598. ->field("
  12599. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12600. ROUND(sum(db.总计册), 0) as jdcs
  12601. ")
  12602. ->where("db.RQ >= '{$this->qstart_time()}'
  12603. AND db.RQ <= '{$this->end_time()}' ")
  12604. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12605. ->select();
  12606. $i=0;
  12607. $j=0;
  12608. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  12609. foreach($sql_final as $v){
  12610. if($v['rq']>=$this->year_January()){
  12611. $list['series'][1]['name']=date("Y").'年';
  12612. $list['series'][1]['data'][$j]=$v['jdcs'];
  12613. $j++;
  12614. }else{
  12615. $list['series'][0]['name']= date("Y", strtotime("-1 year")).'年';
  12616. $list['series'][0]['data'][$i]=$v['jdcs'];
  12617. $i++;
  12618. }
  12619. }
  12620. $res['status']=0;
  12621. $res['msg']='';
  12622. $res['data']=$list;
  12623. $redis->set($redis_key, json_encode($res));
  12624. return json_encode($res);
  12625. }
  12626. //胶订册数->接口调用
  12627. public function jdcs(){
  12628. $redis=redis();
  12629. $redis_key = md5('jdcs_redis');
  12630. $redis_data = $redis->get($redis_key);
  12631. return $redis_data;
  12632. }
  12633. //精装册数->缓存调用
  12634. public function jzcs_redis(){
  12635. $redis=redis();
  12636. $redis_key = md5('jzcs_redis');
  12637. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12638. ->union(function ($query) {
  12639. $query->table('scDayRpt_Teams')->alias('b')
  12640. ->field("DISTINCT DATE_FORMAT(
  12641. CASE
  12642. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12643. ELSE b.dOnDuty
  12644. END,
  12645. '%Y-%m-%d'
  12646. ) AS RQ");
  12647. }, true)
  12648. ->buildSql();
  12649. //精1甲、精1甲纸令数
  12650. $B = Db::table('cpjtfk')
  12651. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12652. ->field("
  12653. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12654. sum(iwcl) as 精1甲
  12655. ")
  12656. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  12657. ->group('drptdate,cbanzu')
  12658. ->buildSql();
  12659. //精1乙 精1乙纸令数
  12660. $B1 = Db::table('cpjtfk')
  12661. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12662. ->field("
  12663. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12664. sum(iwcl) as 精1乙
  12665. ")
  12666. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  12667. ->group('drptdate,cbanzu')
  12668. ->buildSql();
  12669. $rr = Db::table('scyddx')->alias('r')
  12670. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12671. ->group('r.ICYDID')
  12672. ->buildSql();
  12673. //精11甲--精11甲纸令
  12674. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12675. ->field("
  12676. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12677. sum(a.nAmount) as 精11甲
  12678. ")
  12679. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12680. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12681. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12682. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12683. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12684. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12685. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  12686. ->where('a.cTechName' ,'=','精装联动')
  12687. ->group("CASE
  12688. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12689. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12690. END,Name_WorkGroup")
  12691. ->buildSql();
  12692. //精11乙--精11乙纸令
  12693. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12694. ->field("
  12695. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12696. sum(a.nAmount) as 精11乙
  12697. ")
  12698. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12699. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12700. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12701. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12702. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12703. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12704. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  12705. ->where('a.cTechName' ,'=','精装联动')
  12706. ->group("CASE
  12707. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12708. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12709. END,Name_WorkGroup")
  12710. ->buildSql();
  12711. $db = Db::table($A . 'a')
  12712. ->field("
  12713. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  12714. IFNULL(B.精1甲, 0) + IFNULL(B1.精1乙, 0) + IFNULL(Bb.精11甲, 0) + IFNULL(Bb1.精11乙, 0) as 总计册
  12715. ")
  12716. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12717. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  12718. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  12719. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  12720. ->buildSql();
  12721. $sql_final = Db::table($db . ' db')
  12722. ->field("
  12723. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12724. ROUND(sum(db.总计册), 0) as jzcs
  12725. ")
  12726. ->where("db.RQ >= '{$this->qstart_time()}'
  12727. AND db.RQ <= '{$this->end_time()}' ")
  12728. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12729. ->select();
  12730. $i=0;
  12731. $j=0;
  12732. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  12733. foreach($sql_final as $v){
  12734. if($v['rq']>=$this->year_January()){
  12735. $list['series'][1]['name']= date("Y").'年';
  12736. $list['series'][1]['data'][$j]=$v['jzcs'];
  12737. $j++;
  12738. }else{
  12739. $list['series'][0]['name']= date("Y", strtotime("-1 year")).'年';
  12740. $list['series'][0]['data'][$i]=$v['jzcs'];
  12741. $i++;
  12742. }
  12743. }
  12744. $res['status']=0;
  12745. $res['msg']='';
  12746. $res['data']=$list;
  12747. $redis->set($redis_key, json_encode($res));
  12748. return json_encode($res);
  12749. }
  12750. //精装册数->接口调用
  12751. public function jzcs(){
  12752. $redis=redis();
  12753. $redis_key = md5('jzcs_redis');
  12754. $redis_data = $redis->get($redis_key);
  12755. return $redis_data;
  12756. }
  12757. //骑马册数->缓存调用
  12758. public function qmcs_redis(){
  12759. $redis=redis();
  12760. $redis_key = md5('qmcs_redis');
  12761. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  12762. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  12763. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  12764. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  12765. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  12766. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  12767. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12768. ->union(function ($query) {
  12769. $query->table('scDayRpt_Teams')->alias('b')
  12770. ->field("DISTINCT DATE_FORMAT(
  12771. CASE
  12772. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12773. ELSE b.dOnDuty
  12774. END,
  12775. '%Y-%m-%d'
  12776. ) AS RQ");
  12777. }, true)
  12778. ->buildSql();
  12779. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  12780. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  12781. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  12782. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  12783. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  12784. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  12785. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  12786. $B = Db::table('cpjtfk')
  12787. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12788. ->field("
  12789. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12790. sum(iwcl) as 骑1甲
  12791. ")
  12792. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  12793. ->group('drptdate,cbanzu')
  12794. ->buildSql();
  12795. $B1 = Db::table('cpjtfk')
  12796. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12797. ->field("
  12798. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12799. sum(iwcl) as 骑1乙
  12800. ")
  12801. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  12802. ->group('drptdate,cbanzu')
  12803. ->buildSql();
  12804. $C = Db::table('cpjtfk')
  12805. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12806. ->field("
  12807. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12808. sum(iwcl) as 骑2甲
  12809. ")
  12810. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  12811. ->group('drptdate,cbanzu')
  12812. ->buildSql();
  12813. $C1 = Db::table('cpjtfk')
  12814. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12815. ->field("
  12816. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12817. sum(iwcl) as 骑2乙
  12818. ")
  12819. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  12820. ->group('drptdate,cbanzu')
  12821. ->buildSql();
  12822. $D = Db::table('cpjtfk')
  12823. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12824. ->field("
  12825. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12826. sum(iwcl) as 骑3甲
  12827. ")
  12828. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  12829. ->group('drptdate,cbanzu')
  12830. ->buildSql();
  12831. $D1 = Db::table('cpjtfk')
  12832. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12833. ->field("
  12834. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12835. sum(iwcl) as 骑3乙
  12836. ")
  12837. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  12838. ->group('drptdate,cbanzu')
  12839. ->buildSql();
  12840. $E = Db::table('cpjtfk')
  12841. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12842. ->field("
  12843. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12844. sum(iwcl) as 骑4甲
  12845. ")
  12846. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  12847. ->group('drptdate,cbanzu')
  12848. ->buildSql();
  12849. $E1 = Db::table('cpjtfk')
  12850. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12851. ->field("
  12852. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12853. sum(iwcl) as 骑4乙
  12854. ")
  12855. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  12856. ->group('drptdate,cbanzu')
  12857. ->buildSql();
  12858. $rr = Db::table('scyddx')->alias('r')
  12859. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12860. ->group('r.ICYDID')
  12861. ->buildSql();
  12862. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  12863. //2.使用别名$Bb表示主查询结果。
  12864. //3.查询的主要数据来源是表ql_report_feedback_day。
  12865. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  12866. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  12867. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  12868. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  12869. //8.通过buildSql方法生成最终的SQL查询语句
  12870. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12871. ->field("
  12872. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12873. sum(a.nAmount) as 骑11甲
  12874. ")
  12875. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12876. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12877. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12878. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12879. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12880. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12881. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  12882. ->where('a.cTechName' ,'=','骑马联动')
  12883. ->group("CASE
  12884. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12885. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12886. END,Name_WorkGroup")
  12887. ->buildSql();
  12888. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12889. ->field("
  12890. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12891. sum(a.nAmount) as 骑11乙
  12892. ")
  12893. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12894. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12895. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12896. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12897. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12898. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12899. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  12900. ->where('a.cTechName' ,'=','骑马联动')
  12901. ->group("CASE
  12902. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12903. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12904. END,Name_WorkGroup")
  12905. ->buildSql();
  12906. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12907. ->field("
  12908. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12909. sum(a.nAmount) as 骑22甲
  12910. ")
  12911. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12912. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12913. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12914. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12915. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12916. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12917. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  12918. ->where('a.cTechName' ,'=','骑马联动')
  12919. ->group("CASE
  12920. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12921. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12922. END,Name_WorkGroup")
  12923. ->buildSql();
  12924. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12925. ->field("
  12926. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12927. sum(a.nAmount) as 骑22乙
  12928. ")
  12929. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12930. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12931. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12932. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12933. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12934. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12935. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  12936. ->where('a.cTechName' ,'=','骑马联动')
  12937. ->group("CASE
  12938. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12939. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12940. END,Name_WorkGroup")
  12941. ->buildSql();
  12942. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12943. ->field("
  12944. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12945. sum(a.nAmount) as 骑33甲
  12946. ")
  12947. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12948. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12949. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12950. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12951. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12952. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12953. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  12954. ->where('a.cTechName' ,'=','骑马联动')
  12955. ->group("CASE
  12956. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12957. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12958. END,Name_WorkGroup")
  12959. ->buildSql();
  12960. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12961. ->field("
  12962. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12963. sum(a.nAmount) as 骑33乙
  12964. ")
  12965. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12966. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12967. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12968. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12969. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12970. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12971. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  12972. ->where('a.cTechName' ,'=','骑马联动')
  12973. ->group("CASE
  12974. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12975. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12976. END,Name_WorkGroup")
  12977. ->buildSql();
  12978. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12979. ->field("
  12980. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12981. sum(a.nAmount) as 骑44甲
  12982. ")
  12983. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12984. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12985. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12986. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12987. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12988. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12989. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  12990. ->where('a.cTechName' ,'=','骑马联动')
  12991. ->group("CASE
  12992. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12993. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12994. END,Name_WorkGroup")
  12995. ->buildSql();
  12996. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12997. ->field("
  12998. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12999. sum(a.nAmount) as 骑44乙
  13000. ")
  13001. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13002. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13003. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13004. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13005. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13006. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13007. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  13008. ->where('a.cTechName' ,'=','骑马联动')
  13009. ->group("CASE
  13010. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13011. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13012. END,Name_WorkGroup")
  13013. ->buildSql();
  13014. //1.首先,定义了一个查询语句,该语句涉及多个表的连接和字段的计算。
  13015. //2.代码中使用了别名$db来表示主查询结果。
  13016. //3.查询的主要数据来源是表$A.'a'。
  13017. //4.查询的字段包括总计册和纸令数总计,通过对多个子查询结果相加得到。
  13018. //5.在查询中使用了LEFT JOIN进行表连接操作,将子查询结果与主查询结果进行连接,通过日期a.rq进行匹配。
  13019. //6.使用buildSql()方法生成最终的SQL查询语句
  13020. $db = Db::table($A . 'a')
  13021. ->field("
  13022. DISTINCT DATE(A.RQ) rq,
  13023. TRUNCATE(IFNULL(sum(B.骑1甲), 0) + IFNULL(sum(B1.骑1乙), 0)
  13024. + IFNULL(sum(C.骑2甲), 0) + IFNULL(sum(C1.骑2乙), 0)
  13025. + IFNULL(sum(D.骑3甲), 0) + IFNULL(sum(D1.骑3乙), 0)
  13026. + IFNULL(sum(E.骑4甲), 0) + IFNULL(sum(E1.骑4乙), 0)
  13027. + IFNULL(sum(Bb.骑11甲), 0) + IFNULL(sum(Bb1.骑11乙), 0)
  13028. + IFNULL(sum(cc.骑22甲), 0) + IFNULL(sum(cc1.骑22乙), 0)
  13029. + IFNULL(sum(ee.骑33甲), 0) + IFNULL(sum(ee1.骑33乙), 0)
  13030. + IFNULL(sum(hh.骑44甲), 0) + IFNULL(sum(hh1.骑44乙), 0) , 0) 总计册
  13031. ")
  13032. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13033. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  13034. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  13035. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  13036. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  13037. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  13038. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  13039. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  13040. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  13041. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  13042. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  13043. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  13044. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  13045. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  13046. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  13047. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  13048. ->group('rq')
  13049. ->buildSql();
  13050. $sql_final = Db::table($db . ' db')
  13051. ->field("
  13052. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13053. ROUND(sum(db.总计册), 3) as qmcs
  13054. ")
  13055. ->where("db.rq >= '{$this->qstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  13056. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13057. ->select();
  13058. $i=0;
  13059. $j=0;
  13060. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  13061. foreach($sql_final as $v){
  13062. if($v['rq']>=$this->year_January()){
  13063. $list['series'][1]['name']=date("Y").'年';
  13064. $list['series'][1]['data'][$j]=$v['qmcs'];
  13065. $j++;
  13066. }else{
  13067. $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  13068. $list['series'][0]['data'][$i]=$v['qmcs'];
  13069. $i++;
  13070. }
  13071. }
  13072. $res['status']=0;
  13073. $res['msg']='';
  13074. $res['data']=$list;
  13075. $redis->set($redis_key, json_encode($res));
  13076. return json_encode($res);
  13077. }
  13078. //骑马册数->接口调用
  13079. public function qmcs(){
  13080. $redis=redis();
  13081. $redis_key = md5('qmcs_redis');
  13082. $redis_data = $redis->get($redis_key);
  13083. return $redis_data;
  13084. }
  13085. }