yi.php 393 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871
  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. //结束时间方法--去年12月31日
  32. public function qend_time(){
  33. return getLastYear(1);
  34. }
  35. //开始时间方法--前年01月01日
  36. public function qianstart_time(){
  37. return getPreviousYear();
  38. }
  39. //结束时间方法--前年12月31日
  40. public function qianend_time(){
  41. return getPreviousYear(1);
  42. }
  43. /**
  44. * 业务总览 第一屏 第一页
  45. */
  46. //承印销售收入->缓存调用
  47. public function getxssr_redis(){
  48. $redis=redis();
  49. $redis_key = md5('getxssr_redis');
  50. //定义查询字段
  51. $field = [
  52. 'ldz',
  53. 'mcyd.icydid',
  54. 'year(mcyd.dcyrq) as 年',
  55. 'mcyd.dcyrq as 日期',
  56. 'sum(mcyd.nwshjje) nwshjje',
  57. 'sum(mcyd.nwsgjhj) nwsgjhj',
  58. 'sum(tjob.namount) namount',
  59. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  60. 'tjob.itax',
  61. ];
  62. //当年
  63. $erp2023 = Db::table('mcyd')->field($field)
  64. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  65. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  66. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  67. ->where('mcyd.icydstate','>',0)
  68. ->select();
  69. //去年
  70. $erp2022 = Db::table('mcyd')->field($field)
  71. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  72. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  73. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  74. ->where('mcyd.icydstate','>',0)
  75. ->select();
  76. //前年
  77. $erp2021 = Db::table('mcyd')->field($field)
  78. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  79. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  80. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  81. ->where('mcyd.icydstate','>',0)
  82. ->select();
  83. //销售收入、销售工价、日期
  84. //当年
  85. $cheng2023 = 0;$bb2023 = 0;$data2023 = 0;
  86. //去年
  87. $cheng2022 = 0;$bb2022 = 0;$data2022 = 0;
  88. //前年
  89. $cheng2021 = 0;$bb2021 = 0;$data2021= 0;
  90. //遍历查询结果,进行统计
  91. foreach ($erp2023 as $v){
  92. if($v['ldz'] == 1 ){
  93. $cheng2023 += $v['namount'];
  94. $bb2023 += $v['sum_clje'];
  95. }else{
  96. $cheng2023 += $v['nwshjje'];
  97. $bb2023 += $v['nwsgjhj'];
  98. }
  99. $data2023 = $v['年'];
  100. }
  101. //遍历查询结果,进行统计
  102. foreach ($erp2022 as $v){
  103. if($v['ldz'] == 1 ){
  104. $cheng2022 += $v['namount'];
  105. $bb2022 += $v['sum_clje'];
  106. }else{
  107. $cheng2022 += $v['nwshjje'];
  108. $bb2022 += $v['nwsgjhj'];
  109. }
  110. $data2022 = $v['年'];
  111. }
  112. //遍历查询结果,进行统计
  113. foreach ($erp2021 as $v){
  114. if($v['ldz'] == 1 ){
  115. $cheng2021 += $v['namount'];
  116. $bb2021 += $v['sum_clje'];
  117. }else{
  118. $cheng2021 += $v['nwshjje'];
  119. $bb2021 += $v['nwsgjhj'];
  120. }
  121. $data2021 = $v['年'];
  122. }
  123. $list=[ 'categories'=>[$data2021,$data2022,$data2023],
  124. 'series'=>[['name'=>'承印销售收入',
  125. 'data'=>[round($cheng2021/10000),round($cheng2022/10000),round($cheng2023/10000)]]]
  126. ];
  127. $res['status']=0;
  128. $res['msg']='';
  129. $res['data']=$list;
  130. $redis->set($redis_key, json_encode($res));
  131. return json_encode($res);
  132. }
  133. //承印销售收入->接口调用
  134. public function getxssr(){
  135. $redis=redis();
  136. $redis_key = md5('getxssr_redis');
  137. $redis_data = $redis->get($redis_key);
  138. return $redis_data;
  139. }
  140. //承印加工收入->缓存调用
  141. public function getjgsr_redis(){
  142. $redis=redis();
  143. $redis_key = md5('getjgsr_redis');
  144. // 定义需要查询的字段
  145. $field = [
  146. 'ldz',
  147. 'mcyd.icydid',
  148. 'year(mcyd.dcyrq) as 年',
  149. 'mcyd.dcyrq as 日期',
  150. 'sum(mcyd.nwshjje) nwshjje',
  151. 'sum(mcyd.nwsgjhj) nwsgjhj',
  152. 'sum(tjob.namount) namount',
  153. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  154. 'tjob.itax',
  155. ];
  156. //当年
  157. $erp2023 = Db::table('mcyd')->field($field)
  158. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  159. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  160. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  161. ->where('mcyd.icydstate','>',0)
  162. ->select();
  163. //去年
  164. $erp2022 = Db::table('mcyd')->field($field)
  165. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  166. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  167. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  168. ->where('mcyd.icydstate','>',0)
  169. ->select();
  170. //前年
  171. $erp2021 = Db::table('mcyd')->field($field)
  172. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  173. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  174. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  175. ->where('mcyd.icydstate','>',0)
  176. ->select();
  177. //销售收入、销售工价、日期
  178. //当年
  179. $cheng2023 = 0;$bb2023 = 0;$data2023 = 0;
  180. //去年
  181. $cheng2022 = 0;$bb2022 = 0;$data2022 = 0;
  182. //前年
  183. $cheng2021 = 0;$bb2021 = 0;$data2021 = 0;
  184. // 遍历查询结果,进行统计
  185. foreach ($erp2023 as $v){
  186. if($v['ldz'] == 1 ){
  187. $cheng2023 += $v['namount'];
  188. $bb2023 += $v['sum_clje'];
  189. }else{
  190. $cheng2023 += $v['nwshjje'];
  191. $bb2023 += $v['nwsgjhj'];
  192. }
  193. $data2023 = $v['年'];
  194. }
  195. // 遍历查询结果,进行统计
  196. foreach ($erp2022 as $v){
  197. if($v['ldz'] == 1 ){
  198. $cheng2022 += $v['namount'];
  199. $bb2022 += $v['sum_clje'];
  200. }else{
  201. $cheng2022 += $v['nwshjje'];
  202. $bb2022 += $v['nwsgjhj'];
  203. }
  204. $data2022 = $v['年'];
  205. }
  206. // 遍历查询结果,进行统计
  207. foreach ($erp2021 as $v){
  208. if($v['ldz'] == 1 ){
  209. $cheng2021 += $v['namount'];
  210. $bb2021 += $v['sum_clje'];
  211. }else{
  212. $cheng2021 += $v['nwshjje'];
  213. $bb2021 += $v['nwsgjhj'];
  214. }
  215. $data2021 = $v['年'];
  216. }
  217. $list=['categories'=>[$data2021,$data2022,$data2023],'series'=>[['name'=>'承印加工收入',
  218. 'data'=>[round($bb2021/10000),round($bb2022/10000),round($bb2023/10000)]]]];
  219. $res['status']=0;
  220. $res['msg']='';
  221. $res['data']=$list;
  222. $redis->set($redis_key, json_encode($res));
  223. return json_encode($res);
  224. }
  225. //承印加工收入->接口调用
  226. public function getjgsr(){
  227. $redis=redis();
  228. $redis_key = md5('getjgsr_redis');
  229. $redis_data = $redis->get($redis_key);
  230. return $redis_data;
  231. }
  232. //承印色令->缓存调用
  233. public function getcysl_redis(){
  234. $redis=redis();
  235. $redis_key = md5('getcysl_redis');
  236. $objmatier = Db::table('scyddx')->alias('objmatier')
  237. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  238. ->group('icydid')
  239. ->buildSql();
  240. $t5 = Db::table('mcyd')->alias('ord')
  241. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  242. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  243. ->where('ord.icydstate', '>', 0)
  244. ->where('chy', '<>', '集团教材外')
  245. ->group('rq')
  246. ->buildSql();
  247. $list2023 = Db::table($t5 . ' t5')
  248. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  249. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  250. ->find();
  251. $list2022 = Db::table($t5 . ' t5')
  252. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  253. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  254. ->find();
  255. $list2021 = Db::table($t5 . ' t5')
  256. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  257. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  258. ->find();
  259. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  260. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  261. $res['status']=0;
  262. $res['msg']='';
  263. $res['data']=$list;
  264. $redis->set($redis_key, json_encode($res));
  265. return json_encode($res);
  266. }
  267. //承印色令->接口调用
  268. public function getcysl(){
  269. $redis=redis();
  270. $redis_key = md5('getcysl_redis');
  271. $redis_data = $redis->get($redis_key);
  272. return $redis_data;
  273. }
  274. //承印纸令->缓存调用
  275. public function getcyzl_redis(){
  276. $redis=redis();
  277. $redis_key = md5('getcyzl_redis');
  278. $objmatier = Db::table('scyddx')->alias('objmatier')
  279. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  280. ->group('icydid')
  281. ->buildSql();
  282. $t5 = Db::table('mcyd')->alias('ord')
  283. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  284. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  285. ->where('ord.icydstate','>',0)
  286. ->group('rq')
  287. ->buildSql();
  288. $list2023 = Db::table($t5 . ' t5')
  289. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  290. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  291. ->find();
  292. $list2022 = Db::table($t5 . ' t5')
  293. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  294. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  295. ->find();
  296. $list2021 = Db::table($t5 . ' t5')
  297. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  298. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  299. ->find();
  300. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  301. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  302. $res['status']=0;
  303. $res['msg']='';
  304. $res['data']=$list;
  305. $redis->set($redis_key, json_encode($res));
  306. return json_encode($res);
  307. }
  308. //承印纸令->接口调用
  309. public function getcyzl(){
  310. $redis=redis();
  311. $redis_key = md5('getcyzl_redis');
  312. $redis_data = $redis->get($redis_key);
  313. return $redis_data;
  314. }
  315. //去年与当年--印刷实物产量色令->缓存调用
  316. public function yssl_redis(){
  317. $redis=redis();
  318. $redis_key = md5('yssl_redis');
  319. //首先定义了起始时间和结束时间
  320. //根据查询条件查出色令数据
  321. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  322. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  323. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  324. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  325. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  326. ->union(function ($query) {
  327. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  328. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  329. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  330. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  331. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  332. '小森八色01号机','小森八色02号机']);
  333. }, true)->buildSql();
  334. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  335. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  336. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  337. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  338. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  339. ->union(function ($query) {
  340. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  341. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  342. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号',
  343. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  344. }, true)->buildSql();
  345. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  346. ->whereIn('cbzmc', [
  347. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  348. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  349. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  350. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  351. ->union(function ($query) {
  352. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  353. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  354. ->whereIn('cMachineName', ['标规小森商轮1号',
  355. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  356. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号']);
  357. }, true)
  358. ->buildSql();
  359. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  360. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  361. ->union(function ($query) {
  362. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  363. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  364. })->buildSql();
  365. //查询每天的数据
  366. $subQuery1 = Db::table($subQuery1_child . 'T')
  367. ->field('rq,SUM( fsjsl ) nFourColorSL')
  368. ->group('rq')->buildSql();
  369. //查询每天的数据
  370. $subQuery2 = Db::table($subQuery2_child . 'T')
  371. ->field('rq,SUM( fsjsl ) nBBSL')
  372. ->group('rq')->buildSql();
  373. //查询每天的数据
  374. $subQuery3 = Db::table($subQuery3_child . 'T')
  375. ->field('rq,SUM( fsjsl ) nnRotationSL')
  376. ->group('rq')->buildSql();
  377. //按当天日期进行分组 累计相加当天数据
  378. $subQuery1_5 = Db::table($subQuery . 'A')
  379. ->field('
  380. DISTINCT DATE(A.RQ) RQ,
  381. sum(h.nBBSL) AS nBBSL,
  382. sum(B.nFourColorSL) AS nFourColorSL,
  383. sum(P.nnRotationSL) AS nnRotationSL
  384. ')
  385. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  386. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  387. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  388. ->group('RQ')
  389. ->buildSql();
  390. //按每个月进行查询 累计相加每月数据
  391. $sql_final = Db::table($subQuery1_5 . ' db')
  392. ->field("
  393. DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  394. ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量色令数'
  395. ")
  396. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  397. // ->group('MONTH(db.RQ)')
  398. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  399. ->select();
  400. $i=0;
  401. $j=0;
  402. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  403. foreach($sql_final as $v){
  404. if($v['日期']>='2023-01'){
  405. $list['series'][1]['name']='2023年';
  406. $list['series'][1]['data'][$j]=$v['印刷实物产量色令数'];
  407. $j++;
  408. }else{
  409. $list['series'][0]['name']='2022年';
  410. $list['series'][0]['data'][$i]=$v['印刷实物产量色令数'];
  411. $i++;
  412. }
  413. }
  414. $res['status']=0;
  415. $res['msg']='';
  416. $res['data']=$list;
  417. $redis->set($redis_key, json_encode($res));
  418. // halt(json_decode($redis->get($redis_key),true));
  419. return json_encode($res);
  420. }
  421. //去年与当年--印刷实物产量色令->接口调用
  422. public function yssl(){
  423. $redis=redis();
  424. $redis_key = md5('yssl_redis');
  425. $redis_data = $redis->get($redis_key);
  426. return $redis_data;
  427. }
  428. //去年与当年--印刷实物产量纸令->缓存调用
  429. public function yszl_redis(){
  430. $redis=redis();
  431. $redis_key = md5('yszl_redis');
  432. //首先定义了起始时间和结束时间
  433. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  434. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  435. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  436. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  437. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  438. ->union(function ($query) {
  439. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl')
  440. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  441. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  442. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  443. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  444. '小森八色01号机','小森八色02号机']);
  445. }, true)->buildSql();
  446. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  447. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  448. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  449. 'BB机5号(甲班)','BB机5号(乙班)',
  450. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  451. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  452. ->union(function ($query) {
  453. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  454. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  455. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号',
  456. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  457. }, true)->buildSql();
  458. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  459. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  460. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  461. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  462. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  463. ->union(function ($query) {
  464. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  465. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  466. ->whereIn('cMachineName', ['标规小森商轮1号',
  467. '标规小森商轮2号', '大规小森商轮1号',
  468. '大规三菱商轮1号', '标规三菱商轮1号',
  469. '标规三菱商轮2号', '标规204胶轮1号',
  470. '大规海德堡1号', '标规报轮1号','标规高斯轮转1号']);
  471. }, true)->buildSql();
  472. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  473. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  474. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  475. })->buildSql();
  476. //四色机纸令合计
  477. $subQuery1 = Db::table($subQuery1_child . 'T')
  478. ->field('rq,SUM( fsjls ) nFourColorSL')
  479. ->group('rq')->buildSql();
  480. //BB机纸令合计
  481. $subQuery2 = Db::table($subQuery2_child . 'T')
  482. ->field('rq,SUM( fsjls ) nBBSL')
  483. ->group('rq')->buildSql();
  484. //轮转纸令合计
  485. $subQuery3 = Db::table($subQuery3_child . 'T')
  486. ->field('rq,SUM( fsjls ) nnRotationSL ')
  487. ->group('rq')->buildSql();
  488. $subQuery1_5 = Db::table($subQuery . 'A')
  489. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL')
  490. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  491. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  492. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  493. ->buildSql();
  494. $sql_final = Db::table($subQuery1_5 . ' db')
  495. ->field("
  496. DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  497. ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  498. ")
  499. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  500. // ->group('MONTH(db.RQ)')
  501. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  502. ->select();
  503. $i=0;
  504. $j=0;
  505. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  506. foreach($sql_final as $v){
  507. if($v['日期']>='2023-01'){
  508. $list['series'][1]['name']='2023年';
  509. $list['series'][1]['data'][$j]=$v['印刷实物产量纸令数'];
  510. $j++;
  511. }else{
  512. $list['series'][0]['name']='2022年';
  513. $list['series'][0]['data'][$i]=$v['印刷实物产量纸令数'];
  514. $i++;
  515. }
  516. }
  517. $res['status']=0;
  518. $res['msg']='';
  519. $res['data']=$list;
  520. $redis->set($redis_key, json_encode($res));
  521. // halt(json_decode($redis->get($redis_key),true));
  522. return json_encode($res);
  523. }
  524. //去年与当年--印刷实物产量纸令->接口调用
  525. public function yszl(){
  526. $redis=redis();
  527. $redis_key = md5('yszl_redis');
  528. $redis_data = $redis->get($redis_key);
  529. return $redis_data;
  530. }
  531. //去年装订实物产量册数->缓存调用
  532. public function zdcs2022(){
  533. $redis=redis();
  534. $redis_key = md5('zdcs2022');
  535. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  536. ->union(function ($query) {
  537. $query->table('scDayRpt_Teams')->alias('b')
  538. ->field("DISTINCT DATE_FORMAT(
  539. CASE
  540. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  541. ELSE b.dOnDuty
  542. END,
  543. '%Y-%m-%d'
  544. ) AS RQ");
  545. }, true)
  546. ->buildSql();
  547. $B1 = Db::table('cpjtfk')
  548. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  549. ->field("
  550. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  551. sum(iwcl) as 精1乙
  552. ")
  553. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  554. ->group('drptdate,cbanzu')
  555. ->buildSql();
  556. $rr = Db::table('scyddx')->alias('r')
  557. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  558. ->group('r.ICYDID')
  559. ->buildSql();
  560. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  561. ->field("
  562. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  563. sum(a.nAmount) as 精11乙
  564. ")
  565. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  566. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  567. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  568. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  569. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  570. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  571. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  572. ->group("CASE
  573. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  574. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  575. END,Name_WorkGroup")
  576. ->buildSql();
  577. $db = Db::table($A . 'a')
  578. ->field("
  579. DISTINCT DATE(A.RQ) rq,
  580. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  581. ")
  582. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  583. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  584. ->group('rq')
  585. ->buildSql();
  586. $jp = Db::table($db . ' db')
  587. ->field("
  588. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  589. ROUND(sum(db.总计册), 0) as 精平册数
  590. ")->where("db.RQ >= '{$this->qstart_time()}'
  591. AND db.RQ <= '{$this->qend_time()}' ")
  592. ->group('MONTH(db.rq)')
  593. ->select();
  594. $B = Db::table('cpjtfk')
  595. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  596. ->field("
  597. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  598. sum(iwcl) as 马1甲
  599. ")
  600. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  601. ->group('drptdate,cbanzu')
  602. ->buildSql();
  603. $B1 = Db::table('cpjtfk')
  604. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  605. ->field("
  606. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  607. sum(iwcl) as 马1乙
  608. ")
  609. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  610. ->group('drptdate,cbanzu')
  611. ->buildSql();
  612. $C = Db::table('cpjtfk')
  613. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  614. ->field("
  615. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  616. sum(iwcl) as 马2甲
  617. ")
  618. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  619. ->group('drptdate,cbanzu')
  620. ->buildSql();
  621. $C1 = Db::table('cpjtfk')
  622. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  623. ->field("
  624. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  625. sum(iwcl) as 马2乙
  626. ")
  627. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  628. ->group('drptdate,cbanzu')
  629. ->buildSql();
  630. $D = Db::table('cpjtfk')
  631. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  632. ->field("
  633. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  634. sum(iwcl) as 马3甲
  635. ")
  636. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  637. ->group('drptdate,cbanzu')
  638. ->buildSql();
  639. $D1 = Db::table('cpjtfk')
  640. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  641. ->field("
  642. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  643. sum(iwcl) as 马3乙
  644. ")
  645. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  646. ->group('drptdate,cbanzu')
  647. ->buildSql();
  648. $E = Db::table('cpjtfk')
  649. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  650. ->field("
  651. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  652. sum(iwcl) as 马4甲
  653. ")
  654. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  655. ->group('drptdate,cbanzu')
  656. ->buildSql();
  657. $E1 = Db::table('cpjtfk')
  658. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  659. ->field("
  660. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  661. sum(iwcl) as 马4乙
  662. ")
  663. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  664. ->group('drptdate,cbanzu')
  665. ->buildSql();
  666. $F = Db::table('cpjtfk')
  667. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  668. ->field("
  669. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  670. sum(iwcl) as 马5甲
  671. ")
  672. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  673. ->group('drptdate,cbanzu')
  674. ->buildSql();
  675. $F1 = Db::table('cpjtfk')
  676. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  677. ->field("
  678. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  679. sum(iwcl) as 马5乙,
  680. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  681. ")
  682. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  683. ->group('drptdate,cbanzu')
  684. ->buildSql();
  685. $rr = Db::table('scyddx')->alias('r')
  686. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  687. ->group('r.ICYDID')
  688. ->buildSql();
  689. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  690. ->field("
  691. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  692. sum(a.nAmount) as 马11甲")
  693. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  694. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  695. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  696. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  697. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  698. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  699. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  700. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  701. ->group("CASE
  702. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  703. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  704. END,Name_WorkGroup")->buildSql();
  705. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  706. ->field("
  707. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  708. sum(a.nAmount) as 马11乙
  709. ")
  710. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  711. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  712. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  713. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  714. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  715. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  716. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  717. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  718. ->group("CASE
  719. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  720. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  721. END,Name_WorkGroup")
  722. ->buildSql();
  723. $CC = Db::table('ql_report_feedback_day')->alias('a')
  724. ->field("
  725. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  726. sum(a.nAmount) as 马22甲
  727. ")
  728. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  729. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  730. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  731. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  732. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  733. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  734. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  735. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  736. ->group("CASE
  737. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  738. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  739. END,Name_WorkGroup")
  740. ->buildSql();
  741. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  742. ->field("
  743. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  744. sum(a.nAmount) as 马22乙
  745. ")
  746. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  747. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  748. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  749. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  750. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  751. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  752. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  753. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  754. ->group("CASE
  755. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  756. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  757. END,Name_WorkGroup")
  758. ->buildSql();
  759. $EE = Db::table('ql_report_feedback_day')->alias('a')
  760. ->field("
  761. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  762. sum(a.nAmount) as 马33甲
  763. ")
  764. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  765. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  766. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  767. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  768. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  769. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  770. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  771. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  772. ->group("CASE
  773. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  774. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  775. END,Name_WorkGroup")
  776. ->buildSql();
  777. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  778. ->field("
  779. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  780. sum(a.nAmount) as 马33乙
  781. ")
  782. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  783. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  784. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  785. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  786. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  787. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  788. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  789. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  790. ->group("CASE
  791. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  792. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  793. END,Name_WorkGroup")
  794. ->buildSql();
  795. $HH = Db::table('ql_report_feedback_day')->alias('a')
  796. ->field("
  797. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  798. sum(a.nAmount) as 马44甲
  799. ")
  800. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  801. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  802. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  803. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  804. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  805. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  806. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  807. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  808. ->group("CASE
  809. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  810. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  811. END,Name_WorkGroup")
  812. ->buildSql();
  813. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  814. ->field("
  815. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  816. sum(a.nAmount) as 马44乙
  817. ")
  818. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  819. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  820. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  821. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  822. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  823. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  824. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  825. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  826. ->group("CASE
  827. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  828. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  829. END,Name_WorkGroup")
  830. ->buildSql();
  831. $XX = Db::table('ql_report_feedback_day')->alias('a')
  832. ->field("
  833. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  834. sum(a.nAmount) as 马55甲
  835. ")
  836. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  837. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  838. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  839. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  840. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  841. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  842. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  843. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  844. ->group("CASE
  845. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  846. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  847. END,Name_WorkGroup")
  848. ->buildSql();
  849. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  850. ->field("
  851. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  852. sum(a.nAmount) as 马55乙
  853. ")
  854. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  855. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  856. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  857. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  858. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  859. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  860. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  861. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  862. ->group("CASE
  863. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  864. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  865. END,Name_WorkGroup")
  866. ->buildSql();
  867. $db = Db::table($A . 'a')
  868. ->field("
  869. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  870. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  871. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  872. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  873. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  874. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  875. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  876. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  877. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  878. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  879. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0) 总计册
  880. ")
  881. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  882. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  883. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  884. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  885. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  886. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  887. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  888. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  889. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  890. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  891. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  892. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  893. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  894. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  895. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  896. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  897. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  898. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  899. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  900. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  901. ->buildSql();
  902. $jd = Db::table($db . ' db')
  903. ->field("
  904. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  905. ROUND(sum(db.总计册), 0) as 无线胶订册数
  906. ")->where("db.RQ >= '{$this->qstart_time()}'
  907. AND db.RQ <= '{$this->qend_time()}' ")
  908. ->group('MONTH(db.rq)')
  909. ->select();
  910. $B = Db::table('cpjtfk')
  911. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  912. ->field("
  913. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  914. Sum(iWcl) AS '簿1甲'
  915. ")
  916. ->where('cbanzu','=','簿册机1号(甲班)')
  917. ->group('drptdate,cbanzu')
  918. ->buildSql();
  919. $B1 = Db::table('cpjtfk')
  920. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  921. ->field("
  922. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  923. Sum(iWcl) AS '簿1乙'
  924. ")
  925. ->where('cbanzu','=','簿册机1号(乙班)')
  926. ->group('drptdate,cbanzu')
  927. ->buildSql();
  928. $rr = Db::table('scyddx')->alias('r')
  929. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  930. ->group('r.ICYDID')
  931. ->buildSql();
  932. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  933. ->field("
  934. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  935. Sum(a.nAmount) AS '簿11甲'
  936. ")
  937. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  938. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  939. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  940. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  941. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  942. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  943. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  944. ->where('a.cTechName' ,'=','簿册联动')
  945. ->group("CASE
  946. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  947. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  948. END,Name_WorkGroup")
  949. ->buildSql();
  950. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  951. ->field("
  952. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  953. Sum(a.nAmount) AS '簿11乙'
  954. ")
  955. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  956. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  957. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  958. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  959. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  960. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  961. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  962. ->where('a.cTechName' ,'=','簿册联动')
  963. ->group("CASE
  964. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  965. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  966. END,Name_WorkGroup")
  967. ->buildSql();
  968. $db = Db::table($A . 'a')
  969. ->field("
  970. DISTINCT DATE(A.RQ) rq,
  971. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  972. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  973. ")
  974. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  975. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  976. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  977. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  978. ->group('rq')
  979. ->buildSql();
  980. $bc = Db::table($db . ' db')
  981. ->field("
  982. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  983. ROUND(sum(db.总计册), 0) as 簿册册数
  984. ")->where("db.RQ >= '{$this->qstart_time()}'
  985. AND db.RQ <= '{$this->qend_time()}' ")
  986. ->group('MONTH(db.rq)')
  987. ->select();
  988. // 创建一个结果数组
  989. $result=[];
  990. $result1 = [];
  991. // 遍历第一个数组,并将数据加入结果数组
  992. foreach ($jp as $val1) {
  993. $month = $val1['日期'];
  994. $data1 = $val1['精平册数'];
  995. if (!isset($result[$month])) {
  996. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  997. }
  998. if (!isset($result1[$month])) {
  999. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1000. }
  1001. $result1[$month] += $data1; // 累加第一个数组的数据
  1002. }
  1003. // 遍历第二个数组,并将数据加入结果数组
  1004. foreach ($jd as $val2) {
  1005. $month = $val2['日期'];
  1006. $data1 = $val2['无线胶订册数'];
  1007. if (!isset($result[$month])) {
  1008. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1009. }
  1010. if (!isset($result1[$month])) {
  1011. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1012. }
  1013. $result1[$month] += $data1; // 累加第二个数组的数据
  1014. }
  1015. foreach ($bc as $val2) {
  1016. $month = $val2['日期'];
  1017. $data1 = $val2['簿册册数'];
  1018. if (!isset($result[$month])) {
  1019. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1020. }
  1021. if (!isset($result1[$month])) {
  1022. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1023. }
  1024. $result1[$month] += $data1; // 累加第二个数组的数据
  1025. }
  1026. foreach($result1 as $k=>$v){
  1027. $list['categories'][]=$k;
  1028. $list['series'][0]['name']='装订实物产量册数';
  1029. $list['series'][0]['data'][]=$v;
  1030. }
  1031. $res['status']=0;
  1032. $res['msg']='';
  1033. $res['data']=$list;
  1034. $redis->set($redis_key, json_encode($result1));
  1035. // halt(json_decode($redis->get($redis_key),true));
  1036. return json_encode($result1);
  1037. }
  1038. //当年装订实物产量册数->缓存调用
  1039. public function zdcs2023(){
  1040. $redis=redis();
  1041. $redis_key = md5('zdcs2023');
  1042. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1043. ->union(function ($query) {
  1044. $query->table('scDayRpt_Teams')->alias('b')
  1045. ->field("DISTINCT DATE_FORMAT(
  1046. CASE
  1047. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1048. ELSE b.dOnDuty
  1049. END,
  1050. '%Y-%m-%d'
  1051. ) AS RQ");
  1052. }, true)
  1053. ->buildSql();
  1054. $B1 = Db::table('cpjtfk')
  1055. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1056. ->field("
  1057. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1058. sum(iwcl) as 精1乙
  1059. ")
  1060. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1061. ->group('drptdate,cbanzu')
  1062. ->buildSql();
  1063. $rr = Db::table('scyddx')->alias('r')
  1064. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1065. ->group('r.ICYDID')
  1066. ->buildSql();
  1067. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1068. ->field("
  1069. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1070. sum(a.nAmount) as 精11乙
  1071. ")
  1072. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1073. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1074. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1075. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1076. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1077. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1078. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  1079. ->group("CASE
  1080. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1081. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1082. END,Name_WorkGroup")
  1083. ->buildSql();
  1084. $db = Db::table($A . 'a')
  1085. ->field("
  1086. DISTINCT DATE(A.RQ) rq,
  1087. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1088. ")
  1089. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1090. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1091. ->group('rq')
  1092. ->buildSql();
  1093. $jp = Db::table($db . ' db')
  1094. ->field("
  1095. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1096. ROUND(sum(db.总计册), 0) as 精平册数
  1097. ")->where("db.RQ >= '{$this->start_time()}'
  1098. AND db.RQ <= '{$this->end_time()}' ")
  1099. ->group('MONTH(db.rq)')
  1100. ->select();
  1101. $B = Db::table('cpjtfk')
  1102. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1103. ->field("
  1104. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1105. sum(iwcl) as 马1甲
  1106. ")
  1107. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1108. ->group('drptdate,cbanzu')
  1109. ->buildSql();
  1110. $B1 = Db::table('cpjtfk')
  1111. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1112. ->field("
  1113. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1114. sum(iwcl) as 马1乙
  1115. ")
  1116. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1117. ->group('drptdate,cbanzu')
  1118. ->buildSql();
  1119. $C = Db::table('cpjtfk')
  1120. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1121. ->field("
  1122. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1123. sum(iwcl) as 马2甲
  1124. ")
  1125. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1126. ->group('drptdate,cbanzu')
  1127. ->buildSql();
  1128. $C1 = Db::table('cpjtfk')
  1129. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1130. ->field("
  1131. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1132. sum(iwcl) as 马2乙
  1133. ")
  1134. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1135. ->group('drptdate,cbanzu')
  1136. ->buildSql();
  1137. $D = Db::table('cpjtfk')
  1138. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1139. ->field("
  1140. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1141. sum(iwcl) as 马3甲
  1142. ")
  1143. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1144. ->group('drptdate,cbanzu')
  1145. ->buildSql();
  1146. $D1 = Db::table('cpjtfk')
  1147. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1148. ->field("
  1149. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1150. sum(iwcl) as 马3乙
  1151. ")
  1152. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1153. ->group('drptdate,cbanzu')
  1154. ->buildSql();
  1155. $E = Db::table('cpjtfk')
  1156. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1157. ->field("
  1158. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1159. sum(iwcl) as 马4甲
  1160. ")
  1161. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1162. ->group('drptdate,cbanzu')
  1163. ->buildSql();
  1164. $E1 = Db::table('cpjtfk')
  1165. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1166. ->field("
  1167. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1168. sum(iwcl) as 马4乙
  1169. ")
  1170. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1171. ->group('drptdate,cbanzu')
  1172. ->buildSql();
  1173. $F = Db::table('cpjtfk')
  1174. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1175. ->field("
  1176. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1177. sum(iwcl) as 马5甲
  1178. ")
  1179. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1180. ->group('drptdate,cbanzu')
  1181. ->buildSql();
  1182. $F1 = Db::table('cpjtfk')
  1183. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1184. ->field("
  1185. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1186. sum(iwcl) as 马5乙,
  1187. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1188. ")
  1189. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1190. ->group('drptdate,cbanzu')
  1191. ->buildSql();
  1192. $rr = Db::table('scyddx')->alias('r')
  1193. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1194. ->group('r.ICYDID')
  1195. ->buildSql();
  1196. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1197. ->field("
  1198. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1199. sum(a.nAmount) as 马11甲")
  1200. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1201. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1202. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1203. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1204. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1205. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1206. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1207. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1208. ->group("CASE
  1209. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1210. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1211. END,Name_WorkGroup")->buildSql();
  1212. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1213. ->field("
  1214. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1215. sum(a.nAmount) as 马11乙
  1216. ")
  1217. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1218. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1219. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1220. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1221. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1222. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1223. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1224. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1225. ->group("CASE
  1226. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1227. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1228. END,Name_WorkGroup")
  1229. ->buildSql();
  1230. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1231. ->field("
  1232. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1233. sum(a.nAmount) as 马22甲
  1234. ")
  1235. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1236. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1237. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1238. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1239. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1240. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1241. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1242. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1243. ->group("CASE
  1244. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1245. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1246. END,Name_WorkGroup")
  1247. ->buildSql();
  1248. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1249. ->field("
  1250. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1251. sum(a.nAmount) as 马22乙
  1252. ")
  1253. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1254. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1255. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1256. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1257. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1258. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1259. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1260. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1261. ->group("CASE
  1262. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1263. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1264. END,Name_WorkGroup")
  1265. ->buildSql();
  1266. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1267. ->field("
  1268. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1269. sum(a.nAmount) as 马33甲
  1270. ")
  1271. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1272. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1273. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1274. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1275. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1276. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1277. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1278. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1279. ->group("CASE
  1280. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1281. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1282. END,Name_WorkGroup")
  1283. ->buildSql();
  1284. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1285. ->field("
  1286. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1287. sum(a.nAmount) as 马33乙
  1288. ")
  1289. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1290. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1291. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1292. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1293. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1294. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1295. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1296. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1297. ->group("CASE
  1298. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1299. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1300. END,Name_WorkGroup")
  1301. ->buildSql();
  1302. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1303. ->field("
  1304. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1305. sum(a.nAmount) as 马44甲
  1306. ")
  1307. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1308. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1309. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1310. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1311. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1312. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1313. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1314. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1315. ->group("CASE
  1316. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1317. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1318. END,Name_WorkGroup")
  1319. ->buildSql();
  1320. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1321. ->field("
  1322. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1323. sum(a.nAmount) as 马44乙
  1324. ")
  1325. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1326. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1327. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1328. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1329. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1330. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1331. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1332. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1333. ->group("CASE
  1334. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1335. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1336. END,Name_WorkGroup")
  1337. ->buildSql();
  1338. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1339. ->field("
  1340. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1341. sum(a.nAmount) as 马55甲
  1342. ")
  1343. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1344. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1345. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1346. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1347. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1348. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1349. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1350. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1351. ->group("CASE
  1352. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1353. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1354. END,Name_WorkGroup")
  1355. ->buildSql();
  1356. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1357. ->field("
  1358. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1359. sum(a.nAmount) as 马55乙
  1360. ")
  1361. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1362. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1363. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1364. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1365. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1366. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1367. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1368. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1369. ->group("CASE
  1370. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1371. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1372. END,Name_WorkGroup")
  1373. ->buildSql();
  1374. $db = Db::table($A . 'a')
  1375. ->field("
  1376. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  1377. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  1378. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  1379. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  1380. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  1381. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  1382. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  1383. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  1384. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  1385. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  1386. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0) 总计册
  1387. ")
  1388. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  1389. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1390. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  1391. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  1392. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  1393. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  1394. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  1395. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  1396. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  1397. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  1398. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1399. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1400. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  1401. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  1402. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  1403. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  1404. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  1405. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  1406. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  1407. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  1408. ->buildSql();
  1409. $jd = Db::table($db . ' db')
  1410. ->field("
  1411. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1412. ROUND(sum(db.总计册), 0) as 无线胶订册数
  1413. ")->where("db.RQ >= '{$this->start_time()}'
  1414. AND db.RQ <= '{$this->end_time()}' ")
  1415. ->group('MONTH(db.rq)')
  1416. ->select();
  1417. $B = Db::table('cpjtfk')
  1418. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1419. ->field("
  1420. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1421. Sum(iWcl) AS '簿1甲'
  1422. ")
  1423. ->where('cbanzu','=','簿册机1号(甲班)')
  1424. ->group('drptdate,cbanzu')
  1425. ->buildSql();
  1426. $B1 = Db::table('cpjtfk')
  1427. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1428. ->field("
  1429. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1430. Sum(iWcl) AS '簿1乙'
  1431. ")
  1432. ->where('cbanzu','=','簿册机1号(乙班)')
  1433. ->group('drptdate,cbanzu')
  1434. ->buildSql();
  1435. $rr = Db::table('scyddx')->alias('r')
  1436. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1437. ->group('r.ICYDID')
  1438. ->buildSql();
  1439. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1440. ->field("
  1441. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1442. Sum(a.nAmount) AS '簿11甲'
  1443. ")
  1444. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1445. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1446. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1447. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1448. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1449. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1450. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  1451. ->where('a.cTechName' ,'=','簿册联动')
  1452. ->group("CASE
  1453. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1454. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1455. END,Name_WorkGroup")
  1456. ->buildSql();
  1457. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1458. ->field("
  1459. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1460. Sum(a.nAmount) AS '簿11乙'
  1461. ")
  1462. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1463. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1464. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1465. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1466. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1467. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1468. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  1469. ->where('a.cTechName' ,'=','簿册联动')
  1470. ->group("CASE
  1471. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1472. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1473. END,Name_WorkGroup")
  1474. ->buildSql();
  1475. $db = Db::table($A . 'a')
  1476. ->field("
  1477. DISTINCT DATE(A.RQ) rq,
  1478. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  1479. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  1480. ")
  1481. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  1482. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1483. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1484. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1485. ->group('rq')
  1486. ->buildSql();
  1487. $bc = Db::table($db . ' db')
  1488. ->field("
  1489. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1490. ROUND(sum(db.总计册), 0) as 簿册册数
  1491. ")->where("db.RQ >= '{$this->start_time()}'
  1492. AND db.RQ <= '{$this->end_time()}' ")
  1493. ->group('MONTH(db.rq)')
  1494. ->select();
  1495. // 创建一个结果数组
  1496. $result=[];
  1497. $result1 = [];
  1498. // 遍历第一个数组,并将数据加入结果数组
  1499. foreach ($jp as $val1) {
  1500. $month = $val1['日期'];
  1501. $data1 = $val1['精平册数'];
  1502. if (!isset($result[$month])) {
  1503. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1504. }
  1505. if (!isset($result1[$month])) {
  1506. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1507. }
  1508. $result1[$month] += $data1; // 累加第一个数组的数据
  1509. }
  1510. // 遍历第二个数组,并将数据加入结果数组
  1511. foreach ($jd as $val2) {
  1512. $month = $val2['日期'];
  1513. $data1 = $val2['无线胶订册数'];
  1514. if (!isset($result[$month])) {
  1515. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1516. }
  1517. if (!isset($result1[$month])) {
  1518. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1519. }
  1520. $result1[$month] += $data1; // 累加第二个数组的数据
  1521. }
  1522. foreach ($bc as $val2) {
  1523. $month = $val2['日期'];
  1524. $data1 = $val2['簿册册数'];
  1525. if (!isset($result[$month])) {
  1526. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1527. }
  1528. if (!isset($result1[$month])) {
  1529. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1530. }
  1531. $result1[$month] += $data1; // 累加第二个数组的数据
  1532. }
  1533. foreach($result1 as $k=>$v){
  1534. $list['categories'][]=$k;
  1535. $list['series'][0]['name']='装订实物产量册数';
  1536. $list['series'][0]['data'][]=$v;
  1537. }
  1538. $res['status']=0;
  1539. $res['msg']='';
  1540. $res['data']=$list;
  1541. $redis->set($redis_key, json_encode($result1));
  1542. // halt(json_decode($redis->get($redis_key),true));
  1543. return json_encode($result1);
  1544. }
  1545. //去年与当年--装订实物产量册数 接口合并一起->接口调用
  1546. public function zdcs(){
  1547. $redis=redis();
  1548. $result2022=json_decode($redis->get(md5('zdcs2022')),true);
  1549. $result2023=json_decode($redis->get(md5('zdcs2023')),true);
  1550. $result1=array_merge($result2022,$result2023);
  1551. $i=0;
  1552. $j=0;
  1553. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  1554. foreach($result1 as $k=>$v){
  1555. if($k>='2023-01'){
  1556. $list['series'][1]['name']='2023年';
  1557. $list['series'][1]['data'][$j]=$v;
  1558. $j++;
  1559. }else{
  1560. $list['series'][0]['name']='2022年';
  1561. $list['series'][0]['data'][$i]=$v;
  1562. $i++;
  1563. }
  1564. }
  1565. $res['status']=0;
  1566. $res['msg']='';
  1567. $res['data']=$list;
  1568. // $redis->set($redis_key, json_encode($res),$this->redis_expire);
  1569. // halt(json_decode($redis->get($redis_key),true));
  1570. return json_encode($res);
  1571. }
  1572. //去年装订实物产量纸令->缓存调用
  1573. public function zdzl2022(){
  1574. $redis=redis();
  1575. $redis_key = md5('zdzl2022');
  1576. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1577. ->union(function ($query) {
  1578. $query->table('scDayRpt_Teams')->alias('b')
  1579. ->field("DISTINCT DATE_FORMAT(
  1580. CASE
  1581. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1582. ELSE b.dOnDuty
  1583. END,
  1584. '%Y-%m-%d'
  1585. ) AS RQ");
  1586. }, true)
  1587. ->buildSql();
  1588. $B1 = Db::table('cpjtfk')
  1589. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1590. ->field("
  1591. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1592. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  1593. ")
  1594. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1595. ->group('drptdate,cbanzu')
  1596. ->buildSql();
  1597. $rr = Db::table('scyddx')->alias('r')
  1598. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1599. ->group('r.ICYDID')
  1600. ->buildSql();
  1601. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1602. ->field("
  1603. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1604. ROUND(SUM(
  1605. CASE
  1606. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  1607. THEN
  1608. CASE
  1609. WHEN a.cCyddxMc = '装配'
  1610. OR a.cCyddxMc LIKE '%正文%'
  1611. OR a.cCyddxMc LIKE '%答案%'
  1612. OR a.cCyddxMc LIKE '%卷%'
  1613. THEN
  1614. CASE
  1615. WHEN CASE
  1616. WHEN IFNULL(d.fZls, 0) < rr.zl
  1617. THEN rr.zl
  1618. ELSE IFNULL(d.fZls, 0)
  1619. END = 0
  1620. THEN c.nzdls
  1621. ELSE (
  1622. CASE
  1623. WHEN c.nzdls <
  1624. CASE
  1625. WHEN IFNULL(d.fZls, 0) < rr.zl
  1626. THEN rr.zl
  1627. ELSE IFNULL(d.fZls, 0)
  1628. END
  1629. THEN
  1630. CASE
  1631. WHEN IFNULL(d.fZls, 0) < rr.zl
  1632. THEN rr.zl
  1633. ELSE IFNULL(d.fZls, 0)
  1634. END
  1635. ELSE c.nzdls
  1636. END
  1637. )
  1638. END
  1639. ELSE 0
  1640. END
  1641. ELSE
  1642. CASE
  1643. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  1644. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  1645. CASE
  1646. WHEN a.cCyddxMc = '装配'
  1647. OR a.cCyddxMc LIKE '%正文%'
  1648. OR a.cCyddxMc LIKE '%答案%'
  1649. OR a.cCyddxMc LIKE '%卷%'
  1650. THEN
  1651. CASE
  1652. WHEN CASE
  1653. WHEN IFNULL(d.fZls, 0) < rr.zl
  1654. THEN rr.zl
  1655. ELSE IFNULL(d.fZls, 0)
  1656. END = 0
  1657. THEN c.nzdls
  1658. ELSE (
  1659. CASE
  1660. WHEN c.nzdls <
  1661. CASE
  1662. WHEN IFNULL(d.fZls, 0) < rr.zl
  1663. THEN rr.zl
  1664. ELSE IFNULL(d.fZls, 0)
  1665. END
  1666. THEN
  1667. CASE
  1668. WHEN IFNULL(d.fZls, 0) < rr.zl
  1669. THEN rr.zl
  1670. ELSE IFNULL(d.fZls, 0)
  1671. END
  1672. ELSE c.nzdls
  1673. END
  1674. )
  1675. END
  1676. ELSE 0
  1677. END
  1678. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  1679. END
  1680. END )
  1681. , 3) 精11乙纸令
  1682. ")
  1683. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1684. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1685. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1686. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1687. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1688. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1689. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  1690. ->group("CASE
  1691. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1692. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1693. END,Name_WorkGroup")
  1694. ->buildSql();
  1695. $db = Db::table($A . 'a')
  1696. ->field("
  1697. DATE(A.RQ) rq,
  1698. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  1699. ")
  1700. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1701. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1702. ->buildSql();
  1703. $jp = Db::table($db . ' db')
  1704. ->field("
  1705. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1706. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  1707. ")->where("db.RQ >= '{$this->qstart_time()}'
  1708. AND db.RQ <= '{$this->qend_time()}' ")
  1709. ->group('MONTH(db.rq)')
  1710. ->select();
  1711. $B = Db::table('cpjtfk')
  1712. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1713. ->field("
  1714. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1715. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  1716. ")
  1717. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1718. ->group('drptdate,cbanzu')
  1719. ->buildSql();
  1720. $B1 = Db::table('cpjtfk')
  1721. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1722. ->field("
  1723. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1724. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  1725. ")
  1726. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1727. ->group('drptdate,cbanzu')
  1728. ->buildSql();
  1729. $C = Db::table('cpjtfk')
  1730. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1731. ->field("
  1732. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1733. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  1734. ")
  1735. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1736. ->group('drptdate,cbanzu')
  1737. ->buildSql();
  1738. $C1 = Db::table('cpjtfk')
  1739. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1740. ->field("
  1741. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1742. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  1743. ")
  1744. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1745. ->group('drptdate,cbanzu')
  1746. ->buildSql();
  1747. $D = Db::table('cpjtfk')
  1748. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1749. ->field("
  1750. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1751. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  1752. ")
  1753. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1754. ->group('drptdate,cbanzu')
  1755. ->buildSql();
  1756. $D1 = Db::table('cpjtfk')
  1757. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1758. ->field("
  1759. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1760. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  1761. ")
  1762. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1763. ->group('drptdate,cbanzu')
  1764. ->buildSql();
  1765. $E = Db::table('cpjtfk')
  1766. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1767. ->field("
  1768. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1769. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  1770. ")
  1771. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1772. ->group('drptdate,cbanzu')
  1773. ->buildSql();
  1774. $E1 = Db::table('cpjtfk')
  1775. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1776. ->field("
  1777. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1778. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  1779. ")
  1780. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1781. ->group('drptdate,cbanzu')
  1782. ->buildSql();
  1783. $F = Db::table('cpjtfk')
  1784. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1785. ->field("
  1786. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1787. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  1788. ")
  1789. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1790. ->group('drptdate,cbanzu')
  1791. ->buildSql();
  1792. $F1 = Db::table('cpjtfk')
  1793. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1794. ->field("
  1795. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1796. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1797. ")
  1798. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1799. ->group('drptdate,cbanzu')
  1800. ->buildSql();
  1801. $rr = Db::table('scyddx')->alias('r')
  1802. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1803. ->group('r.ICYDID')
  1804. ->buildSql();
  1805. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1806. ->field("
  1807. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1808. ROUND(SUM(
  1809. CASE
  1810. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  1811. THEN CASE WHEN a.cCyddxMc = '装配'
  1812. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  1813. THEN CASE
  1814. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  1815. END = 0 THEN c.nzdls
  1816. ELSE ( CASE
  1817. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  1818. END
  1819. THEN CASE
  1820. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  1821. END ELSE c.nzdls END
  1822. ) END ELSE 0 END
  1823. ELSE CASE
  1824. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  1825. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  1826. CASE WHEN a.cCyddxMc = '装配'
  1827. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  1828. THEN CASE
  1829. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  1830. END = 0 THEN c.nzdls
  1831. ELSE ( CASE WHEN c.nzdls <
  1832. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  1833. END
  1834. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  1835. END ELSE c.nzdls END )
  1836. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  1837. END END ), 3) 马11甲纸令 ")
  1838. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1839. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1840. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1841. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1842. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1843. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1844. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1845. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1846. ->group("CASE
  1847. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1848. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1849. END,Name_WorkGroup")->buildSql();
  1850. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1851. ->field("
  1852. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1853. ROUND(SUM(
  1854. CASE
  1855. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  1856. THEN
  1857. CASE
  1858. WHEN a.cCyddxMc = '装配'
  1859. OR a.cCyddxMc LIKE '%正文%'
  1860. OR a.cCyddxMc LIKE '%答案%'
  1861. OR a.cCyddxMc LIKE '%卷%'
  1862. THEN
  1863. CASE
  1864. WHEN CASE
  1865. WHEN IFNULL(d.fZls, 0) < rr.zl
  1866. THEN rr.zl
  1867. ELSE IFNULL(d.fZls, 0)
  1868. END = 0
  1869. THEN c.nzdls
  1870. ELSE (
  1871. CASE
  1872. WHEN c.nzdls <
  1873. CASE
  1874. WHEN IFNULL(d.fZls, 0) < rr.zl
  1875. THEN rr.zl
  1876. ELSE IFNULL(d.fZls, 0)
  1877. END
  1878. THEN
  1879. CASE
  1880. WHEN IFNULL(d.fZls, 0) < rr.zl
  1881. THEN rr.zl
  1882. ELSE IFNULL(d.fZls, 0)
  1883. END
  1884. ELSE c.nzdls
  1885. END
  1886. )
  1887. END
  1888. ELSE 0
  1889. END
  1890. ELSE
  1891. CASE
  1892. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  1893. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  1894. CASE
  1895. WHEN a.cCyddxMc = '装配'
  1896. OR a.cCyddxMc LIKE '%正文%'
  1897. OR a.cCyddxMc LIKE '%答案%'
  1898. OR a.cCyddxMc LIKE '%卷%'
  1899. THEN
  1900. CASE
  1901. WHEN CASE
  1902. WHEN IFNULL(d.fZls, 0) < rr.zl
  1903. THEN rr.zl
  1904. ELSE IFNULL(d.fZls, 0)
  1905. END = 0
  1906. THEN c.nzdls
  1907. ELSE (
  1908. CASE
  1909. WHEN c.nzdls <
  1910. CASE
  1911. WHEN IFNULL(d.fZls, 0) < rr.zl
  1912. THEN rr.zl
  1913. ELSE IFNULL(d.fZls, 0)
  1914. END
  1915. THEN
  1916. CASE
  1917. WHEN IFNULL(d.fZls, 0) < rr.zl
  1918. THEN rr.zl
  1919. ELSE IFNULL(d.fZls, 0)
  1920. END
  1921. ELSE c.nzdls
  1922. END
  1923. )
  1924. END
  1925. ELSE 0
  1926. END
  1927. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  1928. END
  1929. END )
  1930. , 3) 马11乙纸令
  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. $CC = 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. ROUND(SUM(
  1949. CASE
  1950. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  1951. THEN
  1952. CASE
  1953. WHEN a.cCyddxMc = '装配'
  1954. OR a.cCyddxMc LIKE '%正文%'
  1955. OR a.cCyddxMc LIKE '%答案%'
  1956. OR a.cCyddxMc LIKE '%卷%'
  1957. THEN
  1958. CASE
  1959. WHEN CASE
  1960. WHEN IFNULL(d.fZls, 0) < rr.zl
  1961. THEN rr.zl
  1962. ELSE IFNULL(d.fZls, 0)
  1963. END = 0
  1964. THEN c.nzdls
  1965. ELSE (
  1966. CASE
  1967. WHEN c.nzdls <
  1968. CASE
  1969. WHEN IFNULL(d.fZls, 0) < rr.zl
  1970. THEN rr.zl
  1971. ELSE IFNULL(d.fZls, 0)
  1972. END
  1973. THEN
  1974. CASE
  1975. WHEN IFNULL(d.fZls, 0) < rr.zl
  1976. THEN rr.zl
  1977. ELSE IFNULL(d.fZls, 0)
  1978. END
  1979. ELSE c.nzdls
  1980. END
  1981. )
  1982. END
  1983. ELSE 0
  1984. END
  1985. ELSE
  1986. CASE
  1987. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  1988. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  1989. CASE
  1990. WHEN a.cCyddxMc = '装配'
  1991. OR a.cCyddxMc LIKE '%正文%'
  1992. OR a.cCyddxMc LIKE '%答案%'
  1993. OR a.cCyddxMc LIKE '%卷%'
  1994. THEN
  1995. CASE
  1996. WHEN CASE
  1997. WHEN IFNULL(d.fZls, 0) < rr.zl
  1998. THEN rr.zl
  1999. ELSE IFNULL(d.fZls, 0)
  2000. END = 0
  2001. THEN c.nzdls
  2002. ELSE (
  2003. CASE
  2004. WHEN c.nzdls <
  2005. CASE
  2006. WHEN IFNULL(d.fZls, 0) < rr.zl
  2007. THEN rr.zl
  2008. ELSE IFNULL(d.fZls, 0)
  2009. END
  2010. THEN
  2011. CASE
  2012. WHEN IFNULL(d.fZls, 0) < rr.zl
  2013. THEN rr.zl
  2014. ELSE IFNULL(d.fZls, 0)
  2015. END
  2016. ELSE c.nzdls
  2017. END
  2018. )
  2019. END
  2020. ELSE 0
  2021. END
  2022. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2023. END
  2024. END )
  2025. , 3) 马22甲纸令
  2026. ")
  2027. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2028. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2029. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2030. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2031. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2032. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2033. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  2034. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2035. ->group("CASE
  2036. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2037. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2038. END,Name_WorkGroup")
  2039. ->buildSql();
  2040. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  2041. ->field("
  2042. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2043. ROUND(SUM(
  2044. CASE
  2045. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2046. THEN
  2047. CASE
  2048. WHEN a.cCyddxMc = '装配'
  2049. OR a.cCyddxMc LIKE '%正文%'
  2050. OR a.cCyddxMc LIKE '%答案%'
  2051. OR a.cCyddxMc LIKE '%卷%'
  2052. THEN
  2053. CASE
  2054. WHEN CASE
  2055. WHEN IFNULL(d.fZls, 0) < rr.zl
  2056. THEN rr.zl
  2057. ELSE IFNULL(d.fZls, 0)
  2058. END = 0
  2059. THEN c.nzdls
  2060. ELSE (
  2061. CASE
  2062. WHEN c.nzdls <
  2063. CASE
  2064. WHEN IFNULL(d.fZls, 0) < rr.zl
  2065. THEN rr.zl
  2066. ELSE IFNULL(d.fZls, 0)
  2067. END
  2068. THEN
  2069. CASE
  2070. WHEN IFNULL(d.fZls, 0) < rr.zl
  2071. THEN rr.zl
  2072. ELSE IFNULL(d.fZls, 0)
  2073. END
  2074. ELSE c.nzdls
  2075. END
  2076. )
  2077. END
  2078. ELSE 0
  2079. END
  2080. ELSE
  2081. CASE
  2082. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2083. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2084. CASE
  2085. WHEN a.cCyddxMc = '装配'
  2086. OR a.cCyddxMc LIKE '%正文%'
  2087. OR a.cCyddxMc LIKE '%答案%'
  2088. OR a.cCyddxMc LIKE '%卷%'
  2089. THEN
  2090. CASE
  2091. WHEN CASE
  2092. WHEN IFNULL(d.fZls, 0) < rr.zl
  2093. THEN rr.zl
  2094. ELSE IFNULL(d.fZls, 0)
  2095. END = 0
  2096. THEN c.nzdls
  2097. ELSE (
  2098. CASE
  2099. WHEN c.nzdls <
  2100. CASE
  2101. WHEN IFNULL(d.fZls, 0) < rr.zl
  2102. THEN rr.zl
  2103. ELSE IFNULL(d.fZls, 0)
  2104. END
  2105. THEN
  2106. CASE
  2107. WHEN IFNULL(d.fZls, 0) < rr.zl
  2108. THEN rr.zl
  2109. ELSE IFNULL(d.fZls, 0)
  2110. END
  2111. ELSE c.nzdls
  2112. END
  2113. )
  2114. END
  2115. ELSE 0
  2116. END
  2117. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2118. END
  2119. END )
  2120. , 3) 马22乙纸令
  2121. ")
  2122. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2123. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2124. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2125. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2126. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2127. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2128. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  2129. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2130. ->group("CASE
  2131. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2132. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2133. END,Name_WorkGroup")
  2134. ->buildSql();
  2135. $EE = Db::table('ql_report_feedback_day')->alias('a')
  2136. ->field("
  2137. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2138. ROUND(SUM(
  2139. CASE
  2140. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2141. THEN
  2142. CASE
  2143. WHEN a.cCyddxMc = '装配'
  2144. OR a.cCyddxMc LIKE '%正文%'
  2145. OR a.cCyddxMc LIKE '%答案%'
  2146. OR a.cCyddxMc LIKE '%卷%'
  2147. THEN
  2148. CASE
  2149. WHEN CASE
  2150. WHEN IFNULL(d.fZls, 0) < rr.zl
  2151. THEN rr.zl
  2152. ELSE IFNULL(d.fZls, 0)
  2153. END = 0
  2154. THEN c.nzdls
  2155. ELSE (
  2156. CASE
  2157. WHEN c.nzdls <
  2158. CASE
  2159. WHEN IFNULL(d.fZls, 0) < rr.zl
  2160. THEN rr.zl
  2161. ELSE IFNULL(d.fZls, 0)
  2162. END
  2163. THEN
  2164. CASE
  2165. WHEN IFNULL(d.fZls, 0) < rr.zl
  2166. THEN rr.zl
  2167. ELSE IFNULL(d.fZls, 0)
  2168. END
  2169. ELSE c.nzdls
  2170. END
  2171. )
  2172. END
  2173. ELSE 0
  2174. END
  2175. ELSE
  2176. CASE
  2177. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2178. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2179. CASE
  2180. WHEN a.cCyddxMc = '装配'
  2181. OR a.cCyddxMc LIKE '%正文%'
  2182. OR a.cCyddxMc LIKE '%答案%'
  2183. OR a.cCyddxMc LIKE '%卷%'
  2184. THEN
  2185. CASE
  2186. WHEN CASE
  2187. WHEN IFNULL(d.fZls, 0) < rr.zl
  2188. THEN rr.zl
  2189. ELSE IFNULL(d.fZls, 0)
  2190. END = 0
  2191. THEN c.nzdls
  2192. ELSE (
  2193. CASE
  2194. WHEN c.nzdls <
  2195. CASE
  2196. WHEN IFNULL(d.fZls, 0) < rr.zl
  2197. THEN rr.zl
  2198. ELSE IFNULL(d.fZls, 0)
  2199. END
  2200. THEN
  2201. CASE
  2202. WHEN IFNULL(d.fZls, 0) < rr.zl
  2203. THEN rr.zl
  2204. ELSE IFNULL(d.fZls, 0)
  2205. END
  2206. ELSE c.nzdls
  2207. END
  2208. )
  2209. END
  2210. ELSE 0
  2211. END
  2212. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2213. END
  2214. END )
  2215. , 3) 马33甲纸令
  2216. ")
  2217. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2218. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2219. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2220. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2221. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2222. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2223. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  2224. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2225. ->group("CASE
  2226. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2227. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2228. END,Name_WorkGroup")
  2229. ->buildSql();
  2230. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  2231. ->field("
  2232. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2233. ROUND(SUM(
  2234. CASE
  2235. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2236. THEN
  2237. CASE
  2238. WHEN a.cCyddxMc = '装配'
  2239. OR a.cCyddxMc LIKE '%正文%'
  2240. OR a.cCyddxMc LIKE '%答案%'
  2241. OR a.cCyddxMc LIKE '%卷%'
  2242. THEN
  2243. CASE
  2244. WHEN CASE
  2245. WHEN IFNULL(d.fZls, 0) < rr.zl
  2246. THEN rr.zl
  2247. ELSE IFNULL(d.fZls, 0)
  2248. END = 0
  2249. THEN c.nzdls
  2250. ELSE (
  2251. CASE
  2252. WHEN c.nzdls <
  2253. CASE
  2254. WHEN IFNULL(d.fZls, 0) < rr.zl
  2255. THEN rr.zl
  2256. ELSE IFNULL(d.fZls, 0)
  2257. END
  2258. THEN
  2259. CASE
  2260. WHEN IFNULL(d.fZls, 0) < rr.zl
  2261. THEN rr.zl
  2262. ELSE IFNULL(d.fZls, 0)
  2263. END
  2264. ELSE c.nzdls
  2265. END
  2266. )
  2267. END
  2268. ELSE 0
  2269. END
  2270. ELSE
  2271. CASE
  2272. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2273. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2274. CASE
  2275. WHEN a.cCyddxMc = '装配'
  2276. OR a.cCyddxMc LIKE '%正文%'
  2277. OR a.cCyddxMc LIKE '%答案%'
  2278. OR a.cCyddxMc LIKE '%卷%'
  2279. THEN
  2280. CASE
  2281. WHEN CASE
  2282. WHEN IFNULL(d.fZls, 0) < rr.zl
  2283. THEN rr.zl
  2284. ELSE IFNULL(d.fZls, 0)
  2285. END = 0
  2286. THEN c.nzdls
  2287. ELSE (
  2288. CASE
  2289. WHEN c.nzdls <
  2290. CASE
  2291. WHEN IFNULL(d.fZls, 0) < rr.zl
  2292. THEN rr.zl
  2293. ELSE IFNULL(d.fZls, 0)
  2294. END
  2295. THEN
  2296. CASE
  2297. WHEN IFNULL(d.fZls, 0) < rr.zl
  2298. THEN rr.zl
  2299. ELSE IFNULL(d.fZls, 0)
  2300. END
  2301. ELSE c.nzdls
  2302. END
  2303. )
  2304. END
  2305. ELSE 0
  2306. END
  2307. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2308. END
  2309. END )
  2310. , 3) 马33乙纸令
  2311. ")
  2312. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2313. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2314. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2315. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2316. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2317. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2318. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  2319. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2320. ->group("CASE
  2321. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2322. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2323. END,Name_WorkGroup")
  2324. ->buildSql();
  2325. $HH = Db::table('ql_report_feedback_day')->alias('a')
  2326. ->field("
  2327. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2328. ROUND(SUM(
  2329. CASE
  2330. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2331. THEN
  2332. CASE
  2333. WHEN a.cCyddxMc = '装配'
  2334. OR a.cCyddxMc LIKE '%正文%'
  2335. OR a.cCyddxMc LIKE '%答案%'
  2336. OR a.cCyddxMc LIKE '%卷%'
  2337. THEN
  2338. CASE
  2339. WHEN CASE
  2340. WHEN IFNULL(d.fZls, 0) < rr.zl
  2341. THEN rr.zl
  2342. ELSE IFNULL(d.fZls, 0)
  2343. END = 0
  2344. THEN c.nzdls
  2345. ELSE (
  2346. CASE
  2347. WHEN c.nzdls <
  2348. CASE
  2349. WHEN IFNULL(d.fZls, 0) < rr.zl
  2350. THEN rr.zl
  2351. ELSE IFNULL(d.fZls, 0)
  2352. END
  2353. THEN
  2354. CASE
  2355. WHEN IFNULL(d.fZls, 0) < rr.zl
  2356. THEN rr.zl
  2357. ELSE IFNULL(d.fZls, 0)
  2358. END
  2359. ELSE c.nzdls
  2360. END
  2361. )
  2362. END
  2363. ELSE 0
  2364. END
  2365. ELSE
  2366. CASE
  2367. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2368. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2369. CASE
  2370. WHEN a.cCyddxMc = '装配'
  2371. OR a.cCyddxMc LIKE '%正文%'
  2372. OR a.cCyddxMc LIKE '%答案%'
  2373. OR a.cCyddxMc LIKE '%卷%'
  2374. THEN
  2375. CASE
  2376. WHEN CASE
  2377. WHEN IFNULL(d.fZls, 0) < rr.zl
  2378. THEN rr.zl
  2379. ELSE IFNULL(d.fZls, 0)
  2380. END = 0
  2381. THEN c.nzdls
  2382. ELSE (
  2383. CASE
  2384. WHEN c.nzdls <
  2385. CASE
  2386. WHEN IFNULL(d.fZls, 0) < rr.zl
  2387. THEN rr.zl
  2388. ELSE IFNULL(d.fZls, 0)
  2389. END
  2390. THEN
  2391. CASE
  2392. WHEN IFNULL(d.fZls, 0) < rr.zl
  2393. THEN rr.zl
  2394. ELSE IFNULL(d.fZls, 0)
  2395. END
  2396. ELSE c.nzdls
  2397. END
  2398. )
  2399. END
  2400. ELSE 0
  2401. END
  2402. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2403. END
  2404. END )
  2405. , 3) 马44甲纸令
  2406. ")
  2407. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2408. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2409. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2410. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2411. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2412. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2413. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  2414. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2415. ->group("CASE
  2416. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2417. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2418. END,Name_WorkGroup")
  2419. ->buildSql();
  2420. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  2421. ->field("
  2422. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2423. ROUND(SUM(
  2424. CASE
  2425. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2426. THEN
  2427. CASE
  2428. WHEN a.cCyddxMc = '装配'
  2429. OR a.cCyddxMc LIKE '%正文%'
  2430. OR a.cCyddxMc LIKE '%答案%'
  2431. OR a.cCyddxMc LIKE '%卷%'
  2432. THEN
  2433. CASE
  2434. WHEN CASE
  2435. WHEN IFNULL(d.fZls, 0) < rr.zl
  2436. THEN rr.zl
  2437. ELSE IFNULL(d.fZls, 0)
  2438. END = 0
  2439. THEN c.nzdls
  2440. ELSE (
  2441. CASE
  2442. WHEN c.nzdls <
  2443. CASE
  2444. WHEN IFNULL(d.fZls, 0) < rr.zl
  2445. THEN rr.zl
  2446. ELSE IFNULL(d.fZls, 0)
  2447. END
  2448. THEN
  2449. CASE
  2450. WHEN IFNULL(d.fZls, 0) < rr.zl
  2451. THEN rr.zl
  2452. ELSE IFNULL(d.fZls, 0)
  2453. END
  2454. ELSE c.nzdls
  2455. END
  2456. )
  2457. END
  2458. ELSE 0
  2459. END
  2460. ELSE
  2461. CASE
  2462. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2463. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2464. CASE
  2465. WHEN a.cCyddxMc = '装配'
  2466. OR a.cCyddxMc LIKE '%正文%'
  2467. OR a.cCyddxMc LIKE '%答案%'
  2468. OR a.cCyddxMc LIKE '%卷%'
  2469. THEN
  2470. CASE
  2471. WHEN CASE
  2472. WHEN IFNULL(d.fZls, 0) < rr.zl
  2473. THEN rr.zl
  2474. ELSE IFNULL(d.fZls, 0)
  2475. END = 0
  2476. THEN c.nzdls
  2477. ELSE (
  2478. CASE
  2479. WHEN c.nzdls <
  2480. CASE
  2481. WHEN IFNULL(d.fZls, 0) < rr.zl
  2482. THEN rr.zl
  2483. ELSE IFNULL(d.fZls, 0)
  2484. END
  2485. THEN
  2486. CASE
  2487. WHEN IFNULL(d.fZls, 0) < rr.zl
  2488. THEN rr.zl
  2489. ELSE IFNULL(d.fZls, 0)
  2490. END
  2491. ELSE c.nzdls
  2492. END
  2493. )
  2494. END
  2495. ELSE 0
  2496. END
  2497. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2498. END
  2499. END )
  2500. , 3) 马44乙纸令
  2501. ")
  2502. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2503. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2504. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2505. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2506. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2507. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2508. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  2509. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2510. ->group("CASE
  2511. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2512. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2513. END,Name_WorkGroup")
  2514. ->buildSql();
  2515. $XX = Db::table('ql_report_feedback_day')->alias('a')
  2516. ->field("
  2517. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2518. ROUND(SUM(
  2519. CASE
  2520. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2521. THEN
  2522. CASE
  2523. WHEN a.cCyddxMc = '装配'
  2524. OR a.cCyddxMc LIKE '%正文%'
  2525. OR a.cCyddxMc LIKE '%答案%'
  2526. OR a.cCyddxMc LIKE '%卷%'
  2527. THEN
  2528. CASE
  2529. WHEN CASE
  2530. WHEN IFNULL(d.fZls, 0) < rr.zl
  2531. THEN rr.zl
  2532. ELSE IFNULL(d.fZls, 0)
  2533. END = 0
  2534. THEN c.nzdls
  2535. ELSE (
  2536. CASE
  2537. WHEN c.nzdls <
  2538. CASE
  2539. WHEN IFNULL(d.fZls, 0) < rr.zl
  2540. THEN rr.zl
  2541. ELSE IFNULL(d.fZls, 0)
  2542. END
  2543. THEN
  2544. CASE
  2545. WHEN IFNULL(d.fZls, 0) < rr.zl
  2546. THEN rr.zl
  2547. ELSE IFNULL(d.fZls, 0)
  2548. END
  2549. ELSE c.nzdls
  2550. END
  2551. )
  2552. END
  2553. ELSE 0
  2554. END
  2555. ELSE
  2556. CASE
  2557. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2558. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2559. CASE
  2560. WHEN a.cCyddxMc = '装配'
  2561. OR a.cCyddxMc LIKE '%正文%'
  2562. OR a.cCyddxMc LIKE '%答案%'
  2563. OR a.cCyddxMc LIKE '%卷%'
  2564. THEN
  2565. CASE
  2566. WHEN CASE
  2567. WHEN IFNULL(d.fZls, 0) < rr.zl
  2568. THEN rr.zl
  2569. ELSE IFNULL(d.fZls, 0)
  2570. END = 0
  2571. THEN c.nzdls
  2572. ELSE (
  2573. CASE
  2574. WHEN c.nzdls <
  2575. CASE
  2576. WHEN IFNULL(d.fZls, 0) < rr.zl
  2577. THEN rr.zl
  2578. ELSE IFNULL(d.fZls, 0)
  2579. END
  2580. THEN
  2581. CASE
  2582. WHEN IFNULL(d.fZls, 0) < rr.zl
  2583. THEN rr.zl
  2584. ELSE IFNULL(d.fZls, 0)
  2585. END
  2586. ELSE c.nzdls
  2587. END
  2588. )
  2589. END
  2590. ELSE 0
  2591. END
  2592. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2593. END
  2594. END )
  2595. , 3) 马55甲纸令
  2596. ")
  2597. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2598. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2599. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2600. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2601. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2602. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2603. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  2604. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2605. ->group("CASE
  2606. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2607. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2608. END,Name_WorkGroup")
  2609. ->buildSql();
  2610. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2611. ->field("
  2612. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2613. ROUND(SUM(
  2614. CASE
  2615. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2616. THEN
  2617. CASE
  2618. WHEN a.cCyddxMc = '装配'
  2619. OR a.cCyddxMc LIKE '%正文%'
  2620. OR a.cCyddxMc LIKE '%答案%'
  2621. OR a.cCyddxMc LIKE '%卷%'
  2622. THEN
  2623. CASE
  2624. WHEN CASE
  2625. WHEN IFNULL(d.fZls, 0) < rr.zl
  2626. THEN rr.zl
  2627. ELSE IFNULL(d.fZls, 0)
  2628. END = 0
  2629. THEN c.nzdls
  2630. ELSE (
  2631. CASE
  2632. WHEN c.nzdls <
  2633. CASE
  2634. WHEN IFNULL(d.fZls, 0) < rr.zl
  2635. THEN rr.zl
  2636. ELSE IFNULL(d.fZls, 0)
  2637. END
  2638. THEN
  2639. CASE
  2640. WHEN IFNULL(d.fZls, 0) < rr.zl
  2641. THEN rr.zl
  2642. ELSE IFNULL(d.fZls, 0)
  2643. END
  2644. ELSE c.nzdls
  2645. END
  2646. )
  2647. END
  2648. ELSE 0
  2649. END
  2650. ELSE
  2651. CASE
  2652. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2653. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2654. CASE
  2655. WHEN a.cCyddxMc = '装配'
  2656. OR a.cCyddxMc LIKE '%正文%'
  2657. OR a.cCyddxMc LIKE '%答案%'
  2658. OR a.cCyddxMc LIKE '%卷%'
  2659. THEN
  2660. CASE
  2661. WHEN CASE
  2662. WHEN IFNULL(d.fZls, 0) < rr.zl
  2663. THEN rr.zl
  2664. ELSE IFNULL(d.fZls, 0)
  2665. END = 0
  2666. THEN c.nzdls
  2667. ELSE (
  2668. CASE
  2669. WHEN c.nzdls <
  2670. CASE
  2671. WHEN IFNULL(d.fZls, 0) < rr.zl
  2672. THEN rr.zl
  2673. ELSE IFNULL(d.fZls, 0)
  2674. END
  2675. THEN
  2676. CASE
  2677. WHEN IFNULL(d.fZls, 0) < rr.zl
  2678. THEN rr.zl
  2679. ELSE IFNULL(d.fZls, 0)
  2680. END
  2681. ELSE c.nzdls
  2682. END
  2683. )
  2684. END
  2685. ELSE 0
  2686. END
  2687. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2688. END
  2689. END )
  2690. , 3) 马55乙纸令
  2691. ")
  2692. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2693. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2694. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2695. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2696. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2697. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2698. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2699. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2700. ->group("CASE
  2701. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2702. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2703. END,Name_WorkGroup")
  2704. ->buildSql();
  2705. $db = Db::table($A . 'a')
  2706. ->field("
  2707. DISTINCT DATE(A.RQ) rq,
  2708. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  2709. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  2710. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  2711. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  2712. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  2713. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  2714. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  2715. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  2716. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  2717. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0), 0) 纸令数总计
  2718. ")
  2719. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2720. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2721. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2722. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2723. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2724. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2725. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2726. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2727. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2728. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2729. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2730. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2731. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2732. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2733. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2734. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2735. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2736. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2737. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2738. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2739. ->group('rq')
  2740. ->buildSql();
  2741. $jd = Db::table($db . ' db')
  2742. ->field("
  2743. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2744. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  2745. ")
  2746. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ")
  2747. ->group('MONTH(db.rq)')
  2748. ->select();
  2749. /**
  2750. * 簿册联动线纸令
  2751. */
  2752. $B = Db::table('cpjtfk')
  2753. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2754. ->field("
  2755. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2756. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  2757. ")
  2758. ->where('cbanzu','=','簿册机1号(甲班)')
  2759. ->group('drptdate,cbanzu')
  2760. ->buildSql();
  2761. $B1 = Db::table('cpjtfk')
  2762. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2763. ->field("
  2764. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2765. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  2766. ")
  2767. ->where('cbanzu','=','簿册机1号(乙班)')
  2768. ->group('drptdate,cbanzu')
  2769. ->buildSql();
  2770. $rr = Db::table('scyddx')->alias('r')
  2771. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2772. ->group('r.ICYDID')
  2773. ->buildSql();
  2774. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2775. ->field("
  2776. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2777. ROUND(SUM(
  2778. CASE
  2779. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2780. THEN
  2781. CASE
  2782. WHEN a.cCyddxMc = '装配'
  2783. OR a.cCyddxMc LIKE '%正文%'
  2784. OR a.cCyddxMc LIKE '%答案%'
  2785. OR a.cCyddxMc LIKE '%卷%'
  2786. THEN
  2787. CASE
  2788. WHEN CASE
  2789. WHEN IFNULL(d.fZls, 0) < rr.zl
  2790. THEN rr.zl
  2791. ELSE IFNULL(d.fZls, 0)
  2792. END = 0
  2793. THEN c.nzdls
  2794. ELSE (
  2795. CASE
  2796. WHEN c.nzdls <
  2797. CASE
  2798. WHEN IFNULL(d.fZls, 0) < rr.zl
  2799. THEN rr.zl
  2800. ELSE IFNULL(d.fZls, 0)
  2801. END
  2802. THEN
  2803. CASE
  2804. WHEN IFNULL(d.fZls, 0) < rr.zl
  2805. THEN rr.zl
  2806. ELSE IFNULL(d.fZls, 0)
  2807. END
  2808. ELSE c.nzdls
  2809. END
  2810. )
  2811. END
  2812. ELSE 0
  2813. END
  2814. ELSE
  2815. CASE
  2816. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2817. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2818. CASE
  2819. WHEN a.cCyddxMc = '装配'
  2820. OR a.cCyddxMc LIKE '%正文%'
  2821. OR a.cCyddxMc LIKE '%答案%'
  2822. OR a.cCyddxMc LIKE '%卷%'
  2823. THEN
  2824. CASE
  2825. WHEN CASE
  2826. WHEN IFNULL(d.fZls, 0) < rr.zl
  2827. THEN rr.zl
  2828. ELSE IFNULL(d.fZls, 0)
  2829. END = 0
  2830. THEN c.nzdls
  2831. ELSE (
  2832. CASE
  2833. WHEN c.nzdls <
  2834. CASE
  2835. WHEN IFNULL(d.fZls, 0) < rr.zl
  2836. THEN rr.zl
  2837. ELSE IFNULL(d.fZls, 0)
  2838. END
  2839. THEN
  2840. CASE
  2841. WHEN IFNULL(d.fZls, 0) < rr.zl
  2842. THEN rr.zl
  2843. ELSE IFNULL(d.fZls, 0)
  2844. END
  2845. ELSE c.nzdls
  2846. END
  2847. )
  2848. END
  2849. ELSE 0
  2850. END
  2851. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2852. END
  2853. END )
  2854. , 3) 簿11甲纸令
  2855. ")
  2856. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2857. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2858. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2859. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2860. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2861. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2862. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2863. ->where('a.cTechName' ,'=','簿册联动')
  2864. ->group("CASE
  2865. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2866. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2867. END,Name_WorkGroup")
  2868. ->buildSql();
  2869. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2870. ->field("
  2871. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2872. ROUND(SUM(
  2873. CASE
  2874. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2875. THEN
  2876. CASE
  2877. WHEN a.cCyddxMc = '装配'
  2878. OR a.cCyddxMc LIKE '%正文%'
  2879. OR a.cCyddxMc LIKE '%答案%'
  2880. OR a.cCyddxMc LIKE '%卷%'
  2881. THEN
  2882. CASE
  2883. WHEN CASE
  2884. WHEN IFNULL(d.fZls, 0) < rr.zl
  2885. THEN rr.zl
  2886. ELSE IFNULL(d.fZls, 0)
  2887. END = 0
  2888. THEN c.nzdls
  2889. ELSE (
  2890. CASE
  2891. WHEN c.nzdls <
  2892. CASE
  2893. WHEN IFNULL(d.fZls, 0) < rr.zl
  2894. THEN rr.zl
  2895. ELSE IFNULL(d.fZls, 0)
  2896. END
  2897. THEN
  2898. CASE
  2899. WHEN IFNULL(d.fZls, 0) < rr.zl
  2900. THEN rr.zl
  2901. ELSE IFNULL(d.fZls, 0)
  2902. END
  2903. ELSE c.nzdls
  2904. END
  2905. )
  2906. END
  2907. ELSE 0
  2908. END
  2909. ELSE
  2910. CASE
  2911. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2912. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2913. CASE
  2914. WHEN a.cCyddxMc = '装配'
  2915. OR a.cCyddxMc LIKE '%正文%'
  2916. OR a.cCyddxMc LIKE '%答案%'
  2917. OR a.cCyddxMc LIKE '%卷%'
  2918. THEN
  2919. CASE
  2920. WHEN CASE
  2921. WHEN IFNULL(d.fZls, 0) < rr.zl
  2922. THEN rr.zl
  2923. ELSE IFNULL(d.fZls, 0)
  2924. END = 0
  2925. THEN c.nzdls
  2926. ELSE (
  2927. CASE
  2928. WHEN c.nzdls <
  2929. CASE
  2930. WHEN IFNULL(d.fZls, 0) < rr.zl
  2931. THEN rr.zl
  2932. ELSE IFNULL(d.fZls, 0)
  2933. END
  2934. THEN
  2935. CASE
  2936. WHEN IFNULL(d.fZls, 0) < rr.zl
  2937. THEN rr.zl
  2938. ELSE IFNULL(d.fZls, 0)
  2939. END
  2940. ELSE c.nzdls
  2941. END
  2942. )
  2943. END
  2944. ELSE 0
  2945. END
  2946. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2947. END
  2948. END )
  2949. , 3) 簿11乙纸令
  2950. ")
  2951. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2952. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2953. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2954. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2955. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2956. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2957. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2958. ->where('a.cTechName' ,'=','簿册联动')
  2959. ->group("CASE
  2960. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2961. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2962. END,Name_WorkGroup")
  2963. ->buildSql();
  2964. $db = Db::table($A . 'a')
  2965. ->field("
  2966. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2967. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  2968. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  2969. ")
  2970. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2971. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2972. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2973. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2974. ->group('rq')
  2975. ->buildSql();
  2976. $bc = Db::table($db . ' db')
  2977. ->field("
  2978. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2979. ROUND(sum(db.纸令), 0) as 簿册纸令
  2980. ")->where("db.RQ >= '{$this->qstart_time()}'
  2981. AND db.RQ <= '{$this->qend_time()}' ")
  2982. ->group('MONTH(db.rq)')
  2983. ->select();
  2984. // 创建一个结果数组
  2985. $result=[];
  2986. $result1 = [];
  2987. // 遍历第一个数组,并将数据加入结果数组
  2988. foreach ($jp as $val1) {
  2989. $month = $val1['日期'];
  2990. $data1 = $val1['精平纸令'];
  2991. if (!isset($result[$month])) {
  2992. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2993. }
  2994. if (!isset($result1[$month])) {
  2995. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2996. }
  2997. $result1[$month] += $data1; // 累加第一个数组的数据
  2998. }
  2999. // 遍历第二个数组,并将数据加入结果数组
  3000. foreach ($jd as $val2) {
  3001. $month = $val2['日期'];
  3002. $data1 = $val2['无线胶订纸令'];
  3003. if (!isset($result[$month])) {
  3004. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  3005. }
  3006. if (!isset($result1[$month])) {
  3007. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  3008. }
  3009. $result1[$month] += $data1; // 累加第二个数组的数据
  3010. }
  3011. foreach ($bc as $val2) {
  3012. $month = $val2['日期'];
  3013. $data1 = $val2['簿册纸令'];
  3014. if (!isset($result[$month])) {
  3015. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  3016. }
  3017. if (!isset($result1[$month])) {
  3018. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  3019. }
  3020. $result1[$month] += $data1; // 累加第二个数组的数据
  3021. }
  3022. foreach($result1 as $k=>$v){
  3023. $list['categories'][]=$k;
  3024. $list['series'][0]['name']='装订实物产量色令数';
  3025. $list['series'][0]['data'][]=$v;
  3026. }
  3027. $res['status']=0;
  3028. $res['msg']='';
  3029. $res['data']=$list;
  3030. $redis->set($redis_key, json_encode($result1));
  3031. // halt(json_decode($redis->get($redis_key),true));
  3032. return json_encode($result1);
  3033. }
  3034. //当年装订实物产量纸令->缓存调用
  3035. public function zdzl2023(){
  3036. $redis=redis();
  3037. $redis_key = md5('zdzl2023');
  3038. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  3039. ->union(function ($query) {
  3040. $query->table('scDayRpt_Teams')->alias('b')
  3041. ->field("DISTINCT DATE_FORMAT(
  3042. CASE
  3043. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  3044. ELSE b.dOnDuty
  3045. END,
  3046. '%Y-%m-%d'
  3047. ) AS RQ");
  3048. }, true)
  3049. ->buildSql();
  3050. $B1 = Db::table('cpjtfk')
  3051. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3052. ->field("
  3053. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3054. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  3055. ")
  3056. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  3057. ->group('drptdate,cbanzu')
  3058. ->buildSql();
  3059. $rr = Db::table('scyddx')->alias('r')
  3060. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3061. ->group('r.ICYDID')
  3062. ->buildSql();
  3063. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3064. ->field("
  3065. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3066. ROUND(SUM(
  3067. CASE
  3068. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3069. THEN
  3070. CASE
  3071. WHEN a.cCyddxMc = '装配'
  3072. OR a.cCyddxMc LIKE '%正文%'
  3073. OR a.cCyddxMc LIKE '%答案%'
  3074. OR a.cCyddxMc LIKE '%卷%'
  3075. THEN
  3076. CASE
  3077. WHEN CASE
  3078. WHEN IFNULL(d.fZls, 0) < rr.zl
  3079. THEN rr.zl
  3080. ELSE IFNULL(d.fZls, 0)
  3081. END = 0
  3082. THEN c.nzdls
  3083. ELSE (
  3084. CASE
  3085. WHEN c.nzdls <
  3086. CASE
  3087. WHEN IFNULL(d.fZls, 0) < rr.zl
  3088. THEN rr.zl
  3089. ELSE IFNULL(d.fZls, 0)
  3090. END
  3091. THEN
  3092. CASE
  3093. WHEN IFNULL(d.fZls, 0) < rr.zl
  3094. THEN rr.zl
  3095. ELSE IFNULL(d.fZls, 0)
  3096. END
  3097. ELSE c.nzdls
  3098. END
  3099. )
  3100. END
  3101. ELSE 0
  3102. END
  3103. ELSE
  3104. CASE
  3105. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3106. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3107. CASE
  3108. WHEN a.cCyddxMc = '装配'
  3109. OR a.cCyddxMc LIKE '%正文%'
  3110. OR a.cCyddxMc LIKE '%答案%'
  3111. OR a.cCyddxMc LIKE '%卷%'
  3112. THEN
  3113. CASE
  3114. WHEN CASE
  3115. WHEN IFNULL(d.fZls, 0) < rr.zl
  3116. THEN rr.zl
  3117. ELSE IFNULL(d.fZls, 0)
  3118. END = 0
  3119. THEN c.nzdls
  3120. ELSE (
  3121. CASE
  3122. WHEN c.nzdls <
  3123. CASE
  3124. WHEN IFNULL(d.fZls, 0) < rr.zl
  3125. THEN rr.zl
  3126. ELSE IFNULL(d.fZls, 0)
  3127. END
  3128. THEN
  3129. CASE
  3130. WHEN IFNULL(d.fZls, 0) < rr.zl
  3131. THEN rr.zl
  3132. ELSE IFNULL(d.fZls, 0)
  3133. END
  3134. ELSE c.nzdls
  3135. END
  3136. )
  3137. END
  3138. ELSE 0
  3139. END
  3140. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3141. END
  3142. END )
  3143. , 3) 精11乙纸令
  3144. ")
  3145. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3146. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3147. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3148. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3149. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3150. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3151. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  3152. ->group("CASE
  3153. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3154. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3155. END,Name_WorkGroup")
  3156. ->buildSql();
  3157. $db = Db::table($A . 'a')
  3158. ->field("
  3159. DATE(A.RQ) rq,
  3160. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  3161. ")
  3162. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  3163. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  3164. ->buildSql();
  3165. $jp = Db::table($db . ' db')
  3166. ->field("
  3167. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  3168. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  3169. ")->where("db.RQ >= '{$this->start_time()}'
  3170. AND db.RQ <= '{$this->end_time()}' ")
  3171. ->group('MONTH(db.rq)')
  3172. ->select();
  3173. $B = Db::table('cpjtfk')
  3174. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3175. ->field("
  3176. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3177. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  3178. ")
  3179. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  3180. ->group('drptdate,cbanzu')
  3181. ->buildSql();
  3182. $B1 = Db::table('cpjtfk')
  3183. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3184. ->field("
  3185. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3186. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  3187. ")
  3188. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  3189. ->group('drptdate,cbanzu')
  3190. ->buildSql();
  3191. $C = Db::table('cpjtfk')
  3192. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3193. ->field("
  3194. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3195. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  3196. ")
  3197. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  3198. ->group('drptdate,cbanzu')
  3199. ->buildSql();
  3200. $C1 = Db::table('cpjtfk')
  3201. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3202. ->field("
  3203. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3204. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  3205. ")
  3206. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  3207. ->group('drptdate,cbanzu')
  3208. ->buildSql();
  3209. $D = Db::table('cpjtfk')
  3210. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3211. ->field("
  3212. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3213. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  3214. ")
  3215. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  3216. ->group('drptdate,cbanzu')
  3217. ->buildSql();
  3218. $D1 = Db::table('cpjtfk')
  3219. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3220. ->field("
  3221. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3222. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  3223. ")
  3224. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  3225. ->group('drptdate,cbanzu')
  3226. ->buildSql();
  3227. $E = Db::table('cpjtfk')
  3228. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3229. ->field("
  3230. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3231. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  3232. ")
  3233. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  3234. ->group('drptdate,cbanzu')
  3235. ->buildSql();
  3236. $E1 = Db::table('cpjtfk')
  3237. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3238. ->field("
  3239. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3240. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  3241. ")
  3242. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  3243. ->group('drptdate,cbanzu')
  3244. ->buildSql();
  3245. $F = Db::table('cpjtfk')
  3246. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3247. ->field("
  3248. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3249. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  3250. ")
  3251. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  3252. ->group('drptdate,cbanzu')
  3253. ->buildSql();
  3254. $F1 = Db::table('cpjtfk')
  3255. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3256. ->field("
  3257. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3258. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  3259. ")
  3260. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  3261. ->group('drptdate,cbanzu')
  3262. ->buildSql();
  3263. $rr = Db::table('scyddx')->alias('r')
  3264. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3265. ->group('r.ICYDID')
  3266. ->buildSql();
  3267. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  3268. ->field("
  3269. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3270. ROUND(SUM(
  3271. CASE
  3272. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3273. THEN CASE WHEN a.cCyddxMc = '装配'
  3274. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3275. THEN CASE
  3276. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3277. END = 0 THEN c.nzdls
  3278. ELSE ( CASE
  3279. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3280. END
  3281. THEN CASE
  3282. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3283. END ELSE c.nzdls END
  3284. ) END ELSE 0 END
  3285. ELSE CASE
  3286. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3287. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3288. CASE WHEN a.cCyddxMc = '装配'
  3289. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3290. THEN CASE
  3291. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3292. END = 0 THEN c.nzdls
  3293. ELSE ( CASE WHEN c.nzdls <
  3294. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3295. END
  3296. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3297. END ELSE c.nzdls END )
  3298. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3299. END END ), 3) 马11甲纸令 ")
  3300. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3301. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3302. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3303. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3304. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3305. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3306. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  3307. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3308. ->group("CASE
  3309. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3310. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3311. END,Name_WorkGroup")->buildSql();
  3312. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3313. ->field("
  3314. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3315. ROUND(SUM(
  3316. CASE
  3317. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3318. THEN
  3319. CASE
  3320. WHEN a.cCyddxMc = '装配'
  3321. OR a.cCyddxMc LIKE '%正文%'
  3322. OR a.cCyddxMc LIKE '%答案%'
  3323. OR a.cCyddxMc LIKE '%卷%'
  3324. THEN
  3325. CASE
  3326. WHEN CASE
  3327. WHEN IFNULL(d.fZls, 0) < rr.zl
  3328. THEN rr.zl
  3329. ELSE IFNULL(d.fZls, 0)
  3330. END = 0
  3331. THEN c.nzdls
  3332. ELSE (
  3333. CASE
  3334. WHEN c.nzdls <
  3335. CASE
  3336. WHEN IFNULL(d.fZls, 0) < rr.zl
  3337. THEN rr.zl
  3338. ELSE IFNULL(d.fZls, 0)
  3339. END
  3340. THEN
  3341. CASE
  3342. WHEN IFNULL(d.fZls, 0) < rr.zl
  3343. THEN rr.zl
  3344. ELSE IFNULL(d.fZls, 0)
  3345. END
  3346. ELSE c.nzdls
  3347. END
  3348. )
  3349. END
  3350. ELSE 0
  3351. END
  3352. ELSE
  3353. CASE
  3354. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3355. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3356. CASE
  3357. WHEN a.cCyddxMc = '装配'
  3358. OR a.cCyddxMc LIKE '%正文%'
  3359. OR a.cCyddxMc LIKE '%答案%'
  3360. OR a.cCyddxMc LIKE '%卷%'
  3361. THEN
  3362. CASE
  3363. WHEN CASE
  3364. WHEN IFNULL(d.fZls, 0) < rr.zl
  3365. THEN rr.zl
  3366. ELSE IFNULL(d.fZls, 0)
  3367. END = 0
  3368. THEN c.nzdls
  3369. ELSE (
  3370. CASE
  3371. WHEN c.nzdls <
  3372. CASE
  3373. WHEN IFNULL(d.fZls, 0) < rr.zl
  3374. THEN rr.zl
  3375. ELSE IFNULL(d.fZls, 0)
  3376. END
  3377. THEN
  3378. CASE
  3379. WHEN IFNULL(d.fZls, 0) < rr.zl
  3380. THEN rr.zl
  3381. ELSE IFNULL(d.fZls, 0)
  3382. END
  3383. ELSE c.nzdls
  3384. END
  3385. )
  3386. END
  3387. ELSE 0
  3388. END
  3389. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3390. END
  3391. END )
  3392. , 3) 马11乙纸令
  3393. ")
  3394. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3395. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3396. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3397. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3398. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3399. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3400. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  3401. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3402. ->group("CASE
  3403. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3404. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3405. END,Name_WorkGroup")
  3406. ->buildSql();
  3407. $CC = Db::table('ql_report_feedback_day')->alias('a')
  3408. ->field("
  3409. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3410. ROUND(SUM(
  3411. CASE
  3412. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3413. THEN
  3414. CASE
  3415. WHEN a.cCyddxMc = '装配'
  3416. OR a.cCyddxMc LIKE '%正文%'
  3417. OR a.cCyddxMc LIKE '%答案%'
  3418. OR a.cCyddxMc LIKE '%卷%'
  3419. THEN
  3420. CASE
  3421. WHEN CASE
  3422. WHEN IFNULL(d.fZls, 0) < rr.zl
  3423. THEN rr.zl
  3424. ELSE IFNULL(d.fZls, 0)
  3425. END = 0
  3426. THEN c.nzdls
  3427. ELSE (
  3428. CASE
  3429. WHEN c.nzdls <
  3430. CASE
  3431. WHEN IFNULL(d.fZls, 0) < rr.zl
  3432. THEN rr.zl
  3433. ELSE IFNULL(d.fZls, 0)
  3434. END
  3435. THEN
  3436. CASE
  3437. WHEN IFNULL(d.fZls, 0) < rr.zl
  3438. THEN rr.zl
  3439. ELSE IFNULL(d.fZls, 0)
  3440. END
  3441. ELSE c.nzdls
  3442. END
  3443. )
  3444. END
  3445. ELSE 0
  3446. END
  3447. ELSE
  3448. CASE
  3449. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3450. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3451. CASE
  3452. WHEN a.cCyddxMc = '装配'
  3453. OR a.cCyddxMc LIKE '%正文%'
  3454. OR a.cCyddxMc LIKE '%答案%'
  3455. OR a.cCyddxMc LIKE '%卷%'
  3456. THEN
  3457. CASE
  3458. WHEN CASE
  3459. WHEN IFNULL(d.fZls, 0) < rr.zl
  3460. THEN rr.zl
  3461. ELSE IFNULL(d.fZls, 0)
  3462. END = 0
  3463. THEN c.nzdls
  3464. ELSE (
  3465. CASE
  3466. WHEN c.nzdls <
  3467. CASE
  3468. WHEN IFNULL(d.fZls, 0) < rr.zl
  3469. THEN rr.zl
  3470. ELSE IFNULL(d.fZls, 0)
  3471. END
  3472. THEN
  3473. CASE
  3474. WHEN IFNULL(d.fZls, 0) < rr.zl
  3475. THEN rr.zl
  3476. ELSE IFNULL(d.fZls, 0)
  3477. END
  3478. ELSE c.nzdls
  3479. END
  3480. )
  3481. END
  3482. ELSE 0
  3483. END
  3484. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3485. END
  3486. END )
  3487. , 3) 马22甲纸令
  3488. ")
  3489. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3490. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3491. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3492. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3493. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3494. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3495. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  3496. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3497. ->group("CASE
  3498. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3499. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3500. END,Name_WorkGroup")
  3501. ->buildSql();
  3502. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  3503. ->field("
  3504. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3505. ROUND(SUM(
  3506. CASE
  3507. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3508. THEN
  3509. CASE
  3510. WHEN a.cCyddxMc = '装配'
  3511. OR a.cCyddxMc LIKE '%正文%'
  3512. OR a.cCyddxMc LIKE '%答案%'
  3513. OR a.cCyddxMc LIKE '%卷%'
  3514. THEN
  3515. CASE
  3516. WHEN CASE
  3517. WHEN IFNULL(d.fZls, 0) < rr.zl
  3518. THEN rr.zl
  3519. ELSE IFNULL(d.fZls, 0)
  3520. END = 0
  3521. THEN c.nzdls
  3522. ELSE (
  3523. CASE
  3524. WHEN c.nzdls <
  3525. CASE
  3526. WHEN IFNULL(d.fZls, 0) < rr.zl
  3527. THEN rr.zl
  3528. ELSE IFNULL(d.fZls, 0)
  3529. END
  3530. THEN
  3531. CASE
  3532. WHEN IFNULL(d.fZls, 0) < rr.zl
  3533. THEN rr.zl
  3534. ELSE IFNULL(d.fZls, 0)
  3535. END
  3536. ELSE c.nzdls
  3537. END
  3538. )
  3539. END
  3540. ELSE 0
  3541. END
  3542. ELSE
  3543. CASE
  3544. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3545. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3546. CASE
  3547. WHEN a.cCyddxMc = '装配'
  3548. OR a.cCyddxMc LIKE '%正文%'
  3549. OR a.cCyddxMc LIKE '%答案%'
  3550. OR a.cCyddxMc LIKE '%卷%'
  3551. THEN
  3552. CASE
  3553. WHEN CASE
  3554. WHEN IFNULL(d.fZls, 0) < rr.zl
  3555. THEN rr.zl
  3556. ELSE IFNULL(d.fZls, 0)
  3557. END = 0
  3558. THEN c.nzdls
  3559. ELSE (
  3560. CASE
  3561. WHEN c.nzdls <
  3562. CASE
  3563. WHEN IFNULL(d.fZls, 0) < rr.zl
  3564. THEN rr.zl
  3565. ELSE IFNULL(d.fZls, 0)
  3566. END
  3567. THEN
  3568. CASE
  3569. WHEN IFNULL(d.fZls, 0) < rr.zl
  3570. THEN rr.zl
  3571. ELSE IFNULL(d.fZls, 0)
  3572. END
  3573. ELSE c.nzdls
  3574. END
  3575. )
  3576. END
  3577. ELSE 0
  3578. END
  3579. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3580. END
  3581. END )
  3582. , 3) 马22乙纸令
  3583. ")
  3584. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3585. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3586. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3587. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3588. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3589. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3590. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  3591. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3592. ->group("CASE
  3593. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3594. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3595. END,Name_WorkGroup")
  3596. ->buildSql();
  3597. $EE = Db::table('ql_report_feedback_day')->alias('a')
  3598. ->field("
  3599. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3600. ROUND(SUM(
  3601. CASE
  3602. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3603. THEN
  3604. CASE
  3605. WHEN a.cCyddxMc = '装配'
  3606. OR a.cCyddxMc LIKE '%正文%'
  3607. OR a.cCyddxMc LIKE '%答案%'
  3608. OR a.cCyddxMc LIKE '%卷%'
  3609. THEN
  3610. CASE
  3611. WHEN CASE
  3612. WHEN IFNULL(d.fZls, 0) < rr.zl
  3613. THEN rr.zl
  3614. ELSE IFNULL(d.fZls, 0)
  3615. END = 0
  3616. THEN c.nzdls
  3617. ELSE (
  3618. CASE
  3619. WHEN c.nzdls <
  3620. CASE
  3621. WHEN IFNULL(d.fZls, 0) < rr.zl
  3622. THEN rr.zl
  3623. ELSE IFNULL(d.fZls, 0)
  3624. END
  3625. THEN
  3626. CASE
  3627. WHEN IFNULL(d.fZls, 0) < rr.zl
  3628. THEN rr.zl
  3629. ELSE IFNULL(d.fZls, 0)
  3630. END
  3631. ELSE c.nzdls
  3632. END
  3633. )
  3634. END
  3635. ELSE 0
  3636. END
  3637. ELSE
  3638. CASE
  3639. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3640. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3641. CASE
  3642. WHEN a.cCyddxMc = '装配'
  3643. OR a.cCyddxMc LIKE '%正文%'
  3644. OR a.cCyddxMc LIKE '%答案%'
  3645. OR a.cCyddxMc LIKE '%卷%'
  3646. THEN
  3647. CASE
  3648. WHEN CASE
  3649. WHEN IFNULL(d.fZls, 0) < rr.zl
  3650. THEN rr.zl
  3651. ELSE IFNULL(d.fZls, 0)
  3652. END = 0
  3653. THEN c.nzdls
  3654. ELSE (
  3655. CASE
  3656. WHEN c.nzdls <
  3657. CASE
  3658. WHEN IFNULL(d.fZls, 0) < rr.zl
  3659. THEN rr.zl
  3660. ELSE IFNULL(d.fZls, 0)
  3661. END
  3662. THEN
  3663. CASE
  3664. WHEN IFNULL(d.fZls, 0) < rr.zl
  3665. THEN rr.zl
  3666. ELSE IFNULL(d.fZls, 0)
  3667. END
  3668. ELSE c.nzdls
  3669. END
  3670. )
  3671. END
  3672. ELSE 0
  3673. END
  3674. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3675. END
  3676. END )
  3677. , 3) 马33甲纸令
  3678. ")
  3679. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3680. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3681. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3682. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3683. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3684. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3685. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  3686. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3687. ->group("CASE
  3688. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3689. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3690. END,Name_WorkGroup")
  3691. ->buildSql();
  3692. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  3693. ->field("
  3694. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3695. ROUND(SUM(
  3696. CASE
  3697. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3698. THEN
  3699. CASE
  3700. WHEN a.cCyddxMc = '装配'
  3701. OR a.cCyddxMc LIKE '%正文%'
  3702. OR a.cCyddxMc LIKE '%答案%'
  3703. OR a.cCyddxMc LIKE '%卷%'
  3704. THEN
  3705. CASE
  3706. WHEN CASE
  3707. WHEN IFNULL(d.fZls, 0) < rr.zl
  3708. THEN rr.zl
  3709. ELSE IFNULL(d.fZls, 0)
  3710. END = 0
  3711. THEN c.nzdls
  3712. ELSE (
  3713. CASE
  3714. WHEN c.nzdls <
  3715. CASE
  3716. WHEN IFNULL(d.fZls, 0) < rr.zl
  3717. THEN rr.zl
  3718. ELSE IFNULL(d.fZls, 0)
  3719. END
  3720. THEN
  3721. CASE
  3722. WHEN IFNULL(d.fZls, 0) < rr.zl
  3723. THEN rr.zl
  3724. ELSE IFNULL(d.fZls, 0)
  3725. END
  3726. ELSE c.nzdls
  3727. END
  3728. )
  3729. END
  3730. ELSE 0
  3731. END
  3732. ELSE
  3733. CASE
  3734. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3735. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3736. CASE
  3737. WHEN a.cCyddxMc = '装配'
  3738. OR a.cCyddxMc LIKE '%正文%'
  3739. OR a.cCyddxMc LIKE '%答案%'
  3740. OR a.cCyddxMc LIKE '%卷%'
  3741. THEN
  3742. CASE
  3743. WHEN CASE
  3744. WHEN IFNULL(d.fZls, 0) < rr.zl
  3745. THEN rr.zl
  3746. ELSE IFNULL(d.fZls, 0)
  3747. END = 0
  3748. THEN c.nzdls
  3749. ELSE (
  3750. CASE
  3751. WHEN c.nzdls <
  3752. CASE
  3753. WHEN IFNULL(d.fZls, 0) < rr.zl
  3754. THEN rr.zl
  3755. ELSE IFNULL(d.fZls, 0)
  3756. END
  3757. THEN
  3758. CASE
  3759. WHEN IFNULL(d.fZls, 0) < rr.zl
  3760. THEN rr.zl
  3761. ELSE IFNULL(d.fZls, 0)
  3762. END
  3763. ELSE c.nzdls
  3764. END
  3765. )
  3766. END
  3767. ELSE 0
  3768. END
  3769. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3770. END
  3771. END )
  3772. , 3) 马33乙纸令
  3773. ")
  3774. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3775. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3776. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3777. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3778. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3779. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3780. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  3781. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3782. ->group("CASE
  3783. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3784. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3785. END,Name_WorkGroup")
  3786. ->buildSql();
  3787. $HH = Db::table('ql_report_feedback_day')->alias('a')
  3788. ->field("
  3789. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3790. ROUND(SUM(
  3791. CASE
  3792. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3793. THEN
  3794. CASE
  3795. WHEN a.cCyddxMc = '装配'
  3796. OR a.cCyddxMc LIKE '%正文%'
  3797. OR a.cCyddxMc LIKE '%答案%'
  3798. OR a.cCyddxMc LIKE '%卷%'
  3799. THEN
  3800. CASE
  3801. WHEN CASE
  3802. WHEN IFNULL(d.fZls, 0) < rr.zl
  3803. THEN rr.zl
  3804. ELSE IFNULL(d.fZls, 0)
  3805. END = 0
  3806. THEN c.nzdls
  3807. ELSE (
  3808. CASE
  3809. WHEN c.nzdls <
  3810. CASE
  3811. WHEN IFNULL(d.fZls, 0) < rr.zl
  3812. THEN rr.zl
  3813. ELSE IFNULL(d.fZls, 0)
  3814. END
  3815. THEN
  3816. CASE
  3817. WHEN IFNULL(d.fZls, 0) < rr.zl
  3818. THEN rr.zl
  3819. ELSE IFNULL(d.fZls, 0)
  3820. END
  3821. ELSE c.nzdls
  3822. END
  3823. )
  3824. END
  3825. ELSE 0
  3826. END
  3827. ELSE
  3828. CASE
  3829. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3830. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3831. CASE
  3832. WHEN a.cCyddxMc = '装配'
  3833. OR a.cCyddxMc LIKE '%正文%'
  3834. OR a.cCyddxMc LIKE '%答案%'
  3835. OR a.cCyddxMc LIKE '%卷%'
  3836. THEN
  3837. CASE
  3838. WHEN CASE
  3839. WHEN IFNULL(d.fZls, 0) < rr.zl
  3840. THEN rr.zl
  3841. ELSE IFNULL(d.fZls, 0)
  3842. END = 0
  3843. THEN c.nzdls
  3844. ELSE (
  3845. CASE
  3846. WHEN c.nzdls <
  3847. CASE
  3848. WHEN IFNULL(d.fZls, 0) < rr.zl
  3849. THEN rr.zl
  3850. ELSE IFNULL(d.fZls, 0)
  3851. END
  3852. THEN
  3853. CASE
  3854. WHEN IFNULL(d.fZls, 0) < rr.zl
  3855. THEN rr.zl
  3856. ELSE IFNULL(d.fZls, 0)
  3857. END
  3858. ELSE c.nzdls
  3859. END
  3860. )
  3861. END
  3862. ELSE 0
  3863. END
  3864. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3865. END
  3866. END )
  3867. , 3) 马44甲纸令
  3868. ")
  3869. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3870. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3871. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3872. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3873. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3874. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3875. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  3876. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3877. ->group("CASE
  3878. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3879. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3880. END,Name_WorkGroup")
  3881. ->buildSql();
  3882. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  3883. ->field("
  3884. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3885. ROUND(SUM(
  3886. CASE
  3887. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3888. THEN
  3889. CASE
  3890. WHEN a.cCyddxMc = '装配'
  3891. OR a.cCyddxMc LIKE '%正文%'
  3892. OR a.cCyddxMc LIKE '%答案%'
  3893. OR a.cCyddxMc LIKE '%卷%'
  3894. THEN
  3895. CASE
  3896. WHEN CASE
  3897. WHEN IFNULL(d.fZls, 0) < rr.zl
  3898. THEN rr.zl
  3899. ELSE IFNULL(d.fZls, 0)
  3900. END = 0
  3901. THEN c.nzdls
  3902. ELSE (
  3903. CASE
  3904. WHEN c.nzdls <
  3905. CASE
  3906. WHEN IFNULL(d.fZls, 0) < rr.zl
  3907. THEN rr.zl
  3908. ELSE IFNULL(d.fZls, 0)
  3909. END
  3910. THEN
  3911. CASE
  3912. WHEN IFNULL(d.fZls, 0) < rr.zl
  3913. THEN rr.zl
  3914. ELSE IFNULL(d.fZls, 0)
  3915. END
  3916. ELSE c.nzdls
  3917. END
  3918. )
  3919. END
  3920. ELSE 0
  3921. END
  3922. ELSE
  3923. CASE
  3924. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3925. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3926. CASE
  3927. WHEN a.cCyddxMc = '装配'
  3928. OR a.cCyddxMc LIKE '%正文%'
  3929. OR a.cCyddxMc LIKE '%答案%'
  3930. OR a.cCyddxMc LIKE '%卷%'
  3931. THEN
  3932. CASE
  3933. WHEN CASE
  3934. WHEN IFNULL(d.fZls, 0) < rr.zl
  3935. THEN rr.zl
  3936. ELSE IFNULL(d.fZls, 0)
  3937. END = 0
  3938. THEN c.nzdls
  3939. ELSE (
  3940. CASE
  3941. WHEN c.nzdls <
  3942. CASE
  3943. WHEN IFNULL(d.fZls, 0) < rr.zl
  3944. THEN rr.zl
  3945. ELSE IFNULL(d.fZls, 0)
  3946. END
  3947. THEN
  3948. CASE
  3949. WHEN IFNULL(d.fZls, 0) < rr.zl
  3950. THEN rr.zl
  3951. ELSE IFNULL(d.fZls, 0)
  3952. END
  3953. ELSE c.nzdls
  3954. END
  3955. )
  3956. END
  3957. ELSE 0
  3958. END
  3959. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3960. END
  3961. END )
  3962. , 3) 马44乙纸令
  3963. ")
  3964. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3965. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3966. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3967. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3968. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3969. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3970. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  3971. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3972. ->group("CASE
  3973. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3974. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3975. END,Name_WorkGroup")
  3976. ->buildSql();
  3977. $XX = Db::table('ql_report_feedback_day')->alias('a')
  3978. ->field("
  3979. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3980. ROUND(SUM(
  3981. CASE
  3982. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3983. THEN
  3984. CASE
  3985. WHEN a.cCyddxMc = '装配'
  3986. OR a.cCyddxMc LIKE '%正文%'
  3987. OR a.cCyddxMc LIKE '%答案%'
  3988. OR a.cCyddxMc LIKE '%卷%'
  3989. THEN
  3990. CASE
  3991. WHEN CASE
  3992. WHEN IFNULL(d.fZls, 0) < rr.zl
  3993. THEN rr.zl
  3994. ELSE IFNULL(d.fZls, 0)
  3995. END = 0
  3996. THEN c.nzdls
  3997. ELSE (
  3998. CASE
  3999. WHEN c.nzdls <
  4000. CASE
  4001. WHEN IFNULL(d.fZls, 0) < rr.zl
  4002. THEN rr.zl
  4003. ELSE IFNULL(d.fZls, 0)
  4004. END
  4005. THEN
  4006. CASE
  4007. WHEN IFNULL(d.fZls, 0) < rr.zl
  4008. THEN rr.zl
  4009. ELSE IFNULL(d.fZls, 0)
  4010. END
  4011. ELSE c.nzdls
  4012. END
  4013. )
  4014. END
  4015. ELSE 0
  4016. END
  4017. ELSE
  4018. CASE
  4019. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4020. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4021. CASE
  4022. WHEN a.cCyddxMc = '装配'
  4023. OR a.cCyddxMc LIKE '%正文%'
  4024. OR a.cCyddxMc LIKE '%答案%'
  4025. OR a.cCyddxMc LIKE '%卷%'
  4026. THEN
  4027. CASE
  4028. WHEN CASE
  4029. WHEN IFNULL(d.fZls, 0) < rr.zl
  4030. THEN rr.zl
  4031. ELSE IFNULL(d.fZls, 0)
  4032. END = 0
  4033. THEN c.nzdls
  4034. ELSE (
  4035. CASE
  4036. WHEN c.nzdls <
  4037. CASE
  4038. WHEN IFNULL(d.fZls, 0) < rr.zl
  4039. THEN rr.zl
  4040. ELSE IFNULL(d.fZls, 0)
  4041. END
  4042. THEN
  4043. CASE
  4044. WHEN IFNULL(d.fZls, 0) < rr.zl
  4045. THEN rr.zl
  4046. ELSE IFNULL(d.fZls, 0)
  4047. END
  4048. ELSE c.nzdls
  4049. END
  4050. )
  4051. END
  4052. ELSE 0
  4053. END
  4054. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4055. END
  4056. END )
  4057. , 3) 马55甲纸令
  4058. ")
  4059. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4060. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4061. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4062. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4063. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4064. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4065. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  4066. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4067. ->group("CASE
  4068. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4069. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4070. END,Name_WorkGroup")
  4071. ->buildSql();
  4072. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  4073. ->field("
  4074. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4075. ROUND(SUM(
  4076. CASE
  4077. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4078. THEN
  4079. CASE
  4080. WHEN a.cCyddxMc = '装配'
  4081. OR a.cCyddxMc LIKE '%正文%'
  4082. OR a.cCyddxMc LIKE '%答案%'
  4083. OR a.cCyddxMc LIKE '%卷%'
  4084. THEN
  4085. CASE
  4086. WHEN CASE
  4087. WHEN IFNULL(d.fZls, 0) < rr.zl
  4088. THEN rr.zl
  4089. ELSE IFNULL(d.fZls, 0)
  4090. END = 0
  4091. THEN c.nzdls
  4092. ELSE (
  4093. CASE
  4094. WHEN c.nzdls <
  4095. CASE
  4096. WHEN IFNULL(d.fZls, 0) < rr.zl
  4097. THEN rr.zl
  4098. ELSE IFNULL(d.fZls, 0)
  4099. END
  4100. THEN
  4101. CASE
  4102. WHEN IFNULL(d.fZls, 0) < rr.zl
  4103. THEN rr.zl
  4104. ELSE IFNULL(d.fZls, 0)
  4105. END
  4106. ELSE c.nzdls
  4107. END
  4108. )
  4109. END
  4110. ELSE 0
  4111. END
  4112. ELSE
  4113. CASE
  4114. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4115. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4116. CASE
  4117. WHEN a.cCyddxMc = '装配'
  4118. OR a.cCyddxMc LIKE '%正文%'
  4119. OR a.cCyddxMc LIKE '%答案%'
  4120. OR a.cCyddxMc LIKE '%卷%'
  4121. THEN
  4122. CASE
  4123. WHEN CASE
  4124. WHEN IFNULL(d.fZls, 0) < rr.zl
  4125. THEN rr.zl
  4126. ELSE IFNULL(d.fZls, 0)
  4127. END = 0
  4128. THEN c.nzdls
  4129. ELSE (
  4130. CASE
  4131. WHEN c.nzdls <
  4132. CASE
  4133. WHEN IFNULL(d.fZls, 0) < rr.zl
  4134. THEN rr.zl
  4135. ELSE IFNULL(d.fZls, 0)
  4136. END
  4137. THEN
  4138. CASE
  4139. WHEN IFNULL(d.fZls, 0) < rr.zl
  4140. THEN rr.zl
  4141. ELSE IFNULL(d.fZls, 0)
  4142. END
  4143. ELSE c.nzdls
  4144. END
  4145. )
  4146. END
  4147. ELSE 0
  4148. END
  4149. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4150. END
  4151. END )
  4152. , 3) 马55乙纸令
  4153. ")
  4154. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4155. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4156. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4157. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4158. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4159. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4160. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  4161. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4162. ->group("CASE
  4163. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4164. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4165. END,Name_WorkGroup")
  4166. ->buildSql();
  4167. $db = Db::table($A . 'a')
  4168. ->field("
  4169. DISTINCT DATE(A.RQ) rq,
  4170. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  4171. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  4172. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  4173. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  4174. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  4175. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  4176. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  4177. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  4178. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  4179. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0), 0) 纸令数总计
  4180. ")
  4181. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  4182. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4183. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  4184. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  4185. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  4186. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  4187. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  4188. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  4189. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  4190. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  4191. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4192. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4193. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  4194. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  4195. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  4196. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  4197. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  4198. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  4199. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  4200. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  4201. ->group('rq')
  4202. ->buildSql();
  4203. $jd = Db::table($db . ' db')
  4204. ->field("
  4205. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4206. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  4207. ")
  4208. ->where("db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ")
  4209. ->group('MONTH(db.rq)')
  4210. ->select();
  4211. /**
  4212. * 簿册联动线纸令
  4213. */
  4214. $B = Db::table('cpjtfk')
  4215. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4216. ->field("
  4217. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4218. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  4219. ")
  4220. ->where('cbanzu','=','簿册机1号(甲班)')
  4221. ->group('drptdate,cbanzu')
  4222. ->buildSql();
  4223. $B1 = Db::table('cpjtfk')
  4224. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4225. ->field("
  4226. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4227. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  4228. ")
  4229. ->where('cbanzu','=','簿册机1号(乙班)')
  4230. ->group('drptdate,cbanzu')
  4231. ->buildSql();
  4232. $rr = Db::table('scyddx')->alias('r')
  4233. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4234. ->group('r.ICYDID')
  4235. ->buildSql();
  4236. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4237. ->field("
  4238. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4239. ROUND(SUM(
  4240. CASE
  4241. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4242. THEN
  4243. CASE
  4244. WHEN a.cCyddxMc = '装配'
  4245. OR a.cCyddxMc LIKE '%正文%'
  4246. OR a.cCyddxMc LIKE '%答案%'
  4247. OR a.cCyddxMc LIKE '%卷%'
  4248. THEN
  4249. CASE
  4250. WHEN CASE
  4251. WHEN IFNULL(d.fZls, 0) < rr.zl
  4252. THEN rr.zl
  4253. ELSE IFNULL(d.fZls, 0)
  4254. END = 0
  4255. THEN c.nzdls
  4256. ELSE (
  4257. CASE
  4258. WHEN c.nzdls <
  4259. CASE
  4260. WHEN IFNULL(d.fZls, 0) < rr.zl
  4261. THEN rr.zl
  4262. ELSE IFNULL(d.fZls, 0)
  4263. END
  4264. THEN
  4265. CASE
  4266. WHEN IFNULL(d.fZls, 0) < rr.zl
  4267. THEN rr.zl
  4268. ELSE IFNULL(d.fZls, 0)
  4269. END
  4270. ELSE c.nzdls
  4271. END
  4272. )
  4273. END
  4274. ELSE 0
  4275. END
  4276. ELSE
  4277. CASE
  4278. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4279. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4280. CASE
  4281. WHEN a.cCyddxMc = '装配'
  4282. OR a.cCyddxMc LIKE '%正文%'
  4283. OR a.cCyddxMc LIKE '%答案%'
  4284. OR a.cCyddxMc LIKE '%卷%'
  4285. THEN
  4286. CASE
  4287. WHEN CASE
  4288. WHEN IFNULL(d.fZls, 0) < rr.zl
  4289. THEN rr.zl
  4290. ELSE IFNULL(d.fZls, 0)
  4291. END = 0
  4292. THEN c.nzdls
  4293. ELSE (
  4294. CASE
  4295. WHEN c.nzdls <
  4296. CASE
  4297. WHEN IFNULL(d.fZls, 0) < rr.zl
  4298. THEN rr.zl
  4299. ELSE IFNULL(d.fZls, 0)
  4300. END
  4301. THEN
  4302. CASE
  4303. WHEN IFNULL(d.fZls, 0) < rr.zl
  4304. THEN rr.zl
  4305. ELSE IFNULL(d.fZls, 0)
  4306. END
  4307. ELSE c.nzdls
  4308. END
  4309. )
  4310. END
  4311. ELSE 0
  4312. END
  4313. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4314. END
  4315. END )
  4316. , 3) 簿11甲纸令
  4317. ")
  4318. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4319. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4320. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4321. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4322. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4323. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4324. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  4325. ->where('a.cTechName' ,'=','簿册联动')
  4326. ->group("CASE
  4327. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4328. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4329. END,Name_WorkGroup")
  4330. ->buildSql();
  4331. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4332. ->field("
  4333. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4334. ROUND(SUM(
  4335. CASE
  4336. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4337. THEN
  4338. CASE
  4339. WHEN a.cCyddxMc = '装配'
  4340. OR a.cCyddxMc LIKE '%正文%'
  4341. OR a.cCyddxMc LIKE '%答案%'
  4342. OR a.cCyddxMc LIKE '%卷%'
  4343. THEN
  4344. CASE
  4345. WHEN CASE
  4346. WHEN IFNULL(d.fZls, 0) < rr.zl
  4347. THEN rr.zl
  4348. ELSE IFNULL(d.fZls, 0)
  4349. END = 0
  4350. THEN c.nzdls
  4351. ELSE (
  4352. CASE
  4353. WHEN c.nzdls <
  4354. CASE
  4355. WHEN IFNULL(d.fZls, 0) < rr.zl
  4356. THEN rr.zl
  4357. ELSE IFNULL(d.fZls, 0)
  4358. END
  4359. THEN
  4360. CASE
  4361. WHEN IFNULL(d.fZls, 0) < rr.zl
  4362. THEN rr.zl
  4363. ELSE IFNULL(d.fZls, 0)
  4364. END
  4365. ELSE c.nzdls
  4366. END
  4367. )
  4368. END
  4369. ELSE 0
  4370. END
  4371. ELSE
  4372. CASE
  4373. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4374. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4375. CASE
  4376. WHEN a.cCyddxMc = '装配'
  4377. OR a.cCyddxMc LIKE '%正文%'
  4378. OR a.cCyddxMc LIKE '%答案%'
  4379. OR a.cCyddxMc LIKE '%卷%'
  4380. THEN
  4381. CASE
  4382. WHEN CASE
  4383. WHEN IFNULL(d.fZls, 0) < rr.zl
  4384. THEN rr.zl
  4385. ELSE IFNULL(d.fZls, 0)
  4386. END = 0
  4387. THEN c.nzdls
  4388. ELSE (
  4389. CASE
  4390. WHEN c.nzdls <
  4391. CASE
  4392. WHEN IFNULL(d.fZls, 0) < rr.zl
  4393. THEN rr.zl
  4394. ELSE IFNULL(d.fZls, 0)
  4395. END
  4396. THEN
  4397. CASE
  4398. WHEN IFNULL(d.fZls, 0) < rr.zl
  4399. THEN rr.zl
  4400. ELSE IFNULL(d.fZls, 0)
  4401. END
  4402. ELSE c.nzdls
  4403. END
  4404. )
  4405. END
  4406. ELSE 0
  4407. END
  4408. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4409. END
  4410. END )
  4411. , 3) 簿11乙纸令
  4412. ")
  4413. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4414. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4415. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4416. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4417. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4418. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4419. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  4420. ->where('a.cTechName' ,'=','簿册联动')
  4421. ->group("CASE
  4422. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4423. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4424. END,Name_WorkGroup")
  4425. ->buildSql();
  4426. $db = Db::table($A . 'a')
  4427. ->field("
  4428. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  4429. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  4430. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  4431. ")
  4432. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  4433. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4434. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4435. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4436. ->group('rq')
  4437. ->buildSql();
  4438. $bc = Db::table($db . ' db')
  4439. ->field("
  4440. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4441. ROUND(sum(db.纸令), 0) as 簿册纸令
  4442. ")->where("db.RQ >= '{$this->start_time()}'
  4443. AND db.RQ <= '{$this->end_time()}' ")
  4444. ->group('MONTH(db.rq)')
  4445. ->select();
  4446. // 创建一个结果数组
  4447. $result=[];
  4448. $result1 = [];
  4449. // 遍历第一个数组,并将数据加入结果数组
  4450. foreach ($jp as $val1) {
  4451. $month = $val1['日期'];
  4452. $data1 = $val1['精平纸令'];
  4453. if (!isset($result[$month])) {
  4454. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4455. }
  4456. if (!isset($result1[$month])) {
  4457. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4458. }
  4459. $result1[$month] += $data1; // 累加第一个数组的数据
  4460. }
  4461. // 遍历第二个数组,并将数据加入结果数组
  4462. foreach ($jd as $val2) {
  4463. $month = $val2['日期'];
  4464. $data1 = $val2['无线胶订纸令'];
  4465. if (!isset($result[$month])) {
  4466. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4467. }
  4468. if (!isset($result1[$month])) {
  4469. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4470. }
  4471. $result1[$month] += $data1; // 累加第二个数组的数据
  4472. }
  4473. foreach ($bc as $val2) {
  4474. $month = $val2['日期'];
  4475. $data1 = $val2['簿册纸令'];
  4476. if (!isset($result[$month])) {
  4477. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4478. }
  4479. if (!isset($result1[$month])) {
  4480. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4481. }
  4482. $result1[$month] += $data1; // 累加第二个数组的数据
  4483. }
  4484. foreach($result1 as $k=>$v){
  4485. $list['categories'][]=$k;
  4486. $list['series'][0]['name']='装订实物产量色令数';
  4487. $list['series'][0]['data'][]=$v;
  4488. }
  4489. $res['status']=0;
  4490. $res['msg']='';
  4491. $res['data']=$list;
  4492. $redis->set($redis_key, json_encode($result1));
  4493. // halt(json_decode($redis->get($redis_key),true));
  4494. return json_encode($result1);
  4495. }
  4496. //去年与当年--装订实物产量纸令 接口合并一起->接口调用
  4497. public function zdzl(){
  4498. $redis=redis();
  4499. $result2022=json_decode($redis->get(md5('zdzl2022')),true);
  4500. $result2023=json_decode($redis->get(md5('zdzl2023')),true);
  4501. $result1=array_merge($result2022,$result2023);
  4502. $i=0;
  4503. $j=0;
  4504. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  4505. foreach($result1 as $k=>$v){
  4506. if($k>='2023-01'){
  4507. $list['series'][1]['name']='2023年';
  4508. $list['series'][1]['data'][$j]=$v;
  4509. $j++;
  4510. }else{
  4511. $list['series'][0]['name']='2022年';
  4512. $list['series'][0]['data'][$i]=$v;
  4513. $i++;
  4514. }
  4515. }
  4516. $res['status']=0;
  4517. $res['msg']='';
  4518. $res['data']=$list;
  4519. // $redis->set($redis_key, json_encode($res),$this->redis_expire);
  4520. // halt(json_decode($redis->get($redis_key),true));
  4521. return json_encode($res);
  4522. }
  4523. //年度承接量及完成百分比->缓存调用
  4524. public function ndcj_redis(){
  4525. $redis=redis();
  4526. $redis_key = md5('ndcj_redis');
  4527. $name='年度承接产量(万色令)';
  4528. $yu=Db::name('business')->where('name',$name)->value('year_target');
  4529. $result = Db::query("SELECT
  4530. round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度
  4531. 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
  4532. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  4533. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  4534. WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  4535. GROUP BY year(t5.rq) ) M");
  4536. foreach ($result as $v) {
  4537. $list[0]['name'] = ' ';
  4538. $list[0]['value'] = round($v['色令']);
  4539. $list[1]['name'] = ' ';
  4540. $list[1]['value'] = round($v['常量']);
  4541. $list[2]['name'] = ' ';
  4542. $list[2]['value'] = round($v['色令百分比']);
  4543. }
  4544. $res['status'] = 0;
  4545. $res['msg'] = '';
  4546. $res['data'] = $list;
  4547. $redis->set($redis_key, json_encode($res));
  4548. // halt(json_decode($redis->get($redis_key),true));
  4549. return json_encode($res);
  4550. }
  4551. //年度承接量及完成百分比->接口调用
  4552. public function ndcj(){
  4553. $redis=redis();
  4554. $redis_key = md5('ndcj_redis');
  4555. $redis_data = $redis->get($redis_key);
  4556. return $redis_data;
  4557. }
  4558. //完成实物产量色令数及百分比->缓存调用
  4559. public function wcsw_redis(){
  4560. $redis=redis();
  4561. $redis_key = md5('wcsw_redis');
  4562. $name='年度完成实物产量(万色令)';
  4563. $yu=Db::name('business')->where('name',$name)->value('year_target');
  4564. $result = Db::query("SELECT
  4565. round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量
  4566. from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数'
  4567. FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL
  4568. FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a`
  4569. 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
  4570. 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(乙班)','小森八色(甲班)','小森八色(乙班)')
  4571. 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`
  4572. WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T
  4573. GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL
  4574. 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号机(乙班)')
  4575. 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`
  4576. WHERE `cMachineName` IN ('BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T
  4577. GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL
  4578. 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(乙班)','报刊轮转(甲班)','报刊轮转(乙班)')
  4579. 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`
  4580. WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号') ) )T
  4581. GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}')
  4582. GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m");
  4583. foreach ($result as $v) {
  4584. $list[0]['name'] = ' ';
  4585. $list[0]['value'] = round($v['色令数求和']);
  4586. $list[1]['name'] = ' ';
  4587. $list[1]['value'] = round($v['常量']);
  4588. $list[2]['name'] = ' ';
  4589. $list[2]['value'] = round($v['完成率']);
  4590. }
  4591. $res['status'] = 0;
  4592. $res['msg'] = '';
  4593. $res['data'] = $list;
  4594. $redis->set($redis_key, json_encode($res));
  4595. // halt(json_decode($redis->get($redis_key),true));
  4596. return json_encode($res);
  4597. }
  4598. //完成实物产量色令数及百分比->接口调用
  4599. public function wcsw(){
  4600. $redis=redis();
  4601. // $redis_key = md5('wcsw_redis');
  4602. $redis_key = md5('yssl_redis');
  4603. $redis_data = $redis->get($redis_key);
  4604. $result=json_decode($redis_data,true)['data']['series'][1]['data'];
  4605. $name='年度完成实物产量(万色令)';
  4606. $yu=Db::name('business')->where('name',$name)->value('year_target');
  4607. $num=0;
  4608. foreach($result as $v){
  4609. $num+=$v;
  4610. }
  4611. $num=$num/10000;
  4612. $list[0]['name'] = ' ';
  4613. $list[0]['value'] = round($num);
  4614. $list[1]['name'] = ' ';
  4615. $list[1]['value'] = round($yu);
  4616. $list[2]['name'] = ' ';
  4617. $list[2]['value'] = round($num/$yu*100);
  4618. $res['status'] = 0;
  4619. $res['msg'] = '';
  4620. $res['data'] = $list;
  4621. return json_encode($res);
  4622. // return $redis_data;
  4623. }
  4624. //年度销售额及百分比->缓存调用
  4625. public function ndxs_redis(){
  4626. $redis=redis();
  4627. $redis_key = md5('ndxs_redis');
  4628. $name='年度销售额(万元)';
  4629. $yu=Db::name('business')->where('name',$name)->value('year_target');
  4630. $result = Db::query("SELECT round( m.sum_nwshjje/10000/$yu*100,0) 销售收入百分比,round( m.sum_nwshjje/10000 ) 销售收入,$yu 常量
  4631. FROM(SELECT SUM( zb.sum_nwshjje ) sum_nwshjje,DCYRQ
  4632. FROM(SELECT MCYD.DCYRQ AS DCYRQ,CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje,MCYD.icydid
  4633. FROM MCYD LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid WHERE MCYD.ICYDSTATE > 0 ) zb
  4634. WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}'
  4635. GROUP BY YEAR ( zb.DCYRQ ) ) M
  4636. GROUP BY YEAR (DCYRQ),( m.sum_nwshjje )");
  4637. foreach ($result as $v) {
  4638. $list[0]['name'] = ' ';
  4639. $list[0]['value'] = round($v['销售收入']);
  4640. $list[1]['name'] = ' ';
  4641. $list[1]['value'] = round($v['常量']);
  4642. $list[2]['name'] = ' ';
  4643. $list[2]['value'] = round($v['销售收入百分比']);
  4644. }
  4645. $res['status'] = 0;
  4646. $res['msg'] = '';
  4647. $res['data'] = $list;
  4648. $redis->set($redis_key, json_encode($res));
  4649. // halt(json_decode($redis->get($redis_key),true));
  4650. return json_encode($res);
  4651. }
  4652. //年度销售额及百分比->接口调用
  4653. public function ndxs(){
  4654. $redis=redis();
  4655. $redis_key = md5('ndxs_redis');
  4656. $redis_data = $redis->get($redis_key);
  4657. return $redis_data;
  4658. }
  4659. //当年业务模块百分比->缓存调用
  4660. public function yewujg2023_redis(){
  4661. $redis=redis();
  4662. $redis_key = md5('yewujg2023_redis');
  4663. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  4664. $tj = Db::table('tjob')
  4665. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  4666. ->group('icydid, ldz, nclje, itax')
  4667. ->where('lzfbs', '=', 0)->buildSql();
  4668. return Db::table($table)->alias('ord')
  4669. ->field($field)
  4670. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  4671. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  4672. ->where('ord.icydstate', '>', 0)
  4673. ->where($groupBy)
  4674. ->buildSql();
  4675. }
  4676. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  4677. $ObjMatier = Db::table('scyddx')
  4678. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  4679. ->group('icydid')->buildSql();
  4680. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4681. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4682. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  4683. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4684. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4685. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  4686. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4687. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4688. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内'");
  4689. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4690. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4691. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  4692. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4693. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4694. ObjMatier.nysls AS nysls,
  4695. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  4696. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4697. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4698. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  4699. // 期刊色令
  4700. $t = Db::table($dd . ' dd')
  4701. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  4702. ->group('dd.cyrq')->buildSql();
  4703. // 集团出版社色令
  4704. $t1 = Db::table($tq . ' t')
  4705. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  4706. ->group('t.cyrq')->buildSql();
  4707. // 集团教材内色令
  4708. $t2 = Db::table($tt . ' t')
  4709. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  4710. ->group('t.cyrq')->buildSql();
  4711. // 集团教材外色令
  4712. $t3 = Db::table($ttt . ' t')
  4713. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  4714. ->group('t.cyrq')->buildSql();
  4715. // 外贸订单纸令、外贸订单色令
  4716. $t4 = Db::table($tttt . ' t')
  4717. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  4718. ->group('t.cyrq')->buildSql();
  4719. // 总色令
  4720. $t5 = Db::table($ttttt . ' t')
  4721. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  4722. ->group('t.cyrq')->buildSql();
  4723. $db = Db::table($a . ' a')
  4724. ->field("
  4725. DISTINCT a.dcyrq AS dcyrq,
  4726. t.期刊色令 AS 期刊色令,
  4727. t1.集团出版社色令 AS 集团出版社色令,
  4728. t2.集团教材内色令 AS 集团教材内色令,
  4729. t3.集团教材外色令 AS 集团教材外色令,
  4730. t4.外贸订单色令 AS 外贸订单色令,
  4731. t4.外贸订单纸令 AS 外贸订单纸令,
  4732. t5.总色令 AS 总色令"
  4733. )
  4734. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  4735. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  4736. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  4737. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  4738. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  4739. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  4740. ->group('date(a.dcyrq)')->buildSql();
  4741. $sql_final = Db::table($db . ' db')
  4742. ->field("
  4743. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  4744. 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 社会图书,
  4745. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  4746. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  4747. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  4748. ")
  4749. ->whereTime('dcyrq', 'between', [$this->start_time(), $this->end_time()])
  4750. ->group('year(db.dcyrq)')->find();
  4751. $i=0;
  4752. foreach($sql_final as $v){
  4753. $list[$i]['name']=' ';
  4754. $list[$i]['value']=round($v);
  4755. $i++;
  4756. }
  4757. $res['status']=0;
  4758. $res['msg']='';
  4759. $res['data']=$list;
  4760. $redis->set($redis_key, json_encode($res));
  4761. // halt(json_decode($redis->get($redis_key),true));
  4762. return json_encode($res);
  4763. }
  4764. //当年业务模块百分比->接口调用
  4765. public function yewujg2023(){
  4766. $redis=redis();
  4767. $redis_key = md5('yewujg2023_redis');
  4768. $redis_data = $redis->get($redis_key);
  4769. return $redis_data;
  4770. }
  4771. //去年业务模块百分比->缓存调用
  4772. public function yewujg2022_redis(){
  4773. $redis=redis();
  4774. $redis_key = md5('yewujg2022_redis');
  4775. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  4776. $tj = Db::table('tjob')
  4777. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  4778. ->group('icydid, ldz, nclje, itax')
  4779. ->where('lzfbs', '=', 0)->buildSql();
  4780. return Db::table($table)->alias('ord')
  4781. ->field($field)
  4782. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  4783. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  4784. ->where('ord.icydstate', '>', 0)
  4785. ->where($groupBy)
  4786. ->buildSql();
  4787. }
  4788. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  4789. $ObjMatier = Db::table('scyddx')
  4790. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  4791. ->group('icydid')->buildSql();
  4792. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4793. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4794. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  4795. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4796. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4797. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  4798. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4799. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4800. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内'");
  4801. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4802. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4803. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  4804. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4805. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4806. ObjMatier.nysls AS nysls,
  4807. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  4808. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  4809. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  4810. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  4811. // 期刊色令
  4812. $t = Db::table($dd . ' dd')
  4813. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  4814. ->group('dd.cyrq')->buildSql();
  4815. // 集团出版社色令
  4816. $t1 = Db::table($tq . ' t')
  4817. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  4818. ->group('t.cyrq')->buildSql();
  4819. // 集团教材内色令
  4820. $t2 = Db::table($tt . ' t')
  4821. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  4822. ->group('t.cyrq')->buildSql();
  4823. // 集团教材外色令
  4824. $t3 = Db::table($ttt . ' t')
  4825. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  4826. ->group('t.cyrq')->buildSql();
  4827. // 外贸订单纸令、外贸订单色令
  4828. $t4 = Db::table($tttt . ' t')
  4829. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  4830. ->group('t.cyrq')->buildSql();
  4831. // 总色令
  4832. $t5 = Db::table($ttttt . ' t')
  4833. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  4834. ->group('t.cyrq')->buildSql();
  4835. $db = Db::table($a . ' a')
  4836. ->field("
  4837. DISTINCT a.dcyrq AS dcyrq,
  4838. t.期刊色令 AS 期刊色令,
  4839. t1.集团出版社色令 AS 集团出版社色令,
  4840. t2.集团教材内色令 AS 集团教材内色令,
  4841. t3.集团教材外色令 AS 集团教材外色令,
  4842. t4.外贸订单色令 AS 外贸订单色令,
  4843. t4.外贸订单纸令 AS 外贸订单纸令,
  4844. t5.总色令 AS 总色令"
  4845. )
  4846. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  4847. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  4848. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  4849. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  4850. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  4851. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  4852. ->group('date(a.dcyrq)')->buildSql();
  4853. $sql_final = Db::table($db . ' db')
  4854. ->field("
  4855. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  4856. 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 社会图书,
  4857. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  4858. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  4859. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  4860. ")
  4861. ->whereTime('dcyrq', 'between', [$this->qstart_time(), $this->qend_time()])
  4862. ->group('year(db.dcyrq)')->find();
  4863. $i=0;
  4864. foreach($sql_final as $v){
  4865. $list[$i]['name']=' ';
  4866. $list[$i]['value']=round($v);
  4867. $i++;
  4868. }
  4869. $res['status']=0;
  4870. $res['msg']='';
  4871. $res['data']=$list;
  4872. $redis->set($redis_key, json_encode($res));
  4873. // halt(json_decode($redis->get($redis_key),true));
  4874. return json_encode($res);
  4875. }
  4876. //去年业务模块百分比->接口调用
  4877. public function yewujg2022(){
  4878. $redis=redis();
  4879. $redis_key = md5('yewujg2022_redis');
  4880. $redis_data = $redis->get($redis_key);
  4881. return $redis_data;
  4882. }
  4883. /**
  4884. * 业务总览 第一屏 第二页
  4885. */
  4886. //轮转机每月生产趋势 纸令->缓存调用
  4887. public function lunzhuanzl_redis(){
  4888. $redis=redis();
  4889. $redis_key = md5('lunzhuanzl_redis');
  4890. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  4891. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  4892. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  4893. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  4894. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  4895. ->union(function ($query) {
  4896. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  4897. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  4898. ->whereIn('cMachineName', ['标规小森商轮1号',
  4899. '标规小森商轮2号', '大规小森商轮1号',
  4900. '大规三菱商轮1号', '标规三菱商轮1号',
  4901. '标规三菱商轮2号', '标规204胶轮1号',
  4902. '大规海德堡1号', '标规报轮1号','标规高斯轮转1号']);
  4903. }, true)->buildSql();
  4904. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  4905. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  4906. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  4907. })->buildSql();
  4908. //轮转纸令合计
  4909. $subQuery3 = Db::table($subQuery3_child . 'T')
  4910. ->field('rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjls ) nnRotationSL ')
  4911. ->group('rq')->buildSql();
  4912. $subQuery1_5 = Db::table($subQuery . 'A')
  4913. ->field('DISTINCT A.RQ,P.nnRotationSL AS nnRotationSL')
  4914. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  4915. ->buildSql();
  4916. $sql_final = Db::table($subQuery1_5 . ' db')
  4917. ->field("
  4918. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  4919. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  4920. ")
  4921. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  4922. // ->group('MONTH(db.RQ)')
  4923. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  4924. ->select();
  4925. $i=0;
  4926. $j=0;
  4927. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  4928. foreach($sql_final as $v){
  4929. if($v['rq']>=$this->year_January()){
  4930. $list['series'][1]['name']='2023年';
  4931. $list['series'][1]['data'][$j]=$v['nnRotationSL'];
  4932. $j++;
  4933. }else{
  4934. $list['series'][0]['name']='2022年';
  4935. $list['series'][0]['data'][$i]=$v['nnRotationSL'];
  4936. $i++;
  4937. }
  4938. }
  4939. // foreach($sql_final as $k=>$v){
  4940. // $list['categories'][$k]=$v['rq'];
  4941. // $list['series'][0]['name']='轮转机每月生产趋势 纸令';
  4942. // $list['series'][0]['data'][$k]=round($v['nnRotationSL']/10000);
  4943. // }
  4944. $res['status']=0;
  4945. $res['msg']='';
  4946. $res['data']=$list;
  4947. $redis->set($redis_key, json_encode($res));
  4948. // halt(json_decode($redis->get($redis_key),true));
  4949. return json_encode($res);
  4950. }
  4951. //轮转机每月生产趋势 纸令->接口调用
  4952. public function lunzhuanzl(){
  4953. $redis=redis();
  4954. $redis_key = md5('lunzhuanzl_redis');
  4955. $redis_data = $redis->get($redis_key);
  4956. return $redis_data;
  4957. }
  4958. //四色机每月生产趋势 纸令->缓存调用
  4959. public function sisejizl_redis(){
  4960. $redis=redis();
  4961. $redis_key = md5('sisejizl_redis');
  4962. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  4963. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  4964. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  4965. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  4966. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  4967. ->union(function ($query) {
  4968. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl')
  4969. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  4970. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  4971. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  4972. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  4973. '小森八色01号机','小森八色02号机']);
  4974. }, true)->buildSql();
  4975. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  4976. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  4977. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  4978. })->buildSql();
  4979. //四色机纸令合计
  4980. $subQuery1 = Db::table($subQuery1_child . 'T')
  4981. ->field('rq,SUM( fsjls ) nFourColorSL')
  4982. ->group('rq')->buildSql();
  4983. $subQuery1_5 = Db::table($subQuery . 'A')
  4984. ->field('DISTINCT A.RQ,B.nFourColorSL AS nFourColorSL')
  4985. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  4986. ->buildSql();
  4987. $sql_final = Db::table($subQuery1_5 . ' db')
  4988. ->field("
  4989. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  4990. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  4991. ")
  4992. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  4993. // ->group('MONTH(db.RQ)')
  4994. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  4995. ->select();
  4996. $i=0;
  4997. $j=0;
  4998. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  4999. foreach($sql_final as $v){
  5000. if($v['rq']>=$this->year_January()){
  5001. $list['series'][1]['name']='2023年';
  5002. $list['series'][1]['data'][$j]=$v['nFourColorSL'];
  5003. $j++;
  5004. }else{
  5005. $list['series'][0]['name']='2022年';
  5006. $list['series'][0]['data'][$i]=$v['nFourColorSL'];
  5007. $i++;
  5008. }
  5009. }
  5010. // foreach($sql_final as $k=>$v){
  5011. // $list['categories'][$k]=$v['rq'];
  5012. // $list['series'][0]['name']='四色机每月生产趋势 纸令';
  5013. // $list['series'][0]['data'][$k]=round($v['nFourColorSL']/10000);
  5014. // }
  5015. $res['status']=0;
  5016. $res['msg']='';
  5017. $res['data']=$list;
  5018. $redis->set($redis_key, json_encode($res));
  5019. // halt(json_decode($redis->get($redis_key),true));
  5020. return json_encode($res);
  5021. }
  5022. //四色机每月生产趋势 纸令->接口调用
  5023. public function sisejizl(){
  5024. $redis=redis();
  5025. $redis_key = md5('sisejizl_redis');
  5026. $redis_data = $redis->get($redis_key);
  5027. return $redis_data;
  5028. }
  5029. //BB机每月生产趋势 纸令->缓存调用
  5030. public function bbjzl_redis(){
  5031. $redis=redis();
  5032. $redis_key = md5('bbjzl_redis');
  5033. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  5034. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  5035. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  5036. 'BB机5号(甲班)','BB机5号(乙班)',
  5037. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  5038. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  5039. ->union(function ($query) {
  5040. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  5041. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  5042. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号',
  5043. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  5044. }, true)->buildSql();
  5045. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  5046. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  5047. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  5048. })->buildSql();
  5049. //BB机纸令合计
  5050. $subQuery2 = Db::table($subQuery2_child . 'T')
  5051. ->field('rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjls ) nBBSL')
  5052. ->group('rq')->buildSql();
  5053. $subQuery1_5 = Db::table($subQuery . 'A')
  5054. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL')
  5055. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  5056. ->buildSql();
  5057. $sql_final = Db::table($subQuery1_5 . ' db')
  5058. ->field("
  5059. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  5060. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  5061. ")
  5062. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  5063. // ->group('MONTH(db.RQ)')
  5064. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  5065. ->select();
  5066. $i=0;
  5067. $j=0;
  5068. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  5069. foreach($sql_final as $v){
  5070. if($v['rq']>=$this->year_January()){
  5071. $list['series'][1]['name']='2023年';
  5072. $list['series'][1]['data'][$j]=$v['nBBSL'];
  5073. $j++;
  5074. }else{
  5075. $list['series'][0]['name']='2022年';
  5076. $list['series'][0]['data'][$i]=$v['nBBSL'];
  5077. $i++;
  5078. }
  5079. }
  5080. $res['status']=0;
  5081. $res['msg']='';
  5082. $res['data']=$list;
  5083. $redis->set($redis_key, json_encode($res));
  5084. return json_encode($res);
  5085. }
  5086. //BB机每月生产趋势 纸令->接口调用
  5087. public function bbjzl(){
  5088. $redis=redis();
  5089. $redis_key = md5('bbjzl_redis');
  5090. $redis_data = $redis->get($redis_key);
  5091. return $redis_data;
  5092. }
  5093. //轮转机每月生产趋势 色令->缓存调用
  5094. public function lunzhuan_redis(){
  5095. $redis=redis();
  5096. $redis_key = md5('lunzhuan_redis');
  5097. //首先定义了起始时间和结束时间
  5098. //根据查询条件查出色令数据
  5099. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  5100. ->whereIn('cbzmc', [
  5101. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  5102. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  5103. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  5104. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  5105. ->union(function ($query) {
  5106. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  5107. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  5108. ->whereIn('cMachineName', ['标规小森商轮1号',
  5109. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  5110. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号']);
  5111. }, true)
  5112. ->buildSql();
  5113. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  5114. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  5115. ->union(function ($query) {
  5116. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  5117. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  5118. })->buildSql();
  5119. //查询每天的数据
  5120. $subQuery3 = Db::table($subQuery3_child . 'T')
  5121. ->field('rq,SUM( fsjsl ) nnRotationSL ')
  5122. ->group('rq')
  5123. ->buildSql();
  5124. //按当天日期进行分组 累计相加当天数据
  5125. $subQuery1_5 = Db::table($subQuery . 'A')
  5126. ->field('DISTINCT DATE(A.RQ) RQ,sum(P.nnRotationSL) AS nnRotationSL')
  5127. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  5128. ->group('RQ')
  5129. ->buildSql();
  5130. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nnRotationSL )) AS '轮转色令合计'
  5131. $sql_final = Db::table($subQuery1_5 . ' db')
  5132. ->field("
  5133. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  5134. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  5135. ")
  5136. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  5137. // ->group('MONTH(db.RQ)')
  5138. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  5139. ->select();
  5140. $i=0;
  5141. $j=0;
  5142. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  5143. foreach($sql_final as $v){
  5144. if($v['rq']>=$this->year_January()){
  5145. $list['series'][1]['name']='2023年';
  5146. $list['series'][1]['data'][$j]=$v['nnRotationSL'];
  5147. $j++;
  5148. }else{
  5149. $list['series'][0]['name']='2022年';
  5150. $list['series'][0]['data'][$i]=$v['nnRotationSL'];
  5151. $i++;
  5152. }
  5153. }
  5154. $res['status']=0;
  5155. $res['msg']='';
  5156. $res['data']=$list;
  5157. $redis->set($redis_key, json_encode($res));
  5158. return json_encode($res);
  5159. }
  5160. //轮转机每月生产趋势 色令->接口调用
  5161. public function lunzhuan(){
  5162. $redis=redis();
  5163. $redis_key = md5('lunzhuan_redis');
  5164. $redis_data = $redis->get($redis_key);
  5165. return $redis_data;
  5166. }
  5167. //四色机每月生产趋势 色令->缓存调用
  5168. public function siseji_redis(){
  5169. $redis=redis();
  5170. $redis_key = md5('siseji_redis');
  5171. //根据查询条件查出色令数据
  5172. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  5173. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  5174. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  5175. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  5176. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  5177. ->union(function ($query) {
  5178. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  5179. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  5180. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  5181. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  5182. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  5183. '小森八色01号机','小森八色02号机']);
  5184. }, true)->buildSql();
  5185. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  5186. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  5187. ->union(function ($query) {
  5188. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  5189. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  5190. })->buildSql();
  5191. //查询每天的数据
  5192. $subQuery1 = Db::table($subQuery1_child . 'T')
  5193. ->field('rq,SUM( fsjsl ) nFourColorSL')
  5194. ->group('rq')->buildSql();
  5195. //按当天日期进行分组 累计相加当天数据
  5196. $subQuery1_5 = Db::table($subQuery . 'A')
  5197. ->field('
  5198. DISTINCT DATE(A.RQ) RQ,
  5199. sum(B.nFourColorSL) AS nFourColorSL
  5200. ')
  5201. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  5202. ->group('RQ')
  5203. ->buildSql();
  5204. //按每个月进行查询 累计相加每月数据
  5205. $sql_final = Db::table($subQuery1_5 . ' db')
  5206. ->field("
  5207. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  5208. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  5209. ")
  5210. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  5211. // ->group('MONTH(db.RQ)')
  5212. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  5213. ->select();
  5214. $i=0;
  5215. $j=0;
  5216. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  5217. foreach($sql_final as $v){
  5218. if($v['rq']>=$this->year_January()){
  5219. $list['series'][1]['name']='2023年';
  5220. $list['series'][1]['data'][$j]=$v['nFourColorSL'];
  5221. $j++;
  5222. }else{
  5223. $list['series'][0]['name']='2022年';
  5224. $list['series'][0]['data'][$i]=$v['nFourColorSL'];
  5225. $i++;
  5226. }
  5227. }
  5228. // foreach($sql_final as $k=>$v){
  5229. // $list['categories'][$k]=$v['rq'];
  5230. // $list['series'][0]['name']='四色机每月生产趋势 色令';
  5231. // $list['series'][0]['data'][$k]=round($v['nFourColorSL']/10000);
  5232. // }
  5233. $res['status']=0;
  5234. $res['msg']='';
  5235. $res['data']=$list;
  5236. $redis->set($redis_key, json_encode($res));
  5237. // halt(json_decode($redis->get($redis_key),true));
  5238. return json_encode($res);
  5239. }
  5240. //四色机每月生产趋势 色令->接口调用
  5241. public function siseji(){
  5242. $redis=redis();
  5243. $redis_key = md5('siseji_redis');
  5244. $redis_data = $redis->get($redis_key);
  5245. return $redis_data;
  5246. }
  5247. //BB机每月生产趋势 色令->缓存调用
  5248. public function bbj_redis(){
  5249. $redis=redis();
  5250. $redis_key = md5('bbj_redis');
  5251. //首先定义了起始时间和结束时间
  5252. //根据查询条件查出色令数据
  5253. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  5254. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  5255. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  5256. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  5257. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  5258. ->union(function ($query) {
  5259. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  5260. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  5261. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号',
  5262. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  5263. }, true)->buildSql();
  5264. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  5265. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  5266. ->union(function ($query) {
  5267. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  5268. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  5269. })->buildSql();
  5270. //查询每天的数据
  5271. $subQuery2 = Db::table($subQuery2_child . 'T')
  5272. ->field('rq,SUM( fsjsl ) nBBSL')
  5273. ->group('rq')->buildSql();
  5274. //按当天日期进行分组 累计相加当天数据
  5275. $subQuery1_5 = Db::table($subQuery . 'A')
  5276. ->field('DISTINCT DATE(A.RQ) RQ,sum(h.nBBSL) AS nBBSL')
  5277. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  5278. ->group('RQ')
  5279. ->buildSql();
  5280. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nBBSL )) AS '单双色机(BB机)色令合计'
  5281. $sql_final = Db::table($subQuery1_5 . ' db')
  5282. ->field("
  5283. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  5284. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  5285. ")
  5286. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  5287. // ->group('MONTH(db.RQ)')
  5288. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  5289. ->order('db.RQ', 'asc')
  5290. ->select();
  5291. $i=0;
  5292. $j=0;
  5293. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  5294. foreach($sql_final as $v){
  5295. if($v['rq']>=$this->year_January()){
  5296. $list['series'][1]['name']='2023年';
  5297. $list['series'][1]['data'][$j]=$v['nBBSL'];
  5298. $j++;
  5299. }else{
  5300. $list['series'][0]['name']='2022年';
  5301. $list['series'][0]['data'][$i]=$v['nBBSL'];
  5302. $i++;
  5303. }
  5304. }
  5305. $res['status']=0;
  5306. $res['msg']='';
  5307. $res['data']=$list;
  5308. $redis->set($redis_key, json_encode($res));
  5309. return json_encode($res);
  5310. }
  5311. //BB机每月生产趋势 色令->接口调用
  5312. public function bbj(){
  5313. $redis=redis();
  5314. $redis_key = md5('bbj_redis');
  5315. $redis_data = $redis->get($redis_key);
  5316. return $redis_data;
  5317. }
  5318. //胶订纸令->缓存调用
  5319. public function jdzl_redis(){
  5320. $redis=redis();
  5321. $redis_key = md5('jdzl_redis');
  5322. //首先定义了起始时间和结束时间
  5323. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  5324. ->union(function ($query) {
  5325. $query->table('scDayRpt_Teams')->alias('b')
  5326. ->field("DISTINCT DATE_FORMAT(
  5327. CASE
  5328. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  5329. ELSE b.dOnDuty
  5330. END,
  5331. '%Y-%m-%d'
  5332. ) AS RQ");
  5333. }, true)
  5334. ->buildSql();
  5335. $B = Db::table('cpjtfk')
  5336. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5337. ->field("
  5338. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5339. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  5340. ")
  5341. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  5342. ->group('drptdate,cbanzu')
  5343. ->buildSql();
  5344. $B1 = Db::table('cpjtfk')
  5345. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5346. ->field("
  5347. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5348. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  5349. ")
  5350. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  5351. ->group('drptdate,cbanzu')
  5352. ->buildSql();
  5353. $C = Db::table('cpjtfk')
  5354. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5355. ->field("
  5356. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5357. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  5358. ")
  5359. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  5360. ->group('drptdate,cbanzu')
  5361. ->buildSql();
  5362. $C1 = Db::table('cpjtfk')
  5363. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5364. ->field("
  5365. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5366. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  5367. ")
  5368. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  5369. ->group('drptdate,cbanzu')
  5370. ->buildSql();
  5371. $D = Db::table('cpjtfk')
  5372. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5373. ->field("
  5374. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5375. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  5376. ")
  5377. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  5378. ->group('drptdate,cbanzu')
  5379. ->buildSql();
  5380. $D1 = Db::table('cpjtfk')
  5381. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5382. ->field("
  5383. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5384. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  5385. ")
  5386. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  5387. ->group('drptdate,cbanzu')
  5388. ->buildSql();
  5389. $E = Db::table('cpjtfk')
  5390. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5391. ->field("
  5392. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5393. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  5394. ")
  5395. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  5396. ->group('drptdate,cbanzu')
  5397. ->buildSql();
  5398. $E1 = Db::table('cpjtfk')
  5399. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5400. ->field("
  5401. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5402. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  5403. ")
  5404. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  5405. ->group('drptdate,cbanzu')
  5406. ->buildSql();
  5407. $F = Db::table('cpjtfk')
  5408. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5409. ->field("
  5410. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5411. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  5412. ")
  5413. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  5414. ->group('drptdate,cbanzu')
  5415. ->buildSql();
  5416. $F1 = Db::table('cpjtfk')
  5417. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5418. ->field("
  5419. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5420. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  5421. ")
  5422. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  5423. ->group('drptdate,cbanzu')
  5424. ->buildSql();
  5425. $rr = Db::table('scyddx')->alias('r')
  5426. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  5427. ->group('r.ICYDID')
  5428. ->buildSql();
  5429. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  5430. ->field("
  5431. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5432. ROUND(SUM(
  5433. CASE
  5434. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5435. THEN CASE WHEN a.cCyddxMc = '装配'
  5436. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5437. THEN CASE
  5438. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5439. END = 0 THEN c.nzdls
  5440. ELSE ( CASE
  5441. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5442. END
  5443. THEN CASE
  5444. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5445. END ELSE c.nzdls END
  5446. ) END ELSE 0 END
  5447. ELSE CASE
  5448. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5449. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5450. CASE WHEN a.cCyddxMc = '装配'
  5451. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5452. THEN CASE
  5453. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5454. END = 0 THEN c.nzdls
  5455. ELSE ( CASE WHEN c.nzdls <
  5456. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5457. END
  5458. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5459. END ELSE c.nzdls END )
  5460. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5461. END END ), 3) 马11甲纸令 ")
  5462. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5463. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5464. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5465. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5466. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5467. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5468. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  5469. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5470. ->group("CASE
  5471. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5472. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5473. END,Name_WorkGroup")->buildSql();
  5474. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  5475. ->field("
  5476. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5477. ROUND(SUM(
  5478. CASE
  5479. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5480. THEN
  5481. CASE
  5482. WHEN a.cCyddxMc = '装配'
  5483. OR a.cCyddxMc LIKE '%正文%'
  5484. OR a.cCyddxMc LIKE '%答案%'
  5485. OR a.cCyddxMc LIKE '%卷%'
  5486. THEN
  5487. CASE
  5488. WHEN CASE
  5489. WHEN IFNULL(d.fZls, 0) < rr.zl
  5490. THEN rr.zl
  5491. ELSE IFNULL(d.fZls, 0)
  5492. END = 0
  5493. THEN c.nzdls
  5494. ELSE (
  5495. CASE
  5496. WHEN c.nzdls <
  5497. CASE
  5498. WHEN IFNULL(d.fZls, 0) < rr.zl
  5499. THEN rr.zl
  5500. ELSE IFNULL(d.fZls, 0)
  5501. END
  5502. THEN
  5503. CASE
  5504. WHEN IFNULL(d.fZls, 0) < rr.zl
  5505. THEN rr.zl
  5506. ELSE IFNULL(d.fZls, 0)
  5507. END
  5508. ELSE c.nzdls
  5509. END
  5510. )
  5511. END
  5512. ELSE 0
  5513. END
  5514. ELSE
  5515. CASE
  5516. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5517. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5518. CASE
  5519. WHEN a.cCyddxMc = '装配'
  5520. OR a.cCyddxMc LIKE '%正文%'
  5521. OR a.cCyddxMc LIKE '%答案%'
  5522. OR a.cCyddxMc LIKE '%卷%'
  5523. THEN
  5524. CASE
  5525. WHEN CASE
  5526. WHEN IFNULL(d.fZls, 0) < rr.zl
  5527. THEN rr.zl
  5528. ELSE IFNULL(d.fZls, 0)
  5529. END = 0
  5530. THEN c.nzdls
  5531. ELSE (
  5532. CASE
  5533. WHEN c.nzdls <
  5534. CASE
  5535. WHEN IFNULL(d.fZls, 0) < rr.zl
  5536. THEN rr.zl
  5537. ELSE IFNULL(d.fZls, 0)
  5538. END
  5539. THEN
  5540. CASE
  5541. WHEN IFNULL(d.fZls, 0) < rr.zl
  5542. THEN rr.zl
  5543. ELSE IFNULL(d.fZls, 0)
  5544. END
  5545. ELSE c.nzdls
  5546. END
  5547. )
  5548. END
  5549. ELSE 0
  5550. END
  5551. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5552. END
  5553. END )
  5554. , 3) 马11乙纸令
  5555. ")
  5556. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5557. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5558. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5559. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5560. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5561. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5562. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  5563. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5564. ->group("CASE
  5565. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5566. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5567. END,Name_WorkGroup")
  5568. ->buildSql();
  5569. $CC = Db::table('ql_report_feedback_day')->alias('a')
  5570. ->field("
  5571. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5572. ROUND(SUM(
  5573. CASE
  5574. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5575. THEN
  5576. CASE
  5577. WHEN a.cCyddxMc = '装配'
  5578. OR a.cCyddxMc LIKE '%正文%'
  5579. OR a.cCyddxMc LIKE '%答案%'
  5580. OR a.cCyddxMc LIKE '%卷%'
  5581. THEN
  5582. CASE
  5583. WHEN CASE
  5584. WHEN IFNULL(d.fZls, 0) < rr.zl
  5585. THEN rr.zl
  5586. ELSE IFNULL(d.fZls, 0)
  5587. END = 0
  5588. THEN c.nzdls
  5589. ELSE (
  5590. CASE
  5591. WHEN c.nzdls <
  5592. CASE
  5593. WHEN IFNULL(d.fZls, 0) < rr.zl
  5594. THEN rr.zl
  5595. ELSE IFNULL(d.fZls, 0)
  5596. END
  5597. THEN
  5598. CASE
  5599. WHEN IFNULL(d.fZls, 0) < rr.zl
  5600. THEN rr.zl
  5601. ELSE IFNULL(d.fZls, 0)
  5602. END
  5603. ELSE c.nzdls
  5604. END
  5605. )
  5606. END
  5607. ELSE 0
  5608. END
  5609. ELSE
  5610. CASE
  5611. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5612. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5613. CASE
  5614. WHEN a.cCyddxMc = '装配'
  5615. OR a.cCyddxMc LIKE '%正文%'
  5616. OR a.cCyddxMc LIKE '%答案%'
  5617. OR a.cCyddxMc LIKE '%卷%'
  5618. THEN
  5619. CASE
  5620. WHEN CASE
  5621. WHEN IFNULL(d.fZls, 0) < rr.zl
  5622. THEN rr.zl
  5623. ELSE IFNULL(d.fZls, 0)
  5624. END = 0
  5625. THEN c.nzdls
  5626. ELSE (
  5627. CASE
  5628. WHEN c.nzdls <
  5629. CASE
  5630. WHEN IFNULL(d.fZls, 0) < rr.zl
  5631. THEN rr.zl
  5632. ELSE IFNULL(d.fZls, 0)
  5633. END
  5634. THEN
  5635. CASE
  5636. WHEN IFNULL(d.fZls, 0) < rr.zl
  5637. THEN rr.zl
  5638. ELSE IFNULL(d.fZls, 0)
  5639. END
  5640. ELSE c.nzdls
  5641. END
  5642. )
  5643. END
  5644. ELSE 0
  5645. END
  5646. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5647. END
  5648. END )
  5649. , 3) 马22甲纸令
  5650. ")
  5651. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5652. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5653. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5654. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5655. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5656. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5657. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  5658. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5659. ->group("CASE
  5660. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5661. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5662. END,Name_WorkGroup")
  5663. ->buildSql();
  5664. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  5665. ->field("
  5666. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5667. ROUND(SUM(
  5668. CASE
  5669. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5670. THEN
  5671. CASE
  5672. WHEN a.cCyddxMc = '装配'
  5673. OR a.cCyddxMc LIKE '%正文%'
  5674. OR a.cCyddxMc LIKE '%答案%'
  5675. OR a.cCyddxMc LIKE '%卷%'
  5676. THEN
  5677. CASE
  5678. WHEN CASE
  5679. WHEN IFNULL(d.fZls, 0) < rr.zl
  5680. THEN rr.zl
  5681. ELSE IFNULL(d.fZls, 0)
  5682. END = 0
  5683. THEN c.nzdls
  5684. ELSE (
  5685. CASE
  5686. WHEN c.nzdls <
  5687. CASE
  5688. WHEN IFNULL(d.fZls, 0) < rr.zl
  5689. THEN rr.zl
  5690. ELSE IFNULL(d.fZls, 0)
  5691. END
  5692. THEN
  5693. CASE
  5694. WHEN IFNULL(d.fZls, 0) < rr.zl
  5695. THEN rr.zl
  5696. ELSE IFNULL(d.fZls, 0)
  5697. END
  5698. ELSE c.nzdls
  5699. END
  5700. )
  5701. END
  5702. ELSE 0
  5703. END
  5704. ELSE
  5705. CASE
  5706. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5707. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5708. CASE
  5709. WHEN a.cCyddxMc = '装配'
  5710. OR a.cCyddxMc LIKE '%正文%'
  5711. OR a.cCyddxMc LIKE '%答案%'
  5712. OR a.cCyddxMc LIKE '%卷%'
  5713. THEN
  5714. CASE
  5715. WHEN CASE
  5716. WHEN IFNULL(d.fZls, 0) < rr.zl
  5717. THEN rr.zl
  5718. ELSE IFNULL(d.fZls, 0)
  5719. END = 0
  5720. THEN c.nzdls
  5721. ELSE (
  5722. CASE
  5723. WHEN c.nzdls <
  5724. CASE
  5725. WHEN IFNULL(d.fZls, 0) < rr.zl
  5726. THEN rr.zl
  5727. ELSE IFNULL(d.fZls, 0)
  5728. END
  5729. THEN
  5730. CASE
  5731. WHEN IFNULL(d.fZls, 0) < rr.zl
  5732. THEN rr.zl
  5733. ELSE IFNULL(d.fZls, 0)
  5734. END
  5735. ELSE c.nzdls
  5736. END
  5737. )
  5738. END
  5739. ELSE 0
  5740. END
  5741. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5742. END
  5743. END )
  5744. , 3) 马22乙纸令
  5745. ")
  5746. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5747. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5748. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5749. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5750. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5751. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5752. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  5753. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5754. ->group("CASE
  5755. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5756. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5757. END,Name_WorkGroup")
  5758. ->buildSql();
  5759. $EE = Db::table('ql_report_feedback_day')->alias('a')
  5760. ->field("
  5761. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5762. ROUND(SUM(
  5763. CASE
  5764. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5765. THEN
  5766. CASE
  5767. WHEN a.cCyddxMc = '装配'
  5768. OR a.cCyddxMc LIKE '%正文%'
  5769. OR a.cCyddxMc LIKE '%答案%'
  5770. OR a.cCyddxMc LIKE '%卷%'
  5771. THEN
  5772. CASE
  5773. WHEN CASE
  5774. WHEN IFNULL(d.fZls, 0) < rr.zl
  5775. THEN rr.zl
  5776. ELSE IFNULL(d.fZls, 0)
  5777. END = 0
  5778. THEN c.nzdls
  5779. ELSE (
  5780. CASE
  5781. WHEN c.nzdls <
  5782. CASE
  5783. WHEN IFNULL(d.fZls, 0) < rr.zl
  5784. THEN rr.zl
  5785. ELSE IFNULL(d.fZls, 0)
  5786. END
  5787. THEN
  5788. CASE
  5789. WHEN IFNULL(d.fZls, 0) < rr.zl
  5790. THEN rr.zl
  5791. ELSE IFNULL(d.fZls, 0)
  5792. END
  5793. ELSE c.nzdls
  5794. END
  5795. )
  5796. END
  5797. ELSE 0
  5798. END
  5799. ELSE
  5800. CASE
  5801. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5802. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5803. CASE
  5804. WHEN a.cCyddxMc = '装配'
  5805. OR a.cCyddxMc LIKE '%正文%'
  5806. OR a.cCyddxMc LIKE '%答案%'
  5807. OR a.cCyddxMc LIKE '%卷%'
  5808. THEN
  5809. CASE
  5810. WHEN CASE
  5811. WHEN IFNULL(d.fZls, 0) < rr.zl
  5812. THEN rr.zl
  5813. ELSE IFNULL(d.fZls, 0)
  5814. END = 0
  5815. THEN c.nzdls
  5816. ELSE (
  5817. CASE
  5818. WHEN c.nzdls <
  5819. CASE
  5820. WHEN IFNULL(d.fZls, 0) < rr.zl
  5821. THEN rr.zl
  5822. ELSE IFNULL(d.fZls, 0)
  5823. END
  5824. THEN
  5825. CASE
  5826. WHEN IFNULL(d.fZls, 0) < rr.zl
  5827. THEN rr.zl
  5828. ELSE IFNULL(d.fZls, 0)
  5829. END
  5830. ELSE c.nzdls
  5831. END
  5832. )
  5833. END
  5834. ELSE 0
  5835. END
  5836. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5837. END
  5838. END )
  5839. , 3) 马33甲纸令
  5840. ")
  5841. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5842. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5843. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5844. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5845. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5846. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5847. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  5848. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5849. ->group("CASE
  5850. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5851. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5852. END,Name_WorkGroup")
  5853. ->buildSql();
  5854. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  5855. ->field("
  5856. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5857. ROUND(SUM(
  5858. CASE
  5859. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5860. THEN
  5861. CASE
  5862. WHEN a.cCyddxMc = '装配'
  5863. OR a.cCyddxMc LIKE '%正文%'
  5864. OR a.cCyddxMc LIKE '%答案%'
  5865. OR a.cCyddxMc LIKE '%卷%'
  5866. THEN
  5867. CASE
  5868. WHEN CASE
  5869. WHEN IFNULL(d.fZls, 0) < rr.zl
  5870. THEN rr.zl
  5871. ELSE IFNULL(d.fZls, 0)
  5872. END = 0
  5873. THEN c.nzdls
  5874. ELSE (
  5875. CASE
  5876. WHEN c.nzdls <
  5877. CASE
  5878. WHEN IFNULL(d.fZls, 0) < rr.zl
  5879. THEN rr.zl
  5880. ELSE IFNULL(d.fZls, 0)
  5881. END
  5882. THEN
  5883. CASE
  5884. WHEN IFNULL(d.fZls, 0) < rr.zl
  5885. THEN rr.zl
  5886. ELSE IFNULL(d.fZls, 0)
  5887. END
  5888. ELSE c.nzdls
  5889. END
  5890. )
  5891. END
  5892. ELSE 0
  5893. END
  5894. ELSE
  5895. CASE
  5896. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5897. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5898. CASE
  5899. WHEN a.cCyddxMc = '装配'
  5900. OR a.cCyddxMc LIKE '%正文%'
  5901. OR a.cCyddxMc LIKE '%答案%'
  5902. OR a.cCyddxMc LIKE '%卷%'
  5903. THEN
  5904. CASE
  5905. WHEN CASE
  5906. WHEN IFNULL(d.fZls, 0) < rr.zl
  5907. THEN rr.zl
  5908. ELSE IFNULL(d.fZls, 0)
  5909. END = 0
  5910. THEN c.nzdls
  5911. ELSE (
  5912. CASE
  5913. WHEN c.nzdls <
  5914. CASE
  5915. WHEN IFNULL(d.fZls, 0) < rr.zl
  5916. THEN rr.zl
  5917. ELSE IFNULL(d.fZls, 0)
  5918. END
  5919. THEN
  5920. CASE
  5921. WHEN IFNULL(d.fZls, 0) < rr.zl
  5922. THEN rr.zl
  5923. ELSE IFNULL(d.fZls, 0)
  5924. END
  5925. ELSE c.nzdls
  5926. END
  5927. )
  5928. END
  5929. ELSE 0
  5930. END
  5931. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5932. END
  5933. END )
  5934. , 3) 马33乙纸令
  5935. ")
  5936. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5937. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5938. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5939. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5940. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5941. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5942. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  5943. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5944. ->group("CASE
  5945. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5946. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5947. END,Name_WorkGroup")
  5948. ->buildSql();
  5949. $HH = Db::table('ql_report_feedback_day')->alias('a')
  5950. ->field("
  5951. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5952. ROUND(SUM(
  5953. CASE
  5954. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5955. THEN
  5956. CASE
  5957. WHEN a.cCyddxMc = '装配'
  5958. OR a.cCyddxMc LIKE '%正文%'
  5959. OR a.cCyddxMc LIKE '%答案%'
  5960. OR a.cCyddxMc LIKE '%卷%'
  5961. THEN
  5962. CASE
  5963. WHEN CASE
  5964. WHEN IFNULL(d.fZls, 0) < rr.zl
  5965. THEN rr.zl
  5966. ELSE IFNULL(d.fZls, 0)
  5967. END = 0
  5968. THEN c.nzdls
  5969. ELSE (
  5970. CASE
  5971. WHEN c.nzdls <
  5972. CASE
  5973. WHEN IFNULL(d.fZls, 0) < rr.zl
  5974. THEN rr.zl
  5975. ELSE IFNULL(d.fZls, 0)
  5976. END
  5977. THEN
  5978. CASE
  5979. WHEN IFNULL(d.fZls, 0) < rr.zl
  5980. THEN rr.zl
  5981. ELSE IFNULL(d.fZls, 0)
  5982. END
  5983. ELSE c.nzdls
  5984. END
  5985. )
  5986. END
  5987. ELSE 0
  5988. END
  5989. ELSE
  5990. CASE
  5991. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5992. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5993. CASE
  5994. WHEN a.cCyddxMc = '装配'
  5995. OR a.cCyddxMc LIKE '%正文%'
  5996. OR a.cCyddxMc LIKE '%答案%'
  5997. OR a.cCyddxMc LIKE '%卷%'
  5998. THEN
  5999. CASE
  6000. WHEN CASE
  6001. WHEN IFNULL(d.fZls, 0) < rr.zl
  6002. THEN rr.zl
  6003. ELSE IFNULL(d.fZls, 0)
  6004. END = 0
  6005. THEN c.nzdls
  6006. ELSE (
  6007. CASE
  6008. WHEN c.nzdls <
  6009. CASE
  6010. WHEN IFNULL(d.fZls, 0) < rr.zl
  6011. THEN rr.zl
  6012. ELSE IFNULL(d.fZls, 0)
  6013. END
  6014. THEN
  6015. CASE
  6016. WHEN IFNULL(d.fZls, 0) < rr.zl
  6017. THEN rr.zl
  6018. ELSE IFNULL(d.fZls, 0)
  6019. END
  6020. ELSE c.nzdls
  6021. END
  6022. )
  6023. END
  6024. ELSE 0
  6025. END
  6026. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6027. END
  6028. END )
  6029. , 3) 马44甲纸令
  6030. ")
  6031. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6032. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6033. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6034. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6035. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6036. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6037. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  6038. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6039. ->group("CASE
  6040. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6041. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6042. END,Name_WorkGroup")
  6043. ->buildSql();
  6044. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  6045. ->field("
  6046. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6047. ROUND(SUM(
  6048. CASE
  6049. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6050. THEN
  6051. CASE
  6052. WHEN a.cCyddxMc = '装配'
  6053. OR a.cCyddxMc LIKE '%正文%'
  6054. OR a.cCyddxMc LIKE '%答案%'
  6055. OR a.cCyddxMc LIKE '%卷%'
  6056. THEN
  6057. CASE
  6058. WHEN CASE
  6059. WHEN IFNULL(d.fZls, 0) < rr.zl
  6060. THEN rr.zl
  6061. ELSE IFNULL(d.fZls, 0)
  6062. END = 0
  6063. THEN c.nzdls
  6064. ELSE (
  6065. CASE
  6066. WHEN c.nzdls <
  6067. CASE
  6068. WHEN IFNULL(d.fZls, 0) < rr.zl
  6069. THEN rr.zl
  6070. ELSE IFNULL(d.fZls, 0)
  6071. END
  6072. THEN
  6073. CASE
  6074. WHEN IFNULL(d.fZls, 0) < rr.zl
  6075. THEN rr.zl
  6076. ELSE IFNULL(d.fZls, 0)
  6077. END
  6078. ELSE c.nzdls
  6079. END
  6080. )
  6081. END
  6082. ELSE 0
  6083. END
  6084. ELSE
  6085. CASE
  6086. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6087. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6088. CASE
  6089. WHEN a.cCyddxMc = '装配'
  6090. OR a.cCyddxMc LIKE '%正文%'
  6091. OR a.cCyddxMc LIKE '%答案%'
  6092. OR a.cCyddxMc LIKE '%卷%'
  6093. THEN
  6094. CASE
  6095. WHEN CASE
  6096. WHEN IFNULL(d.fZls, 0) < rr.zl
  6097. THEN rr.zl
  6098. ELSE IFNULL(d.fZls, 0)
  6099. END = 0
  6100. THEN c.nzdls
  6101. ELSE (
  6102. CASE
  6103. WHEN c.nzdls <
  6104. CASE
  6105. WHEN IFNULL(d.fZls, 0) < rr.zl
  6106. THEN rr.zl
  6107. ELSE IFNULL(d.fZls, 0)
  6108. END
  6109. THEN
  6110. CASE
  6111. WHEN IFNULL(d.fZls, 0) < rr.zl
  6112. THEN rr.zl
  6113. ELSE IFNULL(d.fZls, 0)
  6114. END
  6115. ELSE c.nzdls
  6116. END
  6117. )
  6118. END
  6119. ELSE 0
  6120. END
  6121. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6122. END
  6123. END )
  6124. , 3) 马44乙纸令
  6125. ")
  6126. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6127. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6128. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6129. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6130. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6131. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6132. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  6133. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6134. ->group("CASE
  6135. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6136. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6137. END,Name_WorkGroup")
  6138. ->buildSql();
  6139. $XX = Db::table('ql_report_feedback_day')->alias('a')
  6140. ->field("
  6141. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6142. ROUND(SUM(
  6143. CASE
  6144. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6145. THEN
  6146. CASE
  6147. WHEN a.cCyddxMc = '装配'
  6148. OR a.cCyddxMc LIKE '%正文%'
  6149. OR a.cCyddxMc LIKE '%答案%'
  6150. OR a.cCyddxMc LIKE '%卷%'
  6151. THEN
  6152. CASE
  6153. WHEN CASE
  6154. WHEN IFNULL(d.fZls, 0) < rr.zl
  6155. THEN rr.zl
  6156. ELSE IFNULL(d.fZls, 0)
  6157. END = 0
  6158. THEN c.nzdls
  6159. ELSE (
  6160. CASE
  6161. WHEN c.nzdls <
  6162. CASE
  6163. WHEN IFNULL(d.fZls, 0) < rr.zl
  6164. THEN rr.zl
  6165. ELSE IFNULL(d.fZls, 0)
  6166. END
  6167. THEN
  6168. CASE
  6169. WHEN IFNULL(d.fZls, 0) < rr.zl
  6170. THEN rr.zl
  6171. ELSE IFNULL(d.fZls, 0)
  6172. END
  6173. ELSE c.nzdls
  6174. END
  6175. )
  6176. END
  6177. ELSE 0
  6178. END
  6179. ELSE
  6180. CASE
  6181. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6182. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6183. CASE
  6184. WHEN a.cCyddxMc = '装配'
  6185. OR a.cCyddxMc LIKE '%正文%'
  6186. OR a.cCyddxMc LIKE '%答案%'
  6187. OR a.cCyddxMc LIKE '%卷%'
  6188. THEN
  6189. CASE
  6190. WHEN CASE
  6191. WHEN IFNULL(d.fZls, 0) < rr.zl
  6192. THEN rr.zl
  6193. ELSE IFNULL(d.fZls, 0)
  6194. END = 0
  6195. THEN c.nzdls
  6196. ELSE (
  6197. CASE
  6198. WHEN c.nzdls <
  6199. CASE
  6200. WHEN IFNULL(d.fZls, 0) < rr.zl
  6201. THEN rr.zl
  6202. ELSE IFNULL(d.fZls, 0)
  6203. END
  6204. THEN
  6205. CASE
  6206. WHEN IFNULL(d.fZls, 0) < rr.zl
  6207. THEN rr.zl
  6208. ELSE IFNULL(d.fZls, 0)
  6209. END
  6210. ELSE c.nzdls
  6211. END
  6212. )
  6213. END
  6214. ELSE 0
  6215. END
  6216. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6217. END
  6218. END )
  6219. , 3) 马55甲纸令
  6220. ")
  6221. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6222. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6223. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6224. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6225. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6226. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6227. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  6228. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6229. ->group("CASE
  6230. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6231. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6232. END,Name_WorkGroup")
  6233. ->buildSql();
  6234. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  6235. ->field("
  6236. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6237. ROUND(SUM(
  6238. CASE
  6239. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6240. THEN
  6241. CASE
  6242. WHEN a.cCyddxMc = '装配'
  6243. OR a.cCyddxMc LIKE '%正文%'
  6244. OR a.cCyddxMc LIKE '%答案%'
  6245. OR a.cCyddxMc LIKE '%卷%'
  6246. THEN
  6247. CASE
  6248. WHEN CASE
  6249. WHEN IFNULL(d.fZls, 0) < rr.zl
  6250. THEN rr.zl
  6251. ELSE IFNULL(d.fZls, 0)
  6252. END = 0
  6253. THEN c.nzdls
  6254. ELSE (
  6255. CASE
  6256. WHEN c.nzdls <
  6257. CASE
  6258. WHEN IFNULL(d.fZls, 0) < rr.zl
  6259. THEN rr.zl
  6260. ELSE IFNULL(d.fZls, 0)
  6261. END
  6262. THEN
  6263. CASE
  6264. WHEN IFNULL(d.fZls, 0) < rr.zl
  6265. THEN rr.zl
  6266. ELSE IFNULL(d.fZls, 0)
  6267. END
  6268. ELSE c.nzdls
  6269. END
  6270. )
  6271. END
  6272. ELSE 0
  6273. END
  6274. ELSE
  6275. CASE
  6276. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6277. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6278. CASE
  6279. WHEN a.cCyddxMc = '装配'
  6280. OR a.cCyddxMc LIKE '%正文%'
  6281. OR a.cCyddxMc LIKE '%答案%'
  6282. OR a.cCyddxMc LIKE '%卷%'
  6283. THEN
  6284. CASE
  6285. WHEN CASE
  6286. WHEN IFNULL(d.fZls, 0) < rr.zl
  6287. THEN rr.zl
  6288. ELSE IFNULL(d.fZls, 0)
  6289. END = 0
  6290. THEN c.nzdls
  6291. ELSE (
  6292. CASE
  6293. WHEN c.nzdls <
  6294. CASE
  6295. WHEN IFNULL(d.fZls, 0) < rr.zl
  6296. THEN rr.zl
  6297. ELSE IFNULL(d.fZls, 0)
  6298. END
  6299. THEN
  6300. CASE
  6301. WHEN IFNULL(d.fZls, 0) < rr.zl
  6302. THEN rr.zl
  6303. ELSE IFNULL(d.fZls, 0)
  6304. END
  6305. ELSE c.nzdls
  6306. END
  6307. )
  6308. END
  6309. ELSE 0
  6310. END
  6311. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6312. END
  6313. END )
  6314. , 3) 马55乙纸令
  6315. ")
  6316. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6317. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6318. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6319. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6320. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6321. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6322. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  6323. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6324. ->group("CASE
  6325. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6326. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6327. END,Name_WorkGroup")
  6328. ->buildSql();
  6329. //DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  6330. $db = Db::table($A . 'a')
  6331. ->field("
  6332. DISTINCT DATE(A.RQ) rq,
  6333. floor(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  6334. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  6335. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  6336. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  6337. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  6338. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  6339. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  6340. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  6341. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  6342. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)) 纸令数总计
  6343. ")
  6344. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  6345. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6346. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  6347. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  6348. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  6349. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  6350. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  6351. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  6352. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  6353. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  6354. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6355. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6356. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  6357. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  6358. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  6359. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  6360. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  6361. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  6362. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  6363. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  6364. ->group('rq')
  6365. ->buildSql();
  6366. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.纸令数总计 )) AS '无线胶订纸令'
  6367. $sql_final = Db::table($db . ' db')
  6368. ->field("
  6369. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  6370. ROUND(SUM(db.纸令数总计), 0) AS jdzl
  6371. ")
  6372. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  6373. // ->group('MONTH(db.rq)')
  6374. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  6375. ->select();
  6376. $i=0;
  6377. $j=0;
  6378. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  6379. foreach($sql_final as $v){
  6380. if($v['rq']>=$this->year_January()){
  6381. $list['series'][1]['name']='2023年';
  6382. $list['series'][1]['data'][$j]=$v['jdzl'];
  6383. $j++;
  6384. }else{
  6385. $list['series'][0]['name']='2022年';
  6386. $list['series'][0]['data'][$i]=$v['jdzl'];
  6387. $i++;
  6388. }
  6389. }
  6390. $res['status']=0;
  6391. $res['msg']='';
  6392. $res['data']=$list;
  6393. $redis->set($redis_key, json_encode($res));
  6394. return json_encode($res);
  6395. }
  6396. //胶订纸令->接口调用
  6397. public function jdzl(){
  6398. $redis=redis();
  6399. $redis_key = md5('jdzl_redis');
  6400. $redis_data = $redis->get($redis_key);
  6401. return $redis_data;
  6402. }
  6403. //精装纸令->缓存调用
  6404. public function jzzl_redis(){
  6405. $redis=redis();
  6406. $redis_key = md5('jzzl_redis');
  6407. //首先定义了起始时间和结束时间
  6408. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  6409. ->union(function ($query) {
  6410. $query->table('scDayRpt_Teams')->alias('b')
  6411. ->field("DISTINCT DATE_FORMAT(
  6412. CASE
  6413. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  6414. ELSE b.dOnDuty
  6415. END,
  6416. '%Y-%m-%d'
  6417. ) AS RQ");
  6418. }, true)
  6419. ->buildSql();
  6420. //精1甲、精1甲纸令数
  6421. $B = Db::table('cpjtfk')
  6422. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6423. ->field("
  6424. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6425. sum(mcyd.NZWyz * iWCl / 1000) as 精1甲纸令数
  6426. ")
  6427. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  6428. ->group('drptdate,cbanzu')
  6429. ->buildSql();
  6430. //精1乙 精1乙纸令数
  6431. $B1 = Db::table('cpjtfk')
  6432. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6433. ->field("
  6434. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6435. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  6436. ")
  6437. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  6438. ->group('drptdate,cbanzu')
  6439. ->buildSql();
  6440. $rr = Db::table('scyddx')->alias('r')
  6441. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6442. ->group('r.ICYDID')
  6443. ->buildSql();
  6444. //精11甲--精11甲纸令
  6445. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6446. ->field("
  6447. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6448. ROUND(SUM(
  6449. CASE
  6450. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6451. THEN
  6452. CASE
  6453. WHEN a.cCyddxMc = '装配'
  6454. OR a.cCyddxMc LIKE '%正文%'
  6455. OR a.cCyddxMc LIKE '%答案%'
  6456. OR a.cCyddxMc LIKE '%卷%'
  6457. THEN
  6458. CASE
  6459. WHEN CASE
  6460. WHEN IFNULL(d.fZls, 0) < rr.zl
  6461. THEN rr.zl
  6462. ELSE IFNULL(d.fZls, 0)
  6463. END = 0
  6464. THEN c.nzdls
  6465. ELSE (
  6466. CASE
  6467. WHEN c.nzdls <
  6468. CASE
  6469. WHEN IFNULL(d.fZls, 0) < rr.zl
  6470. THEN rr.zl
  6471. ELSE IFNULL(d.fZls, 0)
  6472. END
  6473. THEN
  6474. CASE
  6475. WHEN IFNULL(d.fZls, 0) < rr.zl
  6476. THEN rr.zl
  6477. ELSE IFNULL(d.fZls, 0)
  6478. END
  6479. ELSE c.nzdls
  6480. END
  6481. )
  6482. END
  6483. ELSE 0
  6484. END
  6485. ELSE
  6486. CASE
  6487. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6488. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6489. CASE
  6490. WHEN a.cCyddxMc = '装配'
  6491. OR a.cCyddxMc LIKE '%正文%'
  6492. OR a.cCyddxMc LIKE '%答案%'
  6493. OR a.cCyddxMc LIKE '%卷%'
  6494. THEN
  6495. CASE
  6496. WHEN CASE
  6497. WHEN IFNULL(d.fZls, 0) < rr.zl
  6498. THEN rr.zl
  6499. ELSE IFNULL(d.fZls, 0)
  6500. END = 0
  6501. THEN c.nzdls
  6502. ELSE (
  6503. CASE
  6504. WHEN c.nzdls <
  6505. CASE
  6506. WHEN IFNULL(d.fZls, 0) < rr.zl
  6507. THEN rr.zl
  6508. ELSE IFNULL(d.fZls, 0)
  6509. END
  6510. THEN
  6511. CASE
  6512. WHEN IFNULL(d.fZls, 0) < rr.zl
  6513. THEN rr.zl
  6514. ELSE IFNULL(d.fZls, 0)
  6515. END
  6516. ELSE c.nzdls
  6517. END
  6518. )
  6519. END
  6520. ELSE 0
  6521. END
  6522. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6523. END
  6524. END )
  6525. , 3) 精11甲纸令
  6526. ")
  6527. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6528. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6529. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6530. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6531. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6532. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6533. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  6534. ->where('a.cTechName' ,'=','精装联动')
  6535. ->group("CASE
  6536. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6537. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6538. END,Name_WorkGroup")
  6539. ->buildSql();
  6540. //精11乙--精11乙纸令
  6541. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6542. ->field("
  6543. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6544. ROUND(SUM(
  6545. CASE
  6546. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6547. THEN
  6548. CASE
  6549. WHEN a.cCyddxMc = '装配'
  6550. OR a.cCyddxMc LIKE '%正文%'
  6551. OR a.cCyddxMc LIKE '%答案%'
  6552. OR a.cCyddxMc LIKE '%卷%'
  6553. THEN
  6554. CASE
  6555. WHEN CASE
  6556. WHEN IFNULL(d.fZls, 0) < rr.zl
  6557. THEN rr.zl
  6558. ELSE IFNULL(d.fZls, 0)
  6559. END = 0
  6560. THEN c.nzdls
  6561. ELSE (
  6562. CASE
  6563. WHEN c.nzdls <
  6564. CASE
  6565. WHEN IFNULL(d.fZls, 0) < rr.zl
  6566. THEN rr.zl
  6567. ELSE IFNULL(d.fZls, 0)
  6568. END
  6569. THEN
  6570. CASE
  6571. WHEN IFNULL(d.fZls, 0) < rr.zl
  6572. THEN rr.zl
  6573. ELSE IFNULL(d.fZls, 0)
  6574. END
  6575. ELSE c.nzdls
  6576. END
  6577. )
  6578. END
  6579. ELSE 0
  6580. END
  6581. ELSE
  6582. CASE
  6583. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6584. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6585. CASE
  6586. WHEN a.cCyddxMc = '装配'
  6587. OR a.cCyddxMc LIKE '%正文%'
  6588. OR a.cCyddxMc LIKE '%答案%'
  6589. OR a.cCyddxMc LIKE '%卷%'
  6590. THEN
  6591. CASE
  6592. WHEN CASE
  6593. WHEN IFNULL(d.fZls, 0) < rr.zl
  6594. THEN rr.zl
  6595. ELSE IFNULL(d.fZls, 0)
  6596. END = 0
  6597. THEN c.nzdls
  6598. ELSE (
  6599. CASE
  6600. WHEN c.nzdls <
  6601. CASE
  6602. WHEN IFNULL(d.fZls, 0) < rr.zl
  6603. THEN rr.zl
  6604. ELSE IFNULL(d.fZls, 0)
  6605. END
  6606. THEN
  6607. CASE
  6608. WHEN IFNULL(d.fZls, 0) < rr.zl
  6609. THEN rr.zl
  6610. ELSE IFNULL(d.fZls, 0)
  6611. END
  6612. ELSE c.nzdls
  6613. END
  6614. )
  6615. END
  6616. ELSE 0
  6617. END
  6618. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6619. END
  6620. END )
  6621. , 3) 精11乙纸令
  6622. ")
  6623. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6624. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6625. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6626. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6627. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6628. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6629. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  6630. ->where('a.cTechName' ,'=','精装联动')
  6631. ->group("CASE
  6632. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6633. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6634. END,Name_WorkGroup")
  6635. ->buildSql();
  6636. $db = Db::table($A . 'a')
  6637. ->field("
  6638. DISTINCT DATE(A.RQ) rq,
  6639. floor(IFNULL(sum(b.精1甲纸令数), 0) + IFNULL(sum(b1.精1乙纸令数), 0)
  6640. + IFNULL(sum(Bb.精11甲纸令), 0) + IFNULL(sum(Bb1.精11乙纸令), 0)) 纸令数总计
  6641. ")
  6642. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  6643. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6644. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6645. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6646. ->group('rq')
  6647. ->buildSql();
  6648. $sql_final = Db::table($db . ' db')
  6649. ->field("
  6650. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  6651. ROUND(sum(db.纸令数总计), 0) as jzzl
  6652. ")
  6653. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  6654. // ->group('MONTH(db.rq)')
  6655. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  6656. ->select();
  6657. $i=0;
  6658. $j=0;
  6659. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  6660. foreach($sql_final as $v){
  6661. if($v['rq']>=$this->year_January()){
  6662. $list['series'][1]['name']='2023年';
  6663. $list['series'][1]['data'][$j]=$v['jzzl'];
  6664. $j++;
  6665. }else{
  6666. $list['series'][0]['name']='2022年';
  6667. $list['series'][0]['data'][$i]=$v['jzzl'];
  6668. $i++;
  6669. }
  6670. }
  6671. $res['status']=0;
  6672. $res['msg']='';
  6673. $res['data']=$list;
  6674. $redis->set($redis_key, json_encode($res));
  6675. return json_encode($res);
  6676. }
  6677. //精装纸令->接口调用
  6678. public function jzzl(){
  6679. $redis=redis();
  6680. $redis_key = md5('jzzl_redis');
  6681. $redis_data = $redis->get($redis_key);
  6682. return $redis_data;
  6683. }
  6684. //骑马纸令->缓存调用
  6685. public function qmzl_redis(){
  6686. $redis=redis();
  6687. $redis_key = md5('qmzl_redis');
  6688. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  6689. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  6690. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  6691. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  6692. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  6693. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  6694. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  6695. ->union(function ($query) {
  6696. $query->table('scDayRpt_Teams')->alias('b')
  6697. ->field("DISTINCT DATE_FORMAT(
  6698. CASE
  6699. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  6700. ELSE b.dOnDuty
  6701. END,
  6702. '%Y-%m-%d'
  6703. ) AS RQ");
  6704. }, true)
  6705. ->buildSql();
  6706. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  6707. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  6708. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  6709. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  6710. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  6711. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  6712. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  6713. $B = Db::table('cpjtfk')
  6714. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6715. ->field("
  6716. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6717. sum(mcyd.NZWyz * iWCl / 1000) as 骑1甲纸令数
  6718. ")
  6719. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  6720. ->group('drptdate,cbanzu')
  6721. ->buildSql();
  6722. $B1 = Db::table('cpjtfk')
  6723. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6724. ->field("
  6725. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6726. sum(mcyd.NZWyz * iWCl / 1000) as 骑1乙纸令数
  6727. ")
  6728. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  6729. ->group('drptdate,cbanzu')
  6730. ->buildSql();
  6731. $C = Db::table('cpjtfk')
  6732. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6733. ->field("
  6734. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6735. sum(mcyd.NZWyz * iWCl / 1000) as 骑2甲纸令数
  6736. ")
  6737. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  6738. ->group('drptdate,cbanzu')
  6739. ->buildSql();
  6740. $C1 = Db::table('cpjtfk')
  6741. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6742. ->field("
  6743. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6744. sum(mcyd.NZWyz * iWCl / 1000) as 骑2乙纸令数
  6745. ")
  6746. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  6747. ->group('drptdate,cbanzu')
  6748. ->buildSql();
  6749. $D = Db::table('cpjtfk')
  6750. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6751. ->field("
  6752. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6753. sum(mcyd.NZWyz * iWCl / 1000) as 骑3甲纸令数
  6754. ")
  6755. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  6756. ->group('drptdate,cbanzu')
  6757. ->buildSql();
  6758. $D1 = Db::table('cpjtfk')
  6759. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6760. ->field("
  6761. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6762. sum(mcyd.NZWyz * iWCl / 1000) as 骑3乙纸令数
  6763. ")
  6764. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  6765. ->group('drptdate,cbanzu')
  6766. ->buildSql();
  6767. $E = Db::table('cpjtfk')
  6768. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6769. ->field("
  6770. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6771. sum(mcyd.NZWyz * iWCl / 1000) as 骑4甲纸令数
  6772. ")
  6773. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  6774. ->group('drptdate,cbanzu')
  6775. ->buildSql();
  6776. $E1 = Db::table('cpjtfk')
  6777. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6778. ->field("
  6779. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6780. sum(mcyd.NZWyz * iWCl / 1000) as 骑4乙纸令数
  6781. ")
  6782. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  6783. ->group('drptdate,cbanzu')
  6784. ->buildSql();
  6785. $rr = Db::table('scyddx')->alias('r')
  6786. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6787. ->group('r.ICYDID')
  6788. ->buildSql();
  6789. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  6790. //2.使用别名$Bb表示主查询结果。
  6791. //3.查询的主要数据来源是表ql_report_feedback_day。
  6792. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  6793. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  6794. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  6795. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  6796. //8.通过buildSql方法生成最终的SQL查询语句
  6797. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6798. ->field("
  6799. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6800. ROUND(SUM(
  6801. CASE
  6802. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6803. THEN
  6804. CASE
  6805. WHEN a.cCyddxMc = '装配'
  6806. OR a.cCyddxMc LIKE '%正文%'
  6807. OR a.cCyddxMc LIKE '%答案%'
  6808. OR a.cCyddxMc LIKE '%卷%'
  6809. THEN
  6810. CASE
  6811. WHEN CASE
  6812. WHEN IFNULL(d.fZls, 0) < rr.zl
  6813. THEN rr.zl
  6814. ELSE IFNULL(d.fZls, 0)
  6815. END = 0
  6816. THEN c.nzdls
  6817. ELSE (
  6818. CASE
  6819. WHEN c.nzdls <
  6820. CASE
  6821. WHEN IFNULL(d.fZls, 0) < rr.zl
  6822. THEN rr.zl
  6823. ELSE IFNULL(d.fZls, 0)
  6824. END
  6825. THEN
  6826. CASE
  6827. WHEN IFNULL(d.fZls, 0) < rr.zl
  6828. THEN rr.zl
  6829. ELSE IFNULL(d.fZls, 0)
  6830. END
  6831. ELSE c.nzdls
  6832. END
  6833. )
  6834. END
  6835. ELSE 0
  6836. END
  6837. ELSE
  6838. CASE
  6839. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6840. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6841. CASE
  6842. WHEN a.cCyddxMc = '装配'
  6843. OR a.cCyddxMc LIKE '%正文%'
  6844. OR a.cCyddxMc LIKE '%答案%'
  6845. OR a.cCyddxMc LIKE '%卷%'
  6846. THEN
  6847. CASE
  6848. WHEN CASE
  6849. WHEN IFNULL(d.fZls, 0) < rr.zl
  6850. THEN rr.zl
  6851. ELSE IFNULL(d.fZls, 0)
  6852. END = 0
  6853. THEN c.nzdls
  6854. ELSE (
  6855. CASE
  6856. WHEN c.nzdls <
  6857. CASE
  6858. WHEN IFNULL(d.fZls, 0) < rr.zl
  6859. THEN rr.zl
  6860. ELSE IFNULL(d.fZls, 0)
  6861. END
  6862. THEN
  6863. CASE
  6864. WHEN IFNULL(d.fZls, 0) < rr.zl
  6865. THEN rr.zl
  6866. ELSE IFNULL(d.fZls, 0)
  6867. END
  6868. ELSE c.nzdls
  6869. END
  6870. )
  6871. END
  6872. ELSE 0
  6873. END
  6874. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6875. END
  6876. END )
  6877. , 3) 骑11甲纸令
  6878. ")
  6879. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6880. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6881. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6882. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6883. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6884. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6885. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  6886. ->where('a.cTechName' ,'=','骑马联动')
  6887. ->group("CASE
  6888. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6889. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6890. END,Name_WorkGroup")
  6891. ->buildSql();
  6892. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6893. ->field("
  6894. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6895. ROUND(SUM(
  6896. CASE
  6897. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6898. THEN
  6899. CASE
  6900. WHEN a.cCyddxMc = '装配'
  6901. OR a.cCyddxMc LIKE '%正文%'
  6902. OR a.cCyddxMc LIKE '%答案%'
  6903. OR a.cCyddxMc LIKE '%卷%'
  6904. THEN
  6905. CASE
  6906. WHEN CASE
  6907. WHEN IFNULL(d.fZls, 0) < rr.zl
  6908. THEN rr.zl
  6909. ELSE IFNULL(d.fZls, 0)
  6910. END = 0
  6911. THEN c.nzdls
  6912. ELSE (
  6913. CASE
  6914. WHEN c.nzdls <
  6915. CASE
  6916. WHEN IFNULL(d.fZls, 0) < rr.zl
  6917. THEN rr.zl
  6918. ELSE IFNULL(d.fZls, 0)
  6919. END
  6920. THEN
  6921. CASE
  6922. WHEN IFNULL(d.fZls, 0) < rr.zl
  6923. THEN rr.zl
  6924. ELSE IFNULL(d.fZls, 0)
  6925. END
  6926. ELSE c.nzdls
  6927. END
  6928. )
  6929. END
  6930. ELSE 0
  6931. END
  6932. ELSE
  6933. CASE
  6934. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6935. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6936. CASE
  6937. WHEN a.cCyddxMc = '装配'
  6938. OR a.cCyddxMc LIKE '%正文%'
  6939. OR a.cCyddxMc LIKE '%答案%'
  6940. OR a.cCyddxMc LIKE '%卷%'
  6941. THEN
  6942. CASE
  6943. WHEN CASE
  6944. WHEN IFNULL(d.fZls, 0) < rr.zl
  6945. THEN rr.zl
  6946. ELSE IFNULL(d.fZls, 0)
  6947. END = 0
  6948. THEN c.nzdls
  6949. ELSE (
  6950. CASE
  6951. WHEN c.nzdls <
  6952. CASE
  6953. WHEN IFNULL(d.fZls, 0) < rr.zl
  6954. THEN rr.zl
  6955. ELSE IFNULL(d.fZls, 0)
  6956. END
  6957. THEN
  6958. CASE
  6959. WHEN IFNULL(d.fZls, 0) < rr.zl
  6960. THEN rr.zl
  6961. ELSE IFNULL(d.fZls, 0)
  6962. END
  6963. ELSE c.nzdls
  6964. END
  6965. )
  6966. END
  6967. ELSE 0
  6968. END
  6969. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6970. END
  6971. END )
  6972. , 3) 骑11乙纸令
  6973. ")
  6974. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6975. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6976. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6977. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6978. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6979. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6980. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  6981. ->where('a.cTechName' ,'=','骑马联动')
  6982. ->group("CASE
  6983. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6984. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6985. END,Name_WorkGroup")
  6986. ->buildSql();
  6987. $CC = Db::table('ql_report_feedback_day')->alias('a')
  6988. ->field("
  6989. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6990. ROUND(SUM(
  6991. CASE
  6992. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6993. THEN
  6994. CASE
  6995. WHEN a.cCyddxMc = '装配'
  6996. OR a.cCyddxMc LIKE '%正文%'
  6997. OR a.cCyddxMc LIKE '%答案%'
  6998. OR a.cCyddxMc LIKE '%卷%'
  6999. THEN
  7000. CASE
  7001. WHEN CASE
  7002. WHEN IFNULL(d.fZls, 0) < rr.zl
  7003. THEN rr.zl
  7004. ELSE IFNULL(d.fZls, 0)
  7005. END = 0
  7006. THEN c.nzdls
  7007. ELSE (
  7008. CASE
  7009. WHEN c.nzdls <
  7010. CASE
  7011. WHEN IFNULL(d.fZls, 0) < rr.zl
  7012. THEN rr.zl
  7013. ELSE IFNULL(d.fZls, 0)
  7014. END
  7015. THEN
  7016. CASE
  7017. WHEN IFNULL(d.fZls, 0) < rr.zl
  7018. THEN rr.zl
  7019. ELSE IFNULL(d.fZls, 0)
  7020. END
  7021. ELSE c.nzdls
  7022. END
  7023. )
  7024. END
  7025. ELSE 0
  7026. END
  7027. ELSE
  7028. CASE
  7029. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7030. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7031. CASE
  7032. WHEN a.cCyddxMc = '装配'
  7033. OR a.cCyddxMc LIKE '%正文%'
  7034. OR a.cCyddxMc LIKE '%答案%'
  7035. OR a.cCyddxMc LIKE '%卷%'
  7036. THEN
  7037. CASE
  7038. WHEN CASE
  7039. WHEN IFNULL(d.fZls, 0) < rr.zl
  7040. THEN rr.zl
  7041. ELSE IFNULL(d.fZls, 0)
  7042. END = 0
  7043. THEN c.nzdls
  7044. ELSE (
  7045. CASE
  7046. WHEN c.nzdls <
  7047. CASE
  7048. WHEN IFNULL(d.fZls, 0) < rr.zl
  7049. THEN rr.zl
  7050. ELSE IFNULL(d.fZls, 0)
  7051. END
  7052. THEN
  7053. CASE
  7054. WHEN IFNULL(d.fZls, 0) < rr.zl
  7055. THEN rr.zl
  7056. ELSE IFNULL(d.fZls, 0)
  7057. END
  7058. ELSE c.nzdls
  7059. END
  7060. )
  7061. END
  7062. ELSE 0
  7063. END
  7064. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7065. END
  7066. END )
  7067. , 3) 骑22甲纸令
  7068. ")
  7069. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7070. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7071. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7072. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7073. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7074. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7075. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  7076. ->where('a.cTechName' ,'=','骑马联动')
  7077. ->group("CASE
  7078. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7079. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7080. END,Name_WorkGroup")
  7081. ->buildSql();
  7082. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  7083. ->field("
  7084. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7085. ROUND(SUM(
  7086. CASE
  7087. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7088. THEN
  7089. CASE
  7090. WHEN a.cCyddxMc = '装配'
  7091. OR a.cCyddxMc LIKE '%正文%'
  7092. OR a.cCyddxMc LIKE '%答案%'
  7093. OR a.cCyddxMc LIKE '%卷%'
  7094. THEN
  7095. CASE
  7096. WHEN CASE
  7097. WHEN IFNULL(d.fZls, 0) < rr.zl
  7098. THEN rr.zl
  7099. ELSE IFNULL(d.fZls, 0)
  7100. END = 0
  7101. THEN c.nzdls
  7102. ELSE (
  7103. CASE
  7104. WHEN c.nzdls <
  7105. CASE
  7106. WHEN IFNULL(d.fZls, 0) < rr.zl
  7107. THEN rr.zl
  7108. ELSE IFNULL(d.fZls, 0)
  7109. END
  7110. THEN
  7111. CASE
  7112. WHEN IFNULL(d.fZls, 0) < rr.zl
  7113. THEN rr.zl
  7114. ELSE IFNULL(d.fZls, 0)
  7115. END
  7116. ELSE c.nzdls
  7117. END
  7118. )
  7119. END
  7120. ELSE 0
  7121. END
  7122. ELSE
  7123. CASE
  7124. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7125. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7126. CASE
  7127. WHEN a.cCyddxMc = '装配'
  7128. OR a.cCyddxMc LIKE '%正文%'
  7129. OR a.cCyddxMc LIKE '%答案%'
  7130. OR a.cCyddxMc LIKE '%卷%'
  7131. THEN
  7132. CASE
  7133. WHEN CASE
  7134. WHEN IFNULL(d.fZls, 0) < rr.zl
  7135. THEN rr.zl
  7136. ELSE IFNULL(d.fZls, 0)
  7137. END = 0
  7138. THEN c.nzdls
  7139. ELSE (
  7140. CASE
  7141. WHEN c.nzdls <
  7142. CASE
  7143. WHEN IFNULL(d.fZls, 0) < rr.zl
  7144. THEN rr.zl
  7145. ELSE IFNULL(d.fZls, 0)
  7146. END
  7147. THEN
  7148. CASE
  7149. WHEN IFNULL(d.fZls, 0) < rr.zl
  7150. THEN rr.zl
  7151. ELSE IFNULL(d.fZls, 0)
  7152. END
  7153. ELSE c.nzdls
  7154. END
  7155. )
  7156. END
  7157. ELSE 0
  7158. END
  7159. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7160. END
  7161. END )
  7162. , 3) 骑22乙纸令
  7163. ")
  7164. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7165. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7166. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7167. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7168. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7169. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7170. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  7171. ->where('a.cTechName' ,'=','骑马联动')
  7172. ->group("CASE
  7173. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7174. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7175. END,Name_WorkGroup")
  7176. ->buildSql();
  7177. $EE = Db::table('ql_report_feedback_day')->alias('a')
  7178. ->field("
  7179. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7180. ROUND(SUM(
  7181. CASE
  7182. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7183. THEN
  7184. CASE
  7185. WHEN a.cCyddxMc = '装配'
  7186. OR a.cCyddxMc LIKE '%正文%'
  7187. OR a.cCyddxMc LIKE '%答案%'
  7188. OR a.cCyddxMc LIKE '%卷%'
  7189. THEN
  7190. CASE
  7191. WHEN CASE
  7192. WHEN IFNULL(d.fZls, 0) < rr.zl
  7193. THEN rr.zl
  7194. ELSE IFNULL(d.fZls, 0)
  7195. END = 0
  7196. THEN c.nzdls
  7197. ELSE (
  7198. CASE
  7199. WHEN c.nzdls <
  7200. CASE
  7201. WHEN IFNULL(d.fZls, 0) < rr.zl
  7202. THEN rr.zl
  7203. ELSE IFNULL(d.fZls, 0)
  7204. END
  7205. THEN
  7206. CASE
  7207. WHEN IFNULL(d.fZls, 0) < rr.zl
  7208. THEN rr.zl
  7209. ELSE IFNULL(d.fZls, 0)
  7210. END
  7211. ELSE c.nzdls
  7212. END
  7213. )
  7214. END
  7215. ELSE 0
  7216. END
  7217. ELSE
  7218. CASE
  7219. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7220. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7221. CASE
  7222. WHEN a.cCyddxMc = '装配'
  7223. OR a.cCyddxMc LIKE '%正文%'
  7224. OR a.cCyddxMc LIKE '%答案%'
  7225. OR a.cCyddxMc LIKE '%卷%'
  7226. THEN
  7227. CASE
  7228. WHEN CASE
  7229. WHEN IFNULL(d.fZls, 0) < rr.zl
  7230. THEN rr.zl
  7231. ELSE IFNULL(d.fZls, 0)
  7232. END = 0
  7233. THEN c.nzdls
  7234. ELSE (
  7235. CASE
  7236. WHEN c.nzdls <
  7237. CASE
  7238. WHEN IFNULL(d.fZls, 0) < rr.zl
  7239. THEN rr.zl
  7240. ELSE IFNULL(d.fZls, 0)
  7241. END
  7242. THEN
  7243. CASE
  7244. WHEN IFNULL(d.fZls, 0) < rr.zl
  7245. THEN rr.zl
  7246. ELSE IFNULL(d.fZls, 0)
  7247. END
  7248. ELSE c.nzdls
  7249. END
  7250. )
  7251. END
  7252. ELSE 0
  7253. END
  7254. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7255. END
  7256. END )
  7257. , 3) 骑33甲纸令
  7258. ")
  7259. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7260. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7261. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7262. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7263. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7264. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7265. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  7266. ->where('a.cTechName' ,'=','骑马联动')
  7267. ->group("CASE
  7268. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7269. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7270. END,Name_WorkGroup")
  7271. ->buildSql();
  7272. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  7273. ->field("
  7274. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7275. ROUND(SUM(
  7276. CASE
  7277. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7278. THEN
  7279. CASE
  7280. WHEN a.cCyddxMc = '装配'
  7281. OR a.cCyddxMc LIKE '%正文%'
  7282. OR a.cCyddxMc LIKE '%答案%'
  7283. OR a.cCyddxMc LIKE '%卷%'
  7284. THEN
  7285. CASE
  7286. WHEN CASE
  7287. WHEN IFNULL(d.fZls, 0) < rr.zl
  7288. THEN rr.zl
  7289. ELSE IFNULL(d.fZls, 0)
  7290. END = 0
  7291. THEN c.nzdls
  7292. ELSE (
  7293. CASE
  7294. WHEN c.nzdls <
  7295. CASE
  7296. WHEN IFNULL(d.fZls, 0) < rr.zl
  7297. THEN rr.zl
  7298. ELSE IFNULL(d.fZls, 0)
  7299. END
  7300. THEN
  7301. CASE
  7302. WHEN IFNULL(d.fZls, 0) < rr.zl
  7303. THEN rr.zl
  7304. ELSE IFNULL(d.fZls, 0)
  7305. END
  7306. ELSE c.nzdls
  7307. END
  7308. )
  7309. END
  7310. ELSE 0
  7311. END
  7312. ELSE
  7313. CASE
  7314. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7315. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7316. CASE
  7317. WHEN a.cCyddxMc = '装配'
  7318. OR a.cCyddxMc LIKE '%正文%'
  7319. OR a.cCyddxMc LIKE '%答案%'
  7320. OR a.cCyddxMc LIKE '%卷%'
  7321. THEN
  7322. CASE
  7323. WHEN CASE
  7324. WHEN IFNULL(d.fZls, 0) < rr.zl
  7325. THEN rr.zl
  7326. ELSE IFNULL(d.fZls, 0)
  7327. END = 0
  7328. THEN c.nzdls
  7329. ELSE (
  7330. CASE
  7331. WHEN c.nzdls <
  7332. CASE
  7333. WHEN IFNULL(d.fZls, 0) < rr.zl
  7334. THEN rr.zl
  7335. ELSE IFNULL(d.fZls, 0)
  7336. END
  7337. THEN
  7338. CASE
  7339. WHEN IFNULL(d.fZls, 0) < rr.zl
  7340. THEN rr.zl
  7341. ELSE IFNULL(d.fZls, 0)
  7342. END
  7343. ELSE c.nzdls
  7344. END
  7345. )
  7346. END
  7347. ELSE 0
  7348. END
  7349. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7350. END
  7351. END )
  7352. , 3) 骑33乙纸令
  7353. ")
  7354. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7355. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7356. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7357. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7358. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7359. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7360. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  7361. ->where('a.cTechName' ,'=','骑马联动')
  7362. ->group("CASE
  7363. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7364. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7365. END,Name_WorkGroup")
  7366. ->buildSql();
  7367. $HH = Db::table('ql_report_feedback_day')->alias('a')
  7368. ->field("
  7369. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7370. ROUND(SUM(
  7371. CASE
  7372. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7373. THEN
  7374. CASE
  7375. WHEN a.cCyddxMc = '装配'
  7376. OR a.cCyddxMc LIKE '%正文%'
  7377. OR a.cCyddxMc LIKE '%答案%'
  7378. OR a.cCyddxMc LIKE '%卷%'
  7379. THEN
  7380. CASE
  7381. WHEN CASE
  7382. WHEN IFNULL(d.fZls, 0) < rr.zl
  7383. THEN rr.zl
  7384. ELSE IFNULL(d.fZls, 0)
  7385. END = 0
  7386. THEN c.nzdls
  7387. ELSE (
  7388. CASE
  7389. WHEN c.nzdls <
  7390. CASE
  7391. WHEN IFNULL(d.fZls, 0) < rr.zl
  7392. THEN rr.zl
  7393. ELSE IFNULL(d.fZls, 0)
  7394. END
  7395. THEN
  7396. CASE
  7397. WHEN IFNULL(d.fZls, 0) < rr.zl
  7398. THEN rr.zl
  7399. ELSE IFNULL(d.fZls, 0)
  7400. END
  7401. ELSE c.nzdls
  7402. END
  7403. )
  7404. END
  7405. ELSE 0
  7406. END
  7407. ELSE
  7408. CASE
  7409. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7410. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7411. CASE
  7412. WHEN a.cCyddxMc = '装配'
  7413. OR a.cCyddxMc LIKE '%正文%'
  7414. OR a.cCyddxMc LIKE '%答案%'
  7415. OR a.cCyddxMc LIKE '%卷%'
  7416. THEN
  7417. CASE
  7418. WHEN CASE
  7419. WHEN IFNULL(d.fZls, 0) < rr.zl
  7420. THEN rr.zl
  7421. ELSE IFNULL(d.fZls, 0)
  7422. END = 0
  7423. THEN c.nzdls
  7424. ELSE (
  7425. CASE
  7426. WHEN c.nzdls <
  7427. CASE
  7428. WHEN IFNULL(d.fZls, 0) < rr.zl
  7429. THEN rr.zl
  7430. ELSE IFNULL(d.fZls, 0)
  7431. END
  7432. THEN
  7433. CASE
  7434. WHEN IFNULL(d.fZls, 0) < rr.zl
  7435. THEN rr.zl
  7436. ELSE IFNULL(d.fZls, 0)
  7437. END
  7438. ELSE c.nzdls
  7439. END
  7440. )
  7441. END
  7442. ELSE 0
  7443. END
  7444. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7445. END
  7446. END )
  7447. , 3) 骑44甲纸令
  7448. ")
  7449. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7450. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7451. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7452. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7453. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7454. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7455. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  7456. ->where('a.cTechName' ,'=','骑马联动')
  7457. ->group("CASE
  7458. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7459. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7460. END,Name_WorkGroup")
  7461. ->buildSql();
  7462. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  7463. ->field("
  7464. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7465. ROUND(SUM(
  7466. CASE
  7467. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7468. THEN
  7469. CASE
  7470. WHEN a.cCyddxMc = '装配'
  7471. OR a.cCyddxMc LIKE '%正文%'
  7472. OR a.cCyddxMc LIKE '%答案%'
  7473. OR a.cCyddxMc LIKE '%卷%'
  7474. THEN
  7475. CASE
  7476. WHEN CASE
  7477. WHEN IFNULL(d.fZls, 0) < rr.zl
  7478. THEN rr.zl
  7479. ELSE IFNULL(d.fZls, 0)
  7480. END = 0
  7481. THEN c.nzdls
  7482. ELSE (
  7483. CASE
  7484. WHEN c.nzdls <
  7485. CASE
  7486. WHEN IFNULL(d.fZls, 0) < rr.zl
  7487. THEN rr.zl
  7488. ELSE IFNULL(d.fZls, 0)
  7489. END
  7490. THEN
  7491. CASE
  7492. WHEN IFNULL(d.fZls, 0) < rr.zl
  7493. THEN rr.zl
  7494. ELSE IFNULL(d.fZls, 0)
  7495. END
  7496. ELSE c.nzdls
  7497. END
  7498. )
  7499. END
  7500. ELSE 0
  7501. END
  7502. ELSE
  7503. CASE
  7504. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7505. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7506. CASE
  7507. WHEN a.cCyddxMc = '装配'
  7508. OR a.cCyddxMc LIKE '%正文%'
  7509. OR a.cCyddxMc LIKE '%答案%'
  7510. OR a.cCyddxMc LIKE '%卷%'
  7511. THEN
  7512. CASE
  7513. WHEN CASE
  7514. WHEN IFNULL(d.fZls, 0) < rr.zl
  7515. THEN rr.zl
  7516. ELSE IFNULL(d.fZls, 0)
  7517. END = 0
  7518. THEN c.nzdls
  7519. ELSE (
  7520. CASE
  7521. WHEN c.nzdls <
  7522. CASE
  7523. WHEN IFNULL(d.fZls, 0) < rr.zl
  7524. THEN rr.zl
  7525. ELSE IFNULL(d.fZls, 0)
  7526. END
  7527. THEN
  7528. CASE
  7529. WHEN IFNULL(d.fZls, 0) < rr.zl
  7530. THEN rr.zl
  7531. ELSE IFNULL(d.fZls, 0)
  7532. END
  7533. ELSE c.nzdls
  7534. END
  7535. )
  7536. END
  7537. ELSE 0
  7538. END
  7539. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7540. END
  7541. END )
  7542. , 3) 骑44乙纸令
  7543. ")
  7544. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7545. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7546. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7547. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7548. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7549. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7550. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  7551. ->where('a.cTechName' ,'=','骑马联动')
  7552. ->group("CASE
  7553. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7554. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7555. END,Name_WorkGroup")
  7556. ->buildSql();
  7557. $db = Db::table($A . 'a')
  7558. ->field("
  7559. DISTINCT DATE(A.RQ) rq,
  7560. TRUNCATE(IFNULL(sum(b.骑1甲纸令数), 0) + IFNULL(sum(b1.骑1乙纸令数), 0)
  7561. + IFNULL(sum(C.骑2甲纸令数), 0) + IFNULL(sum(C1.骑2乙纸令数), 0)
  7562. + IFNULL(sum(D.骑3甲纸令数), 0) + IFNULL(sum(D1.骑3乙纸令数), 0)
  7563. + IFNULL(sum(E.骑4甲纸令数), 0) + IFNULL(sum(E1.骑4乙纸令数), 0)
  7564. + IFNULL(sum(Bb.骑11甲纸令), 0) + IFNULL(sum(cc.骑22甲纸令), 0)
  7565. + IFNULL(sum(ee.骑33甲纸令), 0) + IFNULL(sum(hh.骑44甲纸令), 0)
  7566. + IFNULL(sum(Bb1.骑11乙纸令), 0) + IFNULL(sum(cc1.骑22乙纸令), 0)
  7567. + IFNULL(sum(ee1.骑33乙纸令), 0) + IFNULL(sum(hh1.骑44乙纸令), 0), 0) 纸令数总计
  7568. ")
  7569. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  7570. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  7571. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  7572. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  7573. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  7574. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  7575. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  7576. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  7577. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  7578. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  7579. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  7580. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  7581. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  7582. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  7583. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  7584. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  7585. ->group('rq')
  7586. ->buildSql();
  7587. //使用GROUP BY对日期字段进行分组
  7588. //汇总每个月骑马纸令总和
  7589. $sql_final = Db::table($db . ' db')
  7590. ->field("
  7591. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  7592. ROUND(sum(db.纸令数总计),0) as qmzl
  7593. ")
  7594. ->where("db.rq >= '{$this->qstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  7595. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  7596. ->select();
  7597. $i=0;
  7598. $j=0;
  7599. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  7600. foreach($sql_final as $v){
  7601. if($v['rq']>=$this->year_January()){
  7602. $list['series'][1]['name']='2023年';
  7603. $list['series'][1]['data'][$j]=$v['qmzl'];
  7604. $j++;
  7605. }else{
  7606. $list['series'][0]['name']='2022年';
  7607. $list['series'][0]['data'][$i]=$v['qmzl'];
  7608. $i++;
  7609. }
  7610. }
  7611. $res['status']=0;
  7612. $res['msg']='';
  7613. $res['data']=$list;
  7614. $redis->set($redis_key, json_encode($res));
  7615. return json_encode($res);
  7616. }
  7617. //骑马纸令->接口调用
  7618. public function qmzl(){
  7619. $redis=redis();
  7620. $redis_key = md5('qmzl_redis');
  7621. $redis_data = $redis->get($redis_key);
  7622. return $redis_data;
  7623. }
  7624. //胶订册数->缓存调用
  7625. public function jdcs_redis(){
  7626. $redis=redis();
  7627. $redis_key = md5('jdcs_redis');
  7628. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  7629. ->union(function ($query) {
  7630. $query->table('scDayRpt_Teams')->alias('b')
  7631. ->field("DISTINCT DATE_FORMAT(
  7632. CASE
  7633. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  7634. ELSE b.dOnDuty
  7635. END,
  7636. '%Y-%m-%d'
  7637. ) AS RQ");
  7638. }, true)
  7639. ->buildSql();
  7640. $B = Db::table('cpjtfk')
  7641. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7642. ->field("
  7643. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7644. sum(iwcl) as 马1甲
  7645. ")
  7646. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  7647. ->group('drptdate,cbanzu')
  7648. ->buildSql();
  7649. $B1 = Db::table('cpjtfk')
  7650. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7651. ->field("
  7652. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7653. sum(iwcl) as 马1乙
  7654. ")
  7655. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  7656. ->group('drptdate,cbanzu')
  7657. ->buildSql();
  7658. $C = Db::table('cpjtfk')
  7659. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7660. ->field("
  7661. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7662. sum(iwcl) as 马2甲
  7663. ")
  7664. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  7665. ->group('drptdate,cbanzu')
  7666. ->buildSql();
  7667. $C1 = Db::table('cpjtfk')
  7668. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7669. ->field("
  7670. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7671. sum(iwcl) as 马2乙
  7672. ")
  7673. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  7674. ->group('drptdate,cbanzu')
  7675. ->buildSql();
  7676. $D = Db::table('cpjtfk')
  7677. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7678. ->field("
  7679. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7680. sum(iwcl) as 马3甲
  7681. ")
  7682. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  7683. ->group('drptdate,cbanzu')
  7684. ->buildSql();
  7685. $D1 = Db::table('cpjtfk')
  7686. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7687. ->field("
  7688. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7689. sum(iwcl) as 马3乙
  7690. ")
  7691. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  7692. ->group('drptdate,cbanzu')
  7693. ->buildSql();
  7694. $E = Db::table('cpjtfk')
  7695. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7696. ->field("
  7697. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7698. sum(iwcl) as 马4甲
  7699. ")
  7700. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  7701. ->group('drptdate,cbanzu')
  7702. ->buildSql();
  7703. $E1 = Db::table('cpjtfk')
  7704. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7705. ->field("
  7706. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7707. sum(iwcl) as 马4乙
  7708. ")
  7709. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  7710. ->group('drptdate,cbanzu')
  7711. ->buildSql();
  7712. $F = Db::table('cpjtfk')
  7713. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7714. ->field("
  7715. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7716. sum(iwcl) as 马5甲
  7717. ")
  7718. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  7719. ->group('drptdate,cbanzu')
  7720. ->buildSql();
  7721. $F1 = Db::table('cpjtfk')
  7722. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7723. ->field("
  7724. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7725. sum(iwcl) as 马5乙,
  7726. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  7727. ")
  7728. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  7729. ->group('drptdate,cbanzu')
  7730. ->buildSql();
  7731. $rr = Db::table('scyddx')->alias('r')
  7732. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  7733. ->group('r.ICYDID')
  7734. ->buildSql();
  7735. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  7736. ->field("
  7737. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7738. sum(a.nAmount) as 马11甲")
  7739. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7740. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7741. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7742. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7743. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7744. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7745. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  7746. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7747. ->group("CASE
  7748. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7749. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7750. END,Name_WorkGroup")->buildSql();
  7751. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  7752. ->field("
  7753. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7754. sum(a.nAmount) as 马11乙
  7755. ")
  7756. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7757. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7758. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7759. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7760. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7761. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7762. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  7763. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7764. ->group("CASE
  7765. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7766. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7767. END,Name_WorkGroup")
  7768. ->buildSql();
  7769. $CC = Db::table('ql_report_feedback_day')->alias('a')
  7770. ->field("
  7771. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7772. sum(a.nAmount) as 马22甲
  7773. ")
  7774. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7775. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7776. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7777. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7778. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7779. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7780. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  7781. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7782. ->group("CASE
  7783. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7784. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7785. END,Name_WorkGroup")
  7786. ->buildSql();
  7787. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  7788. ->field("
  7789. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7790. sum(a.nAmount) as 马22乙
  7791. ")
  7792. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7793. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7794. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7795. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7796. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7797. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7798. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  7799. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7800. ->group("CASE
  7801. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7802. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7803. END,Name_WorkGroup")
  7804. ->buildSql();
  7805. $EE = Db::table('ql_report_feedback_day')->alias('a')
  7806. ->field("
  7807. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7808. sum(a.nAmount) as 马33甲
  7809. ")
  7810. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7811. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7812. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7813. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7814. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7815. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7816. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  7817. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7818. ->group("CASE
  7819. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7820. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7821. END,Name_WorkGroup")
  7822. ->buildSql();
  7823. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  7824. ->field("
  7825. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7826. sum(a.nAmount) as 马33乙
  7827. ")
  7828. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7829. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7830. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7831. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7832. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7833. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7834. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  7835. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7836. ->group("CASE
  7837. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7838. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7839. END,Name_WorkGroup")
  7840. ->buildSql();
  7841. $HH = Db::table('ql_report_feedback_day')->alias('a')
  7842. ->field("
  7843. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7844. sum(a.nAmount) as 马44甲
  7845. ")
  7846. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7847. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7848. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7849. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7850. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7851. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7852. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  7853. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7854. ->group("CASE
  7855. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7856. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7857. END,Name_WorkGroup")
  7858. ->buildSql();
  7859. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  7860. ->field("
  7861. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7862. sum(a.nAmount) as 马44乙
  7863. ")
  7864. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7865. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7866. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7867. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7868. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7869. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7870. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  7871. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7872. ->group("CASE
  7873. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7874. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7875. END,Name_WorkGroup")
  7876. ->buildSql();
  7877. $XX = Db::table('ql_report_feedback_day')->alias('a')
  7878. ->field("
  7879. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7880. sum(a.nAmount) as 马55甲
  7881. ")
  7882. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7883. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7884. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7885. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7886. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7887. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7888. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  7889. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7890. ->group("CASE
  7891. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7892. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7893. END,Name_WorkGroup")
  7894. ->buildSql();
  7895. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  7896. ->field("
  7897. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7898. sum(a.nAmount) as 马55乙
  7899. ")
  7900. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7901. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7902. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7903. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7904. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7905. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7906. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  7907. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7908. ->group("CASE
  7909. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7910. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7911. END,Name_WorkGroup")
  7912. ->buildSql();
  7913. $db = Db::table($A . 'a')
  7914. ->field("
  7915. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  7916. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  7917. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  7918. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  7919. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  7920. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  7921. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  7922. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  7923. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  7924. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  7925. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0) 总计册
  7926. ")
  7927. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  7928. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  7929. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  7930. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  7931. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  7932. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  7933. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  7934. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  7935. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  7936. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  7937. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  7938. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  7939. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  7940. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  7941. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  7942. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  7943. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  7944. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  7945. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  7946. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  7947. ->buildSql();
  7948. $sql_final = Db::table($db . ' db')
  7949. ->field("
  7950. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  7951. ROUND(sum(db.总计册), 0) as jdcs
  7952. ")
  7953. ->where("db.RQ >= '{$this->qstart_time()}'
  7954. AND db.RQ <= '{$this->end_time()}' ")
  7955. // ->group('MONTH(db.rq)')
  7956. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  7957. ->select();
  7958. $i=0;
  7959. $j=0;
  7960. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  7961. foreach($sql_final as $v){
  7962. if($v['rq']>=$this->year_January()){
  7963. $list['series'][1]['name']='2023年';
  7964. $list['series'][1]['data'][$j]=$v['jdcs'];
  7965. $j++;
  7966. }else{
  7967. $list['series'][0]['name']='2022年';
  7968. $list['series'][0]['data'][$i]=$v['jdcs'];
  7969. $i++;
  7970. }
  7971. }
  7972. $res['status']=0;
  7973. $res['msg']='';
  7974. $res['data']=$list;
  7975. $redis->set($redis_key, json_encode($res));
  7976. // halt(json_decode($redis->get($redis_key),true));
  7977. return json_encode($res);
  7978. }
  7979. //胶订册数->接口调用
  7980. public function jdcs(){
  7981. $redis=redis();
  7982. $redis_key = md5('jdcs_redis');
  7983. $redis_data = $redis->get($redis_key);
  7984. return $redis_data;
  7985. }
  7986. //精装册数->缓存调用
  7987. public function jzcs_redis(){
  7988. $redis=redis();
  7989. $redis_key = md5('jzcs_redis');
  7990. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  7991. ->union(function ($query) {
  7992. $query->table('scDayRpt_Teams')->alias('b')
  7993. ->field("DISTINCT DATE_FORMAT(
  7994. CASE
  7995. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  7996. ELSE b.dOnDuty
  7997. END,
  7998. '%Y-%m-%d'
  7999. ) AS RQ");
  8000. }, true)
  8001. ->buildSql();
  8002. //精1甲、精1甲纸令数
  8003. $B = Db::table('cpjtfk')
  8004. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8005. ->field("
  8006. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8007. sum(iwcl) as 精1甲
  8008. ")
  8009. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  8010. ->group('drptdate,cbanzu')
  8011. ->buildSql();
  8012. //精1乙 精1乙纸令数
  8013. $B1 = Db::table('cpjtfk')
  8014. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8015. ->field("
  8016. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8017. sum(iwcl) as 精1乙
  8018. ")
  8019. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  8020. ->group('drptdate,cbanzu')
  8021. ->buildSql();
  8022. $rr = Db::table('scyddx')->alias('r')
  8023. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  8024. ->group('r.ICYDID')
  8025. ->buildSql();
  8026. //精11甲--精11甲纸令
  8027. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  8028. ->field("
  8029. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8030. sum(a.nAmount) as 精11甲
  8031. ")
  8032. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8033. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8034. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8035. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8036. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8037. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8038. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  8039. ->where('a.cTechName' ,'=','精装联动')
  8040. ->group("CASE
  8041. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8042. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8043. END,Name_WorkGroup")
  8044. ->buildSql();
  8045. //精11乙--精11乙纸令
  8046. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  8047. ->field("
  8048. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8049. sum(a.nAmount) as 精11乙
  8050. ")
  8051. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8052. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8053. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8054. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8055. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8056. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8057. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  8058. ->where('a.cTechName' ,'=','精装联动')
  8059. ->group("CASE
  8060. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8061. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8062. END,Name_WorkGroup")
  8063. ->buildSql();
  8064. $db = Db::table($A . 'a')
  8065. ->field("
  8066. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  8067. IFNULL(B.精1甲, 0) + IFNULL(B1.精1乙, 0) + IFNULL(Bb.精11甲, 0) + IFNULL(Bb1.精11乙, 0) as 总计册
  8068. ")
  8069. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  8070. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8071. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8072. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8073. ->buildSql();
  8074. $sql_final = Db::table($db . ' db')
  8075. ->field("
  8076. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  8077. ROUND(sum(db.总计册), 0) as jzcs
  8078. ")
  8079. ->where("db.RQ >= '{$this->qstart_time()}'
  8080. AND db.RQ <= '{$this->end_time()}' ")
  8081. // ->group('MONTH(db.rq)')
  8082. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  8083. ->select();
  8084. $i=0;
  8085. $j=0;
  8086. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  8087. foreach($sql_final as $v){
  8088. if($v['rq']>=$this->year_January()){
  8089. $list['series'][1]['name']='2023年';
  8090. $list['series'][1]['data'][$j]=$v['jzcs'];
  8091. $j++;
  8092. }else{
  8093. $list['series'][0]['name']='2022年';
  8094. $list['series'][0]['data'][$i]=$v['jzcs'];
  8095. $i++;
  8096. }
  8097. }
  8098. $res['status']=0;
  8099. $res['msg']='';
  8100. $res['data']=$list;
  8101. $redis->set($redis_key, json_encode($res));
  8102. return json_encode($res);
  8103. }
  8104. //精装册数->接口调用
  8105. public function jzcs(){
  8106. $redis=redis();
  8107. $redis_key = md5('jzcs_redis');
  8108. $redis_data = $redis->get($redis_key);
  8109. return $redis_data;
  8110. }
  8111. //骑马册数->缓存调用
  8112. public function qmcs_redis(){
  8113. $redis=redis();
  8114. $redis_key = md5('qmcs_redis');
  8115. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  8116. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  8117. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  8118. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  8119. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  8120. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  8121. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  8122. ->union(function ($query) {
  8123. $query->table('scDayRpt_Teams')->alias('b')
  8124. ->field("DISTINCT DATE_FORMAT(
  8125. CASE
  8126. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  8127. ELSE b.dOnDuty
  8128. END,
  8129. '%Y-%m-%d'
  8130. ) AS RQ");
  8131. }, true)
  8132. ->buildSql();
  8133. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  8134. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  8135. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  8136. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  8137. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  8138. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  8139. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  8140. $B = Db::table('cpjtfk')
  8141. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8142. ->field("
  8143. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8144. sum(iwcl) as 骑1甲
  8145. ")
  8146. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  8147. ->group('drptdate,cbanzu')
  8148. ->buildSql();
  8149. $B1 = Db::table('cpjtfk')
  8150. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8151. ->field("
  8152. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8153. sum(iwcl) as 骑1乙
  8154. ")
  8155. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  8156. ->group('drptdate,cbanzu')
  8157. ->buildSql();
  8158. $C = Db::table('cpjtfk')
  8159. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8160. ->field("
  8161. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8162. sum(iwcl) as 骑2甲
  8163. ")
  8164. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  8165. ->group('drptdate,cbanzu')
  8166. ->buildSql();
  8167. $C1 = Db::table('cpjtfk')
  8168. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8169. ->field("
  8170. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8171. sum(iwcl) as 骑2乙
  8172. ")
  8173. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  8174. ->group('drptdate,cbanzu')
  8175. ->buildSql();
  8176. $D = Db::table('cpjtfk')
  8177. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8178. ->field("
  8179. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8180. sum(iwcl) as 骑3甲
  8181. ")
  8182. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  8183. ->group('drptdate,cbanzu')
  8184. ->buildSql();
  8185. $D1 = Db::table('cpjtfk')
  8186. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8187. ->field("
  8188. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8189. sum(iwcl) as 骑3乙
  8190. ")
  8191. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  8192. ->group('drptdate,cbanzu')
  8193. ->buildSql();
  8194. $E = Db::table('cpjtfk')
  8195. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8196. ->field("
  8197. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8198. sum(iwcl) as 骑4甲
  8199. ")
  8200. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  8201. ->group('drptdate,cbanzu')
  8202. ->buildSql();
  8203. $E1 = Db::table('cpjtfk')
  8204. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8205. ->field("
  8206. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8207. sum(iwcl) as 骑4乙
  8208. ")
  8209. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  8210. ->group('drptdate,cbanzu')
  8211. ->buildSql();
  8212. $rr = Db::table('scyddx')->alias('r')
  8213. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  8214. ->group('r.ICYDID')
  8215. ->buildSql();
  8216. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  8217. //2.使用别名$Bb表示主查询结果。
  8218. //3.查询的主要数据来源是表ql_report_feedback_day。
  8219. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  8220. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  8221. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  8222. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  8223. //8.通过buildSql方法生成最终的SQL查询语句
  8224. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  8225. ->field("
  8226. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8227. sum(a.nAmount) as 骑11甲
  8228. ")
  8229. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8230. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8231. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8232. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8233. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8234. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8235. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  8236. ->where('a.cTechName' ,'=','骑马联动')
  8237. ->group("CASE
  8238. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8239. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8240. END,Name_WorkGroup")
  8241. ->buildSql();
  8242. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  8243. ->field("
  8244. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8245. sum(a.nAmount) as 骑11乙
  8246. ")
  8247. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8248. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8249. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8250. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8251. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8252. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8253. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  8254. ->where('a.cTechName' ,'=','骑马联动')
  8255. ->group("CASE
  8256. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8257. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8258. END,Name_WorkGroup")
  8259. ->buildSql();
  8260. $CC = Db::table('ql_report_feedback_day')->alias('a')
  8261. ->field("
  8262. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8263. sum(a.nAmount) as 骑22甲
  8264. ")
  8265. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8266. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8267. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8268. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8269. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8270. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8271. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  8272. ->where('a.cTechName' ,'=','骑马联动')
  8273. ->group("CASE
  8274. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8275. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8276. END,Name_WorkGroup")
  8277. ->buildSql();
  8278. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  8279. ->field("
  8280. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8281. sum(a.nAmount) as 骑22乙
  8282. ")
  8283. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8284. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8285. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8286. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8287. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8288. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8289. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  8290. ->where('a.cTechName' ,'=','骑马联动')
  8291. ->group("CASE
  8292. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8293. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8294. END,Name_WorkGroup")
  8295. ->buildSql();
  8296. $EE = Db::table('ql_report_feedback_day')->alias('a')
  8297. ->field("
  8298. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8299. sum(a.nAmount) as 骑33甲
  8300. ")
  8301. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8302. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8303. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8304. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8305. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8306. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8307. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  8308. ->where('a.cTechName' ,'=','骑马联动')
  8309. ->group("CASE
  8310. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8311. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8312. END,Name_WorkGroup")
  8313. ->buildSql();
  8314. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  8315. ->field("
  8316. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8317. sum(a.nAmount) as 骑33乙
  8318. ")
  8319. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8320. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8321. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8322. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8323. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8324. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8325. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  8326. ->where('a.cTechName' ,'=','骑马联动')
  8327. ->group("CASE
  8328. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8329. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8330. END,Name_WorkGroup")
  8331. ->buildSql();
  8332. $HH = Db::table('ql_report_feedback_day')->alias('a')
  8333. ->field("
  8334. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8335. sum(a.nAmount) as 骑44甲
  8336. ")
  8337. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8338. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8339. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8340. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8341. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8342. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8343. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  8344. ->where('a.cTechName' ,'=','骑马联动')
  8345. ->group("CASE
  8346. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8347. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8348. END,Name_WorkGroup")
  8349. ->buildSql();
  8350. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  8351. ->field("
  8352. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8353. sum(a.nAmount) as 骑44乙
  8354. ")
  8355. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8356. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8357. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8358. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8359. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8360. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8361. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  8362. ->where('a.cTechName' ,'=','骑马联动')
  8363. ->group("CASE
  8364. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8365. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8366. END,Name_WorkGroup")
  8367. ->buildSql();
  8368. //1.首先,定义了一个查询语句,该语句涉及多个表的连接和字段的计算。
  8369. //2.代码中使用了别名$db来表示主查询结果。
  8370. //3.查询的主要数据来源是表$A.'a'。
  8371. //4.查询的字段包括总计册和纸令数总计,通过对多个子查询结果相加得到。
  8372. //5.在查询中使用了LEFT JOIN进行表连接操作,将子查询结果与主查询结果进行连接,通过日期a.rq进行匹配。
  8373. //6.使用buildSql()方法生成最终的SQL查询语句
  8374. $db = Db::table($A . 'a')
  8375. ->field("
  8376. DISTINCT DATE(A.RQ) rq,
  8377. TRUNCATE(IFNULL(sum(B.骑1甲), 0) + IFNULL(sum(B1.骑1乙), 0)
  8378. + IFNULL(sum(C.骑2甲), 0) + IFNULL(sum(C1.骑2乙), 0)
  8379. + IFNULL(sum(D.骑3甲), 0) + IFNULL(sum(D1.骑3乙), 0)
  8380. + IFNULL(sum(E.骑4甲), 0) + IFNULL(sum(E1.骑4乙), 0)
  8381. + IFNULL(sum(Bb.骑11甲), 0) + IFNULL(sum(Bb1.骑11乙), 0)
  8382. + IFNULL(sum(cc.骑22甲), 0) + IFNULL(sum(cc1.骑22乙), 0)
  8383. + IFNULL(sum(ee.骑33甲), 0) + IFNULL(sum(ee1.骑33乙), 0)
  8384. + IFNULL(sum(hh.骑44甲), 0) + IFNULL(sum(hh1.骑44乙), 0) , 0) 总计册
  8385. ")
  8386. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  8387. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  8388. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  8389. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  8390. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  8391. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  8392. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  8393. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  8394. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  8395. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  8396. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  8397. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  8398. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  8399. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  8400. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  8401. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  8402. ->group('rq')
  8403. // ->order('rq','desc')
  8404. ->buildSql();
  8405. $sql_final = Db::table($db . ' db')
  8406. ->field("
  8407. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  8408. ROUND(sum(db.总计册), 3) as qmcs
  8409. ")
  8410. ->where("db.rq >= '{$this->qstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  8411. // ->group('MONTH(db.rq)')
  8412. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  8413. ->select();
  8414. $i=0;
  8415. $j=0;
  8416. $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  8417. foreach($sql_final as $v){
  8418. if($v['rq']>=$this->year_January()){
  8419. $list['series'][1]['name']='2023年';
  8420. $list['series'][1]['data'][$j]=$v['qmcs'];
  8421. $j++;
  8422. }else{
  8423. $list['series'][0]['name']='2022年';
  8424. $list['series'][0]['data'][$i]=$v['qmcs'];
  8425. $i++;
  8426. }
  8427. }
  8428. $res['status']=0;
  8429. $res['msg']='';
  8430. $res['data']=$list;
  8431. $redis->set($redis_key, json_encode($res));
  8432. return json_encode($res);
  8433. }
  8434. //骑马册数->接口调用
  8435. public function qmcs(){
  8436. $redis=redis();
  8437. $redis_key = md5('qmcs_redis');
  8438. $redis_data = $redis->get($redis_key);
  8439. return $redis_data;
  8440. }
  8441. }