Index.php 640 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use think\Cache\Driver\Redis;
  6. use app\api\controller\Second;
  7. //第一屏数据
  8. class Index extends Api{
  9. protected $noNeedLogin = ['*'];
  10. protected $noNeedRight = ['*'];
  11. public function index(){
  12. $this->success('请求新华接口成功');
  13. }
  14. public function customer_index()
  15. {
  16. // 1. 查询:account有值 + password为空 的客户
  17. $list = Db::name("customer")
  18. ->where("account", "<>", "")
  19. ->where(function ($query) {
  20. $query->whereNull("password")
  21. ->whereOr("password", "");
  22. })
  23. ->select();
  24. if (empty($list)) {
  25. return json([
  26. "code" => 1,
  27. "msg" => "所有密码已填充完毕,无需处理"
  28. ]);
  29. }
  30. $success = 0;
  31. // 循环逐条更新(FastAdmin/TP5 标准写法)
  32. Db::startTrans();
  33. try {
  34. foreach ($list as $item) {
  35. $account = trim($item['account']);
  36. $password = md5(md5($account)); // FastAdmin 密码加密
  37. Db::name("customer")
  38. ->where("id", $item['id'])
  39. ->update([
  40. "password" => $password
  41. ]);
  42. $success++;
  43. }
  44. Db::commit();
  45. return json([
  46. "code" => 1,
  47. "msg" => "密码填充成功,共更新 " . $success . " 条"
  48. ]);
  49. } catch (\Exception $e) {
  50. Db::rollback();
  51. return json([
  52. "code" => 0,
  53. "msg" => "失败:" . $e->getMessage()
  54. ]);
  55. }
  56. }
  57. /** 定义的函数方法 $this->方法名调取*/
  58. //获取当前年份的一月份
  59. public function year_January(){
  60. return date("Y-01");
  61. }
  62. //开始时间方法--当年01月01日
  63. public function start_time(){
  64. return gettimeinfo();
  65. }
  66. //结束时间方法--当年12月31日
  67. public function end_time(){
  68. return gettimeinfo(1);
  69. }
  70. //开始时间方法--去年01月01日
  71. public function qstart_time(){
  72. return getLastYear();
  73. }
  74. //去年的今天
  75. public function qday(){
  76. // 获取当前日期
  77. $today = date('Y-m-d 23:59:59');
  78. // 使用strtotime计算去年的今天
  79. $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year'));
  80. // 输出去年的今天
  81. return $lastYearToday;
  82. }
  83. //结束时间方法--去年12月31日
  84. public function qend_time(){
  85. return getLastYear(1);
  86. }
  87. //开始时间方法--前年01月01日
  88. public function qianstart_time(){
  89. return getPreviousYear();
  90. }
  91. //结束时间方法--前年12月31日
  92. public function qianend_time(){
  93. return getPreviousYear(1);
  94. }
  95. //前年的今天
  96. public function qianday(){
  97. // 获取当前日期
  98. $today = date('Y-m-d 23:59:59');
  99. // 使用strtotime计算前年的今天
  100. $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years'));
  101. // 输出前年的今天
  102. return $beforeLastYearToday;
  103. }
  104. //开始时间方法--大前年01月01日
  105. public function dqianstart_time(){
  106. return getPreviousQYear();
  107. }
  108. //结束时间方法--大前年12月31日
  109. public function dqianend_time(){
  110. return getPreviousQYear(1);
  111. }
  112. //当年
  113. public function currentYear(){
  114. $currentYear = date('Y');
  115. $res['status'] = 0;
  116. $res['msg'] = '';
  117. $res['data'] = $currentYear;
  118. return json_encode($res);
  119. }
  120. //去年
  121. public function lastYear(){
  122. $currentYear = date('Y');
  123. $lastYear = $currentYear - 1;
  124. $res['status'] = 0;
  125. $res['msg'] = '';
  126. $res['data'] = $lastYear;
  127. return json_encode($res);
  128. }
  129. //前年
  130. public function yearBeforeLast(){
  131. $currentYear = date('Y');
  132. $yearBeforeLast = $currentYear - 2;
  133. $res['status'] = 0;
  134. $res['msg'] = '';
  135. $res['data'] = $yearBeforeLast;
  136. return json_encode($res);
  137. }
  138. //当年年业务结构
  139. public function test_dYear(){
  140. $currentYear = date('Y');
  141. $lastTwoDigits = substr($currentYear, -2);
  142. $res['status'] = 0;
  143. $res['msg'] = '';
  144. $res['data'] = $lastTwoDigits . "年色令分布";
  145. return json_encode($res);
  146. }
  147. //去年年业务结构
  148. public function test_qYear(){
  149. $currentYear = date('Y');
  150. $lastYear = $currentYear - 1;
  151. $lastTwoDigits = substr($lastYear, -2);
  152. $res['status'] = 0;
  153. $res['msg'] = '';
  154. $res['data'] = $lastTwoDigits . "年色令分布";
  155. return json_encode($res);
  156. }
  157. /**
  158. * 业务总览 第一屏 第一页
  159. */
  160. //承印销售收入->缓存调用 本级不包含集团教材外
  161. public function getxssr_redis(){
  162. $redis=redis();
  163. $redis_key = md5('getxssr_redis');
  164. //定义查询字段
  165. $field = [
  166. 'ldz',
  167. 'mcyd.icydid',
  168. 'year(mcyd.dcyrq) as 年',
  169. 'mcyd.dcyrq as 日期',
  170. 'sum(mcyd.nwshjje) nwshjje',
  171. 'sum(mcyd.nwsgjhj) nwsgjhj',
  172. 'sum(tjob.namount) namount',
  173. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  174. 'tjob.itax',
  175. ];
  176. //当年
  177. $dangnian = Db::table('mcyd')->field($field)
  178. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  179. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  180. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  181. ->where('mcyd.icydstate','>',0)
  182. ->where('mcyd.chy','<>', '集团教材外')
  183. ->select();
  184. //去年
  185. $qunian = Db::table('mcyd')->field($field)
  186. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  187. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  188. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  189. ->where('mcyd.icydstate','>',0)
  190. ->where('mcyd.chy','<>', '集团教材外')
  191. ->select();
  192. //前年
  193. $qiannian = Db::table('mcyd')->field($field)
  194. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  195. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  196. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  197. ->where('mcyd.icydstate','>',0)
  198. ->where('mcyd.chy','<>', '集团教材外')
  199. ->select();
  200. //大前年
  201. $dqiannian = Db::table('mcyd')->field($field)
  202. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  203. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  204. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  205. ->where('mcyd.icydstate','>',0)
  206. ->where('mcyd.chy','<>', '集团教材外')
  207. ->select();
  208. //销售收入、销售工价、日期
  209. //当年
  210. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  211. //去年
  212. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  213. //前年
  214. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  215. //大前年
  216. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  217. //遍历查询结果,进行统计
  218. foreach ($dangnian as $v){
  219. if($v['ldz'] == 1 ){
  220. $cheng_dang += $v['namount'];
  221. $bb_dang += $v['sum_clje'];
  222. }else{
  223. $cheng_dang += $v['nwshjje'];
  224. $bb_dang += $v['nwsgjhj'];
  225. }
  226. $data_dang = $v['年'];
  227. }
  228. //遍历查询结果,进行统计
  229. foreach ($qunian as $v){
  230. if($v['ldz'] == 1 ){
  231. $cheng_qu += $v['namount'];
  232. $bb_qu += $v['sum_clje'];
  233. }else{
  234. $cheng_qu += $v['nwshjje'];
  235. $bb_qu += $v['nwsgjhj'];
  236. }
  237. $data_qu = $v['年'];
  238. }
  239. //遍历查询结果,进行统计
  240. foreach ($qiannian as $v){
  241. if($v['ldz'] == 1 ){
  242. $cheng_qian += $v['namount'];
  243. $bb_qian += $v['sum_clje'];
  244. }else{
  245. $cheng_qian += $v['nwshjje'];
  246. $bb_qian += $v['nwsgjhj'];
  247. }
  248. $data_qian = $v['年'];
  249. }
  250. //遍历查询结果,进行统计
  251. foreach ($dqiannian as $v){
  252. if($v['ldz'] == 1 ){
  253. $cheng_dqian += $v['namount'];
  254. $bb_dqian += $v['sum_clje'];
  255. }else{
  256. $cheng_dqian += $v['nwshjje'];
  257. $bb_dqian += $v['nwsgjhj'];
  258. }
  259. $data_dqian = $v['年'];
  260. }
  261. if($data_dang == 0){
  262. $data_dang = date("Y");
  263. }
  264. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  265. 'series'=>[['name'=>'承印销售收入',
  266. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  267. ];
  268. $res['status']=0;
  269. $res['msg']='';
  270. $res['data']=$list;
  271. $redis->set($redis_key, json_encode($res));
  272. return json_encode($res);
  273. }
  274. //承印销售收入->缓存调用 全部包含集团教材外
  275. public function getxssrs_redis(){
  276. $redis=redis();
  277. $redis_key = md5('getxssrs_redis');
  278. //定义查询字段
  279. $field = [
  280. 'ldz',
  281. 'mcyd.icydid',
  282. 'year(mcyd.dcyrq) as 年',
  283. 'mcyd.dcyrq as 日期',
  284. 'sum(mcyd.nwshjje) nwshjje',
  285. 'sum(mcyd.nwsgjhj) nwsgjhj',
  286. 'sum(tjob.namount) namount',
  287. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  288. 'tjob.itax',
  289. ];
  290. //当年
  291. $dangnian = Db::table('mcyd')->field($field)
  292. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  293. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  294. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  295. ->where('mcyd.icydstate','>',0)
  296. ->select();
  297. //去年
  298. $qunian = Db::table('mcyd')->field($field)
  299. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  300. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  301. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  302. ->where('mcyd.icydstate','>',0)
  303. ->select();
  304. //前年
  305. $qiannian = Db::table('mcyd')->field($field)
  306. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  307. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  308. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  309. ->where('mcyd.icydstate','>',0)
  310. ->select();
  311. //大前年
  312. $dqiannian = Db::table('mcyd')->field($field)
  313. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  314. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  315. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  316. ->where('mcyd.icydstate','>',0)
  317. ->select();
  318. //销售收入、销售工价、日期
  319. //当年
  320. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  321. //去年
  322. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  323. //前年
  324. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  325. //大前年
  326. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  327. //遍历查询结果,进行统计
  328. foreach ($dangnian as $v){
  329. if($v['ldz'] == 1 ){
  330. $cheng_dang += $v['namount'];
  331. $bb_dang += $v['sum_clje'];
  332. }else{
  333. $cheng_dang += $v['nwshjje'];
  334. $bb_dang += $v['nwsgjhj'];
  335. }
  336. $data_dang = $v['年'];
  337. }
  338. //遍历查询结果,进行统计
  339. foreach ($qunian as $v){
  340. if($v['ldz'] == 1 ){
  341. $cheng_qu += $v['namount'];
  342. $bb_qu += $v['sum_clje'];
  343. }else{
  344. $cheng_qu += $v['nwshjje'];
  345. $bb_qu += $v['nwsgjhj'];
  346. }
  347. $data_qu = $v['年'];
  348. }
  349. //遍历查询结果,进行统计
  350. foreach ($qiannian as $v){
  351. if($v['ldz'] == 1 ){
  352. $cheng_qian += $v['namount'];
  353. $bb_qian += $v['sum_clje'];
  354. }else{
  355. $cheng_qian += $v['nwshjje'];
  356. $bb_qian += $v['nwsgjhj'];
  357. }
  358. $data_qian = $v['年'];
  359. }
  360. //遍历查询结果,进行统计
  361. foreach ($dqiannian as $v){
  362. if($v['ldz'] == 1 ){
  363. $cheng_dqian += $v['namount'];
  364. $bb_dqian += $v['sum_clje'];
  365. }else{
  366. $cheng_dqian += $v['nwshjje'];
  367. $bb_dqian += $v['nwsgjhj'];
  368. }
  369. $data_dqian = $v['年'];
  370. }
  371. if($data_dang == 0){
  372. $data_dang = date("Y");
  373. }
  374. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  375. 'series'=>[['name'=>'承印销售收入',
  376. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  377. ];
  378. $res['status']=0;
  379. $res['msg']='';
  380. $res['data']=$list;
  381. $redis->set($redis_key, json_encode($res));
  382. return json_encode($res);
  383. }
  384. //承印销售收入->接口调用
  385. public function getxssr(){
  386. $redis = redis();
  387. $data = input('post.');
  388. if(isset($data['dependence'])){
  389. $dependence=$data['dependence'];
  390. }else{
  391. $dependence['item']['value']= '全部';
  392. }
  393. if($dependence['item']['value'] == '全部'){
  394. $result = json_decode($redis->get(md5('getxssrs_redis')),true);
  395. }else{
  396. $result = json_decode($redis->get(md5('getxssr_redis')),true);
  397. }
  398. return json($result);
  399. }
  400. //承印加工收入->缓存调用 本级不包含集团教材外
  401. public function getjgsr_redis(){
  402. $redis=redis();
  403. $redis_key = md5('getjgsr_redis');
  404. // 定义需要查询的字段
  405. $field = [
  406. 'ldz',
  407. 'mcyd.icydid',
  408. 'year(mcyd.dcyrq) as 年',
  409. 'mcyd.dcyrq as 日期',
  410. 'sum(mcyd.nwshjje) nwshjje',
  411. 'sum(mcyd.nwsgjhj) nwsgjhj',
  412. 'sum(tjob.namount) namount',
  413. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  414. 'tjob.itax',
  415. ];
  416. //当年
  417. $dangnian= Db::table('mcyd')->field($field)
  418. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  419. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  420. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  421. ->where('mcyd.icydstate','>',0)
  422. ->where('mcyd.chy','<>', '集团教材外')
  423. ->select();
  424. //去年
  425. $qunian = Db::table('mcyd')->field($field)
  426. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  427. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  428. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  429. ->where('mcyd.icydstate','>',0)
  430. ->where('mcyd.chy','<>', '集团教材外')
  431. ->select();
  432. //前年
  433. $qiannian = Db::table('mcyd')->field($field)
  434. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  435. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  436. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  437. ->where('mcyd.icydstate','>',0)
  438. ->where('mcyd.chy','<>', '集团教材外')
  439. ->select();
  440. //销售收入、销售工价、日期
  441. //当年
  442. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  443. //去年
  444. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  445. //前年
  446. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  447. // 遍历查询结果,进行统计
  448. foreach ($dangnian as $v){
  449. if($v['ldz'] == 1 ){
  450. $cheng_dang += $v['namount'];
  451. $bb_dang += $v['sum_clje'];
  452. }else{
  453. $cheng_dang += $v['nwshjje'];
  454. $bb_dang += $v['nwsgjhj'];
  455. }
  456. $data_dang = $v['年'];
  457. }
  458. // 遍历查询结果,进行统计
  459. foreach ($qunian as $v){
  460. if($v['ldz'] == 1 ){
  461. $cheng_qu += $v['namount'];
  462. $bb_qu += $v['sum_clje'];
  463. }else{
  464. $cheng_qu += $v['nwshjje'];
  465. $bb_qu += $v['nwsgjhj'];
  466. }
  467. $data_qu = $v['年'];
  468. }
  469. // 遍历查询结果,进行统计
  470. foreach ($qiannian as $v){
  471. if($v['ldz'] == 1 ){
  472. $cheng_qian += $v['namount'];
  473. $bb_qian += $v['sum_clje'];
  474. }else{
  475. $cheng_qian += $v['nwshjje'];
  476. $bb_qian += $v['nwsgjhj'];
  477. }
  478. $data_qian = $v['年'];
  479. }
  480. if($data_dang == 0){
  481. $data_dang = date("Y");
  482. }
  483. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  484. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  485. $res['status']=0;
  486. $res['msg']='';
  487. $res['data']=$list;
  488. $redis->set($redis_key, json_encode($res));
  489. return json_encode($res);
  490. }
  491. //承印加工收入->缓存调用 全部包含集团教材外
  492. public function getjgsrs_redis(){
  493. $redis=redis();
  494. $redis_key = md5('getjgsrs_redis');
  495. // 定义需要查询的字段
  496. $field = [
  497. 'ldz',
  498. 'mcyd.icydid',
  499. 'year(mcyd.dcyrq) as 年',
  500. 'mcyd.dcyrq as 日期',
  501. 'sum(mcyd.nwshjje) nwshjje',
  502. 'sum(mcyd.nwsgjhj) nwsgjhj',
  503. 'sum(tjob.namount) namount',
  504. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  505. 'tjob.itax',
  506. ];
  507. //当年
  508. $dangnian= Db::table('mcyd')->field($field)
  509. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  510. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  511. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  512. ->where('mcyd.icydstate','>',0)
  513. ->select();
  514. //去年
  515. $qunian = Db::table('mcyd')->field($field)
  516. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  517. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  518. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  519. ->where('mcyd.icydstate','>',0)
  520. ->select();
  521. //前年
  522. $qiannian = Db::table('mcyd')->field($field)
  523. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  524. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  525. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  526. ->where('mcyd.icydstate','>',0)
  527. ->select();
  528. //销售收入、销售工价、日期
  529. //当年
  530. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  531. //去年
  532. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  533. //前年
  534. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  535. // 遍历查询结果,进行统计
  536. foreach ($dangnian as $v){
  537. if($v['ldz'] == 1 ){
  538. $cheng_dang += $v['namount'];
  539. $bb_dang += $v['sum_clje'];
  540. }else{
  541. $cheng_dang += $v['nwshjje'];
  542. $bb_dang += $v['nwsgjhj'];
  543. }
  544. $data_dang = $v['年'];
  545. }
  546. // 遍历查询结果,进行统计
  547. foreach ($qunian as $v){
  548. if($v['ldz'] == 1 ){
  549. $cheng_qu += $v['namount'];
  550. $bb_qu += $v['sum_clje'];
  551. }else{
  552. $cheng_qu += $v['nwshjje'];
  553. $bb_qu += $v['nwsgjhj'];
  554. }
  555. $data_qu = $v['年'];
  556. }
  557. // 遍历查询结果,进行统计
  558. foreach ($qiannian as $v){
  559. if($v['ldz'] == 1 ){
  560. $cheng_qian += $v['namount'];
  561. $bb_qian += $v['sum_clje'];
  562. }else{
  563. $cheng_qian += $v['nwshjje'];
  564. $bb_qian += $v['nwsgjhj'];
  565. }
  566. $data_qian = $v['年'];
  567. }
  568. if($data_dang == 0){
  569. $data_dang = date("Y");
  570. }
  571. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  572. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  573. $res['status']=0;
  574. $res['msg']='';
  575. $res['data']=$list;
  576. $redis->set($redis_key, json_encode($res));
  577. return json_encode($res);
  578. }
  579. //承印加工收入->接口调用
  580. public function getjgsr(){
  581. $data = input('post.');
  582. if(isset($data['dependence'])){
  583. $dependence=$data['dependence'];
  584. }else{
  585. $dependence['item']['value']= '全部';
  586. }
  587. if($dependence['item']['value'] == '全部'){
  588. $redis = redis();
  589. $result = json_decode($redis->get(md5('getjgsrs_redis')),true);
  590. }else{
  591. $redis = redis();
  592. $result = json_decode($redis->get(md5('getjgsr_redis')),true);
  593. }
  594. return json($result);
  595. }
  596. //承印色令->缓存调用 本级不包含集团教材外
  597. public function getcysl_redis(){
  598. $redis=redis();
  599. $redis_key = md5('getcysl_redis');
  600. $objmatier = Db::table('scyddx')->alias('objmatier')
  601. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  602. ->group('icydid')
  603. ->buildSql();
  604. $t5 = Db::table('mcyd')->alias('ord')
  605. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  606. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  607. ->where('ord.icydstate', '>', 0)
  608. ->where('chy', '<>', '集团教材外')
  609. ->group('rq')
  610. ->buildSql();
  611. $list2023 = Db::table($t5 . ' t5')
  612. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  613. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  614. ->find();
  615. $list2022 = Db::table($t5 . ' t5')
  616. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  617. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  618. ->find();
  619. $list2021 = Db::table($t5 . ' t5')
  620. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  621. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  622. ->find();
  623. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  624. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  625. $res['status']=0;
  626. $res['msg']='';
  627. $res['data']=$list;
  628. $redis->set($redis_key, json_encode($res));
  629. return json_encode($res);
  630. }
  631. //承印色令->缓存调用 全部包含集团教材外
  632. public function getcysls_redis(){
  633. $redis=redis();
  634. $redis_key = md5('getcysls_redis');
  635. $objmatier = Db::table('scyddx')->alias('objmatier')
  636. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  637. ->group('icydid')
  638. ->buildSql();
  639. $t5 = Db::table('mcyd')->alias('ord')
  640. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  641. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  642. ->where('ord.icydstate', '>', 0)
  643. // ->where('chy', '<>', '集团教材外')
  644. ->group('rq')
  645. ->buildSql();
  646. $list2023 = Db::table($t5 . ' t5')
  647. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  648. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  649. ->find();
  650. $list2022 = Db::table($t5 . ' t5')
  651. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  652. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  653. ->find();
  654. $list2021 = Db::table($t5 . ' t5')
  655. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  656. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  657. ->find();
  658. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  659. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  660. $res['status']=0;
  661. $res['msg']='';
  662. $res['data']=$list;
  663. $redis->set($redis_key, json_encode($res));
  664. return json_encode($res);
  665. }
  666. //承印色令->接口调用
  667. public function getcysl(){
  668. // $redis=redis();
  669. // $redis_key = md5('getcysl_redis');
  670. // $redis_data = $redis->get($redis_key);
  671. // return $redis_data;
  672. $data = input('post.');
  673. if(isset($data['dependence'])){
  674. $dependence=$data['dependence'];
  675. }else{
  676. $dependence['item']['value']= '全部';
  677. }
  678. if($dependence['item']['value'] == '全部'){
  679. $redis = redis();
  680. $result = json_decode($redis->get(md5('getcysls_redis')),true);
  681. }else{
  682. $redis = redis();
  683. $result = json_decode($redis->get(md5('getcysl_redis')),true);
  684. }
  685. return json($result);
  686. }
  687. //承印纸令->缓存调用 本级不包含集团教材外
  688. public function getcyzl_redis(){
  689. $redis=redis();
  690. $redis_key = md5('getcyzl_redis');
  691. $objmatier = Db::table('scyddx')->alias('objmatier')
  692. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  693. ->group('icydid')
  694. ->buildSql();
  695. $t5 = Db::table('mcyd')->alias('ord')
  696. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  697. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  698. ->where('ord.icydstate','>',0)
  699. ->where('chy', '<>', '集团教材外')
  700. ->group('rq')
  701. ->buildSql();
  702. $list2023 = Db::table($t5 . ' t5')
  703. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  704. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  705. ->find();
  706. $list2022 = Db::table($t5 . ' t5')
  707. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  708. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  709. ->find();
  710. $list2021 = Db::table($t5 . ' t5')
  711. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  712. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  713. ->find();
  714. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  715. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  716. $res['status']=0;
  717. $res['msg']='';
  718. $res['data']=$list;
  719. if($list){
  720. echo date("Y-m-d H:i:s").'存进去了';
  721. $redis->set($redis_key, json_encode($res));
  722. return json_encode($res);
  723. }
  724. }
  725. //承印纸令->缓存调用 全部包含集团教材外
  726. public function getcyzls_redis(){
  727. $redis=redis();
  728. $redis_key = md5('getcyzls_redis');
  729. $objmatier = Db::table('scyddx')->alias('objmatier')
  730. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  731. ->group('icydid')
  732. ->buildSql();
  733. $t5 = Db::table('mcyd')->alias('ord')
  734. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  735. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  736. ->where('ord.icydstate','>',0)
  737. ->group('rq')
  738. ->buildSql();
  739. $list2023 = Db::table($t5 . ' t5')
  740. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  741. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  742. ->find();
  743. $list2022 = Db::table($t5 . ' t5')
  744. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  745. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  746. ->find();
  747. $list2021 = Db::table($t5 . ' t5')
  748. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  749. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  750. ->find();
  751. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  752. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  753. $res['status']=0;
  754. $res['msg']='';
  755. $res['data']=$list;
  756. if($list){
  757. $redis->set($redis_key, json_encode($res));
  758. return json_encode($res);
  759. }
  760. }
  761. //承印纸令->接口调用
  762. public function getcyzl(){
  763. $data = input('post.');
  764. if(isset($data['dependence'])){
  765. $dependence=$data['dependence'];
  766. }else{
  767. $dependence['item']['value']= '全部';
  768. }
  769. if($dependence['item']['value'] == '全部'){
  770. $redis = redis();
  771. $result = json_decode($redis->get(md5('getcyzls_redis')),true);
  772. }else{
  773. $redis = redis();
  774. $result = json_decode($redis->get(md5('getcyzl_redis')),true);
  775. }
  776. return json($result);
  777. }
  778. //去年与当年--印刷实物产量色令->缓存调用
  779. public function yssl_redis(){
  780. $redis=redis();
  781. $redis_key = md5('yssl_redis');
  782. //首先定义了起始时间和结束时间
  783. //根据查询条件查出色令数据
  784. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  785. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  786. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  787. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  788. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  789. ->union(function ($query) {
  790. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  791. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  792. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  793. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  794. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  795. '小森八色01号机','小森八色02号机']);
  796. }, true)->buildSql();
  797. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  798. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  799. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  800. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  801. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  802. ->union(function ($query) {
  803. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  804. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  805. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  806. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  807. }, true)->buildSql();
  808. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  809. ->whereIn('cbzmc', [
  810. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  811. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  812. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  813. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  814. ->union(function ($query) {
  815. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  816. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  817. ->whereIn('cMachineName', ['标规小森商轮1号',
  818. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  819. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号','标规北人轮转1号']);
  820. }, true)
  821. ->buildSql();
  822. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  823. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  824. ->union(function ($query) {
  825. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  826. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  827. })->buildSql();
  828. //查询每天的数据
  829. $subQuery1 = Db::table($subQuery1_child . 'T')
  830. ->field('rq,SUM( fsjsl ) nFourColorSL')
  831. ->group('rq')->buildSql();
  832. $subQuery2 = Db::table($subQuery2_child . 'T')
  833. ->field('rq,SUM( fsjsl ) nBBSL')
  834. ->group('rq')->buildSql();
  835. $subQuery3 = Db::table($subQuery3_child . 'T')
  836. ->field('rq,SUM( fsjsl ) nnRotationSL')
  837. ->group('rq')->buildSql();
  838. //按当天日期进行分组 累计相加当天数据
  839. $subQuery1_5 = Db::table($subQuery . 'A')
  840. ->field('
  841. DISTINCT DATE(A.RQ) RQ,
  842. sum(h.nBBSL) AS nBBSL,
  843. sum(B.nFourColorSL) AS nFourColorSL,
  844. sum(P.nnRotationSL) AS nnRotationSL
  845. ')
  846. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  847. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  848. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  849. ->group('RQ')
  850. ->buildSql();
  851. // 获取当前年份和前两年的年份
  852. $currentYear = date("Y");
  853. $lastYear = date("Y", strtotime("-1 year"));
  854. $twoYearsAgo = date("Y", strtotime("-2 years"));
  855. // 查询SQL,按月份分组计算
  856. $sql_final = Db::table($subQuery1_5 . ' db')
  857. ->field("
  858. DATE_FORMAT(db.RQ, '%Y-%m') AS '日期',
  859. ROUND(SUM(db.nBBSL) + SUM(db.nFourColorSL) + SUM(db.nnRotationSL)) AS '印刷实物产量色令数'
  860. ")
  861. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  862. ->group("DATE_FORMAT(db.RQ, '%Y-%m')")
  863. ->select();
  864. $list['categories'] = [];
  865. $list['series'] = [
  866. 0 => ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)],
  867. 1 => ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)],
  868. 2 => ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)],
  869. ];
  870. // 填充月份数据
  871. foreach (range(1, 12) as $month) {
  872. $list['categories'][] = str_pad($month, 2, '0', STR_PAD_LEFT); // 月份:01, 02, ..., 12
  873. }
  874. $currentMonth = date("m");
  875. foreach ($sql_final as $v) {
  876. $yearMonth = $v['日期'];
  877. $year = date('Y', strtotime($yearMonth));
  878. $month = date('m', strtotime($yearMonth)) - 1; // 索引从0开始
  879. if ($year == $currentYear) {
  880. $list['series'][2]['data'][$month] = $v['印刷实物产量色令数']; // 填充当前年数据
  881. } elseif ($year == $lastYear) {
  882. $list['series'][1]['data'][$month] = $v['印刷实物产量色令数']; // 填充去年数据
  883. } elseif ($year == $twoYearsAgo) {
  884. $list['series'][0]['data'][$month] = $v['印刷实物产量色令数']; // 填充前两年数据
  885. }
  886. }
  887. //某一年没有数据,填充为0
  888. if (!isset($list['series'][1]['data'][$currentMonth - 1])) {
  889. $list['series'][1]['data'][$currentMonth - 1] = 0;
  890. }
  891. $res['status'] = 0;
  892. $res['msg'] = '';
  893. $res['data'] = $list;
  894. $redis->set($redis_key, json_encode($res));
  895. return json_encode($res);
  896. }
  897. //去年与当年--印刷实物产量色令->接口调用
  898. public function yssl(){
  899. $redis=redis();
  900. $redis_key = md5('yssl_redis');
  901. $redis_data = $redis->get($redis_key);
  902. return $redis_data;
  903. }
  904. //去年与当年--印刷实物产量纸令->缓存调用
  905. public function yszl_redis(){
  906. $redis=redis();
  907. $redis_key = md5('yszl_redis');
  908. //首先定义了起始时间和结束时间
  909. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  910. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  911. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  912. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  913. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  914. ->union(function ($query) {
  915. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl')
  916. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  917. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  918. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  919. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  920. '小森八色01号机','小森八色02号机']);
  921. }, true)->buildSql();
  922. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  923. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  924. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  925. 'BB机5号(甲班)','BB机5号(乙班)',
  926. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  927. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  928. ->union(function ($query) {
  929. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  930. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  931. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  932. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  933. }, true)->buildSql();
  934. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  935. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  936. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  937. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  938. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  939. ->union(function ($query) {
  940. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  941. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  942. ->whereIn('cMachineName', ['标规小森商轮1号',
  943. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  944. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号','标规北人轮转1号']);
  945. }, true)->buildSql();
  946. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  947. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  948. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  949. })->buildSql();
  950. //四色机纸令合计
  951. $subQuery1 = Db::table($subQuery1_child . 'T')
  952. ->field('rq,SUM( fsjls ) nFourColorSL')
  953. ->group('rq')->buildSql();
  954. //BB机纸令合计
  955. $subQuery2 = Db::table($subQuery2_child . 'T')
  956. ->field('rq,SUM( fsjls ) nBBSL')
  957. ->group('rq')->buildSql();
  958. //轮转纸令合计
  959. $subQuery3 = Db::table($subQuery3_child . 'T')
  960. ->field('rq,SUM( fsjls ) nnRotationSL ')
  961. ->group('rq')->buildSql();
  962. $subQuery1_5 = Db::table($subQuery . 'A')
  963. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL')
  964. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  965. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  966. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  967. ->buildSql();
  968. // 获取当前年份和前两年的年份
  969. $currentYear = date("Y"); // 当前年份
  970. $lastYear = date("Y", strtotime("-1 year")); // 去年
  971. $twoYearsAgo = date("Y", strtotime("-2 years")); // 前两年
  972. $sql_final = Db::table($subQuery1_5 . ' db')
  973. ->field("
  974. DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  975. ROUND(SUM( db.nBBSL ) + SUM( db.nFourColorSL ) + SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  976. ")
  977. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  978. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  979. ->select();
  980. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // 月份
  981. $list['series'] = [
  982. ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)], // 初始化前两年的数据为0
  983. ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化去年的数据为0
  984. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化今年的数据为0
  985. ];
  986. $currentMonth = date("m");
  987. foreach ($sql_final as $v) {
  988. // 提取年份和月份
  989. $yearMonth = $v['日期']; // 格式:YYYY-MM
  990. $year = date('Y', strtotime($yearMonth)); // 提取年份
  991. $month = date('m', strtotime($yearMonth)) - 1; // 月份(数组索引从0开始)
  992. // 根据年份分配数据
  993. if ($year == $currentYear) {
  994. $list['series'][2]['data'][$month] = $v['印刷实物产量纸令数']; // 填充今年数据
  995. } elseif ($year == $lastYear) {
  996. $list['series'][1]['data'][$month] = $v['印刷实物产量纸令数']; // 填充去年数据
  997. } elseif ($year == $twoYearsAgo) {
  998. $list['series'][0]['data'][$month] = $v['印刷实物产量纸令数']; // 填充前两年数据
  999. }
  1000. }
  1001. $res['status'] = 0;
  1002. $res['msg'] = '';
  1003. $res['data'] = $list;
  1004. $redis->set($redis_key, json_encode($res));
  1005. return json_encode($res);
  1006. }
  1007. //去年与当年--印刷实物产量纸令->接口调用
  1008. public function yszl(){
  1009. $redis=redis();
  1010. $redis_key = md5('yszl_redis');
  1011. $redis_data = $redis->get($redis_key);
  1012. return $redis_data;
  1013. }
  1014. //去年装订实物产量册数->缓存调用
  1015. public function zdcs2022(){
  1016. $redis=redis();
  1017. $redis_key = md5('zdcs2022');
  1018. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1019. ->union(function ($query) {
  1020. $query->table('scDayRpt_Teams')->alias('b')
  1021. ->field("DISTINCT DATE_FORMAT(
  1022. CASE
  1023. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1024. ELSE b.dOnDuty
  1025. END,
  1026. '%Y-%m-%d'
  1027. ) AS RQ");
  1028. }, true)
  1029. ->buildSql();
  1030. $B1 = Db::table('cpjtfk')
  1031. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1032. ->field("
  1033. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1034. sum(iwcl) as 精1乙
  1035. ")
  1036. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1037. ->group('drptdate,cbanzu')
  1038. ->buildSql();
  1039. $rr = Db::table('scyddx')->alias('r')
  1040. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1041. ->group('r.ICYDID')
  1042. ->buildSql();
  1043. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1044. ->field("
  1045. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1046. sum(a.nAmount) as 精11乙
  1047. ")
  1048. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1049. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1050. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1051. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1052. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1053. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1054. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  1055. ->group("CASE
  1056. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1057. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1058. END,Name_WorkGroup")
  1059. ->buildSql();
  1060. $db = Db::table($A . 'a')
  1061. ->field("
  1062. DISTINCT DATE(A.RQ) rq,
  1063. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1064. ")
  1065. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1066. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1067. ->group('rq')
  1068. ->buildSql();
  1069. $jp = Db::table($db . ' db')
  1070. ->field("
  1071. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1072. ROUND(sum(db.总计册), 0) as 精平册数
  1073. ")->where("db.RQ >= '{$this->qstart_time()}'
  1074. AND db.RQ <= '{$this->qend_time()}' ")
  1075. ->group('MONTH(db.rq)')
  1076. ->select();
  1077. $B = Db::table('cpjtfk')
  1078. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1079. ->field("
  1080. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1081. sum(iwcl) as 马1甲
  1082. ")
  1083. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1084. ->group('drptdate,cbanzu')
  1085. ->buildSql();
  1086. $B1 = Db::table('cpjtfk')
  1087. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1088. ->field("
  1089. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1090. sum(iwcl) as 马1乙
  1091. ")
  1092. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1093. ->group('drptdate,cbanzu')
  1094. ->buildSql();
  1095. $C = Db::table('cpjtfk')
  1096. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1097. ->field("
  1098. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1099. sum(iwcl) as 马2甲
  1100. ")
  1101. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1102. ->group('drptdate,cbanzu')
  1103. ->buildSql();
  1104. $C1 = Db::table('cpjtfk')
  1105. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1106. ->field("
  1107. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1108. sum(iwcl) as 马2乙
  1109. ")
  1110. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1111. ->group('drptdate,cbanzu')
  1112. ->buildSql();
  1113. $D = Db::table('cpjtfk')
  1114. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1115. ->field("
  1116. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1117. sum(iwcl) as 马3甲
  1118. ")
  1119. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1120. ->group('drptdate,cbanzu')
  1121. ->buildSql();
  1122. $D1 = Db::table('cpjtfk')
  1123. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1124. ->field("
  1125. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1126. sum(iwcl) as 马3乙
  1127. ")
  1128. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1129. ->group('drptdate,cbanzu')
  1130. ->buildSql();
  1131. $E = Db::table('cpjtfk')
  1132. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1133. ->field("
  1134. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1135. sum(iwcl) as 马4甲
  1136. ")
  1137. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1138. ->group('drptdate,cbanzu')
  1139. ->buildSql();
  1140. $E1 = Db::table('cpjtfk')
  1141. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1142. ->field("
  1143. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1144. sum(iwcl) as 马4乙
  1145. ")
  1146. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1147. ->group('drptdate,cbanzu')
  1148. ->buildSql();
  1149. $F = Db::table('cpjtfk')
  1150. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1151. ->field("
  1152. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1153. sum(iwcl) as 马5甲
  1154. ")
  1155. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1156. ->group('drptdate,cbanzu')
  1157. ->buildSql();
  1158. $F1 = Db::table('cpjtfk')
  1159. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1160. ->field("
  1161. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1162. sum(iwcl) as 马5乙,
  1163. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1164. ")
  1165. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1166. ->group('drptdate,cbanzu')
  1167. ->buildSql();
  1168. $rr = Db::table('scyddx')->alias('r')
  1169. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1170. ->group('r.ICYDID')
  1171. ->buildSql();
  1172. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1173. ->field("
  1174. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1175. sum(a.nAmount) as 马11甲")
  1176. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1177. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1178. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1179. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1180. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1181. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1182. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1183. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1184. ->group("CASE
  1185. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1186. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1187. END,Name_WorkGroup")->buildSql();
  1188. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1189. ->field("
  1190. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1191. sum(a.nAmount) as 马11乙
  1192. ")
  1193. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1194. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1195. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1196. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1197. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1198. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1199. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1200. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1201. ->group("CASE
  1202. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1203. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1204. END,Name_WorkGroup")
  1205. ->buildSql();
  1206. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1207. ->field("
  1208. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1209. sum(a.nAmount) as 马22甲
  1210. ")
  1211. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1212. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1213. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1214. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1215. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1216. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1217. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1218. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1219. ->group("CASE
  1220. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1221. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1222. END,Name_WorkGroup")
  1223. ->buildSql();
  1224. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1225. ->field("
  1226. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1227. sum(a.nAmount) as 马22乙
  1228. ")
  1229. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1230. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1231. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1232. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1233. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1234. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1235. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1236. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1237. ->group("CASE
  1238. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1239. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1240. END,Name_WorkGroup")
  1241. ->buildSql();
  1242. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1243. ->field("
  1244. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1245. sum(a.nAmount) as 马33甲
  1246. ")
  1247. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1248. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1249. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1250. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1251. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1252. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1253. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1254. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1255. ->group("CASE
  1256. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1257. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1258. END,Name_WorkGroup")
  1259. ->buildSql();
  1260. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1261. ->field("
  1262. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1263. sum(a.nAmount) as 马33乙
  1264. ")
  1265. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1266. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1267. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1268. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1269. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1270. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1271. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1272. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1273. ->group("CASE
  1274. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1275. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1276. END,Name_WorkGroup")
  1277. ->buildSql();
  1278. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1279. ->field("
  1280. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1281. sum(a.nAmount) as 马44甲
  1282. ")
  1283. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1284. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1285. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1286. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1287. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1288. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1289. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1290. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1291. ->group("CASE
  1292. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1293. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1294. END,Name_WorkGroup")
  1295. ->buildSql();
  1296. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1297. ->field("
  1298. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1299. sum(a.nAmount) as 马44乙
  1300. ")
  1301. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1302. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1303. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1304. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1305. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1306. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1307. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1308. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1309. ->group("CASE
  1310. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1311. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1312. END,Name_WorkGroup")
  1313. ->buildSql();
  1314. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1315. ->field("
  1316. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1317. sum(a.nAmount) as 马55甲
  1318. ")
  1319. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1320. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1321. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1322. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1323. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1324. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1325. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1326. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1327. ->group("CASE
  1328. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1329. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1330. END,Name_WorkGroup")
  1331. ->buildSql();
  1332. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1333. ->field("
  1334. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1335. sum(a.nAmount) as 马66甲
  1336. ")
  1337. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1338. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1339. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1340. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1341. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1342. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1343. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1344. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1345. ->group("CASE
  1346. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1347. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1348. END,Name_WorkGroup")
  1349. ->buildSql();
  1350. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  1351. ->field("
  1352. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1353. sum(a.nAmount) as 马77甲
  1354. ")
  1355. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1356. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1357. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1358. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1359. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1360. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1361. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  1362. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1363. ->group("CASE
  1364. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1365. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1366. END,Name_WorkGroup")
  1367. ->buildSql();
  1368. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1369. ->field("
  1370. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1371. sum(a.nAmount) as 马55乙
  1372. ")
  1373. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1374. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1375. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1376. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1377. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1378. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1379. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1380. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1381. ->group("CASE
  1382. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1383. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1384. END,Name_WorkGroup")
  1385. ->buildSql();
  1386. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  1387. ->field("
  1388. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1389. sum(a.nAmount) as 马66乙
  1390. ")
  1391. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1392. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1393. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1394. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1395. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1396. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1397. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  1398. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1399. ->group("CASE
  1400. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1401. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1402. END,Name_WorkGroup")
  1403. ->buildSql();
  1404. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  1405. ->field("
  1406. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1407. sum(a.nAmount) as 马77乙
  1408. ")
  1409. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1410. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1411. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1412. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1413. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1414. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1415. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  1416. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1417. ->group("CASE
  1418. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1419. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1420. END,Name_WorkGroup")
  1421. ->buildSql();
  1422. $db = Db::table($A . 'a')
  1423. ->field("
  1424. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  1425. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  1426. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  1427. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  1428. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  1429. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  1430. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  1431. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  1432. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  1433. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  1434. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  1435. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  1436. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  1437. ")
  1438. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  1439. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1440. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  1441. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  1442. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  1443. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  1444. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  1445. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  1446. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  1447. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  1448. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1449. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1450. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  1451. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  1452. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  1453. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  1454. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  1455. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  1456. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  1457. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  1458. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  1459. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  1460. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  1461. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  1462. ->buildSql();
  1463. $jd = Db::table($db . ' db')
  1464. ->field("
  1465. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1466. ROUND(sum(db.总计册), 0) as 无线胶订册数
  1467. ")->where("db.RQ >= '{$this->qstart_time()}'
  1468. AND db.RQ <= '{$this->qend_time()}' ")
  1469. ->group('MONTH(db.rq)')
  1470. ->select();
  1471. $B = Db::table('cpjtfk')
  1472. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1473. ->field("
  1474. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1475. Sum(iWcl) AS '簿1甲'
  1476. ")
  1477. ->where('cbanzu','=','簿册机1号(甲班)')
  1478. ->group('drptdate,cbanzu')
  1479. ->buildSql();
  1480. $B1 = Db::table('cpjtfk')
  1481. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1482. ->field("
  1483. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1484. Sum(iWcl) AS '簿1乙'
  1485. ")
  1486. ->where('cbanzu','=','簿册机1号(乙班)')
  1487. ->group('drptdate,cbanzu')
  1488. ->buildSql();
  1489. $rr = Db::table('scyddx')->alias('r')
  1490. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1491. ->group('r.ICYDID')
  1492. ->buildSql();
  1493. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1494. ->field("
  1495. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1496. Sum(a.nAmount) AS '簿11甲'
  1497. ")
  1498. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1499. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1500. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1501. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1502. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1503. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1504. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  1505. ->where('a.cTechName' ,'=','簿册联动')
  1506. ->group("CASE
  1507. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1508. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1509. END,Name_WorkGroup")
  1510. ->buildSql();
  1511. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1512. ->field("
  1513. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1514. Sum(a.nAmount) AS '簿11乙'
  1515. ")
  1516. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1517. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1518. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1519. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1520. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1521. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1522. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  1523. ->where('a.cTechName' ,'=','簿册联动')
  1524. ->group("CASE
  1525. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1526. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1527. END,Name_WorkGroup")
  1528. ->buildSql();
  1529. $db = Db::table($A . 'a')
  1530. ->field("
  1531. DISTINCT DATE(A.RQ) rq,
  1532. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  1533. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  1534. ")
  1535. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  1536. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1537. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1538. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1539. ->group('rq')
  1540. ->buildSql();
  1541. $bc = Db::table($db . ' db')
  1542. ->field("
  1543. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1544. ROUND(sum(db.总计册), 0) as 簿册册数
  1545. ")->where("db.RQ >= '{$this->qstart_time()}'
  1546. AND db.RQ <= '{$this->qend_time()}' ")
  1547. ->group('MONTH(db.rq)')
  1548. ->select();
  1549. // 创建一个结果数组
  1550. $result=[];
  1551. $result1 = [];
  1552. // 遍历第一个数组,并将数据加入结果数组
  1553. foreach ($jp as $val1) {
  1554. $month = $val1['日期'];
  1555. $data1 = $val1['精平册数'];
  1556. if (!isset($result[$month])) {
  1557. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1558. }
  1559. if (!isset($result1[$month])) {
  1560. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1561. }
  1562. $result1[$month] += $data1; // 累加第一个数组的数据
  1563. }
  1564. // 遍历第二个数组,并将数据加入结果数组
  1565. foreach ($jd as $val2) {
  1566. $month = $val2['日期'];
  1567. $data1 = $val2['无线胶订册数'];
  1568. if (!isset($result[$month])) {
  1569. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1570. }
  1571. if (!isset($result1[$month])) {
  1572. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1573. }
  1574. $result1[$month] += $data1; // 累加第二个数组的数据
  1575. }
  1576. foreach ($bc as $val2) {
  1577. $month = $val2['日期'];
  1578. $data1 = $val2['簿册册数'];
  1579. if (!isset($result[$month])) {
  1580. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1581. }
  1582. if (!isset($result1[$month])) {
  1583. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1584. }
  1585. $result1[$month] += $data1; // 累加第二个数组的数据
  1586. }
  1587. foreach($result1 as $k=>$v){
  1588. $list['categories'][]=$k;
  1589. $list['series'][0]['name']='装订实物产量册数';
  1590. $list['series'][0]['data'][]=$v;
  1591. }
  1592. $res['status']=0;
  1593. $res['msg']='';
  1594. $res['data']=$list;
  1595. $redis->set($redis_key, json_encode($result1));
  1596. // halt(json_decode($redis->get($redis_key),true));
  1597. return json_encode($result1);
  1598. }
  1599. //当年装订实物产量册数->缓存调用
  1600. public function zdcsclcs_dang(){
  1601. $redis=redis();
  1602. $redis_key = md5('zdcsclcs_dang');
  1603. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1604. ->union(function ($query) {
  1605. $query->table('scDayRpt_Teams')->alias('b')
  1606. ->field("DISTINCT DATE_FORMAT(
  1607. CASE
  1608. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1609. ELSE b.dOnDuty
  1610. END,
  1611. '%Y-%m-%d'
  1612. ) AS RQ");
  1613. }, true)
  1614. ->buildSql();
  1615. $B1 = Db::table('cpjtfk')
  1616. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1617. ->field("
  1618. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1619. sum(iwcl) as 精1乙
  1620. ")
  1621. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1622. ->group('drptdate,cbanzu')
  1623. ->buildSql();
  1624. $rr = Db::table('scyddx')->alias('r')
  1625. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1626. ->group('r.ICYDID')
  1627. ->buildSql();
  1628. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1629. ->field("
  1630. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1631. sum(a.nAmount) as 精11乙
  1632. ")
  1633. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1634. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1635. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1636. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1637. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1638. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1639. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  1640. ->group("CASE
  1641. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1642. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1643. END,Name_WorkGroup")
  1644. ->buildSql();
  1645. $db = Db::table($A . 'a')
  1646. ->field("
  1647. DISTINCT DATE(A.RQ) rq,
  1648. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1649. ")
  1650. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1651. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1652. ->group('rq')
  1653. ->buildSql();
  1654. $jp = Db::table($db . ' db')
  1655. ->field("
  1656. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1657. ROUND(sum(db.总计册), 0) as 精平册数
  1658. ")->where("db.RQ >= '{$this->start_time()}'
  1659. AND db.RQ <= '{$this->end_time()}' ")
  1660. ->group('MONTH(db.rq)')
  1661. ->select();
  1662. $B = Db::table('cpjtfk')
  1663. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1664. ->field("
  1665. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1666. sum(iwcl) as 马1甲
  1667. ")
  1668. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1669. ->group('drptdate,cbanzu')
  1670. ->buildSql();
  1671. $B1 = Db::table('cpjtfk')
  1672. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1673. ->field("
  1674. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1675. sum(iwcl) as 马1乙
  1676. ")
  1677. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1678. ->group('drptdate,cbanzu')
  1679. ->buildSql();
  1680. $C = Db::table('cpjtfk')
  1681. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1682. ->field("
  1683. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1684. sum(iwcl) as 马2甲
  1685. ")
  1686. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1687. ->group('drptdate,cbanzu')
  1688. ->buildSql();
  1689. $C1 = Db::table('cpjtfk')
  1690. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1691. ->field("
  1692. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1693. sum(iwcl) as 马2乙
  1694. ")
  1695. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1696. ->group('drptdate,cbanzu')
  1697. ->buildSql();
  1698. $D = Db::table('cpjtfk')
  1699. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1700. ->field("
  1701. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1702. sum(iwcl) as 马3甲
  1703. ")
  1704. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1705. ->group('drptdate,cbanzu')
  1706. ->buildSql();
  1707. $D1 = Db::table('cpjtfk')
  1708. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1709. ->field("
  1710. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1711. sum(iwcl) as 马3乙
  1712. ")
  1713. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1714. ->group('drptdate,cbanzu')
  1715. ->buildSql();
  1716. $E = Db::table('cpjtfk')
  1717. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1718. ->field("
  1719. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1720. sum(iwcl) as 马4甲
  1721. ")
  1722. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1723. ->group('drptdate,cbanzu')
  1724. ->buildSql();
  1725. $E1 = Db::table('cpjtfk')
  1726. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1727. ->field("
  1728. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1729. sum(iwcl) as 马4乙
  1730. ")
  1731. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1732. ->group('drptdate,cbanzu')
  1733. ->buildSql();
  1734. $F = Db::table('cpjtfk')
  1735. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1736. ->field("
  1737. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1738. sum(iwcl) as 马5甲
  1739. ")
  1740. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1741. ->group('drptdate,cbanzu')
  1742. ->buildSql();
  1743. $F1 = Db::table('cpjtfk')
  1744. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1745. ->field("
  1746. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1747. sum(iwcl) as 马5乙,
  1748. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1749. ")
  1750. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1751. ->group('drptdate,cbanzu')
  1752. ->buildSql();
  1753. $rr = Db::table('scyddx')->alias('r')
  1754. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1755. ->group('r.ICYDID')
  1756. ->buildSql();
  1757. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1758. ->field("
  1759. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1760. sum(a.nAmount) as 马11甲")
  1761. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1762. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1763. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1764. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1765. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1766. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1767. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1768. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1769. ->group("CASE
  1770. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1771. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1772. END,Name_WorkGroup")->buildSql();
  1773. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1774. ->field("
  1775. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1776. sum(a.nAmount) as 马11乙
  1777. ")
  1778. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1779. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1780. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1781. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1782. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1783. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1784. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1785. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1786. ->group("CASE
  1787. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1788. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1789. END,Name_WorkGroup")
  1790. ->buildSql();
  1791. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1792. ->field("
  1793. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1794. sum(a.nAmount) as 马22甲
  1795. ")
  1796. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1797. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1798. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1799. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1800. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1801. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1802. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1803. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1804. ->group("CASE
  1805. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1806. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1807. END,Name_WorkGroup")
  1808. ->buildSql();
  1809. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1810. ->field("
  1811. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1812. sum(a.nAmount) as 马22乙
  1813. ")
  1814. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1815. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1816. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1817. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1818. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1819. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1820. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1821. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1822. ->group("CASE
  1823. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1824. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1825. END,Name_WorkGroup")
  1826. ->buildSql();
  1827. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1828. ->field("
  1829. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1830. sum(a.nAmount) as 马33甲
  1831. ")
  1832. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1833. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1834. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1835. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1836. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1837. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1838. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1839. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1840. ->group("CASE
  1841. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1842. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1843. END,Name_WorkGroup")
  1844. ->buildSql();
  1845. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1846. ->field("
  1847. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1848. sum(a.nAmount) as 马33乙
  1849. ")
  1850. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1851. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1852. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1853. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1854. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1855. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1856. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1857. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1858. ->group("CASE
  1859. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1860. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1861. END,Name_WorkGroup")
  1862. ->buildSql();
  1863. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1864. ->field("
  1865. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1866. sum(a.nAmount) as 马44甲
  1867. ")
  1868. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1869. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1870. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1871. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1872. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1873. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1874. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1875. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1876. ->group("CASE
  1877. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1878. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1879. END,Name_WorkGroup")
  1880. ->buildSql();
  1881. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1882. ->field("
  1883. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1884. sum(a.nAmount) as 马44乙
  1885. ")
  1886. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1887. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1888. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1889. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1890. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1891. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1892. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1893. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1894. ->group("CASE
  1895. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1896. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1897. END,Name_WorkGroup")
  1898. ->buildSql();
  1899. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1900. ->field("
  1901. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1902. sum(a.nAmount) as 马55甲
  1903. ")
  1904. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1905. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1906. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1907. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1908. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1909. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1910. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1911. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1912. ->group("CASE
  1913. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1914. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1915. END,Name_WorkGroup")
  1916. ->buildSql();
  1917. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1918. ->field("
  1919. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1920. sum(a.nAmount) as 马55乙
  1921. ")
  1922. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1923. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1924. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1925. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1926. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1927. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1928. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1929. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1930. ->group("CASE
  1931. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1932. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1933. END,Name_WorkGroup")
  1934. ->buildSql();
  1935. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1936. ->field("
  1937. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1938. sum(a.nAmount) as 马66甲
  1939. ")
  1940. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1941. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1942. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1943. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1944. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1945. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1946. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1947. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1948. ->group("CASE
  1949. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1950. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1951. END,Name_WorkGroup")
  1952. ->buildSql();
  1953. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  1954. ->field("
  1955. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1956. sum(a.nAmount) as 马66乙
  1957. ")
  1958. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1959. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1960. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1961. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1962. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1963. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1964. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  1965. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1966. ->group("CASE
  1967. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1968. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1969. END,Name_WorkGroup")
  1970. ->buildSql();
  1971. // $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  1972. // ->field("
  1973. // CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1974. // sum(a.nAmount) as 马77甲
  1975. // ")
  1976. // ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1977. // ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1978. // ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1979. // ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1980. // ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1981. // ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1982. // ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  1983. // ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1984. // ->group("CASE
  1985. // WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1986. // ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1987. // END,Name_WorkGroup")
  1988. // ->buildSql();
  1989. // $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  1990. // ->field("
  1991. // CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1992. // sum(a.nAmount) as 马77乙
  1993. // ")
  1994. // ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1995. // ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1996. // ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1997. // ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1998. // ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1999. // ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2000. // ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2001. // ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2002. // ->group("CASE
  2003. // WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2004. // ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2005. // END,Name_WorkGroup")
  2006. // ->buildSql();
  2007. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  2008. ->field("
  2009. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2010. sum(a.nAmount) as 马88甲
  2011. ")
  2012. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2013. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2014. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2015. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2016. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2017. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2018. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  2019. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2020. ->group("CASE
  2021. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2022. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2023. END,Name_WorkGroup")
  2024. ->buildSql();
  2025. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  2026. ->field("
  2027. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2028. sum(a.nAmount) as 马88乙
  2029. ")
  2030. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2031. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2032. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2033. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2034. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2035. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2036. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  2037. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2038. ->group("CASE
  2039. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2040. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2041. END,Name_WorkGroup")
  2042. ->buildSql();
  2043. $db = Db::table($A . 'a')
  2044. ->field("
  2045. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2046. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2047. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2048. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2049. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2050. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2051. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2052. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2053. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2054. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2055. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2056. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2057. + IFNULL(jdj4.马88甲, 0) + IFNULL(jdy4.马88乙, 0) 总计册
  2058. ")
  2059. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2060. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2061. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2062. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2063. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2064. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2065. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2066. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2067. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2068. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2069. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2070. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2071. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2072. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2073. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2074. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2075. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2076. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2077. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2078. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2079. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2080. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2081. ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT')
  2082. ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.rq','LEFT')
  2083. ->buildSql();
  2084. // print_r($db);die;
  2085. $jd = Db::table($db . ' db')
  2086. ->field("
  2087. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2088. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2089. ")->where("db.RQ >= '{$this->start_time()}'
  2090. AND db.RQ <= '{$this->end_time()}' ")
  2091. ->group('MONTH(db.rq)')
  2092. ->select();
  2093. $B = Db::table('cpjtfk')
  2094. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2095. ->field("
  2096. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2097. Sum(iWcl) AS '簿1甲'
  2098. ")
  2099. ->where('cbanzu','=','簿册机1号(甲班)')
  2100. ->group('drptdate,cbanzu')
  2101. ->buildSql();
  2102. $B1 = Db::table('cpjtfk')
  2103. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2104. ->field("
  2105. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2106. Sum(iWcl) AS '簿1乙'
  2107. ")
  2108. ->where('cbanzu','=','簿册机1号(乙班)')
  2109. ->group('drptdate,cbanzu')
  2110. ->buildSql();
  2111. $rr = Db::table('scyddx')->alias('r')
  2112. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2113. ->group('r.ICYDID')
  2114. ->buildSql();
  2115. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2116. ->field("
  2117. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2118. Sum(a.nAmount) AS '簿11甲'
  2119. ")
  2120. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2121. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2122. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2123. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2124. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2125. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2126. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2127. ->where('a.cTechName' ,'=','簿册联动')
  2128. ->group("CASE
  2129. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2130. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2131. END,Name_WorkGroup")
  2132. ->buildSql();
  2133. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2134. ->field("
  2135. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2136. Sum(a.nAmount) AS '簿11乙'
  2137. ")
  2138. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2139. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2140. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2141. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2142. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2143. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2144. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2145. ->where('a.cTechName' ,'=','簿册联动')
  2146. ->group("CASE
  2147. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2148. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2149. END,Name_WorkGroup")
  2150. ->buildSql();
  2151. $db = Db::table($A . 'a')
  2152. ->field("
  2153. DISTINCT DATE(A.RQ) rq,
  2154. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2155. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2156. ")
  2157. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2158. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2159. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2160. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2161. ->group('rq')
  2162. ->buildSql();
  2163. $bc = Db::table($db . ' db')
  2164. ->field("
  2165. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2166. ROUND(sum(db.总计册), 0) as 簿册册数
  2167. ")->where("db.RQ >= '{$this->start_time()}'
  2168. AND db.RQ <= '{$this->end_time()}' ")
  2169. ->group('MONTH(db.rq)')
  2170. ->select();
  2171. // 创建一个结果数组
  2172. $result=[];
  2173. $result1 = [];
  2174. // 遍历第一个数组,并将数据加入结果数组
  2175. foreach ($jp as $val1) {
  2176. $month = $val1['日期'];
  2177. $data1 = $val1['精平册数'];
  2178. if (!isset($result[$month])) {
  2179. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2180. }
  2181. if (!isset($result1[$month])) {
  2182. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2183. }
  2184. $result1[$month] += $data1; // 累加第一个数组的数据
  2185. }
  2186. // 遍历第二个数组,并将数据加入结果数组
  2187. foreach ($jd as $val2) {
  2188. $month = $val2['日期'];
  2189. $data1 = $val2['无线胶订册数'];
  2190. if (!isset($result[$month])) {
  2191. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2192. }
  2193. if (!isset($result1[$month])) {
  2194. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2195. }
  2196. $result1[$month] += $data1; // 累加第二个数组的数据
  2197. }
  2198. foreach ($bc as $val2) {
  2199. $month = $val2['日期'];
  2200. $data1 = $val2['簿册册数'];
  2201. if (!isset($result[$month])) {
  2202. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2203. }
  2204. if (!isset($result1[$month])) {
  2205. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2206. }
  2207. $result1[$month] += $data1; // 累加第二个数组的数据
  2208. }
  2209. foreach($result1 as $k=>$v){
  2210. $list['categories'][]=$k;
  2211. $list['series'][0]['name']='装订实物产量册数';
  2212. $list['series'][0]['data'][]=$v;
  2213. }
  2214. $res['status']=0;
  2215. $res['msg']='';
  2216. $res['data']=$list;
  2217. $redis->set($redis_key, json_encode($result1));
  2218. // halt(json_decode($redis->get($redis_key),true));
  2219. return json_encode($result1);
  2220. }
  2221. //前年装订实物产量册数->缓存调用
  2222. public function zdcsTwoYear(){
  2223. $redis=redis();
  2224. $redis_key = md5('zdcsTwoYear');
  2225. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2226. ->union(function ($query) {
  2227. $query->table('scDayRpt_Teams')->alias('b')
  2228. ->field("DISTINCT DATE_FORMAT(
  2229. CASE
  2230. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2231. ELSE b.dOnDuty
  2232. END,
  2233. '%Y-%m-%d'
  2234. ) AS RQ");
  2235. }, true)
  2236. ->buildSql();
  2237. $B1 = Db::table('cpjtfk')
  2238. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2239. ->field("
  2240. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2241. sum(iwcl) as 精1乙
  2242. ")
  2243. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2244. ->group('drptdate,cbanzu')
  2245. ->buildSql();
  2246. $rr = Db::table('scyddx')->alias('r')
  2247. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2248. ->group('r.ICYDID')
  2249. ->buildSql();
  2250. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2251. ->field("
  2252. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2253. sum(a.nAmount) as 精11乙
  2254. ")
  2255. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2256. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2257. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2258. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2259. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2260. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2261. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  2262. ->group("CASE
  2263. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2264. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2265. END,Name_WorkGroup")
  2266. ->buildSql();
  2267. $db = Db::table($A . 'a')
  2268. ->field("
  2269. DISTINCT DATE(A.RQ) rq,
  2270. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  2271. ")
  2272. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2273. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2274. ->group('rq')
  2275. ->buildSql();
  2276. $jp = Db::table($db . ' db')
  2277. ->field("
  2278. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2279. ROUND(sum(db.总计册), 0) as 精平册数
  2280. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2281. AND db.RQ <= '{$this->qianend_time()}' ")
  2282. ->group('MONTH(db.rq)')
  2283. ->select();
  2284. $B = Db::table('cpjtfk')
  2285. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2286. ->field("
  2287. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2288. sum(iwcl) as 马1甲
  2289. ")
  2290. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  2291. ->group('drptdate,cbanzu')
  2292. ->buildSql();
  2293. $B1 = Db::table('cpjtfk')
  2294. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2295. ->field("
  2296. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2297. sum(iwcl) as 马1乙
  2298. ")
  2299. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  2300. ->group('drptdate,cbanzu')
  2301. ->buildSql();
  2302. $C = Db::table('cpjtfk')
  2303. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2304. ->field("
  2305. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2306. sum(iwcl) as 马2甲
  2307. ")
  2308. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  2309. ->group('drptdate,cbanzu')
  2310. ->buildSql();
  2311. $C1 = Db::table('cpjtfk')
  2312. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2313. ->field("
  2314. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2315. sum(iwcl) as 马2乙
  2316. ")
  2317. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  2318. ->group('drptdate,cbanzu')
  2319. ->buildSql();
  2320. $D = Db::table('cpjtfk')
  2321. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2322. ->field("
  2323. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2324. sum(iwcl) as 马3甲
  2325. ")
  2326. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  2327. ->group('drptdate,cbanzu')
  2328. ->buildSql();
  2329. $D1 = Db::table('cpjtfk')
  2330. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2331. ->field("
  2332. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2333. sum(iwcl) as 马3乙
  2334. ")
  2335. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  2336. ->group('drptdate,cbanzu')
  2337. ->buildSql();
  2338. $E = Db::table('cpjtfk')
  2339. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2340. ->field("
  2341. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2342. sum(iwcl) as 马4甲
  2343. ")
  2344. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  2345. ->group('drptdate,cbanzu')
  2346. ->buildSql();
  2347. $E1 = Db::table('cpjtfk')
  2348. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2349. ->field("
  2350. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2351. sum(iwcl) as 马4乙
  2352. ")
  2353. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  2354. ->group('drptdate,cbanzu')
  2355. ->buildSql();
  2356. $F = Db::table('cpjtfk')
  2357. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2358. ->field("
  2359. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2360. sum(iwcl) as 马5甲
  2361. ")
  2362. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  2363. ->group('drptdate,cbanzu')
  2364. ->buildSql();
  2365. $F1 = Db::table('cpjtfk')
  2366. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2367. ->field("
  2368. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2369. sum(iwcl) as 马5乙,
  2370. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  2371. ")
  2372. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  2373. ->group('drptdate,cbanzu')
  2374. ->buildSql();
  2375. $rr = Db::table('scyddx')->alias('r')
  2376. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2377. ->group('r.ICYDID')
  2378. ->buildSql();
  2379. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2380. ->field("
  2381. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2382. sum(a.nAmount) as 马11甲")
  2383. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2384. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2385. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2386. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2387. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2388. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2389. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  2390. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2391. ->group("CASE
  2392. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2393. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2394. END,Name_WorkGroup")->buildSql();
  2395. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2396. ->field("
  2397. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2398. sum(a.nAmount) as 马11乙
  2399. ")
  2400. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2401. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2402. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2403. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2404. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2405. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2406. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  2407. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2408. ->group("CASE
  2409. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2410. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2411. END,Name_WorkGroup")
  2412. ->buildSql();
  2413. $CC = Db::table('ql_report_feedback_day')->alias('a')
  2414. ->field("
  2415. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2416. sum(a.nAmount) as 马22甲
  2417. ")
  2418. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2419. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2420. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2421. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2422. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2423. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2424. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  2425. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2426. ->group("CASE
  2427. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2428. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2429. END,Name_WorkGroup")
  2430. ->buildSql();
  2431. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  2432. ->field("
  2433. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2434. sum(a.nAmount) as 马22乙
  2435. ")
  2436. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2437. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2438. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2439. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2440. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2441. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2442. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  2443. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2444. ->group("CASE
  2445. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2446. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2447. END,Name_WorkGroup")
  2448. ->buildSql();
  2449. $EE = Db::table('ql_report_feedback_day')->alias('a')
  2450. ->field("
  2451. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2452. sum(a.nAmount) as 马33甲
  2453. ")
  2454. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2455. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2456. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2457. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2458. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2459. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2460. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  2461. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2462. ->group("CASE
  2463. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2464. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2465. END,Name_WorkGroup")
  2466. ->buildSql();
  2467. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  2468. ->field("
  2469. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2470. sum(a.nAmount) as 马33乙
  2471. ")
  2472. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2473. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2474. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2475. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2476. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2477. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2478. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  2479. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2480. ->group("CASE
  2481. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2482. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2483. END,Name_WorkGroup")
  2484. ->buildSql();
  2485. $HH = Db::table('ql_report_feedback_day')->alias('a')
  2486. ->field("
  2487. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2488. sum(a.nAmount) as 马44甲
  2489. ")
  2490. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2491. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2492. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2493. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2494. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2495. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2496. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  2497. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2498. ->group("CASE
  2499. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2500. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2501. END,Name_WorkGroup")
  2502. ->buildSql();
  2503. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  2504. ->field("
  2505. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2506. sum(a.nAmount) as 马44乙
  2507. ")
  2508. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2509. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2510. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2511. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2512. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2513. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2514. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  2515. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2516. ->group("CASE
  2517. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2518. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2519. END,Name_WorkGroup")
  2520. ->buildSql();
  2521. $XX = Db::table('ql_report_feedback_day')->alias('a')
  2522. ->field("
  2523. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2524. sum(a.nAmount) as 马55甲
  2525. ")
  2526. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2527. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2528. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2529. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2530. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2531. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2532. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  2533. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2534. ->group("CASE
  2535. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2536. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2537. END,Name_WorkGroup")
  2538. ->buildSql();
  2539. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  2540. ->field("
  2541. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2542. sum(a.nAmount) as 马66甲
  2543. ")
  2544. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2545. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2546. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2547. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2548. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2549. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2550. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  2551. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2552. ->group("CASE
  2553. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2554. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2555. END,Name_WorkGroup")
  2556. ->buildSql();
  2557. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2558. ->field("
  2559. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2560. sum(a.nAmount) as 马77甲
  2561. ")
  2562. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2563. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2564. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2565. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2566. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2567. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2568. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2569. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2570. ->group("CASE
  2571. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2572. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2573. END,Name_WorkGroup")
  2574. ->buildSql();
  2575. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2576. ->field("
  2577. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2578. sum(a.nAmount) as 马55乙
  2579. ")
  2580. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2581. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2582. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2583. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2584. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2585. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2586. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2587. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2588. ->group("CASE
  2589. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2590. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2591. END,Name_WorkGroup")
  2592. ->buildSql();
  2593. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2594. ->field("
  2595. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2596. sum(a.nAmount) as 马66乙
  2597. ")
  2598. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2599. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2600. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2601. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2602. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2603. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2604. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2605. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2606. ->group("CASE
  2607. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2608. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2609. END,Name_WorkGroup")
  2610. ->buildSql();
  2611. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2612. ->field("
  2613. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2614. sum(a.nAmount) as 马77乙
  2615. ")
  2616. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2617. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2618. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2619. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2620. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2621. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2622. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2623. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2624. ->group("CASE
  2625. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2626. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2627. END,Name_WorkGroup")
  2628. ->buildSql();
  2629. $db = Db::table($A . 'a')
  2630. ->field("
  2631. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2632. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2633. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2634. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2635. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2636. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2637. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2638. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2639. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2640. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2641. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2642. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2643. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  2644. ")
  2645. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2646. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2647. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2648. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2649. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2650. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2651. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2652. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2653. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2654. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2655. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2656. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2657. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2658. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2659. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2660. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2661. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2662. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2663. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2664. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2665. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2666. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  2667. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2668. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  2669. ->buildSql();
  2670. $jd = Db::table($db . ' db')
  2671. ->field("
  2672. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2673. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2674. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2675. AND db.RQ <= '{$this->qianend_time()}' ")
  2676. ->group('MONTH(db.rq)')
  2677. ->select();
  2678. $B = Db::table('cpjtfk')
  2679. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2680. ->field("
  2681. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2682. Sum(iWcl) AS '簿1甲'
  2683. ")
  2684. ->where('cbanzu','=','簿册机1号(甲班)')
  2685. ->group('drptdate,cbanzu')
  2686. ->buildSql();
  2687. $B1 = Db::table('cpjtfk')
  2688. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2689. ->field("
  2690. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2691. Sum(iWcl) AS '簿1乙'
  2692. ")
  2693. ->where('cbanzu','=','簿册机1号(乙班)')
  2694. ->group('drptdate,cbanzu')
  2695. ->buildSql();
  2696. $rr = Db::table('scyddx')->alias('r')
  2697. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2698. ->group('r.ICYDID')
  2699. ->buildSql();
  2700. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2701. ->field("
  2702. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2703. Sum(a.nAmount) AS '簿11甲'
  2704. ")
  2705. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2706. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2707. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2708. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2709. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2710. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2711. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2712. ->where('a.cTechName' ,'=','簿册联动')
  2713. ->group("CASE
  2714. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2715. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2716. END,Name_WorkGroup")
  2717. ->buildSql();
  2718. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2719. ->field("
  2720. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2721. Sum(a.nAmount) AS '簿11乙'
  2722. ")
  2723. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2724. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2725. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2726. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2727. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2728. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2729. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2730. ->where('a.cTechName' ,'=','簿册联动')
  2731. ->group("CASE
  2732. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2733. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2734. END,Name_WorkGroup")
  2735. ->buildSql();
  2736. $db = Db::table($A . 'a')
  2737. ->field("
  2738. DISTINCT DATE(A.RQ) rq,
  2739. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2740. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2741. ")
  2742. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2743. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2744. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2745. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2746. ->group('rq')
  2747. ->buildSql();
  2748. $bc = Db::table($db . ' db')
  2749. ->field("
  2750. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2751. ROUND(sum(db.总计册), 0) as 簿册册数
  2752. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2753. AND db.RQ <= '{$this->qianend_time()}' ")
  2754. ->group('MONTH(db.rq)')
  2755. ->select();
  2756. // 创建一个结果数组
  2757. $result=[];
  2758. $result1 = [];
  2759. // 遍历第一个数组,并将数据加入结果数组
  2760. foreach ($jp as $val1) {
  2761. $month = $val1['日期'];
  2762. $data1 = $val1['精平册数'];
  2763. if (!isset($result[$month])) {
  2764. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2765. }
  2766. if (!isset($result1[$month])) {
  2767. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2768. }
  2769. $result1[$month] += $data1; // 累加第一个数组的数据
  2770. }
  2771. // 遍历第二个数组,并将数据加入结果数组
  2772. foreach ($jd as $val2) {
  2773. $month = $val2['日期'];
  2774. $data1 = $val2['无线胶订册数'];
  2775. if (!isset($result[$month])) {
  2776. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2777. }
  2778. if (!isset($result1[$month])) {
  2779. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2780. }
  2781. $result1[$month] += $data1; // 累加第二个数组的数据
  2782. }
  2783. foreach ($bc as $val2) {
  2784. $month = $val2['日期'];
  2785. $data1 = $val2['簿册册数'];
  2786. if (!isset($result[$month])) {
  2787. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2788. }
  2789. if (!isset($result1[$month])) {
  2790. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2791. }
  2792. $result1[$month] += $data1; // 累加第二个数组的数据
  2793. }
  2794. foreach($result1 as $k=>$v){
  2795. $list['categories'][]=$k;
  2796. $list['series'][0]['name']='装订实物产量册数';
  2797. $list['series'][0]['data'][]=$v;
  2798. }
  2799. $res['status']=0;
  2800. $res['msg']='';
  2801. $res['data']=$list;
  2802. $redis->set($redis_key, json_encode($result1));
  2803. // halt(json_decode($redis->get($redis_key),true));
  2804. return json_encode($result1);
  2805. }
  2806. //装订实物产量册数 接口合并一起->接口调用
  2807. public function zdcs(){
  2808. $redis = redis();
  2809. $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true);
  2810. $result_qu = json_decode($redis->get(md5('zdcs2022')), true);
  2811. $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true);
  2812. // Merge all data
  2813. $result1 = array_merge($result_qian, $result_qu, $result_dang);
  2814. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2815. $currentYear = date("Y"); // Current year (2025)
  2816. $currentMonth = date("m"); // Current month (07)
  2817. $previousYear = $currentYear - 1; // 2024
  2818. $previousQianYear = $currentYear - 2; // 2023
  2819. // Initialize series with 0 values
  2820. $list['series'] = [
  2821. ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)],
  2822. ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)],
  2823. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)]
  2824. ];
  2825. foreach ($result1 as $k => $v) {
  2826. $yearMonth = explode('-', $k);
  2827. $year = $yearMonth[0];
  2828. $month = (int)$yearMonth[1];
  2829. $monthIndex = $month - 1;
  2830. if ($year == $previousQianYear) {
  2831. $list['series'][0]['data'][$monthIndex] += $v;
  2832. } elseif ($year == $previousYear) {
  2833. $list['series'][1]['data'][$monthIndex] += $v;
  2834. } elseif ($year == $currentYear) {
  2835. // Only add if month is current or past month
  2836. if ($month <= (int)$currentMonth) {
  2837. $list['series'][2]['data'][$monthIndex] += $v;
  2838. }
  2839. }
  2840. }
  2841. $res['status'] = 0;
  2842. $res['msg'] = '';
  2843. $res['data'] = $list;
  2844. return json_encode($res, JSON_UNESCAPED_UNICODE);
  2845. }
  2846. // public function zdcs() {
  2847. // $redis = redis();
  2848. // $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true);
  2849. // $result_qu = json_decode($redis->get(md5('zdcs2022')), true);
  2850. // $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true);
  2851. // // 合并三年的数据
  2852. // $result1 = array_merge($result_qian, $result_qu, $result_dang);
  2853. // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2854. // $currentYear = date("Y"); // 当前年份
  2855. // $currentMonth = date("m"); // 当前月份
  2856. // $previousYear = $currentYear - 1; // 上一年
  2857. // $previousQianYear = $currentYear - 2; // 前年
  2858. // // 初始化三个年份的数据数组,先填充0
  2859. // $list['series'][0]['name'] = $previousQianYear . '年';
  2860. // $list['series'][0]['data'] = array_fill(0, 12, 0);
  2861. // $list['series'][1]['name'] = $previousYear . '年';
  2862. // $list['series'][1]['data'] = array_fill(0, 12, 0);
  2863. // $list['series'][2]['name'] = $currentYear . '年';
  2864. // $list['series'][2]['data'] = array_fill(0, 12, 0);
  2865. // foreach ($result1 as $k => $v) {
  2866. // $yearMonth = explode('-', $k);
  2867. // $year = $yearMonth[0];
  2868. // $month = (int)$yearMonth[1];
  2869. // if ($year == $previousQianYear) {
  2870. // // 如果是前两年的数据,直接赋值
  2871. // $list['series'][0]['data'][$month - 1] = $v;
  2872. // } elseif ($year == $previousYear) {
  2873. // // 如果是去年的数据,直接赋值
  2874. // $list['series'][1]['data'][$month - 1] = $v;
  2875. // } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  2876. // // 如果是当前年份,并且月份不超过当前月份,则赋值
  2877. // $list['series'][2]['data'][$month - 1] = $v;
  2878. // }
  2879. // // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  2880. // }
  2881. // $res['status'] = 0;
  2882. // $res['msg'] = '';
  2883. // $res['data'] = $list;
  2884. // return json_encode($res);
  2885. // }
  2886. //去年装订实物产量纸令->缓存调用
  2887. public function zdzl2022(){
  2888. $redis=redis();
  2889. $redis_key = md5('zdzl2022');
  2890. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2891. ->union(function ($query) {
  2892. $query->table('scDayRpt_Teams')->alias('b')
  2893. ->field("DISTINCT DATE_FORMAT(
  2894. CASE
  2895. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2896. ELSE b.dOnDuty
  2897. END,
  2898. '%Y-%m-%d'
  2899. ) AS RQ");
  2900. }, true)
  2901. ->buildSql();
  2902. $B1 = Db::table('cpjtfk')
  2903. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2904. ->field("
  2905. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2906. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  2907. ")
  2908. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2909. ->group('drptdate,cbanzu')
  2910. ->buildSql();
  2911. $rr = Db::table('scyddx')->alias('r')
  2912. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2913. ->group('r.ICYDID')
  2914. ->buildSql();
  2915. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2916. ->field("
  2917. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2918. ROUND(SUM(
  2919. CASE
  2920. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2921. THEN
  2922. CASE
  2923. WHEN a.cCyddxMc = '装配'
  2924. OR a.cCyddxMc LIKE '%正文%'
  2925. OR a.cCyddxMc LIKE '%答案%'
  2926. OR a.cCyddxMc LIKE '%卷%'
  2927. THEN
  2928. CASE
  2929. WHEN CASE
  2930. WHEN IFNULL(d.fZls, 0) < rr.zl
  2931. THEN rr.zl
  2932. ELSE IFNULL(d.fZls, 0)
  2933. END = 0
  2934. THEN c.nzdls
  2935. ELSE (
  2936. CASE
  2937. WHEN c.nzdls <
  2938. CASE
  2939. WHEN IFNULL(d.fZls, 0) < rr.zl
  2940. THEN rr.zl
  2941. ELSE IFNULL(d.fZls, 0)
  2942. END
  2943. THEN
  2944. CASE
  2945. WHEN IFNULL(d.fZls, 0) < rr.zl
  2946. THEN rr.zl
  2947. ELSE IFNULL(d.fZls, 0)
  2948. END
  2949. ELSE c.nzdls
  2950. END
  2951. )
  2952. END
  2953. ELSE 0
  2954. END
  2955. ELSE
  2956. CASE
  2957. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2958. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2959. CASE
  2960. WHEN a.cCyddxMc = '装配'
  2961. OR a.cCyddxMc LIKE '%正文%'
  2962. OR a.cCyddxMc LIKE '%答案%'
  2963. OR a.cCyddxMc LIKE '%卷%'
  2964. THEN
  2965. CASE
  2966. WHEN CASE
  2967. WHEN IFNULL(d.fZls, 0) < rr.zl
  2968. THEN rr.zl
  2969. ELSE IFNULL(d.fZls, 0)
  2970. END = 0
  2971. THEN c.nzdls
  2972. ELSE (
  2973. CASE
  2974. WHEN c.nzdls <
  2975. CASE
  2976. WHEN IFNULL(d.fZls, 0) < rr.zl
  2977. THEN rr.zl
  2978. ELSE IFNULL(d.fZls, 0)
  2979. END
  2980. THEN
  2981. CASE
  2982. WHEN IFNULL(d.fZls, 0) < rr.zl
  2983. THEN rr.zl
  2984. ELSE IFNULL(d.fZls, 0)
  2985. END
  2986. ELSE c.nzdls
  2987. END
  2988. )
  2989. END
  2990. ELSE 0
  2991. END
  2992. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  2993. END
  2994. END )
  2995. , 3) 精11乙纸令
  2996. ")
  2997. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2998. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2999. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3000. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3001. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3002. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3003. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  3004. ->group("CASE
  3005. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3006. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3007. END,Name_WorkGroup")
  3008. ->buildSql();
  3009. $db = Db::table($A . 'a')
  3010. ->field("
  3011. DATE(A.RQ) rq,
  3012. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  3013. ")
  3014. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  3015. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  3016. ->buildSql();
  3017. $jp = Db::table($db . ' db')
  3018. ->field("
  3019. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  3020. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  3021. ")->where("db.RQ >= '{$this->qstart_time()}'
  3022. AND db.RQ <= '{$this->qend_time()}' ")
  3023. ->group('MONTH(db.rq)')
  3024. ->select();
  3025. $B = Db::table('cpjtfk')
  3026. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3027. ->field("
  3028. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3029. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  3030. ")
  3031. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  3032. ->group('drptdate,cbanzu')
  3033. ->buildSql();
  3034. $B1 = Db::table('cpjtfk')
  3035. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3036. ->field("
  3037. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3038. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  3039. ")
  3040. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  3041. ->group('drptdate,cbanzu')
  3042. ->buildSql();
  3043. $C = Db::table('cpjtfk')
  3044. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3045. ->field("
  3046. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3047. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  3048. ")
  3049. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  3050. ->group('drptdate,cbanzu')
  3051. ->buildSql();
  3052. $C1 = Db::table('cpjtfk')
  3053. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3054. ->field("
  3055. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3056. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  3057. ")
  3058. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  3059. ->group('drptdate,cbanzu')
  3060. ->buildSql();
  3061. $D = Db::table('cpjtfk')
  3062. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3063. ->field("
  3064. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3065. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  3066. ")
  3067. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  3068. ->group('drptdate,cbanzu')
  3069. ->buildSql();
  3070. $D1 = Db::table('cpjtfk')
  3071. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3072. ->field("
  3073. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3074. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  3075. ")
  3076. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  3077. ->group('drptdate,cbanzu')
  3078. ->buildSql();
  3079. $E = Db::table('cpjtfk')
  3080. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3081. ->field("
  3082. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3083. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  3084. ")
  3085. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  3086. ->group('drptdate,cbanzu')
  3087. ->buildSql();
  3088. $E1 = Db::table('cpjtfk')
  3089. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3090. ->field("
  3091. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3092. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  3093. ")
  3094. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  3095. ->group('drptdate,cbanzu')
  3096. ->buildSql();
  3097. $F = Db::table('cpjtfk')
  3098. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3099. ->field("
  3100. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3101. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  3102. ")
  3103. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  3104. ->group('drptdate,cbanzu')
  3105. ->buildSql();
  3106. $F1 = Db::table('cpjtfk')
  3107. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3108. ->field("
  3109. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3110. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  3111. ")
  3112. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  3113. ->group('drptdate,cbanzu')
  3114. ->buildSql();
  3115. $rr = Db::table('scyddx')->alias('r')
  3116. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3117. ->group('r.ICYDID')
  3118. ->buildSql();
  3119. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  3120. ->field("
  3121. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3122. ROUND(SUM(
  3123. CASE
  3124. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3125. THEN CASE WHEN a.cCyddxMc = '装配'
  3126. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3127. THEN CASE
  3128. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3129. END = 0 THEN c.nzdls
  3130. ELSE ( CASE
  3131. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3132. END
  3133. THEN CASE
  3134. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3135. END ELSE c.nzdls END
  3136. ) END ELSE 0 END
  3137. ELSE CASE
  3138. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3139. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3140. CASE WHEN a.cCyddxMc = '装配'
  3141. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3142. THEN CASE
  3143. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3144. END = 0 THEN c.nzdls
  3145. ELSE ( CASE WHEN c.nzdls <
  3146. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3147. END
  3148. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3149. END ELSE c.nzdls END )
  3150. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3151. END END ), 3) 马11甲纸令 ")
  3152. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3153. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3154. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3155. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3156. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3157. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3158. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  3159. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3160. ->group("CASE
  3161. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3162. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3163. END,Name_WorkGroup")->buildSql();
  3164. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3165. ->field("
  3166. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3167. ROUND(SUM(
  3168. CASE
  3169. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3170. THEN
  3171. CASE
  3172. WHEN a.cCyddxMc = '装配'
  3173. OR a.cCyddxMc LIKE '%正文%'
  3174. OR a.cCyddxMc LIKE '%答案%'
  3175. OR a.cCyddxMc LIKE '%卷%'
  3176. THEN
  3177. CASE
  3178. WHEN CASE
  3179. WHEN IFNULL(d.fZls, 0) < rr.zl
  3180. THEN rr.zl
  3181. ELSE IFNULL(d.fZls, 0)
  3182. END = 0
  3183. THEN c.nzdls
  3184. ELSE (
  3185. CASE
  3186. WHEN c.nzdls <
  3187. CASE
  3188. WHEN IFNULL(d.fZls, 0) < rr.zl
  3189. THEN rr.zl
  3190. ELSE IFNULL(d.fZls, 0)
  3191. END
  3192. THEN
  3193. CASE
  3194. WHEN IFNULL(d.fZls, 0) < rr.zl
  3195. THEN rr.zl
  3196. ELSE IFNULL(d.fZls, 0)
  3197. END
  3198. ELSE c.nzdls
  3199. END
  3200. )
  3201. END
  3202. ELSE 0
  3203. END
  3204. ELSE
  3205. CASE
  3206. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3207. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3208. CASE
  3209. WHEN a.cCyddxMc = '装配'
  3210. OR a.cCyddxMc LIKE '%正文%'
  3211. OR a.cCyddxMc LIKE '%答案%'
  3212. OR a.cCyddxMc LIKE '%卷%'
  3213. THEN
  3214. CASE
  3215. WHEN CASE
  3216. WHEN IFNULL(d.fZls, 0) < rr.zl
  3217. THEN rr.zl
  3218. ELSE IFNULL(d.fZls, 0)
  3219. END = 0
  3220. THEN c.nzdls
  3221. ELSE (
  3222. CASE
  3223. WHEN c.nzdls <
  3224. CASE
  3225. WHEN IFNULL(d.fZls, 0) < rr.zl
  3226. THEN rr.zl
  3227. ELSE IFNULL(d.fZls, 0)
  3228. END
  3229. THEN
  3230. CASE
  3231. WHEN IFNULL(d.fZls, 0) < rr.zl
  3232. THEN rr.zl
  3233. ELSE IFNULL(d.fZls, 0)
  3234. END
  3235. ELSE c.nzdls
  3236. END
  3237. )
  3238. END
  3239. ELSE 0
  3240. END
  3241. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3242. END
  3243. END )
  3244. , 3) 马11乙纸令
  3245. ")
  3246. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3247. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3248. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3249. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3250. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3251. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3252. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  3253. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3254. ->group("CASE
  3255. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3256. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3257. END,Name_WorkGroup")
  3258. ->buildSql();
  3259. $CC = Db::table('ql_report_feedback_day')->alias('a')
  3260. ->field("
  3261. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3262. ROUND(SUM(
  3263. CASE
  3264. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3265. THEN
  3266. CASE
  3267. WHEN a.cCyddxMc = '装配'
  3268. OR a.cCyddxMc LIKE '%正文%'
  3269. OR a.cCyddxMc LIKE '%答案%'
  3270. OR a.cCyddxMc LIKE '%卷%'
  3271. THEN
  3272. CASE
  3273. WHEN CASE
  3274. WHEN IFNULL(d.fZls, 0) < rr.zl
  3275. THEN rr.zl
  3276. ELSE IFNULL(d.fZls, 0)
  3277. END = 0
  3278. THEN c.nzdls
  3279. ELSE (
  3280. CASE
  3281. WHEN c.nzdls <
  3282. CASE
  3283. WHEN IFNULL(d.fZls, 0) < rr.zl
  3284. THEN rr.zl
  3285. ELSE IFNULL(d.fZls, 0)
  3286. END
  3287. THEN
  3288. CASE
  3289. WHEN IFNULL(d.fZls, 0) < rr.zl
  3290. THEN rr.zl
  3291. ELSE IFNULL(d.fZls, 0)
  3292. END
  3293. ELSE c.nzdls
  3294. END
  3295. )
  3296. END
  3297. ELSE 0
  3298. END
  3299. ELSE
  3300. CASE
  3301. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3302. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3303. CASE
  3304. WHEN a.cCyddxMc = '装配'
  3305. OR a.cCyddxMc LIKE '%正文%'
  3306. OR a.cCyddxMc LIKE '%答案%'
  3307. OR a.cCyddxMc LIKE '%卷%'
  3308. THEN
  3309. CASE
  3310. WHEN CASE
  3311. WHEN IFNULL(d.fZls, 0) < rr.zl
  3312. THEN rr.zl
  3313. ELSE IFNULL(d.fZls, 0)
  3314. END = 0
  3315. THEN c.nzdls
  3316. ELSE (
  3317. CASE
  3318. WHEN c.nzdls <
  3319. CASE
  3320. WHEN IFNULL(d.fZls, 0) < rr.zl
  3321. THEN rr.zl
  3322. ELSE IFNULL(d.fZls, 0)
  3323. END
  3324. THEN
  3325. CASE
  3326. WHEN IFNULL(d.fZls, 0) < rr.zl
  3327. THEN rr.zl
  3328. ELSE IFNULL(d.fZls, 0)
  3329. END
  3330. ELSE c.nzdls
  3331. END
  3332. )
  3333. END
  3334. ELSE 0
  3335. END
  3336. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3337. END
  3338. END )
  3339. , 3) 马22甲纸令
  3340. ")
  3341. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3342. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3343. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3344. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3345. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3346. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3347. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  3348. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3349. ->group("CASE
  3350. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3351. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3352. END,Name_WorkGroup")
  3353. ->buildSql();
  3354. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  3355. ->field("
  3356. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3357. ROUND(SUM(
  3358. CASE
  3359. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3360. THEN
  3361. CASE
  3362. WHEN a.cCyddxMc = '装配'
  3363. OR a.cCyddxMc LIKE '%正文%'
  3364. OR a.cCyddxMc LIKE '%答案%'
  3365. OR a.cCyddxMc LIKE '%卷%'
  3366. THEN
  3367. CASE
  3368. WHEN CASE
  3369. WHEN IFNULL(d.fZls, 0) < rr.zl
  3370. THEN rr.zl
  3371. ELSE IFNULL(d.fZls, 0)
  3372. END = 0
  3373. THEN c.nzdls
  3374. ELSE (
  3375. CASE
  3376. WHEN c.nzdls <
  3377. CASE
  3378. WHEN IFNULL(d.fZls, 0) < rr.zl
  3379. THEN rr.zl
  3380. ELSE IFNULL(d.fZls, 0)
  3381. END
  3382. THEN
  3383. CASE
  3384. WHEN IFNULL(d.fZls, 0) < rr.zl
  3385. THEN rr.zl
  3386. ELSE IFNULL(d.fZls, 0)
  3387. END
  3388. ELSE c.nzdls
  3389. END
  3390. )
  3391. END
  3392. ELSE 0
  3393. END
  3394. ELSE
  3395. CASE
  3396. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3397. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3398. CASE
  3399. WHEN a.cCyddxMc = '装配'
  3400. OR a.cCyddxMc LIKE '%正文%'
  3401. OR a.cCyddxMc LIKE '%答案%'
  3402. OR a.cCyddxMc LIKE '%卷%'
  3403. THEN
  3404. CASE
  3405. WHEN CASE
  3406. WHEN IFNULL(d.fZls, 0) < rr.zl
  3407. THEN rr.zl
  3408. ELSE IFNULL(d.fZls, 0)
  3409. END = 0
  3410. THEN c.nzdls
  3411. ELSE (
  3412. CASE
  3413. WHEN c.nzdls <
  3414. CASE
  3415. WHEN IFNULL(d.fZls, 0) < rr.zl
  3416. THEN rr.zl
  3417. ELSE IFNULL(d.fZls, 0)
  3418. END
  3419. THEN
  3420. CASE
  3421. WHEN IFNULL(d.fZls, 0) < rr.zl
  3422. THEN rr.zl
  3423. ELSE IFNULL(d.fZls, 0)
  3424. END
  3425. ELSE c.nzdls
  3426. END
  3427. )
  3428. END
  3429. ELSE 0
  3430. END
  3431. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3432. END
  3433. END )
  3434. , 3) 马22乙纸令
  3435. ")
  3436. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3437. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3438. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3439. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3440. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3441. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3442. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  3443. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3444. ->group("CASE
  3445. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3446. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3447. END,Name_WorkGroup")
  3448. ->buildSql();
  3449. $EE = Db::table('ql_report_feedback_day')->alias('a')
  3450. ->field("
  3451. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3452. ROUND(SUM(
  3453. CASE
  3454. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3455. THEN
  3456. CASE
  3457. WHEN a.cCyddxMc = '装配'
  3458. OR a.cCyddxMc LIKE '%正文%'
  3459. OR a.cCyddxMc LIKE '%答案%'
  3460. OR a.cCyddxMc LIKE '%卷%'
  3461. THEN
  3462. CASE
  3463. WHEN CASE
  3464. WHEN IFNULL(d.fZls, 0) < rr.zl
  3465. THEN rr.zl
  3466. ELSE IFNULL(d.fZls, 0)
  3467. END = 0
  3468. THEN c.nzdls
  3469. ELSE (
  3470. CASE
  3471. WHEN c.nzdls <
  3472. CASE
  3473. WHEN IFNULL(d.fZls, 0) < rr.zl
  3474. THEN rr.zl
  3475. ELSE IFNULL(d.fZls, 0)
  3476. END
  3477. THEN
  3478. CASE
  3479. WHEN IFNULL(d.fZls, 0) < rr.zl
  3480. THEN rr.zl
  3481. ELSE IFNULL(d.fZls, 0)
  3482. END
  3483. ELSE c.nzdls
  3484. END
  3485. )
  3486. END
  3487. ELSE 0
  3488. END
  3489. ELSE
  3490. CASE
  3491. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3492. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3493. CASE
  3494. WHEN a.cCyddxMc = '装配'
  3495. OR a.cCyddxMc LIKE '%正文%'
  3496. OR a.cCyddxMc LIKE '%答案%'
  3497. OR a.cCyddxMc LIKE '%卷%'
  3498. THEN
  3499. CASE
  3500. WHEN CASE
  3501. WHEN IFNULL(d.fZls, 0) < rr.zl
  3502. THEN rr.zl
  3503. ELSE IFNULL(d.fZls, 0)
  3504. END = 0
  3505. THEN c.nzdls
  3506. ELSE (
  3507. CASE
  3508. WHEN c.nzdls <
  3509. CASE
  3510. WHEN IFNULL(d.fZls, 0) < rr.zl
  3511. THEN rr.zl
  3512. ELSE IFNULL(d.fZls, 0)
  3513. END
  3514. THEN
  3515. CASE
  3516. WHEN IFNULL(d.fZls, 0) < rr.zl
  3517. THEN rr.zl
  3518. ELSE IFNULL(d.fZls, 0)
  3519. END
  3520. ELSE c.nzdls
  3521. END
  3522. )
  3523. END
  3524. ELSE 0
  3525. END
  3526. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3527. END
  3528. END )
  3529. , 3) 马33甲纸令
  3530. ")
  3531. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3532. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3533. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3534. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3535. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3536. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3537. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  3538. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3539. ->group("CASE
  3540. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3541. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3542. END,Name_WorkGroup")
  3543. ->buildSql();
  3544. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  3545. ->field("
  3546. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3547. ROUND(SUM(
  3548. CASE
  3549. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3550. THEN
  3551. CASE
  3552. WHEN a.cCyddxMc = '装配'
  3553. OR a.cCyddxMc LIKE '%正文%'
  3554. OR a.cCyddxMc LIKE '%答案%'
  3555. OR a.cCyddxMc LIKE '%卷%'
  3556. THEN
  3557. CASE
  3558. WHEN CASE
  3559. WHEN IFNULL(d.fZls, 0) < rr.zl
  3560. THEN rr.zl
  3561. ELSE IFNULL(d.fZls, 0)
  3562. END = 0
  3563. THEN c.nzdls
  3564. ELSE (
  3565. CASE
  3566. WHEN c.nzdls <
  3567. CASE
  3568. WHEN IFNULL(d.fZls, 0) < rr.zl
  3569. THEN rr.zl
  3570. ELSE IFNULL(d.fZls, 0)
  3571. END
  3572. THEN
  3573. CASE
  3574. WHEN IFNULL(d.fZls, 0) < rr.zl
  3575. THEN rr.zl
  3576. ELSE IFNULL(d.fZls, 0)
  3577. END
  3578. ELSE c.nzdls
  3579. END
  3580. )
  3581. END
  3582. ELSE 0
  3583. END
  3584. ELSE
  3585. CASE
  3586. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3587. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3588. CASE
  3589. WHEN a.cCyddxMc = '装配'
  3590. OR a.cCyddxMc LIKE '%正文%'
  3591. OR a.cCyddxMc LIKE '%答案%'
  3592. OR a.cCyddxMc LIKE '%卷%'
  3593. THEN
  3594. CASE
  3595. WHEN CASE
  3596. WHEN IFNULL(d.fZls, 0) < rr.zl
  3597. THEN rr.zl
  3598. ELSE IFNULL(d.fZls, 0)
  3599. END = 0
  3600. THEN c.nzdls
  3601. ELSE (
  3602. CASE
  3603. WHEN c.nzdls <
  3604. CASE
  3605. WHEN IFNULL(d.fZls, 0) < rr.zl
  3606. THEN rr.zl
  3607. ELSE IFNULL(d.fZls, 0)
  3608. END
  3609. THEN
  3610. CASE
  3611. WHEN IFNULL(d.fZls, 0) < rr.zl
  3612. THEN rr.zl
  3613. ELSE IFNULL(d.fZls, 0)
  3614. END
  3615. ELSE c.nzdls
  3616. END
  3617. )
  3618. END
  3619. ELSE 0
  3620. END
  3621. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3622. END
  3623. END )
  3624. , 3) 马33乙纸令
  3625. ")
  3626. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3627. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3628. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3629. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3630. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3631. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3632. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  3633. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3634. ->group("CASE
  3635. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3636. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3637. END,Name_WorkGroup")
  3638. ->buildSql();
  3639. $HH = Db::table('ql_report_feedback_day')->alias('a')
  3640. ->field("
  3641. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3642. ROUND(SUM(
  3643. CASE
  3644. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3645. THEN
  3646. CASE
  3647. WHEN a.cCyddxMc = '装配'
  3648. OR a.cCyddxMc LIKE '%正文%'
  3649. OR a.cCyddxMc LIKE '%答案%'
  3650. OR a.cCyddxMc LIKE '%卷%'
  3651. THEN
  3652. CASE
  3653. WHEN CASE
  3654. WHEN IFNULL(d.fZls, 0) < rr.zl
  3655. THEN rr.zl
  3656. ELSE IFNULL(d.fZls, 0)
  3657. END = 0
  3658. THEN c.nzdls
  3659. ELSE (
  3660. CASE
  3661. WHEN c.nzdls <
  3662. CASE
  3663. WHEN IFNULL(d.fZls, 0) < rr.zl
  3664. THEN rr.zl
  3665. ELSE IFNULL(d.fZls, 0)
  3666. END
  3667. THEN
  3668. CASE
  3669. WHEN IFNULL(d.fZls, 0) < rr.zl
  3670. THEN rr.zl
  3671. ELSE IFNULL(d.fZls, 0)
  3672. END
  3673. ELSE c.nzdls
  3674. END
  3675. )
  3676. END
  3677. ELSE 0
  3678. END
  3679. ELSE
  3680. CASE
  3681. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3682. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3683. CASE
  3684. WHEN a.cCyddxMc = '装配'
  3685. OR a.cCyddxMc LIKE '%正文%'
  3686. OR a.cCyddxMc LIKE '%答案%'
  3687. OR a.cCyddxMc LIKE '%卷%'
  3688. THEN
  3689. CASE
  3690. WHEN CASE
  3691. WHEN IFNULL(d.fZls, 0) < rr.zl
  3692. THEN rr.zl
  3693. ELSE IFNULL(d.fZls, 0)
  3694. END = 0
  3695. THEN c.nzdls
  3696. ELSE (
  3697. CASE
  3698. WHEN c.nzdls <
  3699. CASE
  3700. WHEN IFNULL(d.fZls, 0) < rr.zl
  3701. THEN rr.zl
  3702. ELSE IFNULL(d.fZls, 0)
  3703. END
  3704. THEN
  3705. CASE
  3706. WHEN IFNULL(d.fZls, 0) < rr.zl
  3707. THEN rr.zl
  3708. ELSE IFNULL(d.fZls, 0)
  3709. END
  3710. ELSE c.nzdls
  3711. END
  3712. )
  3713. END
  3714. ELSE 0
  3715. END
  3716. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3717. END
  3718. END )
  3719. , 3) 马44甲纸令
  3720. ")
  3721. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3722. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3723. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3724. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3725. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3726. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3727. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  3728. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3729. ->group("CASE
  3730. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3731. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3732. END,Name_WorkGroup")
  3733. ->buildSql();
  3734. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  3735. ->field("
  3736. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3737. ROUND(SUM(
  3738. CASE
  3739. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3740. THEN
  3741. CASE
  3742. WHEN a.cCyddxMc = '装配'
  3743. OR a.cCyddxMc LIKE '%正文%'
  3744. OR a.cCyddxMc LIKE '%答案%'
  3745. OR a.cCyddxMc LIKE '%卷%'
  3746. THEN
  3747. CASE
  3748. WHEN CASE
  3749. WHEN IFNULL(d.fZls, 0) < rr.zl
  3750. THEN rr.zl
  3751. ELSE IFNULL(d.fZls, 0)
  3752. END = 0
  3753. THEN c.nzdls
  3754. ELSE (
  3755. CASE
  3756. WHEN c.nzdls <
  3757. CASE
  3758. WHEN IFNULL(d.fZls, 0) < rr.zl
  3759. THEN rr.zl
  3760. ELSE IFNULL(d.fZls, 0)
  3761. END
  3762. THEN
  3763. CASE
  3764. WHEN IFNULL(d.fZls, 0) < rr.zl
  3765. THEN rr.zl
  3766. ELSE IFNULL(d.fZls, 0)
  3767. END
  3768. ELSE c.nzdls
  3769. END
  3770. )
  3771. END
  3772. ELSE 0
  3773. END
  3774. ELSE
  3775. CASE
  3776. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3777. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3778. CASE
  3779. WHEN a.cCyddxMc = '装配'
  3780. OR a.cCyddxMc LIKE '%正文%'
  3781. OR a.cCyddxMc LIKE '%答案%'
  3782. OR a.cCyddxMc LIKE '%卷%'
  3783. THEN
  3784. CASE
  3785. WHEN CASE
  3786. WHEN IFNULL(d.fZls, 0) < rr.zl
  3787. THEN rr.zl
  3788. ELSE IFNULL(d.fZls, 0)
  3789. END = 0
  3790. THEN c.nzdls
  3791. ELSE (
  3792. CASE
  3793. WHEN c.nzdls <
  3794. CASE
  3795. WHEN IFNULL(d.fZls, 0) < rr.zl
  3796. THEN rr.zl
  3797. ELSE IFNULL(d.fZls, 0)
  3798. END
  3799. THEN
  3800. CASE
  3801. WHEN IFNULL(d.fZls, 0) < rr.zl
  3802. THEN rr.zl
  3803. ELSE IFNULL(d.fZls, 0)
  3804. END
  3805. ELSE c.nzdls
  3806. END
  3807. )
  3808. END
  3809. ELSE 0
  3810. END
  3811. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3812. END
  3813. END )
  3814. , 3) 马44乙纸令
  3815. ")
  3816. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3817. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3818. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3819. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3820. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3821. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3822. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  3823. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3824. ->group("CASE
  3825. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3826. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3827. END,Name_WorkGroup")
  3828. ->buildSql();
  3829. $XX = Db::table('ql_report_feedback_day')->alias('a')
  3830. ->field("
  3831. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3832. ROUND(SUM(
  3833. CASE
  3834. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3835. THEN
  3836. CASE
  3837. WHEN a.cCyddxMc = '装配'
  3838. OR a.cCyddxMc LIKE '%正文%'
  3839. OR a.cCyddxMc LIKE '%答案%'
  3840. OR a.cCyddxMc LIKE '%卷%'
  3841. THEN
  3842. CASE
  3843. WHEN CASE
  3844. WHEN IFNULL(d.fZls, 0) < rr.zl
  3845. THEN rr.zl
  3846. ELSE IFNULL(d.fZls, 0)
  3847. END = 0
  3848. THEN c.nzdls
  3849. ELSE (
  3850. CASE
  3851. WHEN c.nzdls <
  3852. CASE
  3853. WHEN IFNULL(d.fZls, 0) < rr.zl
  3854. THEN rr.zl
  3855. ELSE IFNULL(d.fZls, 0)
  3856. END
  3857. THEN
  3858. CASE
  3859. WHEN IFNULL(d.fZls, 0) < rr.zl
  3860. THEN rr.zl
  3861. ELSE IFNULL(d.fZls, 0)
  3862. END
  3863. ELSE c.nzdls
  3864. END
  3865. )
  3866. END
  3867. ELSE 0
  3868. END
  3869. ELSE
  3870. CASE
  3871. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3872. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3873. CASE
  3874. WHEN a.cCyddxMc = '装配'
  3875. OR a.cCyddxMc LIKE '%正文%'
  3876. OR a.cCyddxMc LIKE '%答案%'
  3877. OR a.cCyddxMc LIKE '%卷%'
  3878. THEN
  3879. CASE
  3880. WHEN CASE
  3881. WHEN IFNULL(d.fZls, 0) < rr.zl
  3882. THEN rr.zl
  3883. ELSE IFNULL(d.fZls, 0)
  3884. END = 0
  3885. THEN c.nzdls
  3886. ELSE (
  3887. CASE
  3888. WHEN c.nzdls <
  3889. CASE
  3890. WHEN IFNULL(d.fZls, 0) < rr.zl
  3891. THEN rr.zl
  3892. ELSE IFNULL(d.fZls, 0)
  3893. END
  3894. THEN
  3895. CASE
  3896. WHEN IFNULL(d.fZls, 0) < rr.zl
  3897. THEN rr.zl
  3898. ELSE IFNULL(d.fZls, 0)
  3899. END
  3900. ELSE c.nzdls
  3901. END
  3902. )
  3903. END
  3904. ELSE 0
  3905. END
  3906. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3907. END
  3908. END )
  3909. , 3) 马55甲纸令
  3910. ")
  3911. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3912. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3913. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3914. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3915. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3916. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3917. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  3918. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3919. ->group("CASE
  3920. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3921. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3922. END,Name_WorkGroup")
  3923. ->buildSql();
  3924. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  3925. ->field("
  3926. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3927. ROUND(SUM(
  3928. CASE
  3929. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3930. THEN
  3931. CASE
  3932. WHEN a.cCyddxMc = '装配'
  3933. OR a.cCyddxMc LIKE '%正文%'
  3934. OR a.cCyddxMc LIKE '%答案%'
  3935. OR a.cCyddxMc LIKE '%卷%'
  3936. THEN
  3937. CASE
  3938. WHEN CASE
  3939. WHEN IFNULL(d.fZls, 0) < rr.zl
  3940. THEN rr.zl
  3941. ELSE IFNULL(d.fZls, 0)
  3942. END = 0
  3943. THEN c.nzdls
  3944. ELSE (
  3945. CASE
  3946. WHEN c.nzdls <
  3947. CASE
  3948. WHEN IFNULL(d.fZls, 0) < rr.zl
  3949. THEN rr.zl
  3950. ELSE IFNULL(d.fZls, 0)
  3951. END
  3952. THEN
  3953. CASE
  3954. WHEN IFNULL(d.fZls, 0) < rr.zl
  3955. THEN rr.zl
  3956. ELSE IFNULL(d.fZls, 0)
  3957. END
  3958. ELSE c.nzdls
  3959. END
  3960. )
  3961. END
  3962. ELSE 0
  3963. END
  3964. ELSE
  3965. CASE
  3966. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3967. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3968. CASE
  3969. WHEN a.cCyddxMc = '装配'
  3970. OR a.cCyddxMc LIKE '%正文%'
  3971. OR a.cCyddxMc LIKE '%答案%'
  3972. OR a.cCyddxMc LIKE '%卷%'
  3973. THEN
  3974. CASE
  3975. WHEN CASE
  3976. WHEN IFNULL(d.fZls, 0) < rr.zl
  3977. THEN rr.zl
  3978. ELSE IFNULL(d.fZls, 0)
  3979. END = 0
  3980. THEN c.nzdls
  3981. ELSE (
  3982. CASE
  3983. WHEN c.nzdls <
  3984. CASE
  3985. WHEN IFNULL(d.fZls, 0) < rr.zl
  3986. THEN rr.zl
  3987. ELSE IFNULL(d.fZls, 0)
  3988. END
  3989. THEN
  3990. CASE
  3991. WHEN IFNULL(d.fZls, 0) < rr.zl
  3992. THEN rr.zl
  3993. ELSE IFNULL(d.fZls, 0)
  3994. END
  3995. ELSE c.nzdls
  3996. END
  3997. )
  3998. END
  3999. ELSE 0
  4000. END
  4001. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4002. END
  4003. END )
  4004. , 3) 马66甲纸令
  4005. ")
  4006. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4007. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4008. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4009. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4010. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4011. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4012. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  4013. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4014. ->group("CASE
  4015. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4016. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4017. END,Name_WorkGroup")
  4018. ->buildSql();
  4019. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  4020. ->field("
  4021. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4022. ROUND(SUM(
  4023. CASE
  4024. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4025. THEN
  4026. CASE
  4027. WHEN a.cCyddxMc = '装配'
  4028. OR a.cCyddxMc LIKE '%正文%'
  4029. OR a.cCyddxMc LIKE '%答案%'
  4030. OR a.cCyddxMc LIKE '%卷%'
  4031. THEN
  4032. CASE
  4033. WHEN CASE
  4034. WHEN IFNULL(d.fZls, 0) < rr.zl
  4035. THEN rr.zl
  4036. ELSE IFNULL(d.fZls, 0)
  4037. END = 0
  4038. THEN c.nzdls
  4039. ELSE (
  4040. CASE
  4041. WHEN c.nzdls <
  4042. CASE
  4043. WHEN IFNULL(d.fZls, 0) < rr.zl
  4044. THEN rr.zl
  4045. ELSE IFNULL(d.fZls, 0)
  4046. END
  4047. THEN
  4048. CASE
  4049. WHEN IFNULL(d.fZls, 0) < rr.zl
  4050. THEN rr.zl
  4051. ELSE IFNULL(d.fZls, 0)
  4052. END
  4053. ELSE c.nzdls
  4054. END
  4055. )
  4056. END
  4057. ELSE 0
  4058. END
  4059. ELSE
  4060. CASE
  4061. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4062. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4063. CASE
  4064. WHEN a.cCyddxMc = '装配'
  4065. OR a.cCyddxMc LIKE '%正文%'
  4066. OR a.cCyddxMc LIKE '%答案%'
  4067. OR a.cCyddxMc LIKE '%卷%'
  4068. THEN
  4069. CASE
  4070. WHEN CASE
  4071. WHEN IFNULL(d.fZls, 0) < rr.zl
  4072. THEN rr.zl
  4073. ELSE IFNULL(d.fZls, 0)
  4074. END = 0
  4075. THEN c.nzdls
  4076. ELSE (
  4077. CASE
  4078. WHEN c.nzdls <
  4079. CASE
  4080. WHEN IFNULL(d.fZls, 0) < rr.zl
  4081. THEN rr.zl
  4082. ELSE IFNULL(d.fZls, 0)
  4083. END
  4084. THEN
  4085. CASE
  4086. WHEN IFNULL(d.fZls, 0) < rr.zl
  4087. THEN rr.zl
  4088. ELSE IFNULL(d.fZls, 0)
  4089. END
  4090. ELSE c.nzdls
  4091. END
  4092. )
  4093. END
  4094. ELSE 0
  4095. END
  4096. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4097. END
  4098. END )
  4099. , 3) 马77甲纸令
  4100. ")
  4101. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4102. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4103. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4104. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4105. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4106. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4107. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  4108. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4109. ->group("CASE
  4110. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4111. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4112. END,Name_WorkGroup")
  4113. ->buildSql();
  4114. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  4115. ->field("
  4116. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4117. ROUND(SUM(
  4118. CASE
  4119. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4120. THEN
  4121. CASE
  4122. WHEN a.cCyddxMc = '装配'
  4123. OR a.cCyddxMc LIKE '%正文%'
  4124. OR a.cCyddxMc LIKE '%答案%'
  4125. OR a.cCyddxMc LIKE '%卷%'
  4126. THEN
  4127. CASE
  4128. WHEN CASE
  4129. WHEN IFNULL(d.fZls, 0) < rr.zl
  4130. THEN rr.zl
  4131. ELSE IFNULL(d.fZls, 0)
  4132. END = 0
  4133. THEN c.nzdls
  4134. ELSE (
  4135. CASE
  4136. WHEN c.nzdls <
  4137. CASE
  4138. WHEN IFNULL(d.fZls, 0) < rr.zl
  4139. THEN rr.zl
  4140. ELSE IFNULL(d.fZls, 0)
  4141. END
  4142. THEN
  4143. CASE
  4144. WHEN IFNULL(d.fZls, 0) < rr.zl
  4145. THEN rr.zl
  4146. ELSE IFNULL(d.fZls, 0)
  4147. END
  4148. ELSE c.nzdls
  4149. END
  4150. )
  4151. END
  4152. ELSE 0
  4153. END
  4154. ELSE
  4155. CASE
  4156. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4157. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4158. CASE
  4159. WHEN a.cCyddxMc = '装配'
  4160. OR a.cCyddxMc LIKE '%正文%'
  4161. OR a.cCyddxMc LIKE '%答案%'
  4162. OR a.cCyddxMc LIKE '%卷%'
  4163. THEN
  4164. CASE
  4165. WHEN CASE
  4166. WHEN IFNULL(d.fZls, 0) < rr.zl
  4167. THEN rr.zl
  4168. ELSE IFNULL(d.fZls, 0)
  4169. END = 0
  4170. THEN c.nzdls
  4171. ELSE (
  4172. CASE
  4173. WHEN c.nzdls <
  4174. CASE
  4175. WHEN IFNULL(d.fZls, 0) < rr.zl
  4176. THEN rr.zl
  4177. ELSE IFNULL(d.fZls, 0)
  4178. END
  4179. THEN
  4180. CASE
  4181. WHEN IFNULL(d.fZls, 0) < rr.zl
  4182. THEN rr.zl
  4183. ELSE IFNULL(d.fZls, 0)
  4184. END
  4185. ELSE c.nzdls
  4186. END
  4187. )
  4188. END
  4189. ELSE 0
  4190. END
  4191. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4192. END
  4193. END )
  4194. , 3) 马88甲纸令
  4195. ")
  4196. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4197. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4198. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4199. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4200. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4201. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4202. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  4203. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4204. ->group("CASE
  4205. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4206. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4207. END,Name_WorkGroup")
  4208. ->buildSql();
  4209. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  4210. ->field("
  4211. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4212. ROUND(SUM(
  4213. CASE
  4214. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4215. THEN
  4216. CASE
  4217. WHEN a.cCyddxMc = '装配'
  4218. OR a.cCyddxMc LIKE '%正文%'
  4219. OR a.cCyddxMc LIKE '%答案%'
  4220. OR a.cCyddxMc LIKE '%卷%'
  4221. THEN
  4222. CASE
  4223. WHEN CASE
  4224. WHEN IFNULL(d.fZls, 0) < rr.zl
  4225. THEN rr.zl
  4226. ELSE IFNULL(d.fZls, 0)
  4227. END = 0
  4228. THEN c.nzdls
  4229. ELSE (
  4230. CASE
  4231. WHEN c.nzdls <
  4232. CASE
  4233. WHEN IFNULL(d.fZls, 0) < rr.zl
  4234. THEN rr.zl
  4235. ELSE IFNULL(d.fZls, 0)
  4236. END
  4237. THEN
  4238. CASE
  4239. WHEN IFNULL(d.fZls, 0) < rr.zl
  4240. THEN rr.zl
  4241. ELSE IFNULL(d.fZls, 0)
  4242. END
  4243. ELSE c.nzdls
  4244. END
  4245. )
  4246. END
  4247. ELSE 0
  4248. END
  4249. ELSE
  4250. CASE
  4251. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4252. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4253. CASE
  4254. WHEN a.cCyddxMc = '装配'
  4255. OR a.cCyddxMc LIKE '%正文%'
  4256. OR a.cCyddxMc LIKE '%答案%'
  4257. OR a.cCyddxMc LIKE '%卷%'
  4258. THEN
  4259. CASE
  4260. WHEN CASE
  4261. WHEN IFNULL(d.fZls, 0) < rr.zl
  4262. THEN rr.zl
  4263. ELSE IFNULL(d.fZls, 0)
  4264. END = 0
  4265. THEN c.nzdls
  4266. ELSE (
  4267. CASE
  4268. WHEN c.nzdls <
  4269. CASE
  4270. WHEN IFNULL(d.fZls, 0) < rr.zl
  4271. THEN rr.zl
  4272. ELSE IFNULL(d.fZls, 0)
  4273. END
  4274. THEN
  4275. CASE
  4276. WHEN IFNULL(d.fZls, 0) < rr.zl
  4277. THEN rr.zl
  4278. ELSE IFNULL(d.fZls, 0)
  4279. END
  4280. ELSE c.nzdls
  4281. END
  4282. )
  4283. END
  4284. ELSE 0
  4285. END
  4286. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4287. END
  4288. END )
  4289. , 3) 马55乙纸令
  4290. ")
  4291. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4292. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4293. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4294. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4295. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4296. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4297. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  4298. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4299. ->group("CASE
  4300. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4301. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4302. END,Name_WorkGroup")
  4303. ->buildSql();
  4304. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  4305. ->field("
  4306. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4307. ROUND(SUM(
  4308. CASE
  4309. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4310. THEN
  4311. CASE
  4312. WHEN a.cCyddxMc = '装配'
  4313. OR a.cCyddxMc LIKE '%正文%'
  4314. OR a.cCyddxMc LIKE '%答案%'
  4315. OR a.cCyddxMc LIKE '%卷%'
  4316. THEN
  4317. CASE
  4318. WHEN CASE
  4319. WHEN IFNULL(d.fZls, 0) < rr.zl
  4320. THEN rr.zl
  4321. ELSE IFNULL(d.fZls, 0)
  4322. END = 0
  4323. THEN c.nzdls
  4324. ELSE (
  4325. CASE
  4326. WHEN c.nzdls <
  4327. CASE
  4328. WHEN IFNULL(d.fZls, 0) < rr.zl
  4329. THEN rr.zl
  4330. ELSE IFNULL(d.fZls, 0)
  4331. END
  4332. THEN
  4333. CASE
  4334. WHEN IFNULL(d.fZls, 0) < rr.zl
  4335. THEN rr.zl
  4336. ELSE IFNULL(d.fZls, 0)
  4337. END
  4338. ELSE c.nzdls
  4339. END
  4340. )
  4341. END
  4342. ELSE 0
  4343. END
  4344. ELSE
  4345. CASE
  4346. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4347. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4348. CASE
  4349. WHEN a.cCyddxMc = '装配'
  4350. OR a.cCyddxMc LIKE '%正文%'
  4351. OR a.cCyddxMc LIKE '%答案%'
  4352. OR a.cCyddxMc LIKE '%卷%'
  4353. THEN
  4354. CASE
  4355. WHEN CASE
  4356. WHEN IFNULL(d.fZls, 0) < rr.zl
  4357. THEN rr.zl
  4358. ELSE IFNULL(d.fZls, 0)
  4359. END = 0
  4360. THEN c.nzdls
  4361. ELSE (
  4362. CASE
  4363. WHEN c.nzdls <
  4364. CASE
  4365. WHEN IFNULL(d.fZls, 0) < rr.zl
  4366. THEN rr.zl
  4367. ELSE IFNULL(d.fZls, 0)
  4368. END
  4369. THEN
  4370. CASE
  4371. WHEN IFNULL(d.fZls, 0) < rr.zl
  4372. THEN rr.zl
  4373. ELSE IFNULL(d.fZls, 0)
  4374. END
  4375. ELSE c.nzdls
  4376. END
  4377. )
  4378. END
  4379. ELSE 0
  4380. END
  4381. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4382. END
  4383. END )
  4384. , 3) 马66乙纸令
  4385. ")
  4386. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4387. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4388. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4389. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4390. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4391. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4392. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  4393. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4394. ->group("CASE
  4395. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4396. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4397. END,Name_WorkGroup")
  4398. ->buildSql();
  4399. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  4400. ->field("
  4401. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4402. ROUND(SUM(
  4403. CASE
  4404. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4405. THEN
  4406. CASE
  4407. WHEN a.cCyddxMc = '装配'
  4408. OR a.cCyddxMc LIKE '%正文%'
  4409. OR a.cCyddxMc LIKE '%答案%'
  4410. OR a.cCyddxMc LIKE '%卷%'
  4411. THEN
  4412. CASE
  4413. WHEN CASE
  4414. WHEN IFNULL(d.fZls, 0) < rr.zl
  4415. THEN rr.zl
  4416. ELSE IFNULL(d.fZls, 0)
  4417. END = 0
  4418. THEN c.nzdls
  4419. ELSE (
  4420. CASE
  4421. WHEN c.nzdls <
  4422. CASE
  4423. WHEN IFNULL(d.fZls, 0) < rr.zl
  4424. THEN rr.zl
  4425. ELSE IFNULL(d.fZls, 0)
  4426. END
  4427. THEN
  4428. CASE
  4429. WHEN IFNULL(d.fZls, 0) < rr.zl
  4430. THEN rr.zl
  4431. ELSE IFNULL(d.fZls, 0)
  4432. END
  4433. ELSE c.nzdls
  4434. END
  4435. )
  4436. END
  4437. ELSE 0
  4438. END
  4439. ELSE
  4440. CASE
  4441. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4442. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4443. CASE
  4444. WHEN a.cCyddxMc = '装配'
  4445. OR a.cCyddxMc LIKE '%正文%'
  4446. OR a.cCyddxMc LIKE '%答案%'
  4447. OR a.cCyddxMc LIKE '%卷%'
  4448. THEN
  4449. CASE
  4450. WHEN CASE
  4451. WHEN IFNULL(d.fZls, 0) < rr.zl
  4452. THEN rr.zl
  4453. ELSE IFNULL(d.fZls, 0)
  4454. END = 0
  4455. THEN c.nzdls
  4456. ELSE (
  4457. CASE
  4458. WHEN c.nzdls <
  4459. CASE
  4460. WHEN IFNULL(d.fZls, 0) < rr.zl
  4461. THEN rr.zl
  4462. ELSE IFNULL(d.fZls, 0)
  4463. END
  4464. THEN
  4465. CASE
  4466. WHEN IFNULL(d.fZls, 0) < rr.zl
  4467. THEN rr.zl
  4468. ELSE IFNULL(d.fZls, 0)
  4469. END
  4470. ELSE c.nzdls
  4471. END
  4472. )
  4473. END
  4474. ELSE 0
  4475. END
  4476. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4477. END
  4478. END )
  4479. , 3) 马77乙纸令
  4480. ")
  4481. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4482. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4483. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4484. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4485. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4486. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4487. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  4488. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4489. ->group("CASE
  4490. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4491. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4492. END,Name_WorkGroup")
  4493. ->buildSql();
  4494. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  4495. ->field("
  4496. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4497. ROUND(SUM(
  4498. CASE
  4499. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4500. THEN
  4501. CASE
  4502. WHEN a.cCyddxMc = '装配'
  4503. OR a.cCyddxMc LIKE '%正文%'
  4504. OR a.cCyddxMc LIKE '%答案%'
  4505. OR a.cCyddxMc LIKE '%卷%'
  4506. THEN
  4507. CASE
  4508. WHEN CASE
  4509. WHEN IFNULL(d.fZls, 0) < rr.zl
  4510. THEN rr.zl
  4511. ELSE IFNULL(d.fZls, 0)
  4512. END = 0
  4513. THEN c.nzdls
  4514. ELSE (
  4515. CASE
  4516. WHEN c.nzdls <
  4517. CASE
  4518. WHEN IFNULL(d.fZls, 0) < rr.zl
  4519. THEN rr.zl
  4520. ELSE IFNULL(d.fZls, 0)
  4521. END
  4522. THEN
  4523. CASE
  4524. WHEN IFNULL(d.fZls, 0) < rr.zl
  4525. THEN rr.zl
  4526. ELSE IFNULL(d.fZls, 0)
  4527. END
  4528. ELSE c.nzdls
  4529. END
  4530. )
  4531. END
  4532. ELSE 0
  4533. END
  4534. ELSE
  4535. CASE
  4536. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4537. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4538. CASE
  4539. WHEN a.cCyddxMc = '装配'
  4540. OR a.cCyddxMc LIKE '%正文%'
  4541. OR a.cCyddxMc LIKE '%答案%'
  4542. OR a.cCyddxMc LIKE '%卷%'
  4543. THEN
  4544. CASE
  4545. WHEN CASE
  4546. WHEN IFNULL(d.fZls, 0) < rr.zl
  4547. THEN rr.zl
  4548. ELSE IFNULL(d.fZls, 0)
  4549. END = 0
  4550. THEN c.nzdls
  4551. ELSE (
  4552. CASE
  4553. WHEN c.nzdls <
  4554. CASE
  4555. WHEN IFNULL(d.fZls, 0) < rr.zl
  4556. THEN rr.zl
  4557. ELSE IFNULL(d.fZls, 0)
  4558. END
  4559. THEN
  4560. CASE
  4561. WHEN IFNULL(d.fZls, 0) < rr.zl
  4562. THEN rr.zl
  4563. ELSE IFNULL(d.fZls, 0)
  4564. END
  4565. ELSE c.nzdls
  4566. END
  4567. )
  4568. END
  4569. ELSE 0
  4570. END
  4571. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4572. END
  4573. END )
  4574. , 3) 马88乙纸令
  4575. ")
  4576. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4577. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4578. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4579. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4580. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4581. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4582. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  4583. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4584. ->group("CASE
  4585. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4586. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4587. END,Name_WorkGroup")
  4588. ->buildSql();
  4589. $db = Db::table($A . 'a')
  4590. ->field("
  4591. DISTINCT DATE(A.RQ) rq,
  4592. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  4593. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  4594. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  4595. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  4596. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  4597. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  4598. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  4599. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  4600. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  4601. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  4602. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  4603. + IFNULL(sum(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 0)
  4604. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  4605. ")
  4606. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  4607. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4608. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  4609. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  4610. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  4611. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  4612. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  4613. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  4614. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  4615. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  4616. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4617. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4618. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  4619. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  4620. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  4621. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  4622. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  4623. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  4624. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  4625. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  4626. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  4627. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  4628. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  4629. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  4630. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  4631. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  4632. ->group('rq')
  4633. ->buildSql();
  4634. $jd = Db::table($db . ' db')
  4635. ->field("
  4636. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4637. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  4638. ")
  4639. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ")
  4640. ->group('MONTH(db.rq)')
  4641. ->select();
  4642. /**
  4643. * 簿册联动线纸令
  4644. */
  4645. $B = Db::table('cpjtfk')
  4646. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4647. ->field("
  4648. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4649. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  4650. ")
  4651. ->where('cbanzu','=','簿册机1号(甲班)')
  4652. ->group('drptdate,cbanzu')
  4653. ->buildSql();
  4654. $B1 = Db::table('cpjtfk')
  4655. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4656. ->field("
  4657. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4658. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  4659. ")
  4660. ->where('cbanzu','=','簿册机1号(乙班)')
  4661. ->group('drptdate,cbanzu')
  4662. ->buildSql();
  4663. $rr = Db::table('scyddx')->alias('r')
  4664. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4665. ->group('r.ICYDID')
  4666. ->buildSql();
  4667. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4668. ->field("
  4669. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4670. ROUND(SUM(
  4671. CASE
  4672. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4673. THEN
  4674. CASE
  4675. WHEN a.cCyddxMc = '装配'
  4676. OR a.cCyddxMc LIKE '%正文%'
  4677. OR a.cCyddxMc LIKE '%答案%'
  4678. OR a.cCyddxMc LIKE '%卷%'
  4679. THEN
  4680. CASE
  4681. WHEN CASE
  4682. WHEN IFNULL(d.fZls, 0) < rr.zl
  4683. THEN rr.zl
  4684. ELSE IFNULL(d.fZls, 0)
  4685. END = 0
  4686. THEN c.nzdls
  4687. ELSE (
  4688. CASE
  4689. WHEN c.nzdls <
  4690. CASE
  4691. WHEN IFNULL(d.fZls, 0) < rr.zl
  4692. THEN rr.zl
  4693. ELSE IFNULL(d.fZls, 0)
  4694. END
  4695. THEN
  4696. CASE
  4697. WHEN IFNULL(d.fZls, 0) < rr.zl
  4698. THEN rr.zl
  4699. ELSE IFNULL(d.fZls, 0)
  4700. END
  4701. ELSE c.nzdls
  4702. END
  4703. )
  4704. END
  4705. ELSE 0
  4706. END
  4707. ELSE
  4708. CASE
  4709. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4710. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4711. CASE
  4712. WHEN a.cCyddxMc = '装配'
  4713. OR a.cCyddxMc LIKE '%正文%'
  4714. OR a.cCyddxMc LIKE '%答案%'
  4715. OR a.cCyddxMc LIKE '%卷%'
  4716. THEN
  4717. CASE
  4718. WHEN CASE
  4719. WHEN IFNULL(d.fZls, 0) < rr.zl
  4720. THEN rr.zl
  4721. ELSE IFNULL(d.fZls, 0)
  4722. END = 0
  4723. THEN c.nzdls
  4724. ELSE (
  4725. CASE
  4726. WHEN c.nzdls <
  4727. CASE
  4728. WHEN IFNULL(d.fZls, 0) < rr.zl
  4729. THEN rr.zl
  4730. ELSE IFNULL(d.fZls, 0)
  4731. END
  4732. THEN
  4733. CASE
  4734. WHEN IFNULL(d.fZls, 0) < rr.zl
  4735. THEN rr.zl
  4736. ELSE IFNULL(d.fZls, 0)
  4737. END
  4738. ELSE c.nzdls
  4739. END
  4740. )
  4741. END
  4742. ELSE 0
  4743. END
  4744. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4745. END
  4746. END )
  4747. , 3) 簿11甲纸令
  4748. ")
  4749. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4750. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4751. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4752. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4753. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4754. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4755. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  4756. ->where('a.cTechName' ,'=','簿册联动')
  4757. ->group("CASE
  4758. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4759. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4760. END,Name_WorkGroup")
  4761. ->buildSql();
  4762. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4763. ->field("
  4764. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4765. ROUND(SUM(
  4766. CASE
  4767. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4768. THEN
  4769. CASE
  4770. WHEN a.cCyddxMc = '装配'
  4771. OR a.cCyddxMc LIKE '%正文%'
  4772. OR a.cCyddxMc LIKE '%答案%'
  4773. OR a.cCyddxMc LIKE '%卷%'
  4774. THEN
  4775. CASE
  4776. WHEN CASE
  4777. WHEN IFNULL(d.fZls, 0) < rr.zl
  4778. THEN rr.zl
  4779. ELSE IFNULL(d.fZls, 0)
  4780. END = 0
  4781. THEN c.nzdls
  4782. ELSE (
  4783. CASE
  4784. WHEN c.nzdls <
  4785. CASE
  4786. WHEN IFNULL(d.fZls, 0) < rr.zl
  4787. THEN rr.zl
  4788. ELSE IFNULL(d.fZls, 0)
  4789. END
  4790. THEN
  4791. CASE
  4792. WHEN IFNULL(d.fZls, 0) < rr.zl
  4793. THEN rr.zl
  4794. ELSE IFNULL(d.fZls, 0)
  4795. END
  4796. ELSE c.nzdls
  4797. END
  4798. )
  4799. END
  4800. ELSE 0
  4801. END
  4802. ELSE
  4803. CASE
  4804. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4805. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4806. CASE
  4807. WHEN a.cCyddxMc = '装配'
  4808. OR a.cCyddxMc LIKE '%正文%'
  4809. OR a.cCyddxMc LIKE '%答案%'
  4810. OR a.cCyddxMc LIKE '%卷%'
  4811. THEN
  4812. CASE
  4813. WHEN CASE
  4814. WHEN IFNULL(d.fZls, 0) < rr.zl
  4815. THEN rr.zl
  4816. ELSE IFNULL(d.fZls, 0)
  4817. END = 0
  4818. THEN c.nzdls
  4819. ELSE (
  4820. CASE
  4821. WHEN c.nzdls <
  4822. CASE
  4823. WHEN IFNULL(d.fZls, 0) < rr.zl
  4824. THEN rr.zl
  4825. ELSE IFNULL(d.fZls, 0)
  4826. END
  4827. THEN
  4828. CASE
  4829. WHEN IFNULL(d.fZls, 0) < rr.zl
  4830. THEN rr.zl
  4831. ELSE IFNULL(d.fZls, 0)
  4832. END
  4833. ELSE c.nzdls
  4834. END
  4835. )
  4836. END
  4837. ELSE 0
  4838. END
  4839. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4840. END
  4841. END )
  4842. , 3) 簿11乙纸令
  4843. ")
  4844. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4845. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4846. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4847. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4848. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4849. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4850. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  4851. ->where('a.cTechName' ,'=','簿册联动')
  4852. ->group("CASE
  4853. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4854. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4855. END,Name_WorkGroup")
  4856. ->buildSql();
  4857. $db = Db::table($A . 'a')
  4858. ->field("
  4859. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  4860. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  4861. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  4862. ")
  4863. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  4864. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4865. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4866. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4867. ->group('rq')
  4868. ->buildSql();
  4869. $bc = Db::table($db . ' db')
  4870. ->field("
  4871. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4872. ROUND(sum(db.纸令), 0) as 簿册纸令
  4873. ")->where("db.RQ >= '{$this->qstart_time()}'
  4874. AND db.RQ <= '{$this->qend_time()}' ")
  4875. ->group('MONTH(db.rq)')
  4876. ->select();
  4877. // 创建一个结果数组
  4878. $result=[];
  4879. $result1 = [];
  4880. // 遍历第一个数组,并将数据加入结果数组
  4881. foreach ($jp as $val1) {
  4882. $month = $val1['日期'];
  4883. $data1 = $val1['精平纸令'];
  4884. if (!isset($result[$month])) {
  4885. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4886. }
  4887. if (!isset($result1[$month])) {
  4888. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4889. }
  4890. $result1[$month] += $data1; // 累加第一个数组的数据
  4891. }
  4892. // 遍历第二个数组,并将数据加入结果数组
  4893. foreach ($jd as $val2) {
  4894. $month = $val2['日期'];
  4895. $data1 = $val2['无线胶订纸令'];
  4896. if (!isset($result[$month])) {
  4897. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4898. }
  4899. if (!isset($result1[$month])) {
  4900. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4901. }
  4902. $result1[$month] += $data1; // 累加第二个数组的数据
  4903. }
  4904. foreach ($bc as $val2) {
  4905. $month = $val2['日期'];
  4906. $data1 = $val2['簿册纸令'];
  4907. if (!isset($result[$month])) {
  4908. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4909. }
  4910. if (!isset($result1[$month])) {
  4911. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4912. }
  4913. $result1[$month] += $data1; // 累加第二个数组的数据
  4914. }
  4915. foreach($result1 as $k=>$v){
  4916. $list['categories'][]=$k;
  4917. $list['series'][0]['name']='装订实物产量色令数';
  4918. $list['series'][0]['data'][]=$v;
  4919. }
  4920. $res['status']=0;
  4921. $res['msg']='';
  4922. $res['data']=$list;
  4923. $redis->set($redis_key, json_encode($result1));
  4924. // halt(json_decode($redis->get($redis_key),true));
  4925. return json_encode($result1);
  4926. }
  4927. //当年装订实物产量纸令->缓存调用
  4928. public function zdzl_dang(){
  4929. $redis=redis();
  4930. $redis_key = md5('zdzl_dang');
  4931. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  4932. ->union(function ($query) {
  4933. $query->table('scDayRpt_Teams')->alias('b')
  4934. ->field("DISTINCT DATE_FORMAT(
  4935. CASE
  4936. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  4937. ELSE b.dOnDuty
  4938. END,
  4939. '%Y-%m-%d'
  4940. ) AS RQ");
  4941. }, true)
  4942. ->buildSql();
  4943. $B1 = Db::table('cpjtfk')
  4944. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4945. ->field("
  4946. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4947. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  4948. ")
  4949. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  4950. ->group('drptdate,cbanzu')
  4951. ->buildSql();
  4952. $rr = Db::table('scyddx')->alias('r')
  4953. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4954. ->group('r.ICYDID')
  4955. ->buildSql();
  4956. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4957. ->field("
  4958. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4959. ROUND(SUM(
  4960. CASE
  4961. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4962. THEN
  4963. CASE
  4964. WHEN a.cCyddxMc = '装配'
  4965. OR a.cCyddxMc LIKE '%正文%'
  4966. OR a.cCyddxMc LIKE '%答案%'
  4967. OR a.cCyddxMc LIKE '%卷%'
  4968. THEN
  4969. CASE
  4970. WHEN CASE
  4971. WHEN IFNULL(d.fZls, 0) < rr.zl
  4972. THEN rr.zl
  4973. ELSE IFNULL(d.fZls, 0)
  4974. END = 0
  4975. THEN c.nzdls
  4976. ELSE (
  4977. CASE
  4978. WHEN c.nzdls <
  4979. CASE
  4980. WHEN IFNULL(d.fZls, 0) < rr.zl
  4981. THEN rr.zl
  4982. ELSE IFNULL(d.fZls, 0)
  4983. END
  4984. THEN
  4985. CASE
  4986. WHEN IFNULL(d.fZls, 0) < rr.zl
  4987. THEN rr.zl
  4988. ELSE IFNULL(d.fZls, 0)
  4989. END
  4990. ELSE c.nzdls
  4991. END
  4992. )
  4993. END
  4994. ELSE 0
  4995. END
  4996. ELSE
  4997. CASE
  4998. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4999. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5000. CASE
  5001. WHEN a.cCyddxMc = '装配'
  5002. OR a.cCyddxMc LIKE '%正文%'
  5003. OR a.cCyddxMc LIKE '%答案%'
  5004. OR a.cCyddxMc LIKE '%卷%'
  5005. THEN
  5006. CASE
  5007. WHEN CASE
  5008. WHEN IFNULL(d.fZls, 0) < rr.zl
  5009. THEN rr.zl
  5010. ELSE IFNULL(d.fZls, 0)
  5011. END = 0
  5012. THEN c.nzdls
  5013. ELSE (
  5014. CASE
  5015. WHEN c.nzdls <
  5016. CASE
  5017. WHEN IFNULL(d.fZls, 0) < rr.zl
  5018. THEN rr.zl
  5019. ELSE IFNULL(d.fZls, 0)
  5020. END
  5021. THEN
  5022. CASE
  5023. WHEN IFNULL(d.fZls, 0) < rr.zl
  5024. THEN rr.zl
  5025. ELSE IFNULL(d.fZls, 0)
  5026. END
  5027. ELSE c.nzdls
  5028. END
  5029. )
  5030. END
  5031. ELSE 0
  5032. END
  5033. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5034. END
  5035. END )
  5036. , 3) 精11乙纸令
  5037. ")
  5038. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5039. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5040. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5041. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5042. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5043. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5044. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  5045. ->group("CASE
  5046. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5047. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5048. END,Name_WorkGroup")
  5049. ->buildSql();
  5050. $db = Db::table($A . 'a')
  5051. ->field("
  5052. DATE(A.RQ) rq,
  5053. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  5054. ")
  5055. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  5056. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  5057. ->buildSql();
  5058. $jp = Db::table($db . ' db')
  5059. ->field("
  5060. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  5061. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  5062. ")->where("db.RQ >= '{$this->start_time()}'
  5063. AND db.RQ <= '{$this->end_time()}' ")
  5064. ->group('MONTH(db.rq)')
  5065. ->select();
  5066. $B = Db::table('cpjtfk')
  5067. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5068. ->field("
  5069. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5070. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  5071. ")
  5072. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  5073. ->group('drptdate,cbanzu')
  5074. ->buildSql();
  5075. $B1 = Db::table('cpjtfk')
  5076. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5077. ->field("
  5078. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5079. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  5080. ")
  5081. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  5082. ->group('drptdate,cbanzu')
  5083. ->buildSql();
  5084. $C = Db::table('cpjtfk')
  5085. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5086. ->field("
  5087. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5088. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  5089. ")
  5090. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  5091. ->group('drptdate,cbanzu')
  5092. ->buildSql();
  5093. $C1 = Db::table('cpjtfk')
  5094. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5095. ->field("
  5096. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5097. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  5098. ")
  5099. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  5100. ->group('drptdate,cbanzu')
  5101. ->buildSql();
  5102. $D = Db::table('cpjtfk')
  5103. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5104. ->field("
  5105. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5106. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  5107. ")
  5108. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  5109. ->group('drptdate,cbanzu')
  5110. ->buildSql();
  5111. $D1 = Db::table('cpjtfk')
  5112. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5113. ->field("
  5114. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5115. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  5116. ")
  5117. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  5118. ->group('drptdate,cbanzu')
  5119. ->buildSql();
  5120. $E = Db::table('cpjtfk')
  5121. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5122. ->field("
  5123. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5124. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  5125. ")
  5126. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  5127. ->group('drptdate,cbanzu')
  5128. ->buildSql();
  5129. $E1 = Db::table('cpjtfk')
  5130. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5131. ->field("
  5132. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5133. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  5134. ")
  5135. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  5136. ->group('drptdate,cbanzu')
  5137. ->buildSql();
  5138. $F = Db::table('cpjtfk')
  5139. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5140. ->field("
  5141. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5142. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  5143. ")
  5144. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  5145. ->group('drptdate,cbanzu')
  5146. ->buildSql();
  5147. $F1 = Db::table('cpjtfk')
  5148. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5149. ->field("
  5150. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5151. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  5152. ")
  5153. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  5154. ->group('drptdate,cbanzu')
  5155. ->buildSql();
  5156. $rr = Db::table('scyddx')->alias('r')
  5157. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  5158. ->group('r.ICYDID')
  5159. ->buildSql();
  5160. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  5161. ->field("
  5162. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5163. ROUND(SUM(
  5164. CASE
  5165. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5166. THEN CASE WHEN a.cCyddxMc = '装配'
  5167. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5168. THEN CASE
  5169. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5170. END = 0 THEN c.nzdls
  5171. ELSE ( CASE
  5172. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5173. END
  5174. THEN CASE
  5175. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5176. END ELSE c.nzdls END
  5177. ) END ELSE 0 END
  5178. ELSE CASE
  5179. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5180. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5181. CASE WHEN a.cCyddxMc = '装配'
  5182. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5183. THEN CASE
  5184. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5185. END = 0 THEN c.nzdls
  5186. ELSE ( CASE WHEN c.nzdls <
  5187. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5188. END
  5189. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5190. END ELSE c.nzdls END )
  5191. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5192. END END ), 3) 马11甲纸令 ")
  5193. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5194. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5195. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5196. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5197. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5198. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5199. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  5200. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5201. ->group("CASE
  5202. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5203. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5204. END,Name_WorkGroup")->buildSql();
  5205. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  5206. ->field("
  5207. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5208. ROUND(SUM(
  5209. CASE
  5210. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5211. THEN
  5212. CASE
  5213. WHEN a.cCyddxMc = '装配'
  5214. OR a.cCyddxMc LIKE '%正文%'
  5215. OR a.cCyddxMc LIKE '%答案%'
  5216. OR a.cCyddxMc LIKE '%卷%'
  5217. THEN
  5218. CASE
  5219. WHEN CASE
  5220. WHEN IFNULL(d.fZls, 0) < rr.zl
  5221. THEN rr.zl
  5222. ELSE IFNULL(d.fZls, 0)
  5223. END = 0
  5224. THEN c.nzdls
  5225. ELSE (
  5226. CASE
  5227. WHEN c.nzdls <
  5228. CASE
  5229. WHEN IFNULL(d.fZls, 0) < rr.zl
  5230. THEN rr.zl
  5231. ELSE IFNULL(d.fZls, 0)
  5232. END
  5233. THEN
  5234. CASE
  5235. WHEN IFNULL(d.fZls, 0) < rr.zl
  5236. THEN rr.zl
  5237. ELSE IFNULL(d.fZls, 0)
  5238. END
  5239. ELSE c.nzdls
  5240. END
  5241. )
  5242. END
  5243. ELSE 0
  5244. END
  5245. ELSE
  5246. CASE
  5247. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5248. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5249. CASE
  5250. WHEN a.cCyddxMc = '装配'
  5251. OR a.cCyddxMc LIKE '%正文%'
  5252. OR a.cCyddxMc LIKE '%答案%'
  5253. OR a.cCyddxMc LIKE '%卷%'
  5254. THEN
  5255. CASE
  5256. WHEN CASE
  5257. WHEN IFNULL(d.fZls, 0) < rr.zl
  5258. THEN rr.zl
  5259. ELSE IFNULL(d.fZls, 0)
  5260. END = 0
  5261. THEN c.nzdls
  5262. ELSE (
  5263. CASE
  5264. WHEN c.nzdls <
  5265. CASE
  5266. WHEN IFNULL(d.fZls, 0) < rr.zl
  5267. THEN rr.zl
  5268. ELSE IFNULL(d.fZls, 0)
  5269. END
  5270. THEN
  5271. CASE
  5272. WHEN IFNULL(d.fZls, 0) < rr.zl
  5273. THEN rr.zl
  5274. ELSE IFNULL(d.fZls, 0)
  5275. END
  5276. ELSE c.nzdls
  5277. END
  5278. )
  5279. END
  5280. ELSE 0
  5281. END
  5282. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5283. END
  5284. END )
  5285. , 3) 马11乙纸令
  5286. ")
  5287. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5288. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5289. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5290. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5291. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5292. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5293. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  5294. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5295. ->group("CASE
  5296. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5297. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5298. END,Name_WorkGroup")
  5299. ->buildSql();
  5300. $CC = Db::table('ql_report_feedback_day')->alias('a')
  5301. ->field("
  5302. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5303. ROUND(SUM(
  5304. CASE
  5305. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5306. THEN
  5307. CASE
  5308. WHEN a.cCyddxMc = '装配'
  5309. OR a.cCyddxMc LIKE '%正文%'
  5310. OR a.cCyddxMc LIKE '%答案%'
  5311. OR a.cCyddxMc LIKE '%卷%'
  5312. THEN
  5313. CASE
  5314. WHEN CASE
  5315. WHEN IFNULL(d.fZls, 0) < rr.zl
  5316. THEN rr.zl
  5317. ELSE IFNULL(d.fZls, 0)
  5318. END = 0
  5319. THEN c.nzdls
  5320. ELSE (
  5321. CASE
  5322. WHEN c.nzdls <
  5323. CASE
  5324. WHEN IFNULL(d.fZls, 0) < rr.zl
  5325. THEN rr.zl
  5326. ELSE IFNULL(d.fZls, 0)
  5327. END
  5328. THEN
  5329. CASE
  5330. WHEN IFNULL(d.fZls, 0) < rr.zl
  5331. THEN rr.zl
  5332. ELSE IFNULL(d.fZls, 0)
  5333. END
  5334. ELSE c.nzdls
  5335. END
  5336. )
  5337. END
  5338. ELSE 0
  5339. END
  5340. ELSE
  5341. CASE
  5342. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5343. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5344. CASE
  5345. WHEN a.cCyddxMc = '装配'
  5346. OR a.cCyddxMc LIKE '%正文%'
  5347. OR a.cCyddxMc LIKE '%答案%'
  5348. OR a.cCyddxMc LIKE '%卷%'
  5349. THEN
  5350. CASE
  5351. WHEN CASE
  5352. WHEN IFNULL(d.fZls, 0) < rr.zl
  5353. THEN rr.zl
  5354. ELSE IFNULL(d.fZls, 0)
  5355. END = 0
  5356. THEN c.nzdls
  5357. ELSE (
  5358. CASE
  5359. WHEN c.nzdls <
  5360. CASE
  5361. WHEN IFNULL(d.fZls, 0) < rr.zl
  5362. THEN rr.zl
  5363. ELSE IFNULL(d.fZls, 0)
  5364. END
  5365. THEN
  5366. CASE
  5367. WHEN IFNULL(d.fZls, 0) < rr.zl
  5368. THEN rr.zl
  5369. ELSE IFNULL(d.fZls, 0)
  5370. END
  5371. ELSE c.nzdls
  5372. END
  5373. )
  5374. END
  5375. ELSE 0
  5376. END
  5377. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5378. END
  5379. END )
  5380. , 3) 马22甲纸令
  5381. ")
  5382. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5383. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5384. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5385. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5386. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5387. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5388. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  5389. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5390. ->group("CASE
  5391. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5392. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5393. END,Name_WorkGroup")
  5394. ->buildSql();
  5395. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  5396. ->field("
  5397. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5398. ROUND(SUM(
  5399. CASE
  5400. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5401. THEN
  5402. CASE
  5403. WHEN a.cCyddxMc = '装配'
  5404. OR a.cCyddxMc LIKE '%正文%'
  5405. OR a.cCyddxMc LIKE '%答案%'
  5406. OR a.cCyddxMc LIKE '%卷%'
  5407. THEN
  5408. CASE
  5409. WHEN CASE
  5410. WHEN IFNULL(d.fZls, 0) < rr.zl
  5411. THEN rr.zl
  5412. ELSE IFNULL(d.fZls, 0)
  5413. END = 0
  5414. THEN c.nzdls
  5415. ELSE (
  5416. CASE
  5417. WHEN c.nzdls <
  5418. CASE
  5419. WHEN IFNULL(d.fZls, 0) < rr.zl
  5420. THEN rr.zl
  5421. ELSE IFNULL(d.fZls, 0)
  5422. END
  5423. THEN
  5424. CASE
  5425. WHEN IFNULL(d.fZls, 0) < rr.zl
  5426. THEN rr.zl
  5427. ELSE IFNULL(d.fZls, 0)
  5428. END
  5429. ELSE c.nzdls
  5430. END
  5431. )
  5432. END
  5433. ELSE 0
  5434. END
  5435. ELSE
  5436. CASE
  5437. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5438. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5439. CASE
  5440. WHEN a.cCyddxMc = '装配'
  5441. OR a.cCyddxMc LIKE '%正文%'
  5442. OR a.cCyddxMc LIKE '%答案%'
  5443. OR a.cCyddxMc LIKE '%卷%'
  5444. THEN
  5445. CASE
  5446. WHEN CASE
  5447. WHEN IFNULL(d.fZls, 0) < rr.zl
  5448. THEN rr.zl
  5449. ELSE IFNULL(d.fZls, 0)
  5450. END = 0
  5451. THEN c.nzdls
  5452. ELSE (
  5453. CASE
  5454. WHEN c.nzdls <
  5455. CASE
  5456. WHEN IFNULL(d.fZls, 0) < rr.zl
  5457. THEN rr.zl
  5458. ELSE IFNULL(d.fZls, 0)
  5459. END
  5460. THEN
  5461. CASE
  5462. WHEN IFNULL(d.fZls, 0) < rr.zl
  5463. THEN rr.zl
  5464. ELSE IFNULL(d.fZls, 0)
  5465. END
  5466. ELSE c.nzdls
  5467. END
  5468. )
  5469. END
  5470. ELSE 0
  5471. END
  5472. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5473. END
  5474. END )
  5475. , 3) 马22乙纸令
  5476. ")
  5477. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5478. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5479. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5480. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5481. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5482. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5483. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  5484. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5485. ->group("CASE
  5486. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5487. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5488. END,Name_WorkGroup")
  5489. ->buildSql();
  5490. $EE = Db::table('ql_report_feedback_day')->alias('a')
  5491. ->field("
  5492. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5493. ROUND(SUM(
  5494. CASE
  5495. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5496. THEN
  5497. CASE
  5498. WHEN a.cCyddxMc = '装配'
  5499. OR a.cCyddxMc LIKE '%正文%'
  5500. OR a.cCyddxMc LIKE '%答案%'
  5501. OR a.cCyddxMc LIKE '%卷%'
  5502. THEN
  5503. CASE
  5504. WHEN CASE
  5505. WHEN IFNULL(d.fZls, 0) < rr.zl
  5506. THEN rr.zl
  5507. ELSE IFNULL(d.fZls, 0)
  5508. END = 0
  5509. THEN c.nzdls
  5510. ELSE (
  5511. CASE
  5512. WHEN c.nzdls <
  5513. CASE
  5514. WHEN IFNULL(d.fZls, 0) < rr.zl
  5515. THEN rr.zl
  5516. ELSE IFNULL(d.fZls, 0)
  5517. END
  5518. THEN
  5519. CASE
  5520. WHEN IFNULL(d.fZls, 0) < rr.zl
  5521. THEN rr.zl
  5522. ELSE IFNULL(d.fZls, 0)
  5523. END
  5524. ELSE c.nzdls
  5525. END
  5526. )
  5527. END
  5528. ELSE 0
  5529. END
  5530. ELSE
  5531. CASE
  5532. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5533. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5534. CASE
  5535. WHEN a.cCyddxMc = '装配'
  5536. OR a.cCyddxMc LIKE '%正文%'
  5537. OR a.cCyddxMc LIKE '%答案%'
  5538. OR a.cCyddxMc LIKE '%卷%'
  5539. THEN
  5540. CASE
  5541. WHEN CASE
  5542. WHEN IFNULL(d.fZls, 0) < rr.zl
  5543. THEN rr.zl
  5544. ELSE IFNULL(d.fZls, 0)
  5545. END = 0
  5546. THEN c.nzdls
  5547. ELSE (
  5548. CASE
  5549. WHEN c.nzdls <
  5550. CASE
  5551. WHEN IFNULL(d.fZls, 0) < rr.zl
  5552. THEN rr.zl
  5553. ELSE IFNULL(d.fZls, 0)
  5554. END
  5555. THEN
  5556. CASE
  5557. WHEN IFNULL(d.fZls, 0) < rr.zl
  5558. THEN rr.zl
  5559. ELSE IFNULL(d.fZls, 0)
  5560. END
  5561. ELSE c.nzdls
  5562. END
  5563. )
  5564. END
  5565. ELSE 0
  5566. END
  5567. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5568. END
  5569. END )
  5570. , 3) 马33甲纸令
  5571. ")
  5572. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5573. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5574. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5575. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5576. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5577. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5578. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  5579. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5580. ->group("CASE
  5581. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5582. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5583. END,Name_WorkGroup")
  5584. ->buildSql();
  5585. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  5586. ->field("
  5587. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5588. ROUND(SUM(
  5589. CASE
  5590. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5591. THEN
  5592. CASE
  5593. WHEN a.cCyddxMc = '装配'
  5594. OR a.cCyddxMc LIKE '%正文%'
  5595. OR a.cCyddxMc LIKE '%答案%'
  5596. OR a.cCyddxMc LIKE '%卷%'
  5597. THEN
  5598. CASE
  5599. WHEN CASE
  5600. WHEN IFNULL(d.fZls, 0) < rr.zl
  5601. THEN rr.zl
  5602. ELSE IFNULL(d.fZls, 0)
  5603. END = 0
  5604. THEN c.nzdls
  5605. ELSE (
  5606. CASE
  5607. WHEN c.nzdls <
  5608. CASE
  5609. WHEN IFNULL(d.fZls, 0) < rr.zl
  5610. THEN rr.zl
  5611. ELSE IFNULL(d.fZls, 0)
  5612. END
  5613. THEN
  5614. CASE
  5615. WHEN IFNULL(d.fZls, 0) < rr.zl
  5616. THEN rr.zl
  5617. ELSE IFNULL(d.fZls, 0)
  5618. END
  5619. ELSE c.nzdls
  5620. END
  5621. )
  5622. END
  5623. ELSE 0
  5624. END
  5625. ELSE
  5626. CASE
  5627. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5628. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5629. CASE
  5630. WHEN a.cCyddxMc = '装配'
  5631. OR a.cCyddxMc LIKE '%正文%'
  5632. OR a.cCyddxMc LIKE '%答案%'
  5633. OR a.cCyddxMc LIKE '%卷%'
  5634. THEN
  5635. CASE
  5636. WHEN CASE
  5637. WHEN IFNULL(d.fZls, 0) < rr.zl
  5638. THEN rr.zl
  5639. ELSE IFNULL(d.fZls, 0)
  5640. END = 0
  5641. THEN c.nzdls
  5642. ELSE (
  5643. CASE
  5644. WHEN c.nzdls <
  5645. CASE
  5646. WHEN IFNULL(d.fZls, 0) < rr.zl
  5647. THEN rr.zl
  5648. ELSE IFNULL(d.fZls, 0)
  5649. END
  5650. THEN
  5651. CASE
  5652. WHEN IFNULL(d.fZls, 0) < rr.zl
  5653. THEN rr.zl
  5654. ELSE IFNULL(d.fZls, 0)
  5655. END
  5656. ELSE c.nzdls
  5657. END
  5658. )
  5659. END
  5660. ELSE 0
  5661. END
  5662. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5663. END
  5664. END )
  5665. , 3) 马33乙纸令
  5666. ")
  5667. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5668. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5669. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5670. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5671. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5672. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5673. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  5674. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5675. ->group("CASE
  5676. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5677. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5678. END,Name_WorkGroup")
  5679. ->buildSql();
  5680. $HH = Db::table('ql_report_feedback_day')->alias('a')
  5681. ->field("
  5682. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5683. ROUND(SUM(
  5684. CASE
  5685. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5686. THEN
  5687. CASE
  5688. WHEN a.cCyddxMc = '装配'
  5689. OR a.cCyddxMc LIKE '%正文%'
  5690. OR a.cCyddxMc LIKE '%答案%'
  5691. OR a.cCyddxMc LIKE '%卷%'
  5692. THEN
  5693. CASE
  5694. WHEN CASE
  5695. WHEN IFNULL(d.fZls, 0) < rr.zl
  5696. THEN rr.zl
  5697. ELSE IFNULL(d.fZls, 0)
  5698. END = 0
  5699. THEN c.nzdls
  5700. ELSE (
  5701. CASE
  5702. WHEN c.nzdls <
  5703. CASE
  5704. WHEN IFNULL(d.fZls, 0) < rr.zl
  5705. THEN rr.zl
  5706. ELSE IFNULL(d.fZls, 0)
  5707. END
  5708. THEN
  5709. CASE
  5710. WHEN IFNULL(d.fZls, 0) < rr.zl
  5711. THEN rr.zl
  5712. ELSE IFNULL(d.fZls, 0)
  5713. END
  5714. ELSE c.nzdls
  5715. END
  5716. )
  5717. END
  5718. ELSE 0
  5719. END
  5720. ELSE
  5721. CASE
  5722. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5723. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5724. CASE
  5725. WHEN a.cCyddxMc = '装配'
  5726. OR a.cCyddxMc LIKE '%正文%'
  5727. OR a.cCyddxMc LIKE '%答案%'
  5728. OR a.cCyddxMc LIKE '%卷%'
  5729. THEN
  5730. CASE
  5731. WHEN CASE
  5732. WHEN IFNULL(d.fZls, 0) < rr.zl
  5733. THEN rr.zl
  5734. ELSE IFNULL(d.fZls, 0)
  5735. END = 0
  5736. THEN c.nzdls
  5737. ELSE (
  5738. CASE
  5739. WHEN c.nzdls <
  5740. CASE
  5741. WHEN IFNULL(d.fZls, 0) < rr.zl
  5742. THEN rr.zl
  5743. ELSE IFNULL(d.fZls, 0)
  5744. END
  5745. THEN
  5746. CASE
  5747. WHEN IFNULL(d.fZls, 0) < rr.zl
  5748. THEN rr.zl
  5749. ELSE IFNULL(d.fZls, 0)
  5750. END
  5751. ELSE c.nzdls
  5752. END
  5753. )
  5754. END
  5755. ELSE 0
  5756. END
  5757. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5758. END
  5759. END )
  5760. , 3) 马44甲纸令
  5761. ")
  5762. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5763. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5764. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5765. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5766. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5767. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5768. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  5769. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5770. ->group("CASE
  5771. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5772. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5773. END,Name_WorkGroup")
  5774. ->buildSql();
  5775. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  5776. ->field("
  5777. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5778. ROUND(SUM(
  5779. CASE
  5780. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5781. THEN
  5782. CASE
  5783. WHEN a.cCyddxMc = '装配'
  5784. OR a.cCyddxMc LIKE '%正文%'
  5785. OR a.cCyddxMc LIKE '%答案%'
  5786. OR a.cCyddxMc LIKE '%卷%'
  5787. THEN
  5788. CASE
  5789. WHEN CASE
  5790. WHEN IFNULL(d.fZls, 0) < rr.zl
  5791. THEN rr.zl
  5792. ELSE IFNULL(d.fZls, 0)
  5793. END = 0
  5794. THEN c.nzdls
  5795. ELSE (
  5796. CASE
  5797. WHEN c.nzdls <
  5798. CASE
  5799. WHEN IFNULL(d.fZls, 0) < rr.zl
  5800. THEN rr.zl
  5801. ELSE IFNULL(d.fZls, 0)
  5802. END
  5803. THEN
  5804. CASE
  5805. WHEN IFNULL(d.fZls, 0) < rr.zl
  5806. THEN rr.zl
  5807. ELSE IFNULL(d.fZls, 0)
  5808. END
  5809. ELSE c.nzdls
  5810. END
  5811. )
  5812. END
  5813. ELSE 0
  5814. END
  5815. ELSE
  5816. CASE
  5817. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5818. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5819. CASE
  5820. WHEN a.cCyddxMc = '装配'
  5821. OR a.cCyddxMc LIKE '%正文%'
  5822. OR a.cCyddxMc LIKE '%答案%'
  5823. OR a.cCyddxMc LIKE '%卷%'
  5824. THEN
  5825. CASE
  5826. WHEN CASE
  5827. WHEN IFNULL(d.fZls, 0) < rr.zl
  5828. THEN rr.zl
  5829. ELSE IFNULL(d.fZls, 0)
  5830. END = 0
  5831. THEN c.nzdls
  5832. ELSE (
  5833. CASE
  5834. WHEN c.nzdls <
  5835. CASE
  5836. WHEN IFNULL(d.fZls, 0) < rr.zl
  5837. THEN rr.zl
  5838. ELSE IFNULL(d.fZls, 0)
  5839. END
  5840. THEN
  5841. CASE
  5842. WHEN IFNULL(d.fZls, 0) < rr.zl
  5843. THEN rr.zl
  5844. ELSE IFNULL(d.fZls, 0)
  5845. END
  5846. ELSE c.nzdls
  5847. END
  5848. )
  5849. END
  5850. ELSE 0
  5851. END
  5852. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5853. END
  5854. END )
  5855. , 3) 马44乙纸令
  5856. ")
  5857. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5858. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5859. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5860. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5861. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5862. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5863. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  5864. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5865. ->group("CASE
  5866. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5867. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5868. END,Name_WorkGroup")
  5869. ->buildSql();
  5870. $XX = Db::table('ql_report_feedback_day')->alias('a')
  5871. ->field("
  5872. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5873. ROUND(SUM(
  5874. CASE
  5875. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5876. THEN
  5877. CASE
  5878. WHEN a.cCyddxMc = '装配'
  5879. OR a.cCyddxMc LIKE '%正文%'
  5880. OR a.cCyddxMc LIKE '%答案%'
  5881. OR a.cCyddxMc LIKE '%卷%'
  5882. THEN
  5883. CASE
  5884. WHEN CASE
  5885. WHEN IFNULL(d.fZls, 0) < rr.zl
  5886. THEN rr.zl
  5887. ELSE IFNULL(d.fZls, 0)
  5888. END = 0
  5889. THEN c.nzdls
  5890. ELSE (
  5891. CASE
  5892. WHEN c.nzdls <
  5893. CASE
  5894. WHEN IFNULL(d.fZls, 0) < rr.zl
  5895. THEN rr.zl
  5896. ELSE IFNULL(d.fZls, 0)
  5897. END
  5898. THEN
  5899. CASE
  5900. WHEN IFNULL(d.fZls, 0) < rr.zl
  5901. THEN rr.zl
  5902. ELSE IFNULL(d.fZls, 0)
  5903. END
  5904. ELSE c.nzdls
  5905. END
  5906. )
  5907. END
  5908. ELSE 0
  5909. END
  5910. ELSE
  5911. CASE
  5912. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5913. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5914. CASE
  5915. WHEN a.cCyddxMc = '装配'
  5916. OR a.cCyddxMc LIKE '%正文%'
  5917. OR a.cCyddxMc LIKE '%答案%'
  5918. OR a.cCyddxMc LIKE '%卷%'
  5919. THEN
  5920. CASE
  5921. WHEN CASE
  5922. WHEN IFNULL(d.fZls, 0) < rr.zl
  5923. THEN rr.zl
  5924. ELSE IFNULL(d.fZls, 0)
  5925. END = 0
  5926. THEN c.nzdls
  5927. ELSE (
  5928. CASE
  5929. WHEN c.nzdls <
  5930. CASE
  5931. WHEN IFNULL(d.fZls, 0) < rr.zl
  5932. THEN rr.zl
  5933. ELSE IFNULL(d.fZls, 0)
  5934. END
  5935. THEN
  5936. CASE
  5937. WHEN IFNULL(d.fZls, 0) < rr.zl
  5938. THEN rr.zl
  5939. ELSE IFNULL(d.fZls, 0)
  5940. END
  5941. ELSE c.nzdls
  5942. END
  5943. )
  5944. END
  5945. ELSE 0
  5946. END
  5947. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5948. END
  5949. END )
  5950. , 3) 马55甲纸令
  5951. ")
  5952. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5953. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5954. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5955. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5956. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5957. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5958. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  5959. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5960. ->group("CASE
  5961. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5962. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5963. END,Name_WorkGroup")
  5964. ->buildSql();
  5965. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  5966. ->field("
  5967. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5968. ROUND(SUM(
  5969. CASE
  5970. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5971. THEN
  5972. CASE
  5973. WHEN a.cCyddxMc = '装配'
  5974. OR a.cCyddxMc LIKE '%正文%'
  5975. OR a.cCyddxMc LIKE '%答案%'
  5976. OR a.cCyddxMc LIKE '%卷%'
  5977. THEN
  5978. CASE
  5979. WHEN CASE
  5980. WHEN IFNULL(d.fZls, 0) < rr.zl
  5981. THEN rr.zl
  5982. ELSE IFNULL(d.fZls, 0)
  5983. END = 0
  5984. THEN c.nzdls
  5985. ELSE (
  5986. CASE
  5987. WHEN c.nzdls <
  5988. CASE
  5989. WHEN IFNULL(d.fZls, 0) < rr.zl
  5990. THEN rr.zl
  5991. ELSE IFNULL(d.fZls, 0)
  5992. END
  5993. THEN
  5994. CASE
  5995. WHEN IFNULL(d.fZls, 0) < rr.zl
  5996. THEN rr.zl
  5997. ELSE IFNULL(d.fZls, 0)
  5998. END
  5999. ELSE c.nzdls
  6000. END
  6001. )
  6002. END
  6003. ELSE 0
  6004. END
  6005. ELSE
  6006. CASE
  6007. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6008. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6009. CASE
  6010. WHEN a.cCyddxMc = '装配'
  6011. OR a.cCyddxMc LIKE '%正文%'
  6012. OR a.cCyddxMc LIKE '%答案%'
  6013. OR a.cCyddxMc LIKE '%卷%'
  6014. THEN
  6015. CASE
  6016. WHEN CASE
  6017. WHEN IFNULL(d.fZls, 0) < rr.zl
  6018. THEN rr.zl
  6019. ELSE IFNULL(d.fZls, 0)
  6020. END = 0
  6021. THEN c.nzdls
  6022. ELSE (
  6023. CASE
  6024. WHEN c.nzdls <
  6025. CASE
  6026. WHEN IFNULL(d.fZls, 0) < rr.zl
  6027. THEN rr.zl
  6028. ELSE IFNULL(d.fZls, 0)
  6029. END
  6030. THEN
  6031. CASE
  6032. WHEN IFNULL(d.fZls, 0) < rr.zl
  6033. THEN rr.zl
  6034. ELSE IFNULL(d.fZls, 0)
  6035. END
  6036. ELSE c.nzdls
  6037. END
  6038. )
  6039. END
  6040. ELSE 0
  6041. END
  6042. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6043. END
  6044. END )
  6045. , 3) 马66甲纸令
  6046. ")
  6047. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6048. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6049. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6050. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6051. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6052. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6053. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  6054. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6055. ->group("CASE
  6056. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6057. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6058. END,Name_WorkGroup")
  6059. ->buildSql();
  6060. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  6061. ->field("
  6062. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6063. ROUND(SUM(
  6064. CASE
  6065. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6066. THEN
  6067. CASE
  6068. WHEN a.cCyddxMc = '装配'
  6069. OR a.cCyddxMc LIKE '%正文%'
  6070. OR a.cCyddxMc LIKE '%答案%'
  6071. OR a.cCyddxMc LIKE '%卷%'
  6072. THEN
  6073. CASE
  6074. WHEN CASE
  6075. WHEN IFNULL(d.fZls, 0) < rr.zl
  6076. THEN rr.zl
  6077. ELSE IFNULL(d.fZls, 0)
  6078. END = 0
  6079. THEN c.nzdls
  6080. ELSE (
  6081. CASE
  6082. WHEN c.nzdls <
  6083. CASE
  6084. WHEN IFNULL(d.fZls, 0) < rr.zl
  6085. THEN rr.zl
  6086. ELSE IFNULL(d.fZls, 0)
  6087. END
  6088. THEN
  6089. CASE
  6090. WHEN IFNULL(d.fZls, 0) < rr.zl
  6091. THEN rr.zl
  6092. ELSE IFNULL(d.fZls, 0)
  6093. END
  6094. ELSE c.nzdls
  6095. END
  6096. )
  6097. END
  6098. ELSE 0
  6099. END
  6100. ELSE
  6101. CASE
  6102. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6103. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6104. CASE
  6105. WHEN a.cCyddxMc = '装配'
  6106. OR a.cCyddxMc LIKE '%正文%'
  6107. OR a.cCyddxMc LIKE '%答案%'
  6108. OR a.cCyddxMc LIKE '%卷%'
  6109. THEN
  6110. CASE
  6111. WHEN CASE
  6112. WHEN IFNULL(d.fZls, 0) < rr.zl
  6113. THEN rr.zl
  6114. ELSE IFNULL(d.fZls, 0)
  6115. END = 0
  6116. THEN c.nzdls
  6117. ELSE (
  6118. CASE
  6119. WHEN c.nzdls <
  6120. CASE
  6121. WHEN IFNULL(d.fZls, 0) < rr.zl
  6122. THEN rr.zl
  6123. ELSE IFNULL(d.fZls, 0)
  6124. END
  6125. THEN
  6126. CASE
  6127. WHEN IFNULL(d.fZls, 0) < rr.zl
  6128. THEN rr.zl
  6129. ELSE IFNULL(d.fZls, 0)
  6130. END
  6131. ELSE c.nzdls
  6132. END
  6133. )
  6134. END
  6135. ELSE 0
  6136. END
  6137. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6138. END
  6139. END )
  6140. , 3) 马77甲纸令
  6141. ")
  6142. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6143. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6144. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6145. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6146. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6147. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6148. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  6149. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6150. ->group("CASE
  6151. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6152. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6153. END,Name_WorkGroup")
  6154. ->buildSql();
  6155. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  6156. ->field("
  6157. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6158. ROUND(SUM(
  6159. CASE
  6160. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6161. THEN
  6162. CASE
  6163. WHEN a.cCyddxMc = '装配'
  6164. OR a.cCyddxMc LIKE '%正文%'
  6165. OR a.cCyddxMc LIKE '%答案%'
  6166. OR a.cCyddxMc LIKE '%卷%'
  6167. THEN
  6168. CASE
  6169. WHEN CASE
  6170. WHEN IFNULL(d.fZls, 0) < rr.zl
  6171. THEN rr.zl
  6172. ELSE IFNULL(d.fZls, 0)
  6173. END = 0
  6174. THEN c.nzdls
  6175. ELSE (
  6176. CASE
  6177. WHEN c.nzdls <
  6178. CASE
  6179. WHEN IFNULL(d.fZls, 0) < rr.zl
  6180. THEN rr.zl
  6181. ELSE IFNULL(d.fZls, 0)
  6182. END
  6183. THEN
  6184. CASE
  6185. WHEN IFNULL(d.fZls, 0) < rr.zl
  6186. THEN rr.zl
  6187. ELSE IFNULL(d.fZls, 0)
  6188. END
  6189. ELSE c.nzdls
  6190. END
  6191. )
  6192. END
  6193. ELSE 0
  6194. END
  6195. ELSE
  6196. CASE
  6197. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6198. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6199. CASE
  6200. WHEN a.cCyddxMc = '装配'
  6201. OR a.cCyddxMc LIKE '%正文%'
  6202. OR a.cCyddxMc LIKE '%答案%'
  6203. OR a.cCyddxMc LIKE '%卷%'
  6204. THEN
  6205. CASE
  6206. WHEN CASE
  6207. WHEN IFNULL(d.fZls, 0) < rr.zl
  6208. THEN rr.zl
  6209. ELSE IFNULL(d.fZls, 0)
  6210. END = 0
  6211. THEN c.nzdls
  6212. ELSE (
  6213. CASE
  6214. WHEN c.nzdls <
  6215. CASE
  6216. WHEN IFNULL(d.fZls, 0) < rr.zl
  6217. THEN rr.zl
  6218. ELSE IFNULL(d.fZls, 0)
  6219. END
  6220. THEN
  6221. CASE
  6222. WHEN IFNULL(d.fZls, 0) < rr.zl
  6223. THEN rr.zl
  6224. ELSE IFNULL(d.fZls, 0)
  6225. END
  6226. ELSE c.nzdls
  6227. END
  6228. )
  6229. END
  6230. ELSE 0
  6231. END
  6232. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6233. END
  6234. END )
  6235. , 3) 马88甲纸令
  6236. ")
  6237. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6238. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6239. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6240. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6241. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6242. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6243. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  6244. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6245. ->group("CASE
  6246. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6247. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6248. END,Name_WorkGroup")
  6249. ->buildSql();
  6250. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  6251. ->field("
  6252. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6253. ROUND(SUM(
  6254. CASE
  6255. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6256. THEN
  6257. CASE
  6258. WHEN a.cCyddxMc = '装配'
  6259. OR a.cCyddxMc LIKE '%正文%'
  6260. OR a.cCyddxMc LIKE '%答案%'
  6261. OR a.cCyddxMc LIKE '%卷%'
  6262. THEN
  6263. CASE
  6264. WHEN CASE
  6265. WHEN IFNULL(d.fZls, 0) < rr.zl
  6266. THEN rr.zl
  6267. ELSE IFNULL(d.fZls, 0)
  6268. END = 0
  6269. THEN c.nzdls
  6270. ELSE (
  6271. CASE
  6272. WHEN c.nzdls <
  6273. CASE
  6274. WHEN IFNULL(d.fZls, 0) < rr.zl
  6275. THEN rr.zl
  6276. ELSE IFNULL(d.fZls, 0)
  6277. END
  6278. THEN
  6279. CASE
  6280. WHEN IFNULL(d.fZls, 0) < rr.zl
  6281. THEN rr.zl
  6282. ELSE IFNULL(d.fZls, 0)
  6283. END
  6284. ELSE c.nzdls
  6285. END
  6286. )
  6287. END
  6288. ELSE 0
  6289. END
  6290. ELSE
  6291. CASE
  6292. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6293. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6294. CASE
  6295. WHEN a.cCyddxMc = '装配'
  6296. OR a.cCyddxMc LIKE '%正文%'
  6297. OR a.cCyddxMc LIKE '%答案%'
  6298. OR a.cCyddxMc LIKE '%卷%'
  6299. THEN
  6300. CASE
  6301. WHEN CASE
  6302. WHEN IFNULL(d.fZls, 0) < rr.zl
  6303. THEN rr.zl
  6304. ELSE IFNULL(d.fZls, 0)
  6305. END = 0
  6306. THEN c.nzdls
  6307. ELSE (
  6308. CASE
  6309. WHEN c.nzdls <
  6310. CASE
  6311. WHEN IFNULL(d.fZls, 0) < rr.zl
  6312. THEN rr.zl
  6313. ELSE IFNULL(d.fZls, 0)
  6314. END
  6315. THEN
  6316. CASE
  6317. WHEN IFNULL(d.fZls, 0) < rr.zl
  6318. THEN rr.zl
  6319. ELSE IFNULL(d.fZls, 0)
  6320. END
  6321. ELSE c.nzdls
  6322. END
  6323. )
  6324. END
  6325. ELSE 0
  6326. END
  6327. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6328. END
  6329. END )
  6330. , 3) 马55乙纸令
  6331. ")
  6332. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6333. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6334. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6335. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6336. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6337. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6338. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  6339. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6340. ->group("CASE
  6341. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6342. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6343. END,Name_WorkGroup")
  6344. ->buildSql();
  6345. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  6346. ->field("
  6347. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6348. ROUND(SUM(
  6349. CASE
  6350. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6351. THEN
  6352. CASE
  6353. WHEN a.cCyddxMc = '装配'
  6354. OR a.cCyddxMc LIKE '%正文%'
  6355. OR a.cCyddxMc LIKE '%答案%'
  6356. OR a.cCyddxMc LIKE '%卷%'
  6357. THEN
  6358. CASE
  6359. WHEN CASE
  6360. WHEN IFNULL(d.fZls, 0) < rr.zl
  6361. THEN rr.zl
  6362. ELSE IFNULL(d.fZls, 0)
  6363. END = 0
  6364. THEN c.nzdls
  6365. ELSE (
  6366. CASE
  6367. WHEN c.nzdls <
  6368. CASE
  6369. WHEN IFNULL(d.fZls, 0) < rr.zl
  6370. THEN rr.zl
  6371. ELSE IFNULL(d.fZls, 0)
  6372. END
  6373. THEN
  6374. CASE
  6375. WHEN IFNULL(d.fZls, 0) < rr.zl
  6376. THEN rr.zl
  6377. ELSE IFNULL(d.fZls, 0)
  6378. END
  6379. ELSE c.nzdls
  6380. END
  6381. )
  6382. END
  6383. ELSE 0
  6384. END
  6385. ELSE
  6386. CASE
  6387. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6388. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6389. CASE
  6390. WHEN a.cCyddxMc = '装配'
  6391. OR a.cCyddxMc LIKE '%正文%'
  6392. OR a.cCyddxMc LIKE '%答案%'
  6393. OR a.cCyddxMc LIKE '%卷%'
  6394. THEN
  6395. CASE
  6396. WHEN CASE
  6397. WHEN IFNULL(d.fZls, 0) < rr.zl
  6398. THEN rr.zl
  6399. ELSE IFNULL(d.fZls, 0)
  6400. END = 0
  6401. THEN c.nzdls
  6402. ELSE (
  6403. CASE
  6404. WHEN c.nzdls <
  6405. CASE
  6406. WHEN IFNULL(d.fZls, 0) < rr.zl
  6407. THEN rr.zl
  6408. ELSE IFNULL(d.fZls, 0)
  6409. END
  6410. THEN
  6411. CASE
  6412. WHEN IFNULL(d.fZls, 0) < rr.zl
  6413. THEN rr.zl
  6414. ELSE IFNULL(d.fZls, 0)
  6415. END
  6416. ELSE c.nzdls
  6417. END
  6418. )
  6419. END
  6420. ELSE 0
  6421. END
  6422. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6423. END
  6424. END )
  6425. , 3) 马66乙纸令
  6426. ")
  6427. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6428. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6429. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6430. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6431. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6432. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6433. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  6434. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6435. ->group("CASE
  6436. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6437. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6438. END,Name_WorkGroup")
  6439. ->buildSql();
  6440. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  6441. ->field("
  6442. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6443. ROUND(SUM(
  6444. CASE
  6445. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6446. THEN
  6447. CASE
  6448. WHEN a.cCyddxMc = '装配'
  6449. OR a.cCyddxMc LIKE '%正文%'
  6450. OR a.cCyddxMc LIKE '%答案%'
  6451. OR a.cCyddxMc LIKE '%卷%'
  6452. THEN
  6453. CASE
  6454. WHEN CASE
  6455. WHEN IFNULL(d.fZls, 0) < rr.zl
  6456. THEN rr.zl
  6457. ELSE IFNULL(d.fZls, 0)
  6458. END = 0
  6459. THEN c.nzdls
  6460. ELSE (
  6461. CASE
  6462. WHEN c.nzdls <
  6463. CASE
  6464. WHEN IFNULL(d.fZls, 0) < rr.zl
  6465. THEN rr.zl
  6466. ELSE IFNULL(d.fZls, 0)
  6467. END
  6468. THEN
  6469. CASE
  6470. WHEN IFNULL(d.fZls, 0) < rr.zl
  6471. THEN rr.zl
  6472. ELSE IFNULL(d.fZls, 0)
  6473. END
  6474. ELSE c.nzdls
  6475. END
  6476. )
  6477. END
  6478. ELSE 0
  6479. END
  6480. ELSE
  6481. CASE
  6482. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6483. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6484. CASE
  6485. WHEN a.cCyddxMc = '装配'
  6486. OR a.cCyddxMc LIKE '%正文%'
  6487. OR a.cCyddxMc LIKE '%答案%'
  6488. OR a.cCyddxMc LIKE '%卷%'
  6489. THEN
  6490. CASE
  6491. WHEN CASE
  6492. WHEN IFNULL(d.fZls, 0) < rr.zl
  6493. THEN rr.zl
  6494. ELSE IFNULL(d.fZls, 0)
  6495. END = 0
  6496. THEN c.nzdls
  6497. ELSE (
  6498. CASE
  6499. WHEN c.nzdls <
  6500. CASE
  6501. WHEN IFNULL(d.fZls, 0) < rr.zl
  6502. THEN rr.zl
  6503. ELSE IFNULL(d.fZls, 0)
  6504. END
  6505. THEN
  6506. CASE
  6507. WHEN IFNULL(d.fZls, 0) < rr.zl
  6508. THEN rr.zl
  6509. ELSE IFNULL(d.fZls, 0)
  6510. END
  6511. ELSE c.nzdls
  6512. END
  6513. )
  6514. END
  6515. ELSE 0
  6516. END
  6517. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6518. END
  6519. END )
  6520. , 3) 马77乙纸令
  6521. ")
  6522. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6523. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6524. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6525. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6526. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6527. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6528. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  6529. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6530. ->group("CASE
  6531. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6532. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6533. END,Name_WorkGroup")
  6534. ->buildSql();
  6535. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  6536. ->field("
  6537. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6538. ROUND(SUM(
  6539. CASE
  6540. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6541. THEN
  6542. CASE
  6543. WHEN a.cCyddxMc = '装配'
  6544. OR a.cCyddxMc LIKE '%正文%'
  6545. OR a.cCyddxMc LIKE '%答案%'
  6546. OR a.cCyddxMc LIKE '%卷%'
  6547. THEN
  6548. CASE
  6549. WHEN CASE
  6550. WHEN IFNULL(d.fZls, 0) < rr.zl
  6551. THEN rr.zl
  6552. ELSE IFNULL(d.fZls, 0)
  6553. END = 0
  6554. THEN c.nzdls
  6555. ELSE (
  6556. CASE
  6557. WHEN c.nzdls <
  6558. CASE
  6559. WHEN IFNULL(d.fZls, 0) < rr.zl
  6560. THEN rr.zl
  6561. ELSE IFNULL(d.fZls, 0)
  6562. END
  6563. THEN
  6564. CASE
  6565. WHEN IFNULL(d.fZls, 0) < rr.zl
  6566. THEN rr.zl
  6567. ELSE IFNULL(d.fZls, 0)
  6568. END
  6569. ELSE c.nzdls
  6570. END
  6571. )
  6572. END
  6573. ELSE 0
  6574. END
  6575. ELSE
  6576. CASE
  6577. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6578. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6579. CASE
  6580. WHEN a.cCyddxMc = '装配'
  6581. OR a.cCyddxMc LIKE '%正文%'
  6582. OR a.cCyddxMc LIKE '%答案%'
  6583. OR a.cCyddxMc LIKE '%卷%'
  6584. THEN
  6585. CASE
  6586. WHEN CASE
  6587. WHEN IFNULL(d.fZls, 0) < rr.zl
  6588. THEN rr.zl
  6589. ELSE IFNULL(d.fZls, 0)
  6590. END = 0
  6591. THEN c.nzdls
  6592. ELSE (
  6593. CASE
  6594. WHEN c.nzdls <
  6595. CASE
  6596. WHEN IFNULL(d.fZls, 0) < rr.zl
  6597. THEN rr.zl
  6598. ELSE IFNULL(d.fZls, 0)
  6599. END
  6600. THEN
  6601. CASE
  6602. WHEN IFNULL(d.fZls, 0) < rr.zl
  6603. THEN rr.zl
  6604. ELSE IFNULL(d.fZls, 0)
  6605. END
  6606. ELSE c.nzdls
  6607. END
  6608. )
  6609. END
  6610. ELSE 0
  6611. END
  6612. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6613. END
  6614. END )
  6615. , 3) 马88乙纸令
  6616. ")
  6617. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6618. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6619. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6620. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6621. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6622. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6623. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  6624. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6625. ->group("CASE
  6626. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6627. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6628. END,Name_WorkGroup")
  6629. ->buildSql();
  6630. $db = Db::table($A . 'a')
  6631. ->field("
  6632. DISTINCT DATE(A.RQ) rq,
  6633. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  6634. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  6635. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  6636. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  6637. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  6638. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  6639. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  6640. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  6641. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  6642. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  6643. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  6644. + IFNULL(sum(jdj4.马88甲纸令), 0) + IFNULL(sum(jdy4.马88乙纸令), 0)
  6645. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  6646. ")
  6647. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  6648. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6649. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  6650. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  6651. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  6652. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  6653. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  6654. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  6655. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  6656. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  6657. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6658. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6659. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  6660. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  6661. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  6662. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  6663. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  6664. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  6665. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  6666. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  6667. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  6668. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  6669. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  6670. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  6671. ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT')
  6672. ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.rq','LEFT')
  6673. ->group('rq')
  6674. ->buildSql();
  6675. $jd = Db::table($db . ' db')
  6676. ->field("
  6677. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6678. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  6679. ")
  6680. ->where("db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ")
  6681. ->group('MONTH(db.rq)')
  6682. ->select();
  6683. /**
  6684. * 簿册联动线纸令
  6685. */
  6686. $B = Db::table('cpjtfk')
  6687. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6688. ->field("
  6689. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6690. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  6691. ")
  6692. ->where('cbanzu','=','簿册机1号(甲班)')
  6693. ->group('drptdate,cbanzu')
  6694. ->buildSql();
  6695. $B1 = Db::table('cpjtfk')
  6696. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6697. ->field("
  6698. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6699. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  6700. ")
  6701. ->where('cbanzu','=','簿册机1号(乙班)')
  6702. ->group('drptdate,cbanzu')
  6703. ->buildSql();
  6704. $rr = Db::table('scyddx')->alias('r')
  6705. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6706. ->group('r.ICYDID')
  6707. ->buildSql();
  6708. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6709. ->field("
  6710. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6711. ROUND(SUM(
  6712. CASE
  6713. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6714. THEN
  6715. CASE
  6716. WHEN a.cCyddxMc = '装配'
  6717. OR a.cCyddxMc LIKE '%正文%'
  6718. OR a.cCyddxMc LIKE '%答案%'
  6719. OR a.cCyddxMc LIKE '%卷%'
  6720. THEN
  6721. CASE
  6722. WHEN CASE
  6723. WHEN IFNULL(d.fZls, 0) < rr.zl
  6724. THEN rr.zl
  6725. ELSE IFNULL(d.fZls, 0)
  6726. END = 0
  6727. THEN c.nzdls
  6728. ELSE (
  6729. CASE
  6730. WHEN c.nzdls <
  6731. CASE
  6732. WHEN IFNULL(d.fZls, 0) < rr.zl
  6733. THEN rr.zl
  6734. ELSE IFNULL(d.fZls, 0)
  6735. END
  6736. THEN
  6737. CASE
  6738. WHEN IFNULL(d.fZls, 0) < rr.zl
  6739. THEN rr.zl
  6740. ELSE IFNULL(d.fZls, 0)
  6741. END
  6742. ELSE c.nzdls
  6743. END
  6744. )
  6745. END
  6746. ELSE 0
  6747. END
  6748. ELSE
  6749. CASE
  6750. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6751. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6752. CASE
  6753. WHEN a.cCyddxMc = '装配'
  6754. OR a.cCyddxMc LIKE '%正文%'
  6755. OR a.cCyddxMc LIKE '%答案%'
  6756. OR a.cCyddxMc LIKE '%卷%'
  6757. THEN
  6758. CASE
  6759. WHEN CASE
  6760. WHEN IFNULL(d.fZls, 0) < rr.zl
  6761. THEN rr.zl
  6762. ELSE IFNULL(d.fZls, 0)
  6763. END = 0
  6764. THEN c.nzdls
  6765. ELSE (
  6766. CASE
  6767. WHEN c.nzdls <
  6768. CASE
  6769. WHEN IFNULL(d.fZls, 0) < rr.zl
  6770. THEN rr.zl
  6771. ELSE IFNULL(d.fZls, 0)
  6772. END
  6773. THEN
  6774. CASE
  6775. WHEN IFNULL(d.fZls, 0) < rr.zl
  6776. THEN rr.zl
  6777. ELSE IFNULL(d.fZls, 0)
  6778. END
  6779. ELSE c.nzdls
  6780. END
  6781. )
  6782. END
  6783. ELSE 0
  6784. END
  6785. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6786. END
  6787. END )
  6788. , 3) 簿11甲纸令
  6789. ")
  6790. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6791. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6792. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6793. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6794. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6795. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6796. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  6797. ->where('a.cTechName' ,'=','簿册联动')
  6798. ->group("CASE
  6799. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6800. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6801. END,Name_WorkGroup")
  6802. ->buildSql();
  6803. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6804. ->field("
  6805. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6806. ROUND(SUM(
  6807. CASE
  6808. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6809. THEN
  6810. CASE
  6811. WHEN a.cCyddxMc = '装配'
  6812. OR a.cCyddxMc LIKE '%正文%'
  6813. OR a.cCyddxMc LIKE '%答案%'
  6814. OR a.cCyddxMc LIKE '%卷%'
  6815. THEN
  6816. CASE
  6817. WHEN CASE
  6818. WHEN IFNULL(d.fZls, 0) < rr.zl
  6819. THEN rr.zl
  6820. ELSE IFNULL(d.fZls, 0)
  6821. END = 0
  6822. THEN c.nzdls
  6823. ELSE (
  6824. CASE
  6825. WHEN c.nzdls <
  6826. CASE
  6827. WHEN IFNULL(d.fZls, 0) < rr.zl
  6828. THEN rr.zl
  6829. ELSE IFNULL(d.fZls, 0)
  6830. END
  6831. THEN
  6832. CASE
  6833. WHEN IFNULL(d.fZls, 0) < rr.zl
  6834. THEN rr.zl
  6835. ELSE IFNULL(d.fZls, 0)
  6836. END
  6837. ELSE c.nzdls
  6838. END
  6839. )
  6840. END
  6841. ELSE 0
  6842. END
  6843. ELSE
  6844. CASE
  6845. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6846. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6847. CASE
  6848. WHEN a.cCyddxMc = '装配'
  6849. OR a.cCyddxMc LIKE '%正文%'
  6850. OR a.cCyddxMc LIKE '%答案%'
  6851. OR a.cCyddxMc LIKE '%卷%'
  6852. THEN
  6853. CASE
  6854. WHEN CASE
  6855. WHEN IFNULL(d.fZls, 0) < rr.zl
  6856. THEN rr.zl
  6857. ELSE IFNULL(d.fZls, 0)
  6858. END = 0
  6859. THEN c.nzdls
  6860. ELSE (
  6861. CASE
  6862. WHEN c.nzdls <
  6863. CASE
  6864. WHEN IFNULL(d.fZls, 0) < rr.zl
  6865. THEN rr.zl
  6866. ELSE IFNULL(d.fZls, 0)
  6867. END
  6868. THEN
  6869. CASE
  6870. WHEN IFNULL(d.fZls, 0) < rr.zl
  6871. THEN rr.zl
  6872. ELSE IFNULL(d.fZls, 0)
  6873. END
  6874. ELSE c.nzdls
  6875. END
  6876. )
  6877. END
  6878. ELSE 0
  6879. END
  6880. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6881. END
  6882. END )
  6883. , 3) 簿11乙纸令
  6884. ")
  6885. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6886. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6887. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6888. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6889. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6890. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6891. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  6892. ->where('a.cTechName' ,'=','簿册联动')
  6893. ->group("CASE
  6894. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6895. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6896. END,Name_WorkGroup")
  6897. ->buildSql();
  6898. $db = Db::table($A . 'a')
  6899. ->field("
  6900. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  6901. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  6902. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  6903. ")
  6904. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  6905. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6906. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6907. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6908. ->group('rq')
  6909. ->buildSql();
  6910. $bc = Db::table($db . ' db')
  6911. ->field("
  6912. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6913. ROUND(sum(db.纸令), 0) as 簿册纸令
  6914. ")->where("db.RQ >= '{$this->start_time()}'
  6915. AND db.RQ <= '{$this->end_time()}' ")
  6916. ->group('MONTH(db.rq)')
  6917. ->select();
  6918. // 创建一个结果数组
  6919. $result=[];
  6920. $result1 = [];
  6921. // 遍历第一个数组,并将数据加入结果数组
  6922. foreach ($jp as $val1) {
  6923. $month = $val1['日期'];
  6924. $data1 = $val1['精平纸令'];
  6925. if (!isset($result[$month])) {
  6926. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6927. }
  6928. if (!isset($result1[$month])) {
  6929. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6930. }
  6931. $result1[$month] += $data1; // 累加第一个数组的数据
  6932. }
  6933. // 遍历第二个数组,并将数据加入结果数组
  6934. foreach ($jd as $val2) {
  6935. $month = $val2['日期'];
  6936. $data1 = $val2['无线胶订纸令'];
  6937. if (!isset($result[$month])) {
  6938. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6939. }
  6940. if (!isset($result1[$month])) {
  6941. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6942. }
  6943. $result1[$month] += $data1; // 累加第二个数组的数据
  6944. }
  6945. foreach ($bc as $val2) {
  6946. $month = $val2['日期'];
  6947. $data1 = $val2['簿册纸令'];
  6948. if (!isset($result[$month])) {
  6949. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6950. }
  6951. if (!isset($result1[$month])) {
  6952. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6953. }
  6954. $result1[$month] += $data1; // 累加第二个数组的数据
  6955. }
  6956. foreach($result1 as $k=>$v){
  6957. $list['categories'][]=$k;
  6958. $list['series'][0]['name']='装订实物产量色令数';
  6959. $list['series'][0]['data'][]=$v;
  6960. }
  6961. $res['status']=0;
  6962. $res['msg']='';
  6963. $res['data']=$list;
  6964. $redis->set($redis_key, json_encode($result1));
  6965. // halt(json_decode($redis->get($redis_key),true));
  6966. return json_encode($result1);
  6967. }
  6968. //前年装订实物产量纸令->缓存调用
  6969. public function zdzlTwoYear(){
  6970. $redis=redis();
  6971. $redis_key = md5('zdzlTwoYear');
  6972. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  6973. ->union(function ($query) {
  6974. $query->table('scDayRpt_Teams')->alias('b')
  6975. ->field("DISTINCT DATE_FORMAT(
  6976. CASE
  6977. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  6978. ELSE b.dOnDuty
  6979. END,
  6980. '%Y-%m-%d'
  6981. ) AS RQ");
  6982. }, true)
  6983. ->buildSql();
  6984. $B1 = Db::table('cpjtfk')
  6985. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6986. ->field("
  6987. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6988. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  6989. ")
  6990. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  6991. ->group('drptdate,cbanzu')
  6992. ->buildSql();
  6993. $rr = Db::table('scyddx')->alias('r')
  6994. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6995. ->group('r.ICYDID')
  6996. ->buildSql();
  6997. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6998. ->field("
  6999. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7000. ROUND(SUM(
  7001. CASE
  7002. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7003. THEN
  7004. CASE
  7005. WHEN a.cCyddxMc = '装配'
  7006. OR a.cCyddxMc LIKE '%正文%'
  7007. OR a.cCyddxMc LIKE '%答案%'
  7008. OR a.cCyddxMc LIKE '%卷%'
  7009. THEN
  7010. CASE
  7011. WHEN CASE
  7012. WHEN IFNULL(d.fZls, 0) < rr.zl
  7013. THEN rr.zl
  7014. ELSE IFNULL(d.fZls, 0)
  7015. END = 0
  7016. THEN c.nzdls
  7017. ELSE (
  7018. CASE
  7019. WHEN c.nzdls <
  7020. CASE
  7021. WHEN IFNULL(d.fZls, 0) < rr.zl
  7022. THEN rr.zl
  7023. ELSE IFNULL(d.fZls, 0)
  7024. END
  7025. THEN
  7026. CASE
  7027. WHEN IFNULL(d.fZls, 0) < rr.zl
  7028. THEN rr.zl
  7029. ELSE IFNULL(d.fZls, 0)
  7030. END
  7031. ELSE c.nzdls
  7032. END
  7033. )
  7034. END
  7035. ELSE 0
  7036. END
  7037. ELSE
  7038. CASE
  7039. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7040. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7041. CASE
  7042. WHEN a.cCyddxMc = '装配'
  7043. OR a.cCyddxMc LIKE '%正文%'
  7044. OR a.cCyddxMc LIKE '%答案%'
  7045. OR a.cCyddxMc LIKE '%卷%'
  7046. THEN
  7047. CASE
  7048. WHEN CASE
  7049. WHEN IFNULL(d.fZls, 0) < rr.zl
  7050. THEN rr.zl
  7051. ELSE IFNULL(d.fZls, 0)
  7052. END = 0
  7053. THEN c.nzdls
  7054. ELSE (
  7055. CASE
  7056. WHEN c.nzdls <
  7057. CASE
  7058. WHEN IFNULL(d.fZls, 0) < rr.zl
  7059. THEN rr.zl
  7060. ELSE IFNULL(d.fZls, 0)
  7061. END
  7062. THEN
  7063. CASE
  7064. WHEN IFNULL(d.fZls, 0) < rr.zl
  7065. THEN rr.zl
  7066. ELSE IFNULL(d.fZls, 0)
  7067. END
  7068. ELSE c.nzdls
  7069. END
  7070. )
  7071. END
  7072. ELSE 0
  7073. END
  7074. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7075. END
  7076. END )
  7077. , 3) 精11乙纸令
  7078. ")
  7079. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7080. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7081. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7082. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7083. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7084. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7085. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  7086. ->group("CASE
  7087. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7088. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7089. END,Name_WorkGroup")
  7090. ->buildSql();
  7091. $db = Db::table($A . 'a')
  7092. ->field("
  7093. DATE(A.RQ) rq,
  7094. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  7095. ")
  7096. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  7097. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  7098. ->buildSql();
  7099. $jp = Db::table($db . ' db')
  7100. ->field("
  7101. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  7102. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  7103. ")->where("db.RQ >= '{$this->start_time()}'
  7104. AND db.RQ <= '{$this->end_time()}' ")
  7105. ->group('MONTH(db.rq)')
  7106. ->select();
  7107. $B = Db::table('cpjtfk')
  7108. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7109. ->field("
  7110. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7111. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  7112. ")
  7113. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  7114. ->group('drptdate,cbanzu')
  7115. ->buildSql();
  7116. $B1 = Db::table('cpjtfk')
  7117. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7118. ->field("
  7119. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7120. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  7121. ")
  7122. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  7123. ->group('drptdate,cbanzu')
  7124. ->buildSql();
  7125. $C = Db::table('cpjtfk')
  7126. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7127. ->field("
  7128. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7129. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  7130. ")
  7131. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  7132. ->group('drptdate,cbanzu')
  7133. ->buildSql();
  7134. $C1 = Db::table('cpjtfk')
  7135. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7136. ->field("
  7137. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7138. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  7139. ")
  7140. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  7141. ->group('drptdate,cbanzu')
  7142. ->buildSql();
  7143. $D = Db::table('cpjtfk')
  7144. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7145. ->field("
  7146. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7147. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  7148. ")
  7149. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  7150. ->group('drptdate,cbanzu')
  7151. ->buildSql();
  7152. $D1 = Db::table('cpjtfk')
  7153. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7154. ->field("
  7155. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7156. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  7157. ")
  7158. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  7159. ->group('drptdate,cbanzu')
  7160. ->buildSql();
  7161. $E = Db::table('cpjtfk')
  7162. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7163. ->field("
  7164. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7165. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  7166. ")
  7167. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  7168. ->group('drptdate,cbanzu')
  7169. ->buildSql();
  7170. $E1 = Db::table('cpjtfk')
  7171. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7172. ->field("
  7173. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7174. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  7175. ")
  7176. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  7177. ->group('drptdate,cbanzu')
  7178. ->buildSql();
  7179. $F = Db::table('cpjtfk')
  7180. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7181. ->field("
  7182. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7183. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  7184. ")
  7185. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  7186. ->group('drptdate,cbanzu')
  7187. ->buildSql();
  7188. $F1 = Db::table('cpjtfk')
  7189. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7190. ->field("
  7191. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7192. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  7193. ")
  7194. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  7195. ->group('drptdate,cbanzu')
  7196. ->buildSql();
  7197. $rr = Db::table('scyddx')->alias('r')
  7198. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  7199. ->group('r.ICYDID')
  7200. ->buildSql();
  7201. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  7202. ->field("
  7203. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7204. ROUND(SUM(
  7205. CASE
  7206. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7207. THEN CASE WHEN a.cCyddxMc = '装配'
  7208. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  7209. THEN CASE
  7210. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7211. END = 0 THEN c.nzdls
  7212. ELSE ( CASE
  7213. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7214. END
  7215. THEN CASE
  7216. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7217. END ELSE c.nzdls END
  7218. ) END ELSE 0 END
  7219. ELSE CASE
  7220. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7221. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7222. CASE WHEN a.cCyddxMc = '装配'
  7223. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  7224. THEN CASE
  7225. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7226. END = 0 THEN c.nzdls
  7227. ELSE ( CASE WHEN c.nzdls <
  7228. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7229. END
  7230. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7231. END ELSE c.nzdls END )
  7232. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7233. END END ), 3) 马11甲纸令 ")
  7234. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7235. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7236. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7237. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7238. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7239. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7240. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  7241. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7242. ->group("CASE
  7243. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7244. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7245. END,Name_WorkGroup")->buildSql();
  7246. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  7247. ->field("
  7248. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7249. ROUND(SUM(
  7250. CASE
  7251. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7252. THEN
  7253. CASE
  7254. WHEN a.cCyddxMc = '装配'
  7255. OR a.cCyddxMc LIKE '%正文%'
  7256. OR a.cCyddxMc LIKE '%答案%'
  7257. OR a.cCyddxMc LIKE '%卷%'
  7258. THEN
  7259. CASE
  7260. WHEN CASE
  7261. WHEN IFNULL(d.fZls, 0) < rr.zl
  7262. THEN rr.zl
  7263. ELSE IFNULL(d.fZls, 0)
  7264. END = 0
  7265. THEN c.nzdls
  7266. ELSE (
  7267. CASE
  7268. WHEN c.nzdls <
  7269. CASE
  7270. WHEN IFNULL(d.fZls, 0) < rr.zl
  7271. THEN rr.zl
  7272. ELSE IFNULL(d.fZls, 0)
  7273. END
  7274. THEN
  7275. CASE
  7276. WHEN IFNULL(d.fZls, 0) < rr.zl
  7277. THEN rr.zl
  7278. ELSE IFNULL(d.fZls, 0)
  7279. END
  7280. ELSE c.nzdls
  7281. END
  7282. )
  7283. END
  7284. ELSE 0
  7285. END
  7286. ELSE
  7287. CASE
  7288. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7289. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7290. CASE
  7291. WHEN a.cCyddxMc = '装配'
  7292. OR a.cCyddxMc LIKE '%正文%'
  7293. OR a.cCyddxMc LIKE '%答案%'
  7294. OR a.cCyddxMc LIKE '%卷%'
  7295. THEN
  7296. CASE
  7297. WHEN CASE
  7298. WHEN IFNULL(d.fZls, 0) < rr.zl
  7299. THEN rr.zl
  7300. ELSE IFNULL(d.fZls, 0)
  7301. END = 0
  7302. THEN c.nzdls
  7303. ELSE (
  7304. CASE
  7305. WHEN c.nzdls <
  7306. CASE
  7307. WHEN IFNULL(d.fZls, 0) < rr.zl
  7308. THEN rr.zl
  7309. ELSE IFNULL(d.fZls, 0)
  7310. END
  7311. THEN
  7312. CASE
  7313. WHEN IFNULL(d.fZls, 0) < rr.zl
  7314. THEN rr.zl
  7315. ELSE IFNULL(d.fZls, 0)
  7316. END
  7317. ELSE c.nzdls
  7318. END
  7319. )
  7320. END
  7321. ELSE 0
  7322. END
  7323. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7324. END
  7325. END )
  7326. , 3) 马11乙纸令
  7327. ")
  7328. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7329. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7330. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7331. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7332. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7333. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7334. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  7335. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7336. ->group("CASE
  7337. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7338. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7339. END,Name_WorkGroup")
  7340. ->buildSql();
  7341. $CC = Db::table('ql_report_feedback_day')->alias('a')
  7342. ->field("
  7343. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7344. ROUND(SUM(
  7345. CASE
  7346. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7347. THEN
  7348. CASE
  7349. WHEN a.cCyddxMc = '装配'
  7350. OR a.cCyddxMc LIKE '%正文%'
  7351. OR a.cCyddxMc LIKE '%答案%'
  7352. OR a.cCyddxMc LIKE '%卷%'
  7353. THEN
  7354. CASE
  7355. WHEN CASE
  7356. WHEN IFNULL(d.fZls, 0) < rr.zl
  7357. THEN rr.zl
  7358. ELSE IFNULL(d.fZls, 0)
  7359. END = 0
  7360. THEN c.nzdls
  7361. ELSE (
  7362. CASE
  7363. WHEN c.nzdls <
  7364. CASE
  7365. WHEN IFNULL(d.fZls, 0) < rr.zl
  7366. THEN rr.zl
  7367. ELSE IFNULL(d.fZls, 0)
  7368. END
  7369. THEN
  7370. CASE
  7371. WHEN IFNULL(d.fZls, 0) < rr.zl
  7372. THEN rr.zl
  7373. ELSE IFNULL(d.fZls, 0)
  7374. END
  7375. ELSE c.nzdls
  7376. END
  7377. )
  7378. END
  7379. ELSE 0
  7380. END
  7381. ELSE
  7382. CASE
  7383. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7384. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7385. CASE
  7386. WHEN a.cCyddxMc = '装配'
  7387. OR a.cCyddxMc LIKE '%正文%'
  7388. OR a.cCyddxMc LIKE '%答案%'
  7389. OR a.cCyddxMc LIKE '%卷%'
  7390. THEN
  7391. CASE
  7392. WHEN CASE
  7393. WHEN IFNULL(d.fZls, 0) < rr.zl
  7394. THEN rr.zl
  7395. ELSE IFNULL(d.fZls, 0)
  7396. END = 0
  7397. THEN c.nzdls
  7398. ELSE (
  7399. CASE
  7400. WHEN c.nzdls <
  7401. CASE
  7402. WHEN IFNULL(d.fZls, 0) < rr.zl
  7403. THEN rr.zl
  7404. ELSE IFNULL(d.fZls, 0)
  7405. END
  7406. THEN
  7407. CASE
  7408. WHEN IFNULL(d.fZls, 0) < rr.zl
  7409. THEN rr.zl
  7410. ELSE IFNULL(d.fZls, 0)
  7411. END
  7412. ELSE c.nzdls
  7413. END
  7414. )
  7415. END
  7416. ELSE 0
  7417. END
  7418. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7419. END
  7420. END )
  7421. , 3) 马22甲纸令
  7422. ")
  7423. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7424. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7425. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7426. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7427. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7428. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7429. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  7430. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7431. ->group("CASE
  7432. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7433. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7434. END,Name_WorkGroup")
  7435. ->buildSql();
  7436. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  7437. ->field("
  7438. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7439. ROUND(SUM(
  7440. CASE
  7441. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7442. THEN
  7443. CASE
  7444. WHEN a.cCyddxMc = '装配'
  7445. OR a.cCyddxMc LIKE '%正文%'
  7446. OR a.cCyddxMc LIKE '%答案%'
  7447. OR a.cCyddxMc LIKE '%卷%'
  7448. THEN
  7449. CASE
  7450. WHEN CASE
  7451. WHEN IFNULL(d.fZls, 0) < rr.zl
  7452. THEN rr.zl
  7453. ELSE IFNULL(d.fZls, 0)
  7454. END = 0
  7455. THEN c.nzdls
  7456. ELSE (
  7457. CASE
  7458. WHEN c.nzdls <
  7459. CASE
  7460. WHEN IFNULL(d.fZls, 0) < rr.zl
  7461. THEN rr.zl
  7462. ELSE IFNULL(d.fZls, 0)
  7463. END
  7464. THEN
  7465. CASE
  7466. WHEN IFNULL(d.fZls, 0) < rr.zl
  7467. THEN rr.zl
  7468. ELSE IFNULL(d.fZls, 0)
  7469. END
  7470. ELSE c.nzdls
  7471. END
  7472. )
  7473. END
  7474. ELSE 0
  7475. END
  7476. ELSE
  7477. CASE
  7478. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7479. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7480. CASE
  7481. WHEN a.cCyddxMc = '装配'
  7482. OR a.cCyddxMc LIKE '%正文%'
  7483. OR a.cCyddxMc LIKE '%答案%'
  7484. OR a.cCyddxMc LIKE '%卷%'
  7485. THEN
  7486. CASE
  7487. WHEN CASE
  7488. WHEN IFNULL(d.fZls, 0) < rr.zl
  7489. THEN rr.zl
  7490. ELSE IFNULL(d.fZls, 0)
  7491. END = 0
  7492. THEN c.nzdls
  7493. ELSE (
  7494. CASE
  7495. WHEN c.nzdls <
  7496. CASE
  7497. WHEN IFNULL(d.fZls, 0) < rr.zl
  7498. THEN rr.zl
  7499. ELSE IFNULL(d.fZls, 0)
  7500. END
  7501. THEN
  7502. CASE
  7503. WHEN IFNULL(d.fZls, 0) < rr.zl
  7504. THEN rr.zl
  7505. ELSE IFNULL(d.fZls, 0)
  7506. END
  7507. ELSE c.nzdls
  7508. END
  7509. )
  7510. END
  7511. ELSE 0
  7512. END
  7513. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7514. END
  7515. END )
  7516. , 3) 马22乙纸令
  7517. ")
  7518. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7519. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7520. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7521. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7522. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7523. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7524. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  7525. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7526. ->group("CASE
  7527. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7528. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7529. END,Name_WorkGroup")
  7530. ->buildSql();
  7531. $EE = Db::table('ql_report_feedback_day')->alias('a')
  7532. ->field("
  7533. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7534. ROUND(SUM(
  7535. CASE
  7536. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7537. THEN
  7538. CASE
  7539. WHEN a.cCyddxMc = '装配'
  7540. OR a.cCyddxMc LIKE '%正文%'
  7541. OR a.cCyddxMc LIKE '%答案%'
  7542. OR a.cCyddxMc LIKE '%卷%'
  7543. THEN
  7544. CASE
  7545. WHEN CASE
  7546. WHEN IFNULL(d.fZls, 0) < rr.zl
  7547. THEN rr.zl
  7548. ELSE IFNULL(d.fZls, 0)
  7549. END = 0
  7550. THEN c.nzdls
  7551. ELSE (
  7552. CASE
  7553. WHEN c.nzdls <
  7554. CASE
  7555. WHEN IFNULL(d.fZls, 0) < rr.zl
  7556. THEN rr.zl
  7557. ELSE IFNULL(d.fZls, 0)
  7558. END
  7559. THEN
  7560. CASE
  7561. WHEN IFNULL(d.fZls, 0) < rr.zl
  7562. THEN rr.zl
  7563. ELSE IFNULL(d.fZls, 0)
  7564. END
  7565. ELSE c.nzdls
  7566. END
  7567. )
  7568. END
  7569. ELSE 0
  7570. END
  7571. ELSE
  7572. CASE
  7573. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7574. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7575. CASE
  7576. WHEN a.cCyddxMc = '装配'
  7577. OR a.cCyddxMc LIKE '%正文%'
  7578. OR a.cCyddxMc LIKE '%答案%'
  7579. OR a.cCyddxMc LIKE '%卷%'
  7580. THEN
  7581. CASE
  7582. WHEN CASE
  7583. WHEN IFNULL(d.fZls, 0) < rr.zl
  7584. THEN rr.zl
  7585. ELSE IFNULL(d.fZls, 0)
  7586. END = 0
  7587. THEN c.nzdls
  7588. ELSE (
  7589. CASE
  7590. WHEN c.nzdls <
  7591. CASE
  7592. WHEN IFNULL(d.fZls, 0) < rr.zl
  7593. THEN rr.zl
  7594. ELSE IFNULL(d.fZls, 0)
  7595. END
  7596. THEN
  7597. CASE
  7598. WHEN IFNULL(d.fZls, 0) < rr.zl
  7599. THEN rr.zl
  7600. ELSE IFNULL(d.fZls, 0)
  7601. END
  7602. ELSE c.nzdls
  7603. END
  7604. )
  7605. END
  7606. ELSE 0
  7607. END
  7608. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7609. END
  7610. END )
  7611. , 3) 马33甲纸令
  7612. ")
  7613. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7614. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7615. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7616. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7617. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7618. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7619. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  7620. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7621. ->group("CASE
  7622. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7623. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7624. END,Name_WorkGroup")
  7625. ->buildSql();
  7626. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  7627. ->field("
  7628. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7629. ROUND(SUM(
  7630. CASE
  7631. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7632. THEN
  7633. CASE
  7634. WHEN a.cCyddxMc = '装配'
  7635. OR a.cCyddxMc LIKE '%正文%'
  7636. OR a.cCyddxMc LIKE '%答案%'
  7637. OR a.cCyddxMc LIKE '%卷%'
  7638. THEN
  7639. CASE
  7640. WHEN CASE
  7641. WHEN IFNULL(d.fZls, 0) < rr.zl
  7642. THEN rr.zl
  7643. ELSE IFNULL(d.fZls, 0)
  7644. END = 0
  7645. THEN c.nzdls
  7646. ELSE (
  7647. CASE
  7648. WHEN c.nzdls <
  7649. CASE
  7650. WHEN IFNULL(d.fZls, 0) < rr.zl
  7651. THEN rr.zl
  7652. ELSE IFNULL(d.fZls, 0)
  7653. END
  7654. THEN
  7655. CASE
  7656. WHEN IFNULL(d.fZls, 0) < rr.zl
  7657. THEN rr.zl
  7658. ELSE IFNULL(d.fZls, 0)
  7659. END
  7660. ELSE c.nzdls
  7661. END
  7662. )
  7663. END
  7664. ELSE 0
  7665. END
  7666. ELSE
  7667. CASE
  7668. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7669. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7670. CASE
  7671. WHEN a.cCyddxMc = '装配'
  7672. OR a.cCyddxMc LIKE '%正文%'
  7673. OR a.cCyddxMc LIKE '%答案%'
  7674. OR a.cCyddxMc LIKE '%卷%'
  7675. THEN
  7676. CASE
  7677. WHEN CASE
  7678. WHEN IFNULL(d.fZls, 0) < rr.zl
  7679. THEN rr.zl
  7680. ELSE IFNULL(d.fZls, 0)
  7681. END = 0
  7682. THEN c.nzdls
  7683. ELSE (
  7684. CASE
  7685. WHEN c.nzdls <
  7686. CASE
  7687. WHEN IFNULL(d.fZls, 0) < rr.zl
  7688. THEN rr.zl
  7689. ELSE IFNULL(d.fZls, 0)
  7690. END
  7691. THEN
  7692. CASE
  7693. WHEN IFNULL(d.fZls, 0) < rr.zl
  7694. THEN rr.zl
  7695. ELSE IFNULL(d.fZls, 0)
  7696. END
  7697. ELSE c.nzdls
  7698. END
  7699. )
  7700. END
  7701. ELSE 0
  7702. END
  7703. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7704. END
  7705. END )
  7706. , 3) 马33乙纸令
  7707. ")
  7708. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7709. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7710. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7711. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7712. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7713. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7714. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  7715. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7716. ->group("CASE
  7717. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7718. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7719. END,Name_WorkGroup")
  7720. ->buildSql();
  7721. $HH = Db::table('ql_report_feedback_day')->alias('a')
  7722. ->field("
  7723. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7724. ROUND(SUM(
  7725. CASE
  7726. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7727. THEN
  7728. CASE
  7729. WHEN a.cCyddxMc = '装配'
  7730. OR a.cCyddxMc LIKE '%正文%'
  7731. OR a.cCyddxMc LIKE '%答案%'
  7732. OR a.cCyddxMc LIKE '%卷%'
  7733. THEN
  7734. CASE
  7735. WHEN CASE
  7736. WHEN IFNULL(d.fZls, 0) < rr.zl
  7737. THEN rr.zl
  7738. ELSE IFNULL(d.fZls, 0)
  7739. END = 0
  7740. THEN c.nzdls
  7741. ELSE (
  7742. CASE
  7743. WHEN c.nzdls <
  7744. CASE
  7745. WHEN IFNULL(d.fZls, 0) < rr.zl
  7746. THEN rr.zl
  7747. ELSE IFNULL(d.fZls, 0)
  7748. END
  7749. THEN
  7750. CASE
  7751. WHEN IFNULL(d.fZls, 0) < rr.zl
  7752. THEN rr.zl
  7753. ELSE IFNULL(d.fZls, 0)
  7754. END
  7755. ELSE c.nzdls
  7756. END
  7757. )
  7758. END
  7759. ELSE 0
  7760. END
  7761. ELSE
  7762. CASE
  7763. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7764. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7765. CASE
  7766. WHEN a.cCyddxMc = '装配'
  7767. OR a.cCyddxMc LIKE '%正文%'
  7768. OR a.cCyddxMc LIKE '%答案%'
  7769. OR a.cCyddxMc LIKE '%卷%'
  7770. THEN
  7771. CASE
  7772. WHEN CASE
  7773. WHEN IFNULL(d.fZls, 0) < rr.zl
  7774. THEN rr.zl
  7775. ELSE IFNULL(d.fZls, 0)
  7776. END = 0
  7777. THEN c.nzdls
  7778. ELSE (
  7779. CASE
  7780. WHEN c.nzdls <
  7781. CASE
  7782. WHEN IFNULL(d.fZls, 0) < rr.zl
  7783. THEN rr.zl
  7784. ELSE IFNULL(d.fZls, 0)
  7785. END
  7786. THEN
  7787. CASE
  7788. WHEN IFNULL(d.fZls, 0) < rr.zl
  7789. THEN rr.zl
  7790. ELSE IFNULL(d.fZls, 0)
  7791. END
  7792. ELSE c.nzdls
  7793. END
  7794. )
  7795. END
  7796. ELSE 0
  7797. END
  7798. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7799. END
  7800. END )
  7801. , 3) 马44甲纸令
  7802. ")
  7803. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7804. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7805. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7806. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7807. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7808. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7809. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  7810. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7811. ->group("CASE
  7812. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7813. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7814. END,Name_WorkGroup")
  7815. ->buildSql();
  7816. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  7817. ->field("
  7818. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7819. ROUND(SUM(
  7820. CASE
  7821. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7822. THEN
  7823. CASE
  7824. WHEN a.cCyddxMc = '装配'
  7825. OR a.cCyddxMc LIKE '%正文%'
  7826. OR a.cCyddxMc LIKE '%答案%'
  7827. OR a.cCyddxMc LIKE '%卷%'
  7828. THEN
  7829. CASE
  7830. WHEN CASE
  7831. WHEN IFNULL(d.fZls, 0) < rr.zl
  7832. THEN rr.zl
  7833. ELSE IFNULL(d.fZls, 0)
  7834. END = 0
  7835. THEN c.nzdls
  7836. ELSE (
  7837. CASE
  7838. WHEN c.nzdls <
  7839. CASE
  7840. WHEN IFNULL(d.fZls, 0) < rr.zl
  7841. THEN rr.zl
  7842. ELSE IFNULL(d.fZls, 0)
  7843. END
  7844. THEN
  7845. CASE
  7846. WHEN IFNULL(d.fZls, 0) < rr.zl
  7847. THEN rr.zl
  7848. ELSE IFNULL(d.fZls, 0)
  7849. END
  7850. ELSE c.nzdls
  7851. END
  7852. )
  7853. END
  7854. ELSE 0
  7855. END
  7856. ELSE
  7857. CASE
  7858. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7859. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7860. CASE
  7861. WHEN a.cCyddxMc = '装配'
  7862. OR a.cCyddxMc LIKE '%正文%'
  7863. OR a.cCyddxMc LIKE '%答案%'
  7864. OR a.cCyddxMc LIKE '%卷%'
  7865. THEN
  7866. CASE
  7867. WHEN CASE
  7868. WHEN IFNULL(d.fZls, 0) < rr.zl
  7869. THEN rr.zl
  7870. ELSE IFNULL(d.fZls, 0)
  7871. END = 0
  7872. THEN c.nzdls
  7873. ELSE (
  7874. CASE
  7875. WHEN c.nzdls <
  7876. CASE
  7877. WHEN IFNULL(d.fZls, 0) < rr.zl
  7878. THEN rr.zl
  7879. ELSE IFNULL(d.fZls, 0)
  7880. END
  7881. THEN
  7882. CASE
  7883. WHEN IFNULL(d.fZls, 0) < rr.zl
  7884. THEN rr.zl
  7885. ELSE IFNULL(d.fZls, 0)
  7886. END
  7887. ELSE c.nzdls
  7888. END
  7889. )
  7890. END
  7891. ELSE 0
  7892. END
  7893. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7894. END
  7895. END )
  7896. , 3) 马44乙纸令
  7897. ")
  7898. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7899. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7900. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7901. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7902. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7903. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7904. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  7905. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7906. ->group("CASE
  7907. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7908. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7909. END,Name_WorkGroup")
  7910. ->buildSql();
  7911. $XX = Db::table('ql_report_feedback_day')->alias('a')
  7912. ->field("
  7913. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7914. ROUND(SUM(
  7915. CASE
  7916. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7917. THEN
  7918. CASE
  7919. WHEN a.cCyddxMc = '装配'
  7920. OR a.cCyddxMc LIKE '%正文%'
  7921. OR a.cCyddxMc LIKE '%答案%'
  7922. OR a.cCyddxMc LIKE '%卷%'
  7923. THEN
  7924. CASE
  7925. WHEN CASE
  7926. WHEN IFNULL(d.fZls, 0) < rr.zl
  7927. THEN rr.zl
  7928. ELSE IFNULL(d.fZls, 0)
  7929. END = 0
  7930. THEN c.nzdls
  7931. ELSE (
  7932. CASE
  7933. WHEN c.nzdls <
  7934. CASE
  7935. WHEN IFNULL(d.fZls, 0) < rr.zl
  7936. THEN rr.zl
  7937. ELSE IFNULL(d.fZls, 0)
  7938. END
  7939. THEN
  7940. CASE
  7941. WHEN IFNULL(d.fZls, 0) < rr.zl
  7942. THEN rr.zl
  7943. ELSE IFNULL(d.fZls, 0)
  7944. END
  7945. ELSE c.nzdls
  7946. END
  7947. )
  7948. END
  7949. ELSE 0
  7950. END
  7951. ELSE
  7952. CASE
  7953. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7954. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7955. CASE
  7956. WHEN a.cCyddxMc = '装配'
  7957. OR a.cCyddxMc LIKE '%正文%'
  7958. OR a.cCyddxMc LIKE '%答案%'
  7959. OR a.cCyddxMc LIKE '%卷%'
  7960. THEN
  7961. CASE
  7962. WHEN CASE
  7963. WHEN IFNULL(d.fZls, 0) < rr.zl
  7964. THEN rr.zl
  7965. ELSE IFNULL(d.fZls, 0)
  7966. END = 0
  7967. THEN c.nzdls
  7968. ELSE (
  7969. CASE
  7970. WHEN c.nzdls <
  7971. CASE
  7972. WHEN IFNULL(d.fZls, 0) < rr.zl
  7973. THEN rr.zl
  7974. ELSE IFNULL(d.fZls, 0)
  7975. END
  7976. THEN
  7977. CASE
  7978. WHEN IFNULL(d.fZls, 0) < rr.zl
  7979. THEN rr.zl
  7980. ELSE IFNULL(d.fZls, 0)
  7981. END
  7982. ELSE c.nzdls
  7983. END
  7984. )
  7985. END
  7986. ELSE 0
  7987. END
  7988. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7989. END
  7990. END )
  7991. , 3) 马55甲纸令
  7992. ")
  7993. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7994. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7995. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7996. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7997. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7998. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7999. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  8000. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8001. ->group("CASE
  8002. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8003. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8004. END,Name_WorkGroup")
  8005. ->buildSql();
  8006. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  8007. ->field("
  8008. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8009. ROUND(SUM(
  8010. CASE
  8011. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8012. THEN
  8013. CASE
  8014. WHEN a.cCyddxMc = '装配'
  8015. OR a.cCyddxMc LIKE '%正文%'
  8016. OR a.cCyddxMc LIKE '%答案%'
  8017. OR a.cCyddxMc LIKE '%卷%'
  8018. THEN
  8019. CASE
  8020. WHEN CASE
  8021. WHEN IFNULL(d.fZls, 0) < rr.zl
  8022. THEN rr.zl
  8023. ELSE IFNULL(d.fZls, 0)
  8024. END = 0
  8025. THEN c.nzdls
  8026. ELSE (
  8027. CASE
  8028. WHEN c.nzdls <
  8029. CASE
  8030. WHEN IFNULL(d.fZls, 0) < rr.zl
  8031. THEN rr.zl
  8032. ELSE IFNULL(d.fZls, 0)
  8033. END
  8034. THEN
  8035. CASE
  8036. WHEN IFNULL(d.fZls, 0) < rr.zl
  8037. THEN rr.zl
  8038. ELSE IFNULL(d.fZls, 0)
  8039. END
  8040. ELSE c.nzdls
  8041. END
  8042. )
  8043. END
  8044. ELSE 0
  8045. END
  8046. ELSE
  8047. CASE
  8048. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8049. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8050. CASE
  8051. WHEN a.cCyddxMc = '装配'
  8052. OR a.cCyddxMc LIKE '%正文%'
  8053. OR a.cCyddxMc LIKE '%答案%'
  8054. OR a.cCyddxMc LIKE '%卷%'
  8055. THEN
  8056. CASE
  8057. WHEN CASE
  8058. WHEN IFNULL(d.fZls, 0) < rr.zl
  8059. THEN rr.zl
  8060. ELSE IFNULL(d.fZls, 0)
  8061. END = 0
  8062. THEN c.nzdls
  8063. ELSE (
  8064. CASE
  8065. WHEN c.nzdls <
  8066. CASE
  8067. WHEN IFNULL(d.fZls, 0) < rr.zl
  8068. THEN rr.zl
  8069. ELSE IFNULL(d.fZls, 0)
  8070. END
  8071. THEN
  8072. CASE
  8073. WHEN IFNULL(d.fZls, 0) < rr.zl
  8074. THEN rr.zl
  8075. ELSE IFNULL(d.fZls, 0)
  8076. END
  8077. ELSE c.nzdls
  8078. END
  8079. )
  8080. END
  8081. ELSE 0
  8082. END
  8083. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8084. END
  8085. END )
  8086. , 3) 马66甲纸令
  8087. ")
  8088. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8089. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8090. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8091. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8092. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8093. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8094. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  8095. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8096. ->group("CASE
  8097. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8098. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8099. END,Name_WorkGroup")
  8100. ->buildSql();
  8101. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  8102. ->field("
  8103. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8104. ROUND(SUM(
  8105. CASE
  8106. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8107. THEN
  8108. CASE
  8109. WHEN a.cCyddxMc = '装配'
  8110. OR a.cCyddxMc LIKE '%正文%'
  8111. OR a.cCyddxMc LIKE '%答案%'
  8112. OR a.cCyddxMc LIKE '%卷%'
  8113. THEN
  8114. CASE
  8115. WHEN CASE
  8116. WHEN IFNULL(d.fZls, 0) < rr.zl
  8117. THEN rr.zl
  8118. ELSE IFNULL(d.fZls, 0)
  8119. END = 0
  8120. THEN c.nzdls
  8121. ELSE (
  8122. CASE
  8123. WHEN c.nzdls <
  8124. CASE
  8125. WHEN IFNULL(d.fZls, 0) < rr.zl
  8126. THEN rr.zl
  8127. ELSE IFNULL(d.fZls, 0)
  8128. END
  8129. THEN
  8130. CASE
  8131. WHEN IFNULL(d.fZls, 0) < rr.zl
  8132. THEN rr.zl
  8133. ELSE IFNULL(d.fZls, 0)
  8134. END
  8135. ELSE c.nzdls
  8136. END
  8137. )
  8138. END
  8139. ELSE 0
  8140. END
  8141. ELSE
  8142. CASE
  8143. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8144. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8145. CASE
  8146. WHEN a.cCyddxMc = '装配'
  8147. OR a.cCyddxMc LIKE '%正文%'
  8148. OR a.cCyddxMc LIKE '%答案%'
  8149. OR a.cCyddxMc LIKE '%卷%'
  8150. THEN
  8151. CASE
  8152. WHEN CASE
  8153. WHEN IFNULL(d.fZls, 0) < rr.zl
  8154. THEN rr.zl
  8155. ELSE IFNULL(d.fZls, 0)
  8156. END = 0
  8157. THEN c.nzdls
  8158. ELSE (
  8159. CASE
  8160. WHEN c.nzdls <
  8161. CASE
  8162. WHEN IFNULL(d.fZls, 0) < rr.zl
  8163. THEN rr.zl
  8164. ELSE IFNULL(d.fZls, 0)
  8165. END
  8166. THEN
  8167. CASE
  8168. WHEN IFNULL(d.fZls, 0) < rr.zl
  8169. THEN rr.zl
  8170. ELSE IFNULL(d.fZls, 0)
  8171. END
  8172. ELSE c.nzdls
  8173. END
  8174. )
  8175. END
  8176. ELSE 0
  8177. END
  8178. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8179. END
  8180. END )
  8181. , 3) 马77甲纸令
  8182. ")
  8183. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8184. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8185. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8186. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8187. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8188. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8189. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  8190. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8191. ->group("CASE
  8192. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8193. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8194. END,Name_WorkGroup")
  8195. ->buildSql();
  8196. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  8197. ->field("
  8198. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8199. ROUND(SUM(
  8200. CASE
  8201. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8202. THEN
  8203. CASE
  8204. WHEN a.cCyddxMc = '装配'
  8205. OR a.cCyddxMc LIKE '%正文%'
  8206. OR a.cCyddxMc LIKE '%答案%'
  8207. OR a.cCyddxMc LIKE '%卷%'
  8208. THEN
  8209. CASE
  8210. WHEN CASE
  8211. WHEN IFNULL(d.fZls, 0) < rr.zl
  8212. THEN rr.zl
  8213. ELSE IFNULL(d.fZls, 0)
  8214. END = 0
  8215. THEN c.nzdls
  8216. ELSE (
  8217. CASE
  8218. WHEN c.nzdls <
  8219. CASE
  8220. WHEN IFNULL(d.fZls, 0) < rr.zl
  8221. THEN rr.zl
  8222. ELSE IFNULL(d.fZls, 0)
  8223. END
  8224. THEN
  8225. CASE
  8226. WHEN IFNULL(d.fZls, 0) < rr.zl
  8227. THEN rr.zl
  8228. ELSE IFNULL(d.fZls, 0)
  8229. END
  8230. ELSE c.nzdls
  8231. END
  8232. )
  8233. END
  8234. ELSE 0
  8235. END
  8236. ELSE
  8237. CASE
  8238. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8239. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8240. CASE
  8241. WHEN a.cCyddxMc = '装配'
  8242. OR a.cCyddxMc LIKE '%正文%'
  8243. OR a.cCyddxMc LIKE '%答案%'
  8244. OR a.cCyddxMc LIKE '%卷%'
  8245. THEN
  8246. CASE
  8247. WHEN CASE
  8248. WHEN IFNULL(d.fZls, 0) < rr.zl
  8249. THEN rr.zl
  8250. ELSE IFNULL(d.fZls, 0)
  8251. END = 0
  8252. THEN c.nzdls
  8253. ELSE (
  8254. CASE
  8255. WHEN c.nzdls <
  8256. CASE
  8257. WHEN IFNULL(d.fZls, 0) < rr.zl
  8258. THEN rr.zl
  8259. ELSE IFNULL(d.fZls, 0)
  8260. END
  8261. THEN
  8262. CASE
  8263. WHEN IFNULL(d.fZls, 0) < rr.zl
  8264. THEN rr.zl
  8265. ELSE IFNULL(d.fZls, 0)
  8266. END
  8267. ELSE c.nzdls
  8268. END
  8269. )
  8270. END
  8271. ELSE 0
  8272. END
  8273. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8274. END
  8275. END )
  8276. , 3) 马55乙纸令
  8277. ")
  8278. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8279. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8280. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8281. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8282. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8283. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8284. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  8285. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8286. ->group("CASE
  8287. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8288. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8289. END,Name_WorkGroup")
  8290. ->buildSql();
  8291. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  8292. ->field("
  8293. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8294. ROUND(SUM(
  8295. CASE
  8296. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8297. THEN
  8298. CASE
  8299. WHEN a.cCyddxMc = '装配'
  8300. OR a.cCyddxMc LIKE '%正文%'
  8301. OR a.cCyddxMc LIKE '%答案%'
  8302. OR a.cCyddxMc LIKE '%卷%'
  8303. THEN
  8304. CASE
  8305. WHEN CASE
  8306. WHEN IFNULL(d.fZls, 0) < rr.zl
  8307. THEN rr.zl
  8308. ELSE IFNULL(d.fZls, 0)
  8309. END = 0
  8310. THEN c.nzdls
  8311. ELSE (
  8312. CASE
  8313. WHEN c.nzdls <
  8314. CASE
  8315. WHEN IFNULL(d.fZls, 0) < rr.zl
  8316. THEN rr.zl
  8317. ELSE IFNULL(d.fZls, 0)
  8318. END
  8319. THEN
  8320. CASE
  8321. WHEN IFNULL(d.fZls, 0) < rr.zl
  8322. THEN rr.zl
  8323. ELSE IFNULL(d.fZls, 0)
  8324. END
  8325. ELSE c.nzdls
  8326. END
  8327. )
  8328. END
  8329. ELSE 0
  8330. END
  8331. ELSE
  8332. CASE
  8333. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8334. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8335. CASE
  8336. WHEN a.cCyddxMc = '装配'
  8337. OR a.cCyddxMc LIKE '%正文%'
  8338. OR a.cCyddxMc LIKE '%答案%'
  8339. OR a.cCyddxMc LIKE '%卷%'
  8340. THEN
  8341. CASE
  8342. WHEN CASE
  8343. WHEN IFNULL(d.fZls, 0) < rr.zl
  8344. THEN rr.zl
  8345. ELSE IFNULL(d.fZls, 0)
  8346. END = 0
  8347. THEN c.nzdls
  8348. ELSE (
  8349. CASE
  8350. WHEN c.nzdls <
  8351. CASE
  8352. WHEN IFNULL(d.fZls, 0) < rr.zl
  8353. THEN rr.zl
  8354. ELSE IFNULL(d.fZls, 0)
  8355. END
  8356. THEN
  8357. CASE
  8358. WHEN IFNULL(d.fZls, 0) < rr.zl
  8359. THEN rr.zl
  8360. ELSE IFNULL(d.fZls, 0)
  8361. END
  8362. ELSE c.nzdls
  8363. END
  8364. )
  8365. END
  8366. ELSE 0
  8367. END
  8368. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8369. END
  8370. END )
  8371. , 3) 马66乙纸令
  8372. ")
  8373. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8374. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8375. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8376. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8377. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8378. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8379. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  8380. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8381. ->group("CASE
  8382. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8383. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8384. END,Name_WorkGroup")
  8385. ->buildSql();
  8386. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  8387. ->field("
  8388. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8389. ROUND(SUM(
  8390. CASE
  8391. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8392. THEN
  8393. CASE
  8394. WHEN a.cCyddxMc = '装配'
  8395. OR a.cCyddxMc LIKE '%正文%'
  8396. OR a.cCyddxMc LIKE '%答案%'
  8397. OR a.cCyddxMc LIKE '%卷%'
  8398. THEN
  8399. CASE
  8400. WHEN CASE
  8401. WHEN IFNULL(d.fZls, 0) < rr.zl
  8402. THEN rr.zl
  8403. ELSE IFNULL(d.fZls, 0)
  8404. END = 0
  8405. THEN c.nzdls
  8406. ELSE (
  8407. CASE
  8408. WHEN c.nzdls <
  8409. CASE
  8410. WHEN IFNULL(d.fZls, 0) < rr.zl
  8411. THEN rr.zl
  8412. ELSE IFNULL(d.fZls, 0)
  8413. END
  8414. THEN
  8415. CASE
  8416. WHEN IFNULL(d.fZls, 0) < rr.zl
  8417. THEN rr.zl
  8418. ELSE IFNULL(d.fZls, 0)
  8419. END
  8420. ELSE c.nzdls
  8421. END
  8422. )
  8423. END
  8424. ELSE 0
  8425. END
  8426. ELSE
  8427. CASE
  8428. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8429. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8430. CASE
  8431. WHEN a.cCyddxMc = '装配'
  8432. OR a.cCyddxMc LIKE '%正文%'
  8433. OR a.cCyddxMc LIKE '%答案%'
  8434. OR a.cCyddxMc LIKE '%卷%'
  8435. THEN
  8436. CASE
  8437. WHEN CASE
  8438. WHEN IFNULL(d.fZls, 0) < rr.zl
  8439. THEN rr.zl
  8440. ELSE IFNULL(d.fZls, 0)
  8441. END = 0
  8442. THEN c.nzdls
  8443. ELSE (
  8444. CASE
  8445. WHEN c.nzdls <
  8446. CASE
  8447. WHEN IFNULL(d.fZls, 0) < rr.zl
  8448. THEN rr.zl
  8449. ELSE IFNULL(d.fZls, 0)
  8450. END
  8451. THEN
  8452. CASE
  8453. WHEN IFNULL(d.fZls, 0) < rr.zl
  8454. THEN rr.zl
  8455. ELSE IFNULL(d.fZls, 0)
  8456. END
  8457. ELSE c.nzdls
  8458. END
  8459. )
  8460. END
  8461. ELSE 0
  8462. END
  8463. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8464. END
  8465. END )
  8466. , 3) 马77乙纸令
  8467. ")
  8468. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8469. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8470. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8471. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8472. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8473. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8474. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  8475. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8476. ->group("CASE
  8477. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8478. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8479. END,Name_WorkGroup")
  8480. ->buildSql();
  8481. $db = Db::table($A . 'a')
  8482. ->field("
  8483. DISTINCT DATE(A.RQ) rq,
  8484. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  8485. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  8486. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  8487. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  8488. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  8489. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  8490. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  8491. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  8492. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  8493. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  8494. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  8495. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  8496. ")
  8497. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  8498. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8499. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  8500. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  8501. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  8502. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  8503. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  8504. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  8505. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  8506. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  8507. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8508. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8509. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  8510. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  8511. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  8512. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  8513. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  8514. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  8515. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  8516. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  8517. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  8518. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  8519. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  8520. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  8521. ->group('rq')
  8522. ->buildSql();
  8523. $jd = Db::table($db . ' db')
  8524. ->field("
  8525. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8526. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  8527. ")
  8528. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->qianend_time()}' ")
  8529. ->group('MONTH(db.rq)')
  8530. ->select();
  8531. /**
  8532. * 簿册联动线纸令
  8533. */
  8534. $B = Db::table('cpjtfk')
  8535. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8536. ->field("
  8537. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8538. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  8539. ")
  8540. ->where('cbanzu','=','簿册机1号(甲班)')
  8541. ->group('drptdate,cbanzu')
  8542. ->buildSql();
  8543. $B1 = Db::table('cpjtfk')
  8544. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8545. ->field("
  8546. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8547. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  8548. ")
  8549. ->where('cbanzu','=','簿册机1号(乙班)')
  8550. ->group('drptdate,cbanzu')
  8551. ->buildSql();
  8552. $rr = Db::table('scyddx')->alias('r')
  8553. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  8554. ->group('r.ICYDID')
  8555. ->buildSql();
  8556. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  8557. ->field("
  8558. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8559. ROUND(SUM(
  8560. CASE
  8561. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8562. THEN
  8563. CASE
  8564. WHEN a.cCyddxMc = '装配'
  8565. OR a.cCyddxMc LIKE '%正文%'
  8566. OR a.cCyddxMc LIKE '%答案%'
  8567. OR a.cCyddxMc LIKE '%卷%'
  8568. THEN
  8569. CASE
  8570. WHEN CASE
  8571. WHEN IFNULL(d.fZls, 0) < rr.zl
  8572. THEN rr.zl
  8573. ELSE IFNULL(d.fZls, 0)
  8574. END = 0
  8575. THEN c.nzdls
  8576. ELSE (
  8577. CASE
  8578. WHEN c.nzdls <
  8579. CASE
  8580. WHEN IFNULL(d.fZls, 0) < rr.zl
  8581. THEN rr.zl
  8582. ELSE IFNULL(d.fZls, 0)
  8583. END
  8584. THEN
  8585. CASE
  8586. WHEN IFNULL(d.fZls, 0) < rr.zl
  8587. THEN rr.zl
  8588. ELSE IFNULL(d.fZls, 0)
  8589. END
  8590. ELSE c.nzdls
  8591. END
  8592. )
  8593. END
  8594. ELSE 0
  8595. END
  8596. ELSE
  8597. CASE
  8598. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8599. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8600. CASE
  8601. WHEN a.cCyddxMc = '装配'
  8602. OR a.cCyddxMc LIKE '%正文%'
  8603. OR a.cCyddxMc LIKE '%答案%'
  8604. OR a.cCyddxMc LIKE '%卷%'
  8605. THEN
  8606. CASE
  8607. WHEN CASE
  8608. WHEN IFNULL(d.fZls, 0) < rr.zl
  8609. THEN rr.zl
  8610. ELSE IFNULL(d.fZls, 0)
  8611. END = 0
  8612. THEN c.nzdls
  8613. ELSE (
  8614. CASE
  8615. WHEN c.nzdls <
  8616. CASE
  8617. WHEN IFNULL(d.fZls, 0) < rr.zl
  8618. THEN rr.zl
  8619. ELSE IFNULL(d.fZls, 0)
  8620. END
  8621. THEN
  8622. CASE
  8623. WHEN IFNULL(d.fZls, 0) < rr.zl
  8624. THEN rr.zl
  8625. ELSE IFNULL(d.fZls, 0)
  8626. END
  8627. ELSE c.nzdls
  8628. END
  8629. )
  8630. END
  8631. ELSE 0
  8632. END
  8633. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8634. END
  8635. END )
  8636. , 3) 簿11甲纸令
  8637. ")
  8638. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8639. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8640. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8641. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8642. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8643. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8644. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  8645. ->where('a.cTechName' ,'=','簿册联动')
  8646. ->group("CASE
  8647. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8648. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8649. END,Name_WorkGroup")
  8650. ->buildSql();
  8651. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  8652. ->field("
  8653. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8654. ROUND(SUM(
  8655. CASE
  8656. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8657. THEN
  8658. CASE
  8659. WHEN a.cCyddxMc = '装配'
  8660. OR a.cCyddxMc LIKE '%正文%'
  8661. OR a.cCyddxMc LIKE '%答案%'
  8662. OR a.cCyddxMc LIKE '%卷%'
  8663. THEN
  8664. CASE
  8665. WHEN CASE
  8666. WHEN IFNULL(d.fZls, 0) < rr.zl
  8667. THEN rr.zl
  8668. ELSE IFNULL(d.fZls, 0)
  8669. END = 0
  8670. THEN c.nzdls
  8671. ELSE (
  8672. CASE
  8673. WHEN c.nzdls <
  8674. CASE
  8675. WHEN IFNULL(d.fZls, 0) < rr.zl
  8676. THEN rr.zl
  8677. ELSE IFNULL(d.fZls, 0)
  8678. END
  8679. THEN
  8680. CASE
  8681. WHEN IFNULL(d.fZls, 0) < rr.zl
  8682. THEN rr.zl
  8683. ELSE IFNULL(d.fZls, 0)
  8684. END
  8685. ELSE c.nzdls
  8686. END
  8687. )
  8688. END
  8689. ELSE 0
  8690. END
  8691. ELSE
  8692. CASE
  8693. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8694. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8695. CASE
  8696. WHEN a.cCyddxMc = '装配'
  8697. OR a.cCyddxMc LIKE '%正文%'
  8698. OR a.cCyddxMc LIKE '%答案%'
  8699. OR a.cCyddxMc LIKE '%卷%'
  8700. THEN
  8701. CASE
  8702. WHEN CASE
  8703. WHEN IFNULL(d.fZls, 0) < rr.zl
  8704. THEN rr.zl
  8705. ELSE IFNULL(d.fZls, 0)
  8706. END = 0
  8707. THEN c.nzdls
  8708. ELSE (
  8709. CASE
  8710. WHEN c.nzdls <
  8711. CASE
  8712. WHEN IFNULL(d.fZls, 0) < rr.zl
  8713. THEN rr.zl
  8714. ELSE IFNULL(d.fZls, 0)
  8715. END
  8716. THEN
  8717. CASE
  8718. WHEN IFNULL(d.fZls, 0) < rr.zl
  8719. THEN rr.zl
  8720. ELSE IFNULL(d.fZls, 0)
  8721. END
  8722. ELSE c.nzdls
  8723. END
  8724. )
  8725. END
  8726. ELSE 0
  8727. END
  8728. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8729. END
  8730. END )
  8731. , 3) 簿11乙纸令
  8732. ")
  8733. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8734. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8735. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8736. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8737. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8738. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8739. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  8740. ->where('a.cTechName' ,'=','簿册联动')
  8741. ->group("CASE
  8742. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8743. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8744. END,Name_WorkGroup")
  8745. ->buildSql();
  8746. $db = Db::table($A . 'a')
  8747. ->field("
  8748. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  8749. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  8750. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  8751. ")
  8752. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  8753. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8754. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8755. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8756. ->group('rq')
  8757. ->buildSql();
  8758. $bc = Db::table($db . ' db')
  8759. ->field("
  8760. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8761. ROUND(sum(db.纸令), 0) as 簿册纸令
  8762. ")->where("db.RQ >= '{$this->qianstart_time()}'
  8763. AND db.RQ <= '{$this->qianend_time()}' ")
  8764. ->group('MONTH(db.rq)')
  8765. ->select();
  8766. // 创建一个结果数组
  8767. $result=[];
  8768. $result1 = [];
  8769. // 遍历第一个数组,并将数据加入结果数组
  8770. foreach ($jp as $val1) {
  8771. $month = $val1['日期'];
  8772. $data1 = $val1['精平纸令'];
  8773. if (!isset($result[$month])) {
  8774. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8775. }
  8776. if (!isset($result1[$month])) {
  8777. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8778. }
  8779. $result1[$month] += $data1; // 累加第一个数组的数据
  8780. }
  8781. // 遍历第二个数组,并将数据加入结果数组
  8782. foreach ($jd as $val2) {
  8783. $month = $val2['日期'];
  8784. $data1 = $val2['无线胶订纸令'];
  8785. if (!isset($result[$month])) {
  8786. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8787. }
  8788. if (!isset($result1[$month])) {
  8789. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8790. }
  8791. $result1[$month] += $data1; // 累加第二个数组的数据
  8792. }
  8793. foreach ($bc as $val2) {
  8794. $month = $val2['日期'];
  8795. $data1 = $val2['簿册纸令'];
  8796. if (!isset($result[$month])) {
  8797. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8798. }
  8799. if (!isset($result1[$month])) {
  8800. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8801. }
  8802. $result1[$month] += $data1; // 累加第二个数组的数据
  8803. }
  8804. foreach($result1 as $k=>$v){
  8805. $list['categories'][]=$k;
  8806. $list['series'][0]['name']='装订实物产量色令数';
  8807. $list['series'][0]['data'][]=$v;
  8808. }
  8809. $res['status']=0;
  8810. $res['msg']='';
  8811. $res['data']=$list;
  8812. $redis->set($redis_key, json_encode($result1));
  8813. // halt(json_decode($redis->get($redis_key),true));
  8814. return json_encode($result1);
  8815. }
  8816. //去年与当年--装订实物产量纸令 接口合并一起->接口调用
  8817. public function zdzl(){
  8818. $redis = redis();
  8819. $result_qian = json_decode($redis->get(md5('zdzlTwoYear')), true);
  8820. $result_qu = json_decode($redis->get(md5('zdzl2022')), true);
  8821. $result_dang = json_decode($redis->get(md5('zdzl_dang')), true);
  8822. // Merge all data
  8823. $result1 = array_merge($result_qian, $result_qu, $result_dang);
  8824. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8825. $currentYear = date("Y"); // Current year (2025)
  8826. $currentMonth = date("m"); // Current month (07)
  8827. $previousYear = $currentYear - 1; // 2024
  8828. $previousQianYear = $currentYear - 2; // 2023
  8829. // Initialize series with 0 values
  8830. $list['series'] = [
  8831. ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)],
  8832. ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)],
  8833. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)]
  8834. ];
  8835. foreach ($result1 as $k => $v) {
  8836. $yearMonth = explode('-', $k);
  8837. $year = $yearMonth[0];
  8838. $month = (int)$yearMonth[1];
  8839. $monthIndex = $month - 1;
  8840. if ($year == $previousQianYear) {
  8841. $list['series'][0]['data'][$monthIndex] += $v;
  8842. } elseif ($year == $previousYear) {
  8843. $list['series'][1]['data'][$monthIndex] += $v;
  8844. } elseif ($year == $currentYear) {
  8845. // Only add if month is current or past month
  8846. if ($month <= (int)$currentMonth) {
  8847. $list['series'][2]['data'][$monthIndex] += $v;
  8848. }
  8849. }
  8850. }
  8851. $res['status'] = 0;
  8852. $res['msg'] = '';
  8853. $res['data'] = $list;
  8854. return json_encode($res, JSON_UNESCAPED_UNICODE);
  8855. }
  8856. //年度承接量及完成百分比->缓存调用
  8857. public function ndcj_redis(){
  8858. $redis=redis();
  8859. $redis_key = md5('ndcj_redis');
  8860. $name='年度承接产量(万色令)';
  8861. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8862. $result = Db::query("SELECT
  8863. round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度
  8864. 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
  8865. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  8866. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  8867. WHERE `ord`.`icydstate` > 0 GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8868. GROUP BY year(t5.rq) ) M");
  8869. // WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8870. foreach ($result as $v) {
  8871. $list[0]['name'] = ' ';
  8872. $list[0]['value'] = round($v['色令']);
  8873. $list[1]['name'] = ' ';
  8874. $list[1]['value'] = round($v['常量']);
  8875. $list[2]['name'] = ' ';
  8876. $list[2]['value'] = round($v['色令百分比']);
  8877. }
  8878. $res['status'] = 0;
  8879. $res['msg'] = '';
  8880. $res['data'] = $list;
  8881. $redis->set($redis_key, json_encode($res));
  8882. // halt(json_decode($redis->get($redis_key),true));
  8883. return json_encode($res);
  8884. }
  8885. //年度承接量及完成百分比->接口调用
  8886. public function ndcj(){
  8887. $redis=redis();
  8888. $redis_key = md5('ndcj_redis');
  8889. $redis_data = $redis->get($redis_key);
  8890. return $redis_data;
  8891. }
  8892. //年度完成实物产量->缓存调用
  8893. public function wcsw_redis(){
  8894. $redis=redis();
  8895. $redis_key = md5('wcsw_redis');
  8896. $name='年度完成实物产量(万色令)';
  8897. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8898. $result = Db::query("SELECT
  8899. round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量
  8900. from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数'
  8901. FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL
  8902. FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a`
  8903. 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
  8904. 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(乙班)','小森八色(甲班)','小森八色(乙班)')
  8905. 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`
  8906. WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T
  8907. GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL
  8908. 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号机(乙班)')
  8909. 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`
  8910. WHERE `cMachineName` IN ('如钰01号机','BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T
  8911. GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL
  8912. 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(乙班)','报刊轮转(甲班)','报刊轮转(乙班)')
  8913. 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`
  8914. WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号') ) )T
  8915. GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}')
  8916. GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m");
  8917. if($result){
  8918. foreach ($result as $v) {
  8919. $list[0]['name'] = ' ';
  8920. $list[0]['value'] = round($v['色令数求和']);
  8921. $list[1]['name'] = ' ';
  8922. $list[1]['value'] = round($v['常量']);
  8923. $list[2]['name'] = ' ';
  8924. $list[2]['value'] = round($v['完成率']);
  8925. }
  8926. $res['status'] = 0;
  8927. $res['msg'] = '';
  8928. $res['data'] = $list;
  8929. $redis->set($redis_key, json_encode($res));
  8930. // halt(json_decode($redis->get($redis_key),true));
  8931. return json_encode($res);
  8932. }
  8933. }
  8934. //年度完成实物产量->接口调用
  8935. public function wcsw(){
  8936. $redis=redis();
  8937. $redis_key = md5('wcsw_redis');
  8938. $redis_data = $redis->get($redis_key);
  8939. return $redis_data;
  8940. die;
  8941. $redis=redis();
  8942. // $redis_key = md5('wcsw_redis');
  8943. // $redis_key = md5('yssl_redis');
  8944. // $redis_data = $redis->get($redis_key);
  8945. // $result=json_decode($redis_data,true)['data']['series'][1]['data'];
  8946. $result = json_decode($redis->get(md5('yssl_redis')),true)['data']['series'][1]['data'];
  8947. $name='年度完成实物产量(万色令)';
  8948. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8949. $num=0;
  8950. foreach($result as $v){
  8951. $num+=$v;
  8952. }
  8953. $num=$num/10000;
  8954. $list[0]['name'] = ' ';
  8955. $list[0]['value'] = round($num);
  8956. $list[1]['name'] = ' ';
  8957. $list[1]['value'] = round($yu);
  8958. $list[2]['name'] = ' ';
  8959. $list[2]['value'] = round($num/$yu*100);
  8960. $res['status'] = 0;
  8961. $res['msg'] = '';
  8962. $res['data'] = $list;
  8963. return json_encode($res);
  8964. // return $redis_data;
  8965. }
  8966. //年度销售额及百分比->缓存调用
  8967. public function ndxs_redis(){
  8968. $redis=redis();
  8969. $redis_key = md5('ndxs_redis');
  8970. $name='年度销售额(万元)';
  8971. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8972. $result = Db::query("SELECT round( m.sum_nwshjje/10000/$yu*100,0) 销售收入百分比,round( m.sum_nwshjje/10000 ) 销售收入,$yu 常量
  8973. FROM(SELECT SUM( zb.sum_nwshjje ) sum_nwshjje,DCYRQ
  8974. FROM(SELECT MCYD.DCYRQ AS DCYRQ,CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje,MCYD.icydid
  8975. FROM MCYD LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid WHERE MCYD.ICYDSTATE > 0 ) zb
  8976. WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}'
  8977. GROUP BY YEAR ( zb.DCYRQ ) ) M
  8978. GROUP BY YEAR (DCYRQ),( m.sum_nwshjje )");
  8979. foreach ($result as $v) {
  8980. $list[0]['name'] = ' ';
  8981. $list[0]['value'] = round($v['销售收入']);
  8982. $list[1]['name'] = ' ';
  8983. $list[1]['value'] = round($v['常量']);
  8984. $list[2]['name'] = ' ';
  8985. $list[2]['value'] = round($v['销售收入百分比']);
  8986. }
  8987. $res['status'] = 0;
  8988. $res['msg'] = '';
  8989. $res['data'] = $list;
  8990. $redis->set($redis_key, json_encode($res));
  8991. // halt(json_decode($redis->get($redis_key),true));
  8992. return json_encode($res);
  8993. }
  8994. //年度销售额及百分比->接口调用
  8995. public function ndxs(){
  8996. $redis=redis();
  8997. $redis_key = md5('ndxs_redis');
  8998. $redis_data = $redis->get($redis_key);
  8999. return $redis_data;
  9000. }
  9001. //当年业务模块百分比->缓存调用
  9002. public function yewujg2023_redis(){
  9003. $redis=redis();
  9004. $redis_key = md5('yewujg2023_redis');
  9005. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  9006. $tj = Db::table('tjob')
  9007. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  9008. ->group('icydid, ldz, nclje, itax')
  9009. ->where('lzfbs', '=', 0)->buildSql();
  9010. return Db::table($table)->alias('ord')
  9011. ->field($field)
  9012. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  9013. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  9014. ->where('ord.icydstate', '>', 0)
  9015. ->where($groupBy)
  9016. ->buildSql();
  9017. }
  9018. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  9019. $ObjMatier = Db::table('scyddx')
  9020. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  9021. ->group('icydid')->buildSql();
  9022. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9023. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9024. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  9025. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9026. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9027. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  9028. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9029. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9030. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  9031. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9032. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9033. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  9034. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9035. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9036. ObjMatier.nysls AS nysls,
  9037. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  9038. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9039. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9040. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  9041. // 期刊色令
  9042. $t = Db::table($dd . ' dd')
  9043. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  9044. ->group('dd.cyrq')->buildSql();
  9045. // 集团出版社色令
  9046. $t1 = Db::table($tq . ' t')
  9047. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  9048. ->group('t.cyrq')->buildSql();
  9049. // 集团教材内色令
  9050. $t2 = Db::table($tt . ' t')
  9051. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  9052. ->group('t.cyrq')->buildSql();
  9053. // 集团教材外色令
  9054. $t3 = Db::table($ttt . ' t')
  9055. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  9056. ->group('t.cyrq')->buildSql();
  9057. // 外贸订单纸令、外贸订单色令
  9058. $t4 = Db::table($tttt . ' t')
  9059. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  9060. ->group('t.cyrq')->buildSql();
  9061. // 总色令
  9062. $t5 = Db::table($ttttt . ' t')
  9063. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  9064. ->group('t.cyrq')->buildSql();
  9065. $db = Db::table($a . ' a')
  9066. ->field("
  9067. DISTINCT a.dcyrq AS dcyrq,
  9068. t.期刊色令 AS 期刊色令,
  9069. t1.集团出版社色令 AS 集团出版社色令,
  9070. t2.集团教材内色令 AS 集团教材内色令,
  9071. t3.集团教材外色令 AS 集团教材外色令,
  9072. t4.外贸订单色令 AS 外贸订单色令,
  9073. t4.外贸订单纸令 AS 外贸订单纸令,
  9074. t5.总色令 AS 总色令"
  9075. )
  9076. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  9077. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  9078. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  9079. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  9080. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  9081. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  9082. ->group('date(a.dcyrq)')->buildSql();
  9083. $sql_final = Db::table($db . ' db')
  9084. ->field("
  9085. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  9086. CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) -
  9087. IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0))
  9088. AS DECIMAL(10, 2)))) AS 社会图书,
  9089. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  9090. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  9091. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  9092. ")
  9093. ->whereTime('dcyrq', 'between', [$this->start_time(), $this->end_time()])
  9094. ->group('year(db.dcyrq)')->find();
  9095. $i=0;
  9096. foreach($sql_final as $v){
  9097. $list[$i]['name']=' ';
  9098. $list[$i]['value']=round($v);
  9099. $i++;
  9100. }
  9101. $res['status']=0;
  9102. $res['msg']='';
  9103. $res['data']=$list;
  9104. $redis->set($redis_key, json_encode($res));
  9105. // halt(json_decode($redis->get($redis_key),true));
  9106. return json_encode($res);
  9107. }
  9108. //当年业务模块百分比->接口调用
  9109. public function yewujg2023(){
  9110. $redis=redis();
  9111. $redis_key = md5('yewujg2023_redis');
  9112. $redis_data = $redis->get($redis_key);
  9113. return $redis_data;
  9114. }
  9115. //去年业务模块百分比->缓存调用
  9116. public function yewujg2022_redis(){
  9117. $redis=redis();
  9118. $redis_key = md5('yewujg2022_redis');
  9119. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  9120. $tj = Db::table('tjob')
  9121. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  9122. ->group('icydid, ldz, nclje, itax')
  9123. ->where('lzfbs', '=', 0)->buildSql();
  9124. return Db::table($table)->alias('ord')
  9125. ->field($field)
  9126. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  9127. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  9128. ->where('ord.icydstate', '>', 0)
  9129. ->where($groupBy)
  9130. ->buildSql();
  9131. }
  9132. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  9133. $ObjMatier = Db::table('scyddx')
  9134. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  9135. ->group('icydid')->buildSql();
  9136. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9137. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9138. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  9139. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9140. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9141. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  9142. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9143. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9144. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  9145. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9146. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9147. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  9148. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9149. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9150. ObjMatier.nysls AS nysls,
  9151. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  9152. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9153. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9154. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  9155. // 期刊色令
  9156. $t = Db::table($dd . ' dd')
  9157. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  9158. ->group('dd.cyrq')->buildSql();
  9159. // 集团出版社色令
  9160. $t1 = Db::table($tq . ' t')
  9161. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  9162. ->group('t.cyrq')->buildSql();
  9163. // 集团教材内色令
  9164. $t2 = Db::table($tt . ' t')
  9165. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  9166. ->group('t.cyrq')->buildSql();
  9167. // 集团教材外色令
  9168. $t3 = Db::table($ttt . ' t')
  9169. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  9170. ->group('t.cyrq')->buildSql();
  9171. // 外贸订单纸令、外贸订单色令
  9172. $t4 = Db::table($tttt . ' t')
  9173. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  9174. ->group('t.cyrq')->buildSql();
  9175. // 总色令
  9176. $t5 = Db::table($ttttt . ' t')
  9177. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  9178. ->group('t.cyrq')->buildSql();
  9179. $db = Db::table($a . ' a')
  9180. ->field("
  9181. DISTINCT a.dcyrq AS dcyrq,
  9182. t.期刊色令 AS 期刊色令,
  9183. t1.集团出版社色令 AS 集团出版社色令,
  9184. t2.集团教材内色令 AS 集团教材内色令,
  9185. t3.集团教材外色令 AS 集团教材外色令,
  9186. t4.外贸订单色令 AS 外贸订单色令,
  9187. t4.外贸订单纸令 AS 外贸订单纸令,
  9188. t5.总色令 AS 总色令"
  9189. )
  9190. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  9191. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  9192. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  9193. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  9194. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  9195. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  9196. ->group('date(a.dcyrq)')->buildSql();
  9197. $sql_final = Db::table($db . ' db')
  9198. ->field("
  9199. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  9200. 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 社会图书,
  9201. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  9202. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  9203. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  9204. ")
  9205. ->whereTime('dcyrq', 'between', [$this->qstart_time(), $this->qend_time()])
  9206. ->group('year(db.dcyrq)')->find();
  9207. $i=0;
  9208. foreach($sql_final as $v){
  9209. $list[$i]['name']=' ';
  9210. $list[$i]['value']=round($v);
  9211. $i++;
  9212. }
  9213. $res['status']=0;
  9214. $res['msg']='';
  9215. $res['data']=$list;
  9216. $redis->set($redis_key, json_encode($res));
  9217. // halt(json_decode($redis->get($redis_key),true));
  9218. return json_encode($res);
  9219. }
  9220. //去年业务模块百分比->接口调用
  9221. public function yewujg2022(){
  9222. $redis=redis();
  9223. $redis_key = md5('yewujg2022_redis');
  9224. $redis_data = $redis->get($redis_key);
  9225. return $redis_data;
  9226. }
  9227. /**
  9228. * 业务总览 第一屏 第二页
  9229. */
  9230. //轮转机每月生产趋势 纸令->缓存调用
  9231. public function lunzhuanzl_redis(){
  9232. $redis=redis();
  9233. $redis_key = md5('lunzhuanzl_redis');
  9234. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9235. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  9236. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  9237. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  9238. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9239. ->union(function ($query) {
  9240. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9241. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9242. ->whereIn('cMachineName', ['标规小森商轮1号',
  9243. '标规小森商轮2号', '大规小森商轮1号',
  9244. '大规三菱商轮1号', '标规三菱商轮1号',
  9245. '标规三菱商轮2号', '标规204胶轮1号',
  9246. '大规海德堡1号', '标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号']);
  9247. }, true)->buildSql();
  9248. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9249. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9250. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9251. })->buildSql();
  9252. //轮转纸令合计
  9253. $subQuery3 = Db::table($subQuery3_child . 'T')
  9254. ->field('rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjls ) nnRotationSL ')
  9255. ->group('rq')->buildSql();
  9256. $subQuery1_5 = Db::table($subQuery . 'A')
  9257. ->field('DISTINCT A.RQ,P.nnRotationSL AS nnRotationSL')
  9258. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9259. ->buildSql();
  9260. $sql_final = Db::table($subQuery1_5 . ' db')
  9261. ->field("
  9262. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9263. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9264. ")
  9265. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9266. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9267. ->select();
  9268. // 初始化数据
  9269. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9270. $currentYear = date("Y"); // 当前年份
  9271. $currentMonth = date("m"); // 当前月份
  9272. $previousYear = (int)$currentYear - 1; // 去年
  9273. $previousTwoYear = (int)$currentYear - 2; // 前年
  9274. // 为前年、去年和今年创建数据数组,初始值为0
  9275. $list['series'][0]['name'] = $previousTwoYear . '年';
  9276. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9277. $list['series'][1]['name'] = $previousYear . '年';
  9278. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9279. $list['series'][2]['name'] = $currentYear . '年';
  9280. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9281. // 遍历查询结果
  9282. foreach ($sql_final as $v) {
  9283. // 获取年份和月份
  9284. $year = substr($v['rq'], 0, 4);
  9285. $month = substr($v['rq'], 5, 2);
  9286. // 如果是前两年的数据
  9287. if ($year == $previousTwoYear) {
  9288. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9289. }
  9290. // 如果是去年的数据
  9291. if ($year == $previousYear) {
  9292. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9293. }
  9294. // 如果是今年的数据
  9295. if ($year == $currentYear) {
  9296. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9297. }
  9298. }
  9299. $res['status'] = 0;
  9300. $res['msg'] = '';
  9301. $res['data'] = $list;
  9302. $redis->set($redis_key, json_encode($res));
  9303. return json_encode($res);
  9304. }
  9305. //轮转机每月生产趋势 纸令->接口调用
  9306. public function lunzhuanzl(){
  9307. $redis=redis();
  9308. $redis_key = md5('lunzhuanzl_redis');
  9309. $redis_data = $redis->get($redis_key);
  9310. return $redis_data;
  9311. }
  9312. //四色机每月生产趋势 纸令->缓存调用
  9313. public function sisejizl_redis(){
  9314. $redis=redis();
  9315. $redis_key = md5('sisejizl_redis');
  9316. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9317. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9318. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9319. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9320. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9321. ->union(function ($query) {
  9322. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl')
  9323. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9324. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9325. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9326. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9327. '小森八色01号机','小森八色02号机']);
  9328. }, true)->buildSql();
  9329. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9330. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9331. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9332. })->buildSql();
  9333. //四色机纸令合计
  9334. $subQuery1 = Db::table($subQuery1_child . 'T')
  9335. ->field('rq,SUM( fsjls ) nFourColorSL')
  9336. ->group('rq')->buildSql();
  9337. $subQuery1_5 = Db::table($subQuery . 'A')
  9338. ->field('DISTINCT A.RQ,B.nFourColorSL AS nFourColorSL')
  9339. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9340. ->buildSql();
  9341. $sql_final = Db::table($subQuery1_5 . ' db')
  9342. ->field("
  9343. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9344. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9345. ")
  9346. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9347. // ->group('MONTH(db.RQ)')
  9348. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9349. ->select();
  9350. // 初始化数据
  9351. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9352. $currentYear = date("Y"); // 当前年份
  9353. $currentMonth = date("m"); // 当前月份
  9354. $previousYear = (int)$currentYear - 1; // 去年
  9355. $previousTwoYear = (int)$currentYear - 2; // 前年
  9356. // 为前年、去年和今年创建数据数组,初始值为0
  9357. $list['series'][0]['name'] = $previousTwoYear . '年';
  9358. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9359. $list['series'][1]['name'] = $previousYear . '年';
  9360. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9361. $list['series'][2]['name'] = $currentYear . '年';
  9362. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9363. // 遍历查询结果
  9364. foreach ($sql_final as $v) {
  9365. // 获取年份和月份
  9366. $year = substr($v['rq'], 0, 4);
  9367. $month = substr($v['rq'], 5, 2);
  9368. // 如果是前两年的数据
  9369. if ($year == $previousTwoYear) {
  9370. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9371. }
  9372. // 如果是去年的数据
  9373. if ($year == $previousYear) {
  9374. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9375. }
  9376. // 如果是今年的数据
  9377. if ($year == $currentYear) {
  9378. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9379. }
  9380. }
  9381. $res['status'] = 0;
  9382. $res['msg'] = '';
  9383. $res['data'] = $list;
  9384. $redis->set($redis_key, json_encode($res));
  9385. return json_encode($res);
  9386. }
  9387. //四色机每月生产趋势 纸令->接口调用
  9388. public function sisejizl(){
  9389. $redis=redis();
  9390. $redis_key = md5('sisejizl_redis');
  9391. $redis_data = $redis->get($redis_key);
  9392. return $redis_data;
  9393. }
  9394. //BB机每月生产趋势 纸令->缓存调用
  9395. public function bbjzl_redis(){
  9396. $redis=redis();
  9397. $redis_key = md5('bbjzl_redis');
  9398. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9399. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  9400. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  9401. 'BB机5号(甲班)','BB机5号(乙班)',
  9402. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  9403. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9404. ->union(function ($query) {
  9405. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9406. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9407. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  9408. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  9409. }, true)->buildSql();
  9410. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9411. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9412. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9413. })->buildSql();
  9414. //BB机纸令合计
  9415. $subQuery2 = Db::table($subQuery2_child . 'T')
  9416. ->field('rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjls ) nBBSL')
  9417. ->group('rq')->buildSql();
  9418. $subQuery1_5 = Db::table($subQuery . 'A')
  9419. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL')
  9420. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9421. ->buildSql();
  9422. $sql_final = Db::table($subQuery1_5 . ' db')
  9423. ->field("
  9424. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9425. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9426. ")
  9427. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9428. // ->group('MONTH(db.RQ)')
  9429. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9430. ->select();
  9431. // 初始化数据
  9432. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9433. $currentYear = date("Y"); // 当前年份
  9434. $currentMonth = date("m"); // 当前月份
  9435. $previousYear = (int)$currentYear - 1; // 去年
  9436. $previousTwoYear = (int)$currentYear - 2; // 前年
  9437. // 为前年、去年和今年创建数据数组,初始值为0
  9438. $list['series'][0]['name'] = $previousTwoYear . '年';
  9439. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9440. $list['series'][1]['name'] = $previousYear . '年';
  9441. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9442. $list['series'][2]['name'] = $currentYear . '年';
  9443. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9444. // 遍历查询结果
  9445. foreach ($sql_final as $v) {
  9446. // 获取年份和月份
  9447. $year = substr($v['rq'], 0, 4);
  9448. $month = substr($v['rq'], 5, 2);
  9449. // 如果是前两年的数据
  9450. if ($year == $previousTwoYear) {
  9451. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9452. }
  9453. // 如果是去年的数据
  9454. if ($year == $previousYear) {
  9455. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9456. }
  9457. // 如果是今年的数据
  9458. if ($year == $currentYear) {
  9459. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9460. }
  9461. }
  9462. $res['status'] = 0;
  9463. $res['msg'] = '';
  9464. $res['data'] = $list;
  9465. $redis->set($redis_key, json_encode($res));
  9466. return json_encode($res);
  9467. }
  9468. //BB机每月生产趋势 纸令->接口调用
  9469. public function bbjzl(){
  9470. $redis=redis();
  9471. $redis_key = md5('bbjzl_redis');
  9472. $redis_data = $redis->get($redis_key);
  9473. return $redis_data;
  9474. }
  9475. //轮转机每月生产趋势 色令->缓存调用
  9476. public function lunzhuan_redis(){
  9477. $redis=redis();
  9478. $redis_key = md5('lunzhuan_redis');
  9479. //首先定义了起始时间和结束时间
  9480. //根据查询条件查出色令数据
  9481. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9482. ->whereIn('cbzmc', [
  9483. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  9484. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  9485. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  9486. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9487. ->union(function ($query) {
  9488. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9489. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9490. ->whereIn('cMachineName', ['标规小森商轮1号',
  9491. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  9492. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号','标规北人轮转1号']);
  9493. }, true)
  9494. ->buildSql();
  9495. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9496. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9497. ->union(function ($query) {
  9498. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9499. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9500. })->buildSql();
  9501. //查询每天的数据
  9502. $subQuery3 = Db::table($subQuery3_child . 'T')
  9503. ->field('rq,SUM( fsjsl ) nnRotationSL ')
  9504. ->group('rq')
  9505. ->buildSql();
  9506. //按当天日期进行分组 累计相加当天数据
  9507. $subQuery1_5 = Db::table($subQuery . 'A')
  9508. ->field('DISTINCT DATE(A.RQ) RQ,sum(P.nnRotationSL) AS nnRotationSL')
  9509. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9510. ->group('RQ')
  9511. ->buildSql();
  9512. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nnRotationSL )) AS '轮转色令合计'
  9513. $sql_final = Db::table($subQuery1_5 . ' db')
  9514. ->field("
  9515. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9516. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9517. ")
  9518. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9519. // ->group('MONTH(db.RQ)')
  9520. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9521. ->select();
  9522. // 初始化数据
  9523. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9524. $currentYear = date("Y"); // 当前年份
  9525. $currentMonth = date("m"); // 当前月份
  9526. $previousYear = (int)$currentYear - 1; // 去年
  9527. $previousTwoYear = (int)$currentYear - 2; // 前年
  9528. // 为前年、去年和今年创建数据数组,初始值为0
  9529. $list['series'][0]['name'] = $previousTwoYear . '年';
  9530. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9531. $list['series'][1]['name'] = $previousYear . '年';
  9532. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9533. $list['series'][2]['name'] = $currentYear . '年';
  9534. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9535. // 遍历查询结果
  9536. foreach ($sql_final as $v) {
  9537. // 获取年份和月份
  9538. $year = substr($v['rq'], 0, 4);
  9539. $month = substr($v['rq'], 5, 2);
  9540. // 如果是前两年的数据
  9541. if ($year == $previousTwoYear) {
  9542. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9543. }
  9544. // 如果是去年的数据
  9545. if ($year == $previousYear) {
  9546. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9547. }
  9548. // 如果是今年的数据
  9549. if ($year == $currentYear) {
  9550. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9551. }
  9552. }
  9553. $res['status'] = 0;
  9554. $res['msg'] = '';
  9555. $res['data'] = $list;
  9556. $redis->set($redis_key, json_encode($res));
  9557. return json_encode($res);
  9558. }
  9559. //轮转机每月生产趋势 色令->接口调用
  9560. public function lunzhuan(){
  9561. $redis=redis();
  9562. $redis_key = md5('lunzhuan_redis');
  9563. $redis_data = $redis->get($redis_key);
  9564. return $redis_data;
  9565. }
  9566. //四色机每月生产趋势 色令->缓存调用
  9567. public function siseji_redis(){
  9568. $redis=redis();
  9569. $redis_key = md5('siseji_redis');
  9570. //根据查询条件查出色令数据
  9571. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9572. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9573. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9574. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9575. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9576. ->union(function ($query) {
  9577. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  9578. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9579. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9580. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9581. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9582. '小森八色01号机','小森八色02号机']);
  9583. }, true)->buildSql();
  9584. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9585. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9586. ->union(function ($query) {
  9587. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9588. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9589. })->buildSql();
  9590. //查询每天的数据
  9591. $subQuery1 = Db::table($subQuery1_child . 'T')
  9592. ->field('rq,SUM( fsjsl ) nFourColorSL')
  9593. ->group('rq')->buildSql();
  9594. //按当天日期进行分组 累计相加当天数据
  9595. $subQuery1_5 = Db::table($subQuery . 'A')
  9596. ->field('
  9597. DISTINCT DATE(A.RQ) RQ,
  9598. sum(B.nFourColorSL) AS nFourColorSL
  9599. ')
  9600. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9601. ->group('RQ')
  9602. ->buildSql();
  9603. //按每个月进行查询 累计相加每月数据
  9604. $sql_final = Db::table($subQuery1_5 . ' db')
  9605. ->field("
  9606. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9607. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9608. ")
  9609. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9610. // ->group('MONTH(db.RQ)')
  9611. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9612. ->select();
  9613. // 初始化数据
  9614. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9615. $currentYear = date("Y"); // 当前年份
  9616. $currentMonth = date("m"); // 当前月份
  9617. $previousYear = (int)$currentYear - 1; // 去年
  9618. $previousTwoYear = (int)$currentYear - 2; // 前年
  9619. // 为前年、去年和今年创建数据数组,初始值为0
  9620. $list['series'][0]['name'] = $previousTwoYear . '年';
  9621. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9622. $list['series'][1]['name'] = $previousYear . '年';
  9623. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9624. $list['series'][2]['name'] = $currentYear . '年';
  9625. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9626. // 遍历查询结果
  9627. foreach ($sql_final as $v) {
  9628. // 获取年份和月份
  9629. $year = substr($v['rq'], 0, 4);
  9630. $month = substr($v['rq'], 5, 2);
  9631. // 如果是前两年的数据
  9632. if ($year == $previousTwoYear) {
  9633. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9634. }
  9635. // 如果是去年的数据
  9636. if ($year == $previousYear) {
  9637. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9638. }
  9639. // 如果是今年的数据
  9640. if ($year == $currentYear) {
  9641. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9642. }
  9643. }
  9644. $res['status'] = 0;
  9645. $res['msg'] = '';
  9646. $res['data'] = $list;
  9647. $redis->set($redis_key, json_encode($res));
  9648. return json_encode($res);
  9649. }
  9650. //四色机每月生产趋势 色令->接口调用
  9651. public function siseji(){
  9652. $redis=redis();
  9653. $redis_key = md5('siseji_redis');
  9654. $redis_data = $redis->get($redis_key);
  9655. return $redis_data;
  9656. }
  9657. //BB机每月生产趋势 色令->缓存调用
  9658. public function bbj_redis(){
  9659. $redis=redis();
  9660. $redis_key = md5('bbj_redis');
  9661. //首先定义了起始时间和结束时间
  9662. //根据查询条件查出色令数据
  9663. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9664. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  9665. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  9666. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  9667. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9668. ->union(function ($query) {
  9669. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9670. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9671. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  9672. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  9673. }, true)->buildSql();
  9674. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9675. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9676. ->union(function ($query) {
  9677. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9678. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9679. })->buildSql();
  9680. //查询每天的数据
  9681. $subQuery2 = Db::table($subQuery2_child . 'T')
  9682. ->field('rq,SUM( fsjsl ) nBBSL')
  9683. ->group('rq')->buildSql();
  9684. //按当天日期进行分组 累计相加当天数据
  9685. $subQuery1_5 = Db::table($subQuery . 'A')
  9686. ->field('DISTINCT DATE(A.RQ) RQ,sum(h.nBBSL) AS nBBSL')
  9687. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9688. ->group('RQ')
  9689. ->buildSql();
  9690. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nBBSL )) AS '单双色机(BB机)色令合计'
  9691. $sql_final = Db::table($subQuery1_5 . ' db')
  9692. ->field("
  9693. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9694. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9695. ")
  9696. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9697. // ->group('MONTH(db.RQ)')
  9698. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9699. ->order('db.RQ', 'asc')
  9700. ->select();
  9701. // 初始化数据
  9702. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9703. $currentYear = date("Y"); // 当前年份
  9704. $currentMonth = date("m"); // 当前月份
  9705. $previousYear = (int)$currentYear - 1; // 去年
  9706. $previousTwoYear = (int)$currentYear - 2; // 前年
  9707. // 为前年、去年和今年创建数据数组,初始值为0
  9708. $list['series'][0]['name'] = $previousTwoYear . '年';
  9709. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9710. $list['series'][1]['name'] = $previousYear . '年';
  9711. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9712. $list['series'][2]['name'] = $currentYear . '年';
  9713. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9714. // 遍历查询结果
  9715. foreach ($sql_final as $v) {
  9716. // 获取年份和月份
  9717. $year = substr($v['rq'], 0, 4);
  9718. $month = substr($v['rq'], 5, 2);
  9719. // 如果是前两年的数据
  9720. if ($year == $previousTwoYear) {
  9721. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9722. }
  9723. // 如果是去年的数据
  9724. if ($year == $previousYear) {
  9725. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9726. }
  9727. // 如果是今年的数据
  9728. if ($year == $currentYear) {
  9729. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9730. }
  9731. }
  9732. $res['status'] = 0;
  9733. $res['msg'] = '';
  9734. $res['data'] = $list;
  9735. $redis->set($redis_key, json_encode($res));
  9736. return json_encode($res);
  9737. }
  9738. //BB机每月生产趋势 色令->接口调用
  9739. public function bbj(){
  9740. $redis=redis();
  9741. $redis_key = md5('bbj_redis');
  9742. $redis_data = $redis->get($redis_key);
  9743. return $redis_data;
  9744. }
  9745. //胶订纸令->缓存调用
  9746. public function jdzl_redis(){
  9747. $redis=redis();
  9748. $redis_key = md5('jdzl_redis');
  9749. //首先定义了起始时间和结束时间
  9750. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  9751. ->union(function ($query) {
  9752. $query->table('scDayRpt_Teams')->alias('b')
  9753. ->field("DISTINCT DATE_FORMAT(
  9754. CASE
  9755. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  9756. ELSE b.dOnDuty
  9757. END,
  9758. '%Y-%m-%d'
  9759. ) AS RQ");
  9760. }, true)
  9761. ->buildSql();
  9762. $B = Db::table('cpjtfk')
  9763. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9764. ->field("
  9765. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9766. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  9767. ")
  9768. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  9769. ->group('drptdate,cbanzu')
  9770. ->buildSql();
  9771. $B1 = Db::table('cpjtfk')
  9772. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9773. ->field("
  9774. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9775. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  9776. ")
  9777. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  9778. ->group('drptdate,cbanzu')
  9779. ->buildSql();
  9780. $C = Db::table('cpjtfk')
  9781. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9782. ->field("
  9783. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9784. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  9785. ")
  9786. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  9787. ->group('drptdate,cbanzu')
  9788. ->buildSql();
  9789. $C1 = Db::table('cpjtfk')
  9790. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9791. ->field("
  9792. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9793. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  9794. ")
  9795. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  9796. ->group('drptdate,cbanzu')
  9797. ->buildSql();
  9798. $D = Db::table('cpjtfk')
  9799. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9800. ->field("
  9801. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9802. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  9803. ")
  9804. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  9805. ->group('drptdate,cbanzu')
  9806. ->buildSql();
  9807. $D1 = Db::table('cpjtfk')
  9808. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9809. ->field("
  9810. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9811. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  9812. ")
  9813. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  9814. ->group('drptdate,cbanzu')
  9815. ->buildSql();
  9816. $E = Db::table('cpjtfk')
  9817. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9818. ->field("
  9819. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9820. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  9821. ")
  9822. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  9823. ->group('drptdate,cbanzu')
  9824. ->buildSql();
  9825. $E1 = Db::table('cpjtfk')
  9826. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9827. ->field("
  9828. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9829. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  9830. ")
  9831. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  9832. ->group('drptdate,cbanzu')
  9833. ->buildSql();
  9834. $F = Db::table('cpjtfk')
  9835. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9836. ->field("
  9837. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9838. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  9839. ")
  9840. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  9841. ->group('drptdate,cbanzu')
  9842. ->buildSql();
  9843. $F1 = Db::table('cpjtfk')
  9844. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9845. ->field("
  9846. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9847. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  9848. ")
  9849. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  9850. ->group('drptdate,cbanzu')
  9851. ->buildSql();
  9852. $rr = Db::table('scyddx')->alias('r')
  9853. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  9854. ->group('r.ICYDID')
  9855. ->buildSql();
  9856. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  9857. ->field("
  9858. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9859. ROUND(SUM(
  9860. CASE
  9861. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9862. THEN CASE WHEN a.cCyddxMc = '装配'
  9863. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9864. THEN CASE
  9865. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9866. END = 0 THEN c.nzdls
  9867. ELSE ( CASE
  9868. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9869. END
  9870. THEN CASE
  9871. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9872. END ELSE c.nzdls END
  9873. ) END ELSE 0 END
  9874. ELSE CASE
  9875. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9876. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9877. CASE WHEN a.cCyddxMc = '装配'
  9878. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9879. THEN CASE
  9880. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9881. END = 0 THEN c.nzdls
  9882. ELSE ( CASE WHEN c.nzdls <
  9883. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9884. END
  9885. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9886. END ELSE c.nzdls END )
  9887. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9888. END END ), 3) 马11甲纸令 ")
  9889. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9890. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9891. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9892. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9893. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9894. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9895. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  9896. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9897. ->group("CASE
  9898. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9899. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9900. END,Name_WorkGroup")->buildSql();
  9901. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  9902. ->field("
  9903. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9904. ROUND(SUM(
  9905. CASE
  9906. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9907. THEN
  9908. CASE
  9909. WHEN a.cCyddxMc = '装配'
  9910. OR a.cCyddxMc LIKE '%正文%'
  9911. OR a.cCyddxMc LIKE '%答案%'
  9912. OR a.cCyddxMc LIKE '%卷%'
  9913. THEN
  9914. CASE
  9915. WHEN CASE
  9916. WHEN IFNULL(d.fZls, 0) < rr.zl
  9917. THEN rr.zl
  9918. ELSE IFNULL(d.fZls, 0)
  9919. END = 0
  9920. THEN c.nzdls
  9921. ELSE (
  9922. CASE
  9923. WHEN c.nzdls <
  9924. CASE
  9925. WHEN IFNULL(d.fZls, 0) < rr.zl
  9926. THEN rr.zl
  9927. ELSE IFNULL(d.fZls, 0)
  9928. END
  9929. THEN
  9930. CASE
  9931. WHEN IFNULL(d.fZls, 0) < rr.zl
  9932. THEN rr.zl
  9933. ELSE IFNULL(d.fZls, 0)
  9934. END
  9935. ELSE c.nzdls
  9936. END
  9937. )
  9938. END
  9939. ELSE 0
  9940. END
  9941. ELSE
  9942. CASE
  9943. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9944. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9945. CASE
  9946. WHEN a.cCyddxMc = '装配'
  9947. OR a.cCyddxMc LIKE '%正文%'
  9948. OR a.cCyddxMc LIKE '%答案%'
  9949. OR a.cCyddxMc LIKE '%卷%'
  9950. THEN
  9951. CASE
  9952. WHEN CASE
  9953. WHEN IFNULL(d.fZls, 0) < rr.zl
  9954. THEN rr.zl
  9955. ELSE IFNULL(d.fZls, 0)
  9956. END = 0
  9957. THEN c.nzdls
  9958. ELSE (
  9959. CASE
  9960. WHEN c.nzdls <
  9961. CASE
  9962. WHEN IFNULL(d.fZls, 0) < rr.zl
  9963. THEN rr.zl
  9964. ELSE IFNULL(d.fZls, 0)
  9965. END
  9966. THEN
  9967. CASE
  9968. WHEN IFNULL(d.fZls, 0) < rr.zl
  9969. THEN rr.zl
  9970. ELSE IFNULL(d.fZls, 0)
  9971. END
  9972. ELSE c.nzdls
  9973. END
  9974. )
  9975. END
  9976. ELSE 0
  9977. END
  9978. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9979. END
  9980. END )
  9981. , 3) 马11乙纸令
  9982. ")
  9983. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9984. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9985. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9986. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9987. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9988. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9989. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  9990. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9991. ->group("CASE
  9992. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9993. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9994. END,Name_WorkGroup")
  9995. ->buildSql();
  9996. $CC = Db::table('ql_report_feedback_day')->alias('a')
  9997. ->field("
  9998. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9999. ROUND(SUM(
  10000. CASE
  10001. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10002. THEN
  10003. CASE
  10004. WHEN a.cCyddxMc = '装配'
  10005. OR a.cCyddxMc LIKE '%正文%'
  10006. OR a.cCyddxMc LIKE '%答案%'
  10007. OR a.cCyddxMc LIKE '%卷%'
  10008. THEN
  10009. CASE
  10010. WHEN CASE
  10011. WHEN IFNULL(d.fZls, 0) < rr.zl
  10012. THEN rr.zl
  10013. ELSE IFNULL(d.fZls, 0)
  10014. END = 0
  10015. THEN c.nzdls
  10016. ELSE (
  10017. CASE
  10018. WHEN c.nzdls <
  10019. CASE
  10020. WHEN IFNULL(d.fZls, 0) < rr.zl
  10021. THEN rr.zl
  10022. ELSE IFNULL(d.fZls, 0)
  10023. END
  10024. THEN
  10025. CASE
  10026. WHEN IFNULL(d.fZls, 0) < rr.zl
  10027. THEN rr.zl
  10028. ELSE IFNULL(d.fZls, 0)
  10029. END
  10030. ELSE c.nzdls
  10031. END
  10032. )
  10033. END
  10034. ELSE 0
  10035. END
  10036. ELSE
  10037. CASE
  10038. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10039. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10040. CASE
  10041. WHEN a.cCyddxMc = '装配'
  10042. OR a.cCyddxMc LIKE '%正文%'
  10043. OR a.cCyddxMc LIKE '%答案%'
  10044. OR a.cCyddxMc LIKE '%卷%'
  10045. THEN
  10046. CASE
  10047. WHEN CASE
  10048. WHEN IFNULL(d.fZls, 0) < rr.zl
  10049. THEN rr.zl
  10050. ELSE IFNULL(d.fZls, 0)
  10051. END = 0
  10052. THEN c.nzdls
  10053. ELSE (
  10054. CASE
  10055. WHEN c.nzdls <
  10056. CASE
  10057. WHEN IFNULL(d.fZls, 0) < rr.zl
  10058. THEN rr.zl
  10059. ELSE IFNULL(d.fZls, 0)
  10060. END
  10061. THEN
  10062. CASE
  10063. WHEN IFNULL(d.fZls, 0) < rr.zl
  10064. THEN rr.zl
  10065. ELSE IFNULL(d.fZls, 0)
  10066. END
  10067. ELSE c.nzdls
  10068. END
  10069. )
  10070. END
  10071. ELSE 0
  10072. END
  10073. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10074. END
  10075. END )
  10076. , 3) 马22甲纸令
  10077. ")
  10078. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10079. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10080. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10081. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10082. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10083. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10084. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  10085. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10086. ->group("CASE
  10087. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10088. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10089. END,Name_WorkGroup")
  10090. ->buildSql();
  10091. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  10092. ->field("
  10093. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10094. ROUND(SUM(
  10095. CASE
  10096. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10097. THEN
  10098. CASE
  10099. WHEN a.cCyddxMc = '装配'
  10100. OR a.cCyddxMc LIKE '%正文%'
  10101. OR a.cCyddxMc LIKE '%答案%'
  10102. OR a.cCyddxMc LIKE '%卷%'
  10103. THEN
  10104. CASE
  10105. WHEN CASE
  10106. WHEN IFNULL(d.fZls, 0) < rr.zl
  10107. THEN rr.zl
  10108. ELSE IFNULL(d.fZls, 0)
  10109. END = 0
  10110. THEN c.nzdls
  10111. ELSE (
  10112. CASE
  10113. WHEN c.nzdls <
  10114. CASE
  10115. WHEN IFNULL(d.fZls, 0) < rr.zl
  10116. THEN rr.zl
  10117. ELSE IFNULL(d.fZls, 0)
  10118. END
  10119. THEN
  10120. CASE
  10121. WHEN IFNULL(d.fZls, 0) < rr.zl
  10122. THEN rr.zl
  10123. ELSE IFNULL(d.fZls, 0)
  10124. END
  10125. ELSE c.nzdls
  10126. END
  10127. )
  10128. END
  10129. ELSE 0
  10130. END
  10131. ELSE
  10132. CASE
  10133. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10134. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10135. CASE
  10136. WHEN a.cCyddxMc = '装配'
  10137. OR a.cCyddxMc LIKE '%正文%'
  10138. OR a.cCyddxMc LIKE '%答案%'
  10139. OR a.cCyddxMc LIKE '%卷%'
  10140. THEN
  10141. CASE
  10142. WHEN CASE
  10143. WHEN IFNULL(d.fZls, 0) < rr.zl
  10144. THEN rr.zl
  10145. ELSE IFNULL(d.fZls, 0)
  10146. END = 0
  10147. THEN c.nzdls
  10148. ELSE (
  10149. CASE
  10150. WHEN c.nzdls <
  10151. CASE
  10152. WHEN IFNULL(d.fZls, 0) < rr.zl
  10153. THEN rr.zl
  10154. ELSE IFNULL(d.fZls, 0)
  10155. END
  10156. THEN
  10157. CASE
  10158. WHEN IFNULL(d.fZls, 0) < rr.zl
  10159. THEN rr.zl
  10160. ELSE IFNULL(d.fZls, 0)
  10161. END
  10162. ELSE c.nzdls
  10163. END
  10164. )
  10165. END
  10166. ELSE 0
  10167. END
  10168. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10169. END
  10170. END )
  10171. , 3) 马22乙纸令
  10172. ")
  10173. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10174. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10175. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10176. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10177. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10178. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10179. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  10180. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10181. ->group("CASE
  10182. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10183. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10184. END,Name_WorkGroup")
  10185. ->buildSql();
  10186. $EE = Db::table('ql_report_feedback_day')->alias('a')
  10187. ->field("
  10188. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10189. ROUND(SUM(
  10190. CASE
  10191. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10192. THEN
  10193. CASE
  10194. WHEN a.cCyddxMc = '装配'
  10195. OR a.cCyddxMc LIKE '%正文%'
  10196. OR a.cCyddxMc LIKE '%答案%'
  10197. OR a.cCyddxMc LIKE '%卷%'
  10198. THEN
  10199. CASE
  10200. WHEN CASE
  10201. WHEN IFNULL(d.fZls, 0) < rr.zl
  10202. THEN rr.zl
  10203. ELSE IFNULL(d.fZls, 0)
  10204. END = 0
  10205. THEN c.nzdls
  10206. ELSE (
  10207. CASE
  10208. WHEN c.nzdls <
  10209. CASE
  10210. WHEN IFNULL(d.fZls, 0) < rr.zl
  10211. THEN rr.zl
  10212. ELSE IFNULL(d.fZls, 0)
  10213. END
  10214. THEN
  10215. CASE
  10216. WHEN IFNULL(d.fZls, 0) < rr.zl
  10217. THEN rr.zl
  10218. ELSE IFNULL(d.fZls, 0)
  10219. END
  10220. ELSE c.nzdls
  10221. END
  10222. )
  10223. END
  10224. ELSE 0
  10225. END
  10226. ELSE
  10227. CASE
  10228. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10229. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10230. CASE
  10231. WHEN a.cCyddxMc = '装配'
  10232. OR a.cCyddxMc LIKE '%正文%'
  10233. OR a.cCyddxMc LIKE '%答案%'
  10234. OR a.cCyddxMc LIKE '%卷%'
  10235. THEN
  10236. CASE
  10237. WHEN CASE
  10238. WHEN IFNULL(d.fZls, 0) < rr.zl
  10239. THEN rr.zl
  10240. ELSE IFNULL(d.fZls, 0)
  10241. END = 0
  10242. THEN c.nzdls
  10243. ELSE (
  10244. CASE
  10245. WHEN c.nzdls <
  10246. CASE
  10247. WHEN IFNULL(d.fZls, 0) < rr.zl
  10248. THEN rr.zl
  10249. ELSE IFNULL(d.fZls, 0)
  10250. END
  10251. THEN
  10252. CASE
  10253. WHEN IFNULL(d.fZls, 0) < rr.zl
  10254. THEN rr.zl
  10255. ELSE IFNULL(d.fZls, 0)
  10256. END
  10257. ELSE c.nzdls
  10258. END
  10259. )
  10260. END
  10261. ELSE 0
  10262. END
  10263. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10264. END
  10265. END )
  10266. , 3) 马33甲纸令
  10267. ")
  10268. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10269. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10270. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10271. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10272. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10273. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10274. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  10275. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10276. ->group("CASE
  10277. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10278. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10279. END,Name_WorkGroup")
  10280. ->buildSql();
  10281. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  10282. ->field("
  10283. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10284. ROUND(SUM(
  10285. CASE
  10286. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10287. THEN
  10288. CASE
  10289. WHEN a.cCyddxMc = '装配'
  10290. OR a.cCyddxMc LIKE '%正文%'
  10291. OR a.cCyddxMc LIKE '%答案%'
  10292. OR a.cCyddxMc LIKE '%卷%'
  10293. THEN
  10294. CASE
  10295. WHEN CASE
  10296. WHEN IFNULL(d.fZls, 0) < rr.zl
  10297. THEN rr.zl
  10298. ELSE IFNULL(d.fZls, 0)
  10299. END = 0
  10300. THEN c.nzdls
  10301. ELSE (
  10302. CASE
  10303. WHEN c.nzdls <
  10304. CASE
  10305. WHEN IFNULL(d.fZls, 0) < rr.zl
  10306. THEN rr.zl
  10307. ELSE IFNULL(d.fZls, 0)
  10308. END
  10309. THEN
  10310. CASE
  10311. WHEN IFNULL(d.fZls, 0) < rr.zl
  10312. THEN rr.zl
  10313. ELSE IFNULL(d.fZls, 0)
  10314. END
  10315. ELSE c.nzdls
  10316. END
  10317. )
  10318. END
  10319. ELSE 0
  10320. END
  10321. ELSE
  10322. CASE
  10323. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10324. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10325. CASE
  10326. WHEN a.cCyddxMc = '装配'
  10327. OR a.cCyddxMc LIKE '%正文%'
  10328. OR a.cCyddxMc LIKE '%答案%'
  10329. OR a.cCyddxMc LIKE '%卷%'
  10330. THEN
  10331. CASE
  10332. WHEN CASE
  10333. WHEN IFNULL(d.fZls, 0) < rr.zl
  10334. THEN rr.zl
  10335. ELSE IFNULL(d.fZls, 0)
  10336. END = 0
  10337. THEN c.nzdls
  10338. ELSE (
  10339. CASE
  10340. WHEN c.nzdls <
  10341. CASE
  10342. WHEN IFNULL(d.fZls, 0) < rr.zl
  10343. THEN rr.zl
  10344. ELSE IFNULL(d.fZls, 0)
  10345. END
  10346. THEN
  10347. CASE
  10348. WHEN IFNULL(d.fZls, 0) < rr.zl
  10349. THEN rr.zl
  10350. ELSE IFNULL(d.fZls, 0)
  10351. END
  10352. ELSE c.nzdls
  10353. END
  10354. )
  10355. END
  10356. ELSE 0
  10357. END
  10358. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10359. END
  10360. END )
  10361. , 3) 马33乙纸令
  10362. ")
  10363. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10364. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10365. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10366. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10367. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10368. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10369. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  10370. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10371. ->group("CASE
  10372. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10373. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10374. END,Name_WorkGroup")
  10375. ->buildSql();
  10376. $HH = Db::table('ql_report_feedback_day')->alias('a')
  10377. ->field("
  10378. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10379. ROUND(SUM(
  10380. CASE
  10381. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10382. THEN
  10383. CASE
  10384. WHEN a.cCyddxMc = '装配'
  10385. OR a.cCyddxMc LIKE '%正文%'
  10386. OR a.cCyddxMc LIKE '%答案%'
  10387. OR a.cCyddxMc LIKE '%卷%'
  10388. THEN
  10389. CASE
  10390. WHEN CASE
  10391. WHEN IFNULL(d.fZls, 0) < rr.zl
  10392. THEN rr.zl
  10393. ELSE IFNULL(d.fZls, 0)
  10394. END = 0
  10395. THEN c.nzdls
  10396. ELSE (
  10397. CASE
  10398. WHEN c.nzdls <
  10399. CASE
  10400. WHEN IFNULL(d.fZls, 0) < rr.zl
  10401. THEN rr.zl
  10402. ELSE IFNULL(d.fZls, 0)
  10403. END
  10404. THEN
  10405. CASE
  10406. WHEN IFNULL(d.fZls, 0) < rr.zl
  10407. THEN rr.zl
  10408. ELSE IFNULL(d.fZls, 0)
  10409. END
  10410. ELSE c.nzdls
  10411. END
  10412. )
  10413. END
  10414. ELSE 0
  10415. END
  10416. ELSE
  10417. CASE
  10418. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10419. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10420. CASE
  10421. WHEN a.cCyddxMc = '装配'
  10422. OR a.cCyddxMc LIKE '%正文%'
  10423. OR a.cCyddxMc LIKE '%答案%'
  10424. OR a.cCyddxMc LIKE '%卷%'
  10425. THEN
  10426. CASE
  10427. WHEN CASE
  10428. WHEN IFNULL(d.fZls, 0) < rr.zl
  10429. THEN rr.zl
  10430. ELSE IFNULL(d.fZls, 0)
  10431. END = 0
  10432. THEN c.nzdls
  10433. ELSE (
  10434. CASE
  10435. WHEN c.nzdls <
  10436. CASE
  10437. WHEN IFNULL(d.fZls, 0) < rr.zl
  10438. THEN rr.zl
  10439. ELSE IFNULL(d.fZls, 0)
  10440. END
  10441. THEN
  10442. CASE
  10443. WHEN IFNULL(d.fZls, 0) < rr.zl
  10444. THEN rr.zl
  10445. ELSE IFNULL(d.fZls, 0)
  10446. END
  10447. ELSE c.nzdls
  10448. END
  10449. )
  10450. END
  10451. ELSE 0
  10452. END
  10453. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10454. END
  10455. END )
  10456. , 3) 马44甲纸令
  10457. ")
  10458. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10459. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10460. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10461. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10462. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10463. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10464. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  10465. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10466. ->group("CASE
  10467. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10468. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10469. END,Name_WorkGroup")
  10470. ->buildSql();
  10471. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  10472. ->field("
  10473. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10474. ROUND(SUM(
  10475. CASE
  10476. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10477. THEN
  10478. CASE
  10479. WHEN a.cCyddxMc = '装配'
  10480. OR a.cCyddxMc LIKE '%正文%'
  10481. OR a.cCyddxMc LIKE '%答案%'
  10482. OR a.cCyddxMc LIKE '%卷%'
  10483. THEN
  10484. CASE
  10485. WHEN CASE
  10486. WHEN IFNULL(d.fZls, 0) < rr.zl
  10487. THEN rr.zl
  10488. ELSE IFNULL(d.fZls, 0)
  10489. END = 0
  10490. THEN c.nzdls
  10491. ELSE (
  10492. CASE
  10493. WHEN c.nzdls <
  10494. CASE
  10495. WHEN IFNULL(d.fZls, 0) < rr.zl
  10496. THEN rr.zl
  10497. ELSE IFNULL(d.fZls, 0)
  10498. END
  10499. THEN
  10500. CASE
  10501. WHEN IFNULL(d.fZls, 0) < rr.zl
  10502. THEN rr.zl
  10503. ELSE IFNULL(d.fZls, 0)
  10504. END
  10505. ELSE c.nzdls
  10506. END
  10507. )
  10508. END
  10509. ELSE 0
  10510. END
  10511. ELSE
  10512. CASE
  10513. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10514. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10515. CASE
  10516. WHEN a.cCyddxMc = '装配'
  10517. OR a.cCyddxMc LIKE '%正文%'
  10518. OR a.cCyddxMc LIKE '%答案%'
  10519. OR a.cCyddxMc LIKE '%卷%'
  10520. THEN
  10521. CASE
  10522. WHEN CASE
  10523. WHEN IFNULL(d.fZls, 0) < rr.zl
  10524. THEN rr.zl
  10525. ELSE IFNULL(d.fZls, 0)
  10526. END = 0
  10527. THEN c.nzdls
  10528. ELSE (
  10529. CASE
  10530. WHEN c.nzdls <
  10531. CASE
  10532. WHEN IFNULL(d.fZls, 0) < rr.zl
  10533. THEN rr.zl
  10534. ELSE IFNULL(d.fZls, 0)
  10535. END
  10536. THEN
  10537. CASE
  10538. WHEN IFNULL(d.fZls, 0) < rr.zl
  10539. THEN rr.zl
  10540. ELSE IFNULL(d.fZls, 0)
  10541. END
  10542. ELSE c.nzdls
  10543. END
  10544. )
  10545. END
  10546. ELSE 0
  10547. END
  10548. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10549. END
  10550. END )
  10551. , 3) 马44乙纸令
  10552. ")
  10553. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10554. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10555. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10556. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10557. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10558. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10559. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  10560. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10561. ->group("CASE
  10562. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10563. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10564. END,Name_WorkGroup")
  10565. ->buildSql();
  10566. $XX = Db::table('ql_report_feedback_day')->alias('a')
  10567. ->field("
  10568. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10569. ROUND(SUM(
  10570. CASE
  10571. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10572. THEN
  10573. CASE
  10574. WHEN a.cCyddxMc = '装配'
  10575. OR a.cCyddxMc LIKE '%正文%'
  10576. OR a.cCyddxMc LIKE '%答案%'
  10577. OR a.cCyddxMc LIKE '%卷%'
  10578. THEN
  10579. CASE
  10580. WHEN CASE
  10581. WHEN IFNULL(d.fZls, 0) < rr.zl
  10582. THEN rr.zl
  10583. ELSE IFNULL(d.fZls, 0)
  10584. END = 0
  10585. THEN c.nzdls
  10586. ELSE (
  10587. CASE
  10588. WHEN c.nzdls <
  10589. CASE
  10590. WHEN IFNULL(d.fZls, 0) < rr.zl
  10591. THEN rr.zl
  10592. ELSE IFNULL(d.fZls, 0)
  10593. END
  10594. THEN
  10595. CASE
  10596. WHEN IFNULL(d.fZls, 0) < rr.zl
  10597. THEN rr.zl
  10598. ELSE IFNULL(d.fZls, 0)
  10599. END
  10600. ELSE c.nzdls
  10601. END
  10602. )
  10603. END
  10604. ELSE 0
  10605. END
  10606. ELSE
  10607. CASE
  10608. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10609. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10610. CASE
  10611. WHEN a.cCyddxMc = '装配'
  10612. OR a.cCyddxMc LIKE '%正文%'
  10613. OR a.cCyddxMc LIKE '%答案%'
  10614. OR a.cCyddxMc LIKE '%卷%'
  10615. THEN
  10616. CASE
  10617. WHEN CASE
  10618. WHEN IFNULL(d.fZls, 0) < rr.zl
  10619. THEN rr.zl
  10620. ELSE IFNULL(d.fZls, 0)
  10621. END = 0
  10622. THEN c.nzdls
  10623. ELSE (
  10624. CASE
  10625. WHEN c.nzdls <
  10626. CASE
  10627. WHEN IFNULL(d.fZls, 0) < rr.zl
  10628. THEN rr.zl
  10629. ELSE IFNULL(d.fZls, 0)
  10630. END
  10631. THEN
  10632. CASE
  10633. WHEN IFNULL(d.fZls, 0) < rr.zl
  10634. THEN rr.zl
  10635. ELSE IFNULL(d.fZls, 0)
  10636. END
  10637. ELSE c.nzdls
  10638. END
  10639. )
  10640. END
  10641. ELSE 0
  10642. END
  10643. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10644. END
  10645. END )
  10646. , 3) 马55甲纸令
  10647. ")
  10648. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10649. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10650. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10651. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10652. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10653. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10654. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  10655. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10656. ->group("CASE
  10657. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10658. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10659. END,Name_WorkGroup")
  10660. ->buildSql();
  10661. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  10662. ->field("
  10663. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10664. ROUND(SUM(
  10665. CASE
  10666. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10667. THEN
  10668. CASE
  10669. WHEN a.cCyddxMc = '装配'
  10670. OR a.cCyddxMc LIKE '%正文%'
  10671. OR a.cCyddxMc LIKE '%答案%'
  10672. OR a.cCyddxMc LIKE '%卷%'
  10673. THEN
  10674. CASE
  10675. WHEN CASE
  10676. WHEN IFNULL(d.fZls, 0) < rr.zl
  10677. THEN rr.zl
  10678. ELSE IFNULL(d.fZls, 0)
  10679. END = 0
  10680. THEN c.nzdls
  10681. ELSE (
  10682. CASE
  10683. WHEN c.nzdls <
  10684. CASE
  10685. WHEN IFNULL(d.fZls, 0) < rr.zl
  10686. THEN rr.zl
  10687. ELSE IFNULL(d.fZls, 0)
  10688. END
  10689. THEN
  10690. CASE
  10691. WHEN IFNULL(d.fZls, 0) < rr.zl
  10692. THEN rr.zl
  10693. ELSE IFNULL(d.fZls, 0)
  10694. END
  10695. ELSE c.nzdls
  10696. END
  10697. )
  10698. END
  10699. ELSE 0
  10700. END
  10701. ELSE
  10702. CASE
  10703. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10704. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10705. CASE
  10706. WHEN a.cCyddxMc = '装配'
  10707. OR a.cCyddxMc LIKE '%正文%'
  10708. OR a.cCyddxMc LIKE '%答案%'
  10709. OR a.cCyddxMc LIKE '%卷%'
  10710. THEN
  10711. CASE
  10712. WHEN CASE
  10713. WHEN IFNULL(d.fZls, 0) < rr.zl
  10714. THEN rr.zl
  10715. ELSE IFNULL(d.fZls, 0)
  10716. END = 0
  10717. THEN c.nzdls
  10718. ELSE (
  10719. CASE
  10720. WHEN c.nzdls <
  10721. CASE
  10722. WHEN IFNULL(d.fZls, 0) < rr.zl
  10723. THEN rr.zl
  10724. ELSE IFNULL(d.fZls, 0)
  10725. END
  10726. THEN
  10727. CASE
  10728. WHEN IFNULL(d.fZls, 0) < rr.zl
  10729. THEN rr.zl
  10730. ELSE IFNULL(d.fZls, 0)
  10731. END
  10732. ELSE c.nzdls
  10733. END
  10734. )
  10735. END
  10736. ELSE 0
  10737. END
  10738. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10739. END
  10740. END )
  10741. , 3) 马66甲纸令
  10742. ")
  10743. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10744. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10745. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10746. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10747. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10748. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10749. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  10750. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10751. ->group("CASE
  10752. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10753. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10754. END,Name_WorkGroup")
  10755. ->buildSql();
  10756. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  10757. ->field("
  10758. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10759. ROUND(SUM(
  10760. CASE
  10761. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10762. THEN
  10763. CASE
  10764. WHEN a.cCyddxMc = '装配'
  10765. OR a.cCyddxMc LIKE '%正文%'
  10766. OR a.cCyddxMc LIKE '%答案%'
  10767. OR a.cCyddxMc LIKE '%卷%'
  10768. THEN
  10769. CASE
  10770. WHEN CASE
  10771. WHEN IFNULL(d.fZls, 0) < rr.zl
  10772. THEN rr.zl
  10773. ELSE IFNULL(d.fZls, 0)
  10774. END = 0
  10775. THEN c.nzdls
  10776. ELSE (
  10777. CASE
  10778. WHEN c.nzdls <
  10779. CASE
  10780. WHEN IFNULL(d.fZls, 0) < rr.zl
  10781. THEN rr.zl
  10782. ELSE IFNULL(d.fZls, 0)
  10783. END
  10784. THEN
  10785. CASE
  10786. WHEN IFNULL(d.fZls, 0) < rr.zl
  10787. THEN rr.zl
  10788. ELSE IFNULL(d.fZls, 0)
  10789. END
  10790. ELSE c.nzdls
  10791. END
  10792. )
  10793. END
  10794. ELSE 0
  10795. END
  10796. ELSE
  10797. CASE
  10798. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10799. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10800. CASE
  10801. WHEN a.cCyddxMc = '装配'
  10802. OR a.cCyddxMc LIKE '%正文%'
  10803. OR a.cCyddxMc LIKE '%答案%'
  10804. OR a.cCyddxMc LIKE '%卷%'
  10805. THEN
  10806. CASE
  10807. WHEN CASE
  10808. WHEN IFNULL(d.fZls, 0) < rr.zl
  10809. THEN rr.zl
  10810. ELSE IFNULL(d.fZls, 0)
  10811. END = 0
  10812. THEN c.nzdls
  10813. ELSE (
  10814. CASE
  10815. WHEN c.nzdls <
  10816. CASE
  10817. WHEN IFNULL(d.fZls, 0) < rr.zl
  10818. THEN rr.zl
  10819. ELSE IFNULL(d.fZls, 0)
  10820. END
  10821. THEN
  10822. CASE
  10823. WHEN IFNULL(d.fZls, 0) < rr.zl
  10824. THEN rr.zl
  10825. ELSE IFNULL(d.fZls, 0)
  10826. END
  10827. ELSE c.nzdls
  10828. END
  10829. )
  10830. END
  10831. ELSE 0
  10832. END
  10833. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10834. END
  10835. END )
  10836. , 3) 马77甲纸令
  10837. ")
  10838. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10839. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10840. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10841. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10842. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10843. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10844. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  10845. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10846. ->group("CASE
  10847. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10848. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10849. END,Name_WorkGroup")
  10850. ->buildSql();
  10851. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  10852. ->field("
  10853. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10854. ROUND(SUM(
  10855. CASE
  10856. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10857. THEN
  10858. CASE
  10859. WHEN a.cCyddxMc = '装配'
  10860. OR a.cCyddxMc LIKE '%正文%'
  10861. OR a.cCyddxMc LIKE '%答案%'
  10862. OR a.cCyddxMc LIKE '%卷%'
  10863. THEN
  10864. CASE
  10865. WHEN CASE
  10866. WHEN IFNULL(d.fZls, 0) < rr.zl
  10867. THEN rr.zl
  10868. ELSE IFNULL(d.fZls, 0)
  10869. END = 0
  10870. THEN c.nzdls
  10871. ELSE (
  10872. CASE
  10873. WHEN c.nzdls <
  10874. CASE
  10875. WHEN IFNULL(d.fZls, 0) < rr.zl
  10876. THEN rr.zl
  10877. ELSE IFNULL(d.fZls, 0)
  10878. END
  10879. THEN
  10880. CASE
  10881. WHEN IFNULL(d.fZls, 0) < rr.zl
  10882. THEN rr.zl
  10883. ELSE IFNULL(d.fZls, 0)
  10884. END
  10885. ELSE c.nzdls
  10886. END
  10887. )
  10888. END
  10889. ELSE 0
  10890. END
  10891. ELSE
  10892. CASE
  10893. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10894. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10895. CASE
  10896. WHEN a.cCyddxMc = '装配'
  10897. OR a.cCyddxMc LIKE '%正文%'
  10898. OR a.cCyddxMc LIKE '%答案%'
  10899. OR a.cCyddxMc LIKE '%卷%'
  10900. THEN
  10901. CASE
  10902. WHEN CASE
  10903. WHEN IFNULL(d.fZls, 0) < rr.zl
  10904. THEN rr.zl
  10905. ELSE IFNULL(d.fZls, 0)
  10906. END = 0
  10907. THEN c.nzdls
  10908. ELSE (
  10909. CASE
  10910. WHEN c.nzdls <
  10911. CASE
  10912. WHEN IFNULL(d.fZls, 0) < rr.zl
  10913. THEN rr.zl
  10914. ELSE IFNULL(d.fZls, 0)
  10915. END
  10916. THEN
  10917. CASE
  10918. WHEN IFNULL(d.fZls, 0) < rr.zl
  10919. THEN rr.zl
  10920. ELSE IFNULL(d.fZls, 0)
  10921. END
  10922. ELSE c.nzdls
  10923. END
  10924. )
  10925. END
  10926. ELSE 0
  10927. END
  10928. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10929. END
  10930. END )
  10931. , 3) 马88甲纸令
  10932. ")
  10933. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10934. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10935. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10936. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10937. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10938. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10939. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  10940. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10941. ->group("CASE
  10942. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10943. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10944. END,Name_WorkGroup")
  10945. ->buildSql();
  10946. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  10947. ->field("
  10948. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10949. ROUND(SUM(
  10950. CASE
  10951. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10952. THEN
  10953. CASE
  10954. WHEN a.cCyddxMc = '装配'
  10955. OR a.cCyddxMc LIKE '%正文%'
  10956. OR a.cCyddxMc LIKE '%答案%'
  10957. OR a.cCyddxMc LIKE '%卷%'
  10958. THEN
  10959. CASE
  10960. WHEN CASE
  10961. WHEN IFNULL(d.fZls, 0) < rr.zl
  10962. THEN rr.zl
  10963. ELSE IFNULL(d.fZls, 0)
  10964. END = 0
  10965. THEN c.nzdls
  10966. ELSE (
  10967. CASE
  10968. WHEN c.nzdls <
  10969. CASE
  10970. WHEN IFNULL(d.fZls, 0) < rr.zl
  10971. THEN rr.zl
  10972. ELSE IFNULL(d.fZls, 0)
  10973. END
  10974. THEN
  10975. CASE
  10976. WHEN IFNULL(d.fZls, 0) < rr.zl
  10977. THEN rr.zl
  10978. ELSE IFNULL(d.fZls, 0)
  10979. END
  10980. ELSE c.nzdls
  10981. END
  10982. )
  10983. END
  10984. ELSE 0
  10985. END
  10986. ELSE
  10987. CASE
  10988. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10989. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10990. CASE
  10991. WHEN a.cCyddxMc = '装配'
  10992. OR a.cCyddxMc LIKE '%正文%'
  10993. OR a.cCyddxMc LIKE '%答案%'
  10994. OR a.cCyddxMc LIKE '%卷%'
  10995. THEN
  10996. CASE
  10997. WHEN CASE
  10998. WHEN IFNULL(d.fZls, 0) < rr.zl
  10999. THEN rr.zl
  11000. ELSE IFNULL(d.fZls, 0)
  11001. END = 0
  11002. THEN c.nzdls
  11003. ELSE (
  11004. CASE
  11005. WHEN c.nzdls <
  11006. CASE
  11007. WHEN IFNULL(d.fZls, 0) < rr.zl
  11008. THEN rr.zl
  11009. ELSE IFNULL(d.fZls, 0)
  11010. END
  11011. THEN
  11012. CASE
  11013. WHEN IFNULL(d.fZls, 0) < rr.zl
  11014. THEN rr.zl
  11015. ELSE IFNULL(d.fZls, 0)
  11016. END
  11017. ELSE c.nzdls
  11018. END
  11019. )
  11020. END
  11021. ELSE 0
  11022. END
  11023. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11024. END
  11025. END )
  11026. , 3) 马88乙纸令
  11027. ")
  11028. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11029. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11030. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11031. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11032. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11033. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11034. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  11035. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11036. ->group("CASE
  11037. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11038. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11039. END,Name_WorkGroup")
  11040. ->buildSql();
  11041. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  11042. ->field("
  11043. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11044. ROUND(SUM(
  11045. CASE
  11046. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11047. THEN
  11048. CASE
  11049. WHEN a.cCyddxMc = '装配'
  11050. OR a.cCyddxMc LIKE '%正文%'
  11051. OR a.cCyddxMc LIKE '%答案%'
  11052. OR a.cCyddxMc LIKE '%卷%'
  11053. THEN
  11054. CASE
  11055. WHEN CASE
  11056. WHEN IFNULL(d.fZls, 0) < rr.zl
  11057. THEN rr.zl
  11058. ELSE IFNULL(d.fZls, 0)
  11059. END = 0
  11060. THEN c.nzdls
  11061. ELSE (
  11062. CASE
  11063. WHEN c.nzdls <
  11064. CASE
  11065. WHEN IFNULL(d.fZls, 0) < rr.zl
  11066. THEN rr.zl
  11067. ELSE IFNULL(d.fZls, 0)
  11068. END
  11069. THEN
  11070. CASE
  11071. WHEN IFNULL(d.fZls, 0) < rr.zl
  11072. THEN rr.zl
  11073. ELSE IFNULL(d.fZls, 0)
  11074. END
  11075. ELSE c.nzdls
  11076. END
  11077. )
  11078. END
  11079. ELSE 0
  11080. END
  11081. ELSE
  11082. CASE
  11083. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11084. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11085. CASE
  11086. WHEN a.cCyddxMc = '装配'
  11087. OR a.cCyddxMc LIKE '%正文%'
  11088. OR a.cCyddxMc LIKE '%答案%'
  11089. OR a.cCyddxMc LIKE '%卷%'
  11090. THEN
  11091. CASE
  11092. WHEN CASE
  11093. WHEN IFNULL(d.fZls, 0) < rr.zl
  11094. THEN rr.zl
  11095. ELSE IFNULL(d.fZls, 0)
  11096. END = 0
  11097. THEN c.nzdls
  11098. ELSE (
  11099. CASE
  11100. WHEN c.nzdls <
  11101. CASE
  11102. WHEN IFNULL(d.fZls, 0) < rr.zl
  11103. THEN rr.zl
  11104. ELSE IFNULL(d.fZls, 0)
  11105. END
  11106. THEN
  11107. CASE
  11108. WHEN IFNULL(d.fZls, 0) < rr.zl
  11109. THEN rr.zl
  11110. ELSE IFNULL(d.fZls, 0)
  11111. END
  11112. ELSE c.nzdls
  11113. END
  11114. )
  11115. END
  11116. ELSE 0
  11117. END
  11118. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11119. END
  11120. END )
  11121. , 3) 马55乙纸令
  11122. ")
  11123. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11124. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11125. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11126. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11127. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11128. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11129. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  11130. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11131. ->group("CASE
  11132. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11133. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11134. END,Name_WorkGroup")
  11135. ->buildSql();
  11136. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  11137. ->field("
  11138. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11139. ROUND(SUM(
  11140. CASE
  11141. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11142. THEN
  11143. CASE
  11144. WHEN a.cCyddxMc = '装配'
  11145. OR a.cCyddxMc LIKE '%正文%'
  11146. OR a.cCyddxMc LIKE '%答案%'
  11147. OR a.cCyddxMc LIKE '%卷%'
  11148. THEN
  11149. CASE
  11150. WHEN CASE
  11151. WHEN IFNULL(d.fZls, 0) < rr.zl
  11152. THEN rr.zl
  11153. ELSE IFNULL(d.fZls, 0)
  11154. END = 0
  11155. THEN c.nzdls
  11156. ELSE (
  11157. CASE
  11158. WHEN c.nzdls <
  11159. CASE
  11160. WHEN IFNULL(d.fZls, 0) < rr.zl
  11161. THEN rr.zl
  11162. ELSE IFNULL(d.fZls, 0)
  11163. END
  11164. THEN
  11165. CASE
  11166. WHEN IFNULL(d.fZls, 0) < rr.zl
  11167. THEN rr.zl
  11168. ELSE IFNULL(d.fZls, 0)
  11169. END
  11170. ELSE c.nzdls
  11171. END
  11172. )
  11173. END
  11174. ELSE 0
  11175. END
  11176. ELSE
  11177. CASE
  11178. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11179. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11180. CASE
  11181. WHEN a.cCyddxMc = '装配'
  11182. OR a.cCyddxMc LIKE '%正文%'
  11183. OR a.cCyddxMc LIKE '%答案%'
  11184. OR a.cCyddxMc LIKE '%卷%'
  11185. THEN
  11186. CASE
  11187. WHEN CASE
  11188. WHEN IFNULL(d.fZls, 0) < rr.zl
  11189. THEN rr.zl
  11190. ELSE IFNULL(d.fZls, 0)
  11191. END = 0
  11192. THEN c.nzdls
  11193. ELSE (
  11194. CASE
  11195. WHEN c.nzdls <
  11196. CASE
  11197. WHEN IFNULL(d.fZls, 0) < rr.zl
  11198. THEN rr.zl
  11199. ELSE IFNULL(d.fZls, 0)
  11200. END
  11201. THEN
  11202. CASE
  11203. WHEN IFNULL(d.fZls, 0) < rr.zl
  11204. THEN rr.zl
  11205. ELSE IFNULL(d.fZls, 0)
  11206. END
  11207. ELSE c.nzdls
  11208. END
  11209. )
  11210. END
  11211. ELSE 0
  11212. END
  11213. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11214. END
  11215. END )
  11216. , 3) 马66乙纸令
  11217. ")
  11218. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11219. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11220. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11221. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11222. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11223. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11224. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  11225. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11226. ->group("CASE
  11227. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11228. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11229. END,Name_WorkGroup")
  11230. ->buildSql();
  11231. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  11232. ->field("
  11233. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11234. ROUND(SUM(
  11235. CASE
  11236. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11237. THEN
  11238. CASE
  11239. WHEN a.cCyddxMc = '装配'
  11240. OR a.cCyddxMc LIKE '%正文%'
  11241. OR a.cCyddxMc LIKE '%答案%'
  11242. OR a.cCyddxMc LIKE '%卷%'
  11243. THEN
  11244. CASE
  11245. WHEN CASE
  11246. WHEN IFNULL(d.fZls, 0) < rr.zl
  11247. THEN rr.zl
  11248. ELSE IFNULL(d.fZls, 0)
  11249. END = 0
  11250. THEN c.nzdls
  11251. ELSE (
  11252. CASE
  11253. WHEN c.nzdls <
  11254. CASE
  11255. WHEN IFNULL(d.fZls, 0) < rr.zl
  11256. THEN rr.zl
  11257. ELSE IFNULL(d.fZls, 0)
  11258. END
  11259. THEN
  11260. CASE
  11261. WHEN IFNULL(d.fZls, 0) < rr.zl
  11262. THEN rr.zl
  11263. ELSE IFNULL(d.fZls, 0)
  11264. END
  11265. ELSE c.nzdls
  11266. END
  11267. )
  11268. END
  11269. ELSE 0
  11270. END
  11271. ELSE
  11272. CASE
  11273. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11274. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11275. CASE
  11276. WHEN a.cCyddxMc = '装配'
  11277. OR a.cCyddxMc LIKE '%正文%'
  11278. OR a.cCyddxMc LIKE '%答案%'
  11279. OR a.cCyddxMc LIKE '%卷%'
  11280. THEN
  11281. CASE
  11282. WHEN CASE
  11283. WHEN IFNULL(d.fZls, 0) < rr.zl
  11284. THEN rr.zl
  11285. ELSE IFNULL(d.fZls, 0)
  11286. END = 0
  11287. THEN c.nzdls
  11288. ELSE (
  11289. CASE
  11290. WHEN c.nzdls <
  11291. CASE
  11292. WHEN IFNULL(d.fZls, 0) < rr.zl
  11293. THEN rr.zl
  11294. ELSE IFNULL(d.fZls, 0)
  11295. END
  11296. THEN
  11297. CASE
  11298. WHEN IFNULL(d.fZls, 0) < rr.zl
  11299. THEN rr.zl
  11300. ELSE IFNULL(d.fZls, 0)
  11301. END
  11302. ELSE c.nzdls
  11303. END
  11304. )
  11305. END
  11306. ELSE 0
  11307. END
  11308. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11309. END
  11310. END )
  11311. , 3) 马77乙纸令
  11312. ")
  11313. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11314. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11315. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11316. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11317. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11318. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11319. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  11320. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11321. ->group("CASE
  11322. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11323. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11324. END,Name_WorkGroup")
  11325. ->buildSql();
  11326. //DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  11327. $db = Db::table($A . 'a')
  11328. ->field("
  11329. DISTINCT DATE(A.RQ) rq,
  11330. floor(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  11331. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  11332. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  11333. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  11334. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  11335. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  11336. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  11337. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  11338. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  11339. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  11340. + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0)
  11341. + IFNULL(sum(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 0)
  11342. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0)) 纸令数总计
  11343. ")
  11344. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11345. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11346. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  11347. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  11348. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  11349. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  11350. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  11351. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  11352. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  11353. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  11354. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11355. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11356. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  11357. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  11358. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  11359. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  11360. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  11361. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  11362. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  11363. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  11364. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  11365. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  11366. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  11367. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  11368. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  11369. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  11370. ->group('rq')
  11371. ->buildSql();
  11372. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.纸令数总计 )) AS '无线胶订纸令'
  11373. $sql_final = Db::table($db . ' db')
  11374. ->field("
  11375. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11376. ROUND(SUM(db.纸令数总计), 0) AS jdzl
  11377. ")
  11378. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11379. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11380. ->select();
  11381. // 初始化数据
  11382. $i = 0;
  11383. $j = 0;
  11384. $k = 0;
  11385. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  11386. $currentYear = date("Y"); // 当前年份
  11387. $previousYear = (int)$currentYear - 1; // 去年
  11388. $previousTwoYear = (int)$currentYear - 2; // 前年
  11389. // 为三年的数据创建数组,初始值为0
  11390. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  11391. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11392. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  11393. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11394. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  11395. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  11396. // 遍历查询结果并填充数据
  11397. foreach ($sql_final as $v) {
  11398. // 获取年份和月份
  11399. $year = substr($v['rq'], 0, 4);
  11400. $month = substr($v['rq'], 5, 2);
  11401. // 如果是前年数据
  11402. if ($year == $previousTwoYear) {
  11403. $list['series'][0]['data'][(int)$month - 1] = $v['jdzl'];
  11404. }
  11405. // 如果是去年数据
  11406. if ($year == $previousYear) {
  11407. $list['series'][1]['data'][(int)$month - 1] = $v['jdzl'];
  11408. }
  11409. // 如果是今年数据
  11410. if ($year == $currentYear) {
  11411. $list['series'][2]['data'][(int)$month - 1] = $v['jdzl'];
  11412. }
  11413. }
  11414. $res['status'] = 0;
  11415. $res['msg'] = '';
  11416. $res['data'] = $list;
  11417. $redis->set($redis_key, json_encode($res));
  11418. return json_encode($res);
  11419. }
  11420. //胶订纸令->接口调用
  11421. public function jdzl(){
  11422. $redis=redis();
  11423. $redis_key = md5('jdzl_redis');
  11424. $redis_data = $redis->get($redis_key);
  11425. return $redis_data;
  11426. }
  11427. //精装纸令->缓存调用
  11428. public function jzzl_redis(){
  11429. $redis=redis();
  11430. $redis_key = md5('jzzl_redis');
  11431. //首先定义了起始时间和结束时间
  11432. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11433. ->union(function ($query) {
  11434. $query->table('scDayRpt_Teams')->alias('b')
  11435. ->field("DISTINCT DATE_FORMAT(
  11436. CASE
  11437. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  11438. ELSE b.dOnDuty
  11439. END,
  11440. '%Y-%m-%d'
  11441. ) AS RQ");
  11442. }, true)
  11443. ->buildSql();
  11444. //精1甲、精1甲纸令数
  11445. $B = Db::table('cpjtfk')
  11446. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11447. ->field("
  11448. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11449. sum(mcyd.NZWyz * iWCl / 1000) as 精1甲纸令数
  11450. ")
  11451. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  11452. ->group('drptdate,cbanzu')
  11453. ->buildSql();
  11454. //精1乙 精1乙纸令数
  11455. $B1 = Db::table('cpjtfk')
  11456. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11457. ->field("
  11458. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11459. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  11460. ")
  11461. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  11462. ->group('drptdate,cbanzu')
  11463. ->buildSql();
  11464. $rr = Db::table('scyddx')->alias('r')
  11465. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11466. ->group('r.ICYDID')
  11467. ->buildSql();
  11468. //精11甲--精11甲纸令
  11469. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11470. ->field("
  11471. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11472. ROUND(SUM(
  11473. CASE
  11474. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11475. THEN
  11476. CASE
  11477. WHEN a.cCyddxMc = '装配'
  11478. OR a.cCyddxMc LIKE '%正文%'
  11479. OR a.cCyddxMc LIKE '%答案%'
  11480. OR a.cCyddxMc LIKE '%卷%'
  11481. THEN
  11482. CASE
  11483. WHEN CASE
  11484. WHEN IFNULL(d.fZls, 0) < rr.zl
  11485. THEN rr.zl
  11486. ELSE IFNULL(d.fZls, 0)
  11487. END = 0
  11488. THEN c.nzdls
  11489. ELSE (
  11490. CASE
  11491. WHEN c.nzdls <
  11492. CASE
  11493. WHEN IFNULL(d.fZls, 0) < rr.zl
  11494. THEN rr.zl
  11495. ELSE IFNULL(d.fZls, 0)
  11496. END
  11497. THEN
  11498. CASE
  11499. WHEN IFNULL(d.fZls, 0) < rr.zl
  11500. THEN rr.zl
  11501. ELSE IFNULL(d.fZls, 0)
  11502. END
  11503. ELSE c.nzdls
  11504. END
  11505. )
  11506. END
  11507. ELSE 0
  11508. END
  11509. ELSE
  11510. CASE
  11511. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11512. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11513. CASE
  11514. WHEN a.cCyddxMc = '装配'
  11515. OR a.cCyddxMc LIKE '%正文%'
  11516. OR a.cCyddxMc LIKE '%答案%'
  11517. OR a.cCyddxMc LIKE '%卷%'
  11518. THEN
  11519. CASE
  11520. WHEN CASE
  11521. WHEN IFNULL(d.fZls, 0) < rr.zl
  11522. THEN rr.zl
  11523. ELSE IFNULL(d.fZls, 0)
  11524. END = 0
  11525. THEN c.nzdls
  11526. ELSE (
  11527. CASE
  11528. WHEN c.nzdls <
  11529. CASE
  11530. WHEN IFNULL(d.fZls, 0) < rr.zl
  11531. THEN rr.zl
  11532. ELSE IFNULL(d.fZls, 0)
  11533. END
  11534. THEN
  11535. CASE
  11536. WHEN IFNULL(d.fZls, 0) < rr.zl
  11537. THEN rr.zl
  11538. ELSE IFNULL(d.fZls, 0)
  11539. END
  11540. ELSE c.nzdls
  11541. END
  11542. )
  11543. END
  11544. ELSE 0
  11545. END
  11546. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11547. END
  11548. END )
  11549. , 3) 精11甲纸令,
  11550. d.cSccpbh
  11551. ")
  11552. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11553. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11554. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11555. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11556. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11557. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11558. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  11559. ->where('a.cTechName' ,'=','精装联动')
  11560. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11561. ->group("CASE
  11562. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11563. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11564. END,Name_WorkGroup")
  11565. ->buildSql();
  11566. //精11乙--精11乙纸令
  11567. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11568. ->field("
  11569. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11570. ROUND(SUM(
  11571. CASE
  11572. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11573. THEN
  11574. CASE
  11575. WHEN a.cCyddxMc = '装配'
  11576. OR a.cCyddxMc LIKE '%正文%'
  11577. OR a.cCyddxMc LIKE '%答案%'
  11578. OR a.cCyddxMc LIKE '%卷%'
  11579. THEN
  11580. CASE
  11581. WHEN CASE
  11582. WHEN IFNULL(d.fZls, 0) < rr.zl
  11583. THEN rr.zl
  11584. ELSE IFNULL(d.fZls, 0)
  11585. END = 0
  11586. THEN c.nzdls
  11587. ELSE (
  11588. CASE
  11589. WHEN c.nzdls <
  11590. CASE
  11591. WHEN IFNULL(d.fZls, 0) < rr.zl
  11592. THEN rr.zl
  11593. ELSE IFNULL(d.fZls, 0)
  11594. END
  11595. THEN
  11596. CASE
  11597. WHEN IFNULL(d.fZls, 0) < rr.zl
  11598. THEN rr.zl
  11599. ELSE IFNULL(d.fZls, 0)
  11600. END
  11601. ELSE c.nzdls
  11602. END
  11603. )
  11604. END
  11605. ELSE 0
  11606. END
  11607. ELSE
  11608. CASE
  11609. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11610. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11611. CASE
  11612. WHEN a.cCyddxMc = '装配'
  11613. OR a.cCyddxMc LIKE '%正文%'
  11614. OR a.cCyddxMc LIKE '%答案%'
  11615. OR a.cCyddxMc LIKE '%卷%'
  11616. THEN
  11617. CASE
  11618. WHEN CASE
  11619. WHEN IFNULL(d.fZls, 0) < rr.zl
  11620. THEN rr.zl
  11621. ELSE IFNULL(d.fZls, 0)
  11622. END = 0
  11623. THEN c.nzdls
  11624. ELSE (
  11625. CASE
  11626. WHEN c.nzdls <
  11627. CASE
  11628. WHEN IFNULL(d.fZls, 0) < rr.zl
  11629. THEN rr.zl
  11630. ELSE IFNULL(d.fZls, 0)
  11631. END
  11632. THEN
  11633. CASE
  11634. WHEN IFNULL(d.fZls, 0) < rr.zl
  11635. THEN rr.zl
  11636. ELSE IFNULL(d.fZls, 0)
  11637. END
  11638. ELSE c.nzdls
  11639. END
  11640. )
  11641. END
  11642. ELSE 0
  11643. END
  11644. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11645. END
  11646. END )
  11647. , 3) 精11乙纸令,
  11648. d.cSccpbh
  11649. ")
  11650. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11651. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11652. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11653. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11654. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11655. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11656. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  11657. ->where('a.cTechName' ,'=','精装联动')
  11658. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11659. ->group("CASE
  11660. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11661. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11662. END,Name_WorkGroup")
  11663. ->buildSql();
  11664. $db = Db::table($A . 'a')
  11665. ->field("
  11666. DISTINCT DATE(A.RQ) rq,
  11667. floor(IFNULL(sum(b.精1甲纸令数), 0) + IFNULL(sum(b1.精1乙纸令数), 0)
  11668. + IFNULL(sum(Bb.精11甲纸令), 0) + IFNULL(sum(Bb1.精11乙纸令), 0)) 纸令数总计
  11669. ")
  11670. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11671. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11672. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11673. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11674. ->group('rq')
  11675. ->buildSql();
  11676. $sql_final = Db::table($db . ' db')
  11677. ->field("
  11678. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11679. ROUND(sum(db.纸令数总计), 0) as jzzl
  11680. ")
  11681. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11682. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11683. ->select();
  11684. $redis->set($redis_key, json_encode($sql_final));
  11685. echo date("Y-m-d H:i:s").' 存进去了';
  11686. return $sql_final;
  11687. }
  11688. //精装纸令->接口调用
  11689. public function jzzl(){
  11690. $redis=redis();
  11691. $sql_final = json_decode($redis->get(md5('jzzl_redis')), true);
  11692. $i = 0;
  11693. $j = 0;
  11694. $k = 0;
  11695. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  11696. // 获取当前年份、去年和前年
  11697. $currentYear = date("Y"); // 当前年份
  11698. $previousYear = (int)$currentYear - 1; // 去年
  11699. $previousTwoYear = (int)$currentYear - 2; // 前年
  11700. // 初始化三年的数据
  11701. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  11702. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11703. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  11704. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11705. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  11706. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  11707. // 遍历查询结果并填充数据
  11708. foreach ($sql_final as $v) {
  11709. // 获取年份和月份
  11710. $year = substr($v['rq'], 0, 4);
  11711. $month = substr($v['rq'], 5, 2);
  11712. // 如果是前年数据
  11713. if ($year == $previousTwoYear) {
  11714. $list['series'][0]['data'][(int)$month - 1] = $v['jzzl'];
  11715. }
  11716. // 如果是去年数据
  11717. if ($year == $previousYear) {
  11718. $list['series'][1]['data'][(int)$month - 1] = $v['jzzl'];
  11719. }
  11720. // 如果是今年数据
  11721. if ($year == $currentYear) {
  11722. $list['series'][2]['data'][(int)$month - 1] = $v['jzzl'];
  11723. }
  11724. }
  11725. $res['status'] = 0;
  11726. $res['msg'] = '';
  11727. $res['data'] = $list;
  11728. return json_encode($res);
  11729. }
  11730. //骑马纸令->缓存调用
  11731. public function qmzl_redis(){
  11732. $redis=redis();
  11733. $redis_key = md5('qmzl_redis');
  11734. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  11735. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  11736. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  11737. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  11738. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  11739. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  11740. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11741. ->union(function ($query) {
  11742. $query->table('scDayRpt_Teams')->alias('b')
  11743. ->field("DISTINCT DATE_FORMAT(
  11744. CASE
  11745. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  11746. ELSE b.dOnDuty
  11747. END,
  11748. '%Y-%m-%d'
  11749. ) AS RQ");
  11750. }, true)
  11751. ->buildSql();
  11752. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  11753. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  11754. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  11755. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  11756. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  11757. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  11758. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  11759. $B = Db::table('cpjtfk')
  11760. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11761. ->field("
  11762. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11763. sum(mcyd.NZWyz * iWCl / 1000) as 骑1甲纸令数
  11764. ")
  11765. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  11766. ->group('drptdate,cbanzu')
  11767. ->buildSql();
  11768. $B1 = Db::table('cpjtfk')
  11769. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11770. ->field("
  11771. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11772. sum(mcyd.NZWyz * iWCl / 1000) as 骑1乙纸令数
  11773. ")
  11774. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  11775. ->group('drptdate,cbanzu')
  11776. ->buildSql();
  11777. $C = Db::table('cpjtfk')
  11778. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11779. ->field("
  11780. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11781. sum(mcyd.NZWyz * iWCl / 1000) as 骑2甲纸令数
  11782. ")
  11783. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  11784. ->group('drptdate,cbanzu')
  11785. ->buildSql();
  11786. $C1 = Db::table('cpjtfk')
  11787. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11788. ->field("
  11789. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11790. sum(mcyd.NZWyz * iWCl / 1000) as 骑2乙纸令数
  11791. ")
  11792. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  11793. ->group('drptdate,cbanzu')
  11794. ->buildSql();
  11795. $D = Db::table('cpjtfk')
  11796. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11797. ->field("
  11798. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11799. sum(mcyd.NZWyz * iWCl / 1000) as 骑3甲纸令数
  11800. ")
  11801. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  11802. ->group('drptdate,cbanzu')
  11803. ->buildSql();
  11804. $D1 = Db::table('cpjtfk')
  11805. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11806. ->field("
  11807. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11808. sum(mcyd.NZWyz * iWCl / 1000) as 骑3乙纸令数
  11809. ")
  11810. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  11811. ->group('drptdate,cbanzu')
  11812. ->buildSql();
  11813. $E = Db::table('cpjtfk')
  11814. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11815. ->field("
  11816. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11817. sum(mcyd.NZWyz * iWCl / 1000) as 骑4甲纸令数
  11818. ")
  11819. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  11820. ->group('drptdate,cbanzu')
  11821. ->buildSql();
  11822. $E1 = Db::table('cpjtfk')
  11823. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11824. ->field("
  11825. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11826. sum(mcyd.NZWyz * iWCl / 1000) as 骑4乙纸令数
  11827. ")
  11828. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  11829. ->group('drptdate,cbanzu')
  11830. ->buildSql();
  11831. $rr = Db::table('scyddx')->alias('r')
  11832. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11833. ->group('r.ICYDID')
  11834. ->buildSql();
  11835. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  11836. //2.使用别名$Bb表示主查询结果。
  11837. //3.查询的主要数据来源是表ql_report_feedback_day。
  11838. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  11839. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  11840. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  11841. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  11842. //8.通过buildSql方法生成最终的SQL查询语句
  11843. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11844. ->field("
  11845. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11846. ROUND(SUM(
  11847. CASE
  11848. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11849. THEN
  11850. CASE
  11851. WHEN a.cCyddxMc = '装配'
  11852. OR a.cCyddxMc LIKE '%正文%'
  11853. OR a.cCyddxMc LIKE '%答案%'
  11854. OR a.cCyddxMc LIKE '%卷%'
  11855. THEN
  11856. CASE
  11857. WHEN CASE
  11858. WHEN IFNULL(d.fZls, 0) < rr.zl
  11859. THEN rr.zl
  11860. ELSE IFNULL(d.fZls, 0)
  11861. END = 0
  11862. THEN c.nzdls
  11863. ELSE (
  11864. CASE
  11865. WHEN c.nzdls <
  11866. CASE
  11867. WHEN IFNULL(d.fZls, 0) < rr.zl
  11868. THEN rr.zl
  11869. ELSE IFNULL(d.fZls, 0)
  11870. END
  11871. THEN
  11872. CASE
  11873. WHEN IFNULL(d.fZls, 0) < rr.zl
  11874. THEN rr.zl
  11875. ELSE IFNULL(d.fZls, 0)
  11876. END
  11877. ELSE c.nzdls
  11878. END
  11879. )
  11880. END
  11881. ELSE 0
  11882. END
  11883. ELSE
  11884. CASE
  11885. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11886. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11887. CASE
  11888. WHEN a.cCyddxMc = '装配'
  11889. OR a.cCyddxMc LIKE '%正文%'
  11890. OR a.cCyddxMc LIKE '%答案%'
  11891. OR a.cCyddxMc LIKE '%卷%'
  11892. THEN
  11893. CASE
  11894. WHEN CASE
  11895. WHEN IFNULL(d.fZls, 0) < rr.zl
  11896. THEN rr.zl
  11897. ELSE IFNULL(d.fZls, 0)
  11898. END = 0
  11899. THEN c.nzdls
  11900. ELSE (
  11901. CASE
  11902. WHEN c.nzdls <
  11903. CASE
  11904. WHEN IFNULL(d.fZls, 0) < rr.zl
  11905. THEN rr.zl
  11906. ELSE IFNULL(d.fZls, 0)
  11907. END
  11908. THEN
  11909. CASE
  11910. WHEN IFNULL(d.fZls, 0) < rr.zl
  11911. THEN rr.zl
  11912. ELSE IFNULL(d.fZls, 0)
  11913. END
  11914. ELSE c.nzdls
  11915. END
  11916. )
  11917. END
  11918. ELSE 0
  11919. END
  11920. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11921. END
  11922. END )
  11923. , 3) 骑11甲纸令
  11924. ")
  11925. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11926. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11927. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11928. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11929. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11930. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11931. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  11932. ->where('a.cTechName' ,'=','骑马联动')
  11933. ->group("CASE
  11934. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11935. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11936. END,Name_WorkGroup")
  11937. ->buildSql();
  11938. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11939. ->field("
  11940. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11941. ROUND(SUM(
  11942. CASE
  11943. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11944. THEN
  11945. CASE
  11946. WHEN a.cCyddxMc = '装配'
  11947. OR a.cCyddxMc LIKE '%正文%'
  11948. OR a.cCyddxMc LIKE '%答案%'
  11949. OR a.cCyddxMc LIKE '%卷%'
  11950. THEN
  11951. CASE
  11952. WHEN CASE
  11953. WHEN IFNULL(d.fZls, 0) < rr.zl
  11954. THEN rr.zl
  11955. ELSE IFNULL(d.fZls, 0)
  11956. END = 0
  11957. THEN c.nzdls
  11958. ELSE (
  11959. CASE
  11960. WHEN c.nzdls <
  11961. CASE
  11962. WHEN IFNULL(d.fZls, 0) < rr.zl
  11963. THEN rr.zl
  11964. ELSE IFNULL(d.fZls, 0)
  11965. END
  11966. THEN
  11967. CASE
  11968. WHEN IFNULL(d.fZls, 0) < rr.zl
  11969. THEN rr.zl
  11970. ELSE IFNULL(d.fZls, 0)
  11971. END
  11972. ELSE c.nzdls
  11973. END
  11974. )
  11975. END
  11976. ELSE 0
  11977. END
  11978. ELSE
  11979. CASE
  11980. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11981. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11982. CASE
  11983. WHEN a.cCyddxMc = '装配'
  11984. OR a.cCyddxMc LIKE '%正文%'
  11985. OR a.cCyddxMc LIKE '%答案%'
  11986. OR a.cCyddxMc LIKE '%卷%'
  11987. THEN
  11988. CASE
  11989. WHEN CASE
  11990. WHEN IFNULL(d.fZls, 0) < rr.zl
  11991. THEN rr.zl
  11992. ELSE IFNULL(d.fZls, 0)
  11993. END = 0
  11994. THEN c.nzdls
  11995. ELSE (
  11996. CASE
  11997. WHEN c.nzdls <
  11998. CASE
  11999. WHEN IFNULL(d.fZls, 0) < rr.zl
  12000. THEN rr.zl
  12001. ELSE IFNULL(d.fZls, 0)
  12002. END
  12003. THEN
  12004. CASE
  12005. WHEN IFNULL(d.fZls, 0) < rr.zl
  12006. THEN rr.zl
  12007. ELSE IFNULL(d.fZls, 0)
  12008. END
  12009. ELSE c.nzdls
  12010. END
  12011. )
  12012. END
  12013. ELSE 0
  12014. END
  12015. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12016. END
  12017. END )
  12018. , 3) 骑11乙纸令
  12019. ")
  12020. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12021. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12022. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12023. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12024. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12025. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12026. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  12027. ->where('a.cTechName' ,'=','骑马联动')
  12028. ->group("CASE
  12029. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12030. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12031. END,Name_WorkGroup")
  12032. ->buildSql();
  12033. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12034. ->field("
  12035. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12036. ROUND(SUM(
  12037. CASE
  12038. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12039. THEN
  12040. CASE
  12041. WHEN a.cCyddxMc = '装配'
  12042. OR a.cCyddxMc LIKE '%正文%'
  12043. OR a.cCyddxMc LIKE '%答案%'
  12044. OR a.cCyddxMc LIKE '%卷%'
  12045. THEN
  12046. CASE
  12047. WHEN CASE
  12048. WHEN IFNULL(d.fZls, 0) < rr.zl
  12049. THEN rr.zl
  12050. ELSE IFNULL(d.fZls, 0)
  12051. END = 0
  12052. THEN c.nzdls
  12053. ELSE (
  12054. CASE
  12055. WHEN c.nzdls <
  12056. CASE
  12057. WHEN IFNULL(d.fZls, 0) < rr.zl
  12058. THEN rr.zl
  12059. ELSE IFNULL(d.fZls, 0)
  12060. END
  12061. THEN
  12062. CASE
  12063. WHEN IFNULL(d.fZls, 0) < rr.zl
  12064. THEN rr.zl
  12065. ELSE IFNULL(d.fZls, 0)
  12066. END
  12067. ELSE c.nzdls
  12068. END
  12069. )
  12070. END
  12071. ELSE 0
  12072. END
  12073. ELSE
  12074. CASE
  12075. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12076. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12077. CASE
  12078. WHEN a.cCyddxMc = '装配'
  12079. OR a.cCyddxMc LIKE '%正文%'
  12080. OR a.cCyddxMc LIKE '%答案%'
  12081. OR a.cCyddxMc LIKE '%卷%'
  12082. THEN
  12083. CASE
  12084. WHEN CASE
  12085. WHEN IFNULL(d.fZls, 0) < rr.zl
  12086. THEN rr.zl
  12087. ELSE IFNULL(d.fZls, 0)
  12088. END = 0
  12089. THEN c.nzdls
  12090. ELSE (
  12091. CASE
  12092. WHEN c.nzdls <
  12093. CASE
  12094. WHEN IFNULL(d.fZls, 0) < rr.zl
  12095. THEN rr.zl
  12096. ELSE IFNULL(d.fZls, 0)
  12097. END
  12098. THEN
  12099. CASE
  12100. WHEN IFNULL(d.fZls, 0) < rr.zl
  12101. THEN rr.zl
  12102. ELSE IFNULL(d.fZls, 0)
  12103. END
  12104. ELSE c.nzdls
  12105. END
  12106. )
  12107. END
  12108. ELSE 0
  12109. END
  12110. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12111. END
  12112. END )
  12113. , 3) 骑22甲纸令
  12114. ")
  12115. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12116. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12117. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12118. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12119. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12120. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12121. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  12122. ->where('a.cTechName' ,'=','骑马联动')
  12123. ->group("CASE
  12124. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12125. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12126. END,Name_WorkGroup")
  12127. ->buildSql();
  12128. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12129. ->field("
  12130. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12131. ROUND(SUM(
  12132. CASE
  12133. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12134. THEN
  12135. CASE
  12136. WHEN a.cCyddxMc = '装配'
  12137. OR a.cCyddxMc LIKE '%正文%'
  12138. OR a.cCyddxMc LIKE '%答案%'
  12139. OR a.cCyddxMc LIKE '%卷%'
  12140. THEN
  12141. CASE
  12142. WHEN CASE
  12143. WHEN IFNULL(d.fZls, 0) < rr.zl
  12144. THEN rr.zl
  12145. ELSE IFNULL(d.fZls, 0)
  12146. END = 0
  12147. THEN c.nzdls
  12148. ELSE (
  12149. CASE
  12150. WHEN c.nzdls <
  12151. CASE
  12152. WHEN IFNULL(d.fZls, 0) < rr.zl
  12153. THEN rr.zl
  12154. ELSE IFNULL(d.fZls, 0)
  12155. END
  12156. THEN
  12157. CASE
  12158. WHEN IFNULL(d.fZls, 0) < rr.zl
  12159. THEN rr.zl
  12160. ELSE IFNULL(d.fZls, 0)
  12161. END
  12162. ELSE c.nzdls
  12163. END
  12164. )
  12165. END
  12166. ELSE 0
  12167. END
  12168. ELSE
  12169. CASE
  12170. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12171. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12172. CASE
  12173. WHEN a.cCyddxMc = '装配'
  12174. OR a.cCyddxMc LIKE '%正文%'
  12175. OR a.cCyddxMc LIKE '%答案%'
  12176. OR a.cCyddxMc LIKE '%卷%'
  12177. THEN
  12178. CASE
  12179. WHEN CASE
  12180. WHEN IFNULL(d.fZls, 0) < rr.zl
  12181. THEN rr.zl
  12182. ELSE IFNULL(d.fZls, 0)
  12183. END = 0
  12184. THEN c.nzdls
  12185. ELSE (
  12186. CASE
  12187. WHEN c.nzdls <
  12188. CASE
  12189. WHEN IFNULL(d.fZls, 0) < rr.zl
  12190. THEN rr.zl
  12191. ELSE IFNULL(d.fZls, 0)
  12192. END
  12193. THEN
  12194. CASE
  12195. WHEN IFNULL(d.fZls, 0) < rr.zl
  12196. THEN rr.zl
  12197. ELSE IFNULL(d.fZls, 0)
  12198. END
  12199. ELSE c.nzdls
  12200. END
  12201. )
  12202. END
  12203. ELSE 0
  12204. END
  12205. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12206. END
  12207. END )
  12208. , 3) 骑22乙纸令
  12209. ")
  12210. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12211. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12212. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12213. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12214. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12215. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12216. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  12217. ->where('a.cTechName' ,'=','骑马联动')
  12218. ->group("CASE
  12219. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12220. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12221. END,Name_WorkGroup")
  12222. ->buildSql();
  12223. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12224. ->field("
  12225. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12226. ROUND(SUM(
  12227. CASE
  12228. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12229. THEN
  12230. CASE
  12231. WHEN a.cCyddxMc = '装配'
  12232. OR a.cCyddxMc LIKE '%正文%'
  12233. OR a.cCyddxMc LIKE '%答案%'
  12234. OR a.cCyddxMc LIKE '%卷%'
  12235. THEN
  12236. CASE
  12237. WHEN CASE
  12238. WHEN IFNULL(d.fZls, 0) < rr.zl
  12239. THEN rr.zl
  12240. ELSE IFNULL(d.fZls, 0)
  12241. END = 0
  12242. THEN c.nzdls
  12243. ELSE (
  12244. CASE
  12245. WHEN c.nzdls <
  12246. CASE
  12247. WHEN IFNULL(d.fZls, 0) < rr.zl
  12248. THEN rr.zl
  12249. ELSE IFNULL(d.fZls, 0)
  12250. END
  12251. THEN
  12252. CASE
  12253. WHEN IFNULL(d.fZls, 0) < rr.zl
  12254. THEN rr.zl
  12255. ELSE IFNULL(d.fZls, 0)
  12256. END
  12257. ELSE c.nzdls
  12258. END
  12259. )
  12260. END
  12261. ELSE 0
  12262. END
  12263. ELSE
  12264. CASE
  12265. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12266. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12267. CASE
  12268. WHEN a.cCyddxMc = '装配'
  12269. OR a.cCyddxMc LIKE '%正文%'
  12270. OR a.cCyddxMc LIKE '%答案%'
  12271. OR a.cCyddxMc LIKE '%卷%'
  12272. THEN
  12273. CASE
  12274. WHEN CASE
  12275. WHEN IFNULL(d.fZls, 0) < rr.zl
  12276. THEN rr.zl
  12277. ELSE IFNULL(d.fZls, 0)
  12278. END = 0
  12279. THEN c.nzdls
  12280. ELSE (
  12281. CASE
  12282. WHEN c.nzdls <
  12283. CASE
  12284. WHEN IFNULL(d.fZls, 0) < rr.zl
  12285. THEN rr.zl
  12286. ELSE IFNULL(d.fZls, 0)
  12287. END
  12288. THEN
  12289. CASE
  12290. WHEN IFNULL(d.fZls, 0) < rr.zl
  12291. THEN rr.zl
  12292. ELSE IFNULL(d.fZls, 0)
  12293. END
  12294. ELSE c.nzdls
  12295. END
  12296. )
  12297. END
  12298. ELSE 0
  12299. END
  12300. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12301. END
  12302. END )
  12303. , 3) 骑33甲纸令
  12304. ")
  12305. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12306. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12307. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12308. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12309. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12310. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12311. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  12312. ->where('a.cTechName' ,'=','骑马联动')
  12313. ->group("CASE
  12314. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12315. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12316. END,Name_WorkGroup")
  12317. ->buildSql();
  12318. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12319. ->field("
  12320. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12321. ROUND(SUM(
  12322. CASE
  12323. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12324. THEN
  12325. CASE
  12326. WHEN a.cCyddxMc = '装配'
  12327. OR a.cCyddxMc LIKE '%正文%'
  12328. OR a.cCyddxMc LIKE '%答案%'
  12329. OR a.cCyddxMc LIKE '%卷%'
  12330. THEN
  12331. CASE
  12332. WHEN CASE
  12333. WHEN IFNULL(d.fZls, 0) < rr.zl
  12334. THEN rr.zl
  12335. ELSE IFNULL(d.fZls, 0)
  12336. END = 0
  12337. THEN c.nzdls
  12338. ELSE (
  12339. CASE
  12340. WHEN c.nzdls <
  12341. CASE
  12342. WHEN IFNULL(d.fZls, 0) < rr.zl
  12343. THEN rr.zl
  12344. ELSE IFNULL(d.fZls, 0)
  12345. END
  12346. THEN
  12347. CASE
  12348. WHEN IFNULL(d.fZls, 0) < rr.zl
  12349. THEN rr.zl
  12350. ELSE IFNULL(d.fZls, 0)
  12351. END
  12352. ELSE c.nzdls
  12353. END
  12354. )
  12355. END
  12356. ELSE 0
  12357. END
  12358. ELSE
  12359. CASE
  12360. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12361. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12362. CASE
  12363. WHEN a.cCyddxMc = '装配'
  12364. OR a.cCyddxMc LIKE '%正文%'
  12365. OR a.cCyddxMc LIKE '%答案%'
  12366. OR a.cCyddxMc LIKE '%卷%'
  12367. THEN
  12368. CASE
  12369. WHEN CASE
  12370. WHEN IFNULL(d.fZls, 0) < rr.zl
  12371. THEN rr.zl
  12372. ELSE IFNULL(d.fZls, 0)
  12373. END = 0
  12374. THEN c.nzdls
  12375. ELSE (
  12376. CASE
  12377. WHEN c.nzdls <
  12378. CASE
  12379. WHEN IFNULL(d.fZls, 0) < rr.zl
  12380. THEN rr.zl
  12381. ELSE IFNULL(d.fZls, 0)
  12382. END
  12383. THEN
  12384. CASE
  12385. WHEN IFNULL(d.fZls, 0) < rr.zl
  12386. THEN rr.zl
  12387. ELSE IFNULL(d.fZls, 0)
  12388. END
  12389. ELSE c.nzdls
  12390. END
  12391. )
  12392. END
  12393. ELSE 0
  12394. END
  12395. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12396. END
  12397. END )
  12398. , 3) 骑33乙纸令
  12399. ")
  12400. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12401. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12402. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12403. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12404. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12405. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12406. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  12407. ->where('a.cTechName' ,'=','骑马联动')
  12408. ->group("CASE
  12409. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12410. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12411. END,Name_WorkGroup")
  12412. ->buildSql();
  12413. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12414. ->field("
  12415. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12416. ROUND(SUM(
  12417. CASE
  12418. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12419. THEN
  12420. CASE
  12421. WHEN a.cCyddxMc = '装配'
  12422. OR a.cCyddxMc LIKE '%正文%'
  12423. OR a.cCyddxMc LIKE '%答案%'
  12424. OR a.cCyddxMc LIKE '%卷%'
  12425. THEN
  12426. CASE
  12427. WHEN CASE
  12428. WHEN IFNULL(d.fZls, 0) < rr.zl
  12429. THEN rr.zl
  12430. ELSE IFNULL(d.fZls, 0)
  12431. END = 0
  12432. THEN c.nzdls
  12433. ELSE (
  12434. CASE
  12435. WHEN c.nzdls <
  12436. CASE
  12437. WHEN IFNULL(d.fZls, 0) < rr.zl
  12438. THEN rr.zl
  12439. ELSE IFNULL(d.fZls, 0)
  12440. END
  12441. THEN
  12442. CASE
  12443. WHEN IFNULL(d.fZls, 0) < rr.zl
  12444. THEN rr.zl
  12445. ELSE IFNULL(d.fZls, 0)
  12446. END
  12447. ELSE c.nzdls
  12448. END
  12449. )
  12450. END
  12451. ELSE 0
  12452. END
  12453. ELSE
  12454. CASE
  12455. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12456. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12457. CASE
  12458. WHEN a.cCyddxMc = '装配'
  12459. OR a.cCyddxMc LIKE '%正文%'
  12460. OR a.cCyddxMc LIKE '%答案%'
  12461. OR a.cCyddxMc LIKE '%卷%'
  12462. THEN
  12463. CASE
  12464. WHEN CASE
  12465. WHEN IFNULL(d.fZls, 0) < rr.zl
  12466. THEN rr.zl
  12467. ELSE IFNULL(d.fZls, 0)
  12468. END = 0
  12469. THEN c.nzdls
  12470. ELSE (
  12471. CASE
  12472. WHEN c.nzdls <
  12473. CASE
  12474. WHEN IFNULL(d.fZls, 0) < rr.zl
  12475. THEN rr.zl
  12476. ELSE IFNULL(d.fZls, 0)
  12477. END
  12478. THEN
  12479. CASE
  12480. WHEN IFNULL(d.fZls, 0) < rr.zl
  12481. THEN rr.zl
  12482. ELSE IFNULL(d.fZls, 0)
  12483. END
  12484. ELSE c.nzdls
  12485. END
  12486. )
  12487. END
  12488. ELSE 0
  12489. END
  12490. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12491. END
  12492. END )
  12493. , 3) 骑44甲纸令
  12494. ")
  12495. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12496. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12497. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12498. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12499. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12500. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12501. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  12502. ->where('a.cTechName' ,'=','骑马联动')
  12503. ->group("CASE
  12504. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12505. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12506. END,Name_WorkGroup")
  12507. ->buildSql();
  12508. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12509. ->field("
  12510. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12511. ROUND(SUM(
  12512. CASE
  12513. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12514. THEN
  12515. CASE
  12516. WHEN a.cCyddxMc = '装配'
  12517. OR a.cCyddxMc LIKE '%正文%'
  12518. OR a.cCyddxMc LIKE '%答案%'
  12519. OR a.cCyddxMc LIKE '%卷%'
  12520. THEN
  12521. CASE
  12522. WHEN CASE
  12523. WHEN IFNULL(d.fZls, 0) < rr.zl
  12524. THEN rr.zl
  12525. ELSE IFNULL(d.fZls, 0)
  12526. END = 0
  12527. THEN c.nzdls
  12528. ELSE (
  12529. CASE
  12530. WHEN c.nzdls <
  12531. CASE
  12532. WHEN IFNULL(d.fZls, 0) < rr.zl
  12533. THEN rr.zl
  12534. ELSE IFNULL(d.fZls, 0)
  12535. END
  12536. THEN
  12537. CASE
  12538. WHEN IFNULL(d.fZls, 0) < rr.zl
  12539. THEN rr.zl
  12540. ELSE IFNULL(d.fZls, 0)
  12541. END
  12542. ELSE c.nzdls
  12543. END
  12544. )
  12545. END
  12546. ELSE 0
  12547. END
  12548. ELSE
  12549. CASE
  12550. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12551. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12552. CASE
  12553. WHEN a.cCyddxMc = '装配'
  12554. OR a.cCyddxMc LIKE '%正文%'
  12555. OR a.cCyddxMc LIKE '%答案%'
  12556. OR a.cCyddxMc LIKE '%卷%'
  12557. THEN
  12558. CASE
  12559. WHEN CASE
  12560. WHEN IFNULL(d.fZls, 0) < rr.zl
  12561. THEN rr.zl
  12562. ELSE IFNULL(d.fZls, 0)
  12563. END = 0
  12564. THEN c.nzdls
  12565. ELSE (
  12566. CASE
  12567. WHEN c.nzdls <
  12568. CASE
  12569. WHEN IFNULL(d.fZls, 0) < rr.zl
  12570. THEN rr.zl
  12571. ELSE IFNULL(d.fZls, 0)
  12572. END
  12573. THEN
  12574. CASE
  12575. WHEN IFNULL(d.fZls, 0) < rr.zl
  12576. THEN rr.zl
  12577. ELSE IFNULL(d.fZls, 0)
  12578. END
  12579. ELSE c.nzdls
  12580. END
  12581. )
  12582. END
  12583. ELSE 0
  12584. END
  12585. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12586. END
  12587. END )
  12588. , 3) 骑44乙纸令
  12589. ")
  12590. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12591. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12592. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12593. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12594. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12595. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12596. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  12597. ->where('a.cTechName' ,'=','骑马联动')
  12598. ->group("CASE
  12599. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12600. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12601. END,Name_WorkGroup")
  12602. ->buildSql();
  12603. $db = Db::table($A . 'a')
  12604. ->field("
  12605. DISTINCT DATE(A.RQ) rq,
  12606. TRUNCATE(IFNULL(sum(b.骑1甲纸令数), 0) + IFNULL(sum(b1.骑1乙纸令数), 0)
  12607. + IFNULL(sum(C.骑2甲纸令数), 0) + IFNULL(sum(C1.骑2乙纸令数), 0)
  12608. + IFNULL(sum(D.骑3甲纸令数), 0) + IFNULL(sum(D1.骑3乙纸令数), 0)
  12609. + IFNULL(sum(E.骑4甲纸令数), 0) + IFNULL(sum(E1.骑4乙纸令数), 0)
  12610. + IFNULL(sum(Bb.骑11甲纸令), 0) + IFNULL(sum(cc.骑22甲纸令), 0)
  12611. + IFNULL(sum(ee.骑33甲纸令), 0) + IFNULL(sum(hh.骑44甲纸令), 0)
  12612. + IFNULL(sum(Bb1.骑11乙纸令), 0) + IFNULL(sum(cc1.骑22乙纸令), 0)
  12613. + IFNULL(sum(ee1.骑33乙纸令), 0) + IFNULL(sum(hh1.骑44乙纸令), 0), 0) 纸令数总计
  12614. ")
  12615. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12616. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  12617. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  12618. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  12619. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  12620. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  12621. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  12622. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  12623. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  12624. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  12625. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  12626. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  12627. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  12628. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  12629. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  12630. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  12631. ->group('rq')
  12632. ->buildSql();
  12633. //使用GROUP BY对日期字段进行分组
  12634. //汇总每个月骑马纸令总和
  12635. $sql_final = Db::table($db . ' db')
  12636. ->field("
  12637. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12638. ROUND(sum(db.纸令数总计),0) as qmzl
  12639. ")
  12640. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  12641. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12642. ->select();
  12643. // 初始化数据
  12644. $i = 0;
  12645. $j = 0;
  12646. $k = 0;
  12647. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  12648. $currentYear = date("Y"); // 当前年份
  12649. $previousYear = (int)$currentYear - 1; // 去年
  12650. $previousTwoYear = (int)$currentYear - 2; // 前年
  12651. // 为三年的数据创建数组,初始值为0
  12652. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  12653. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12654. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  12655. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12656. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  12657. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  12658. // 遍历查询结果并填充数据
  12659. foreach ($sql_final as $v) {
  12660. // 获取年份和月份
  12661. $year = substr($v['rq'], 0, 4);
  12662. $month = substr($v['rq'], 5, 2);
  12663. // 如果是前年数据
  12664. if ($year == $previousTwoYear) {
  12665. $list['series'][0]['data'][(int)$month - 1] = $v['qmzl'];
  12666. }
  12667. // 如果是去年数据
  12668. if ($year == $previousYear) {
  12669. $list['series'][1]['data'][(int)$month - 1] = $v['qmzl'];
  12670. }
  12671. // 如果是今年数据
  12672. if ($year == $currentYear) {
  12673. $list['series'][2]['data'][(int)$month - 1] = $v['qmzl'];
  12674. }
  12675. }
  12676. $res['status'] = 0;
  12677. $res['msg'] = '';
  12678. $res['data'] = $list;
  12679. $redis->set($redis_key, json_encode($res));
  12680. return json_encode($res);
  12681. }
  12682. //骑马纸令->接口调用
  12683. public function qmzl(){
  12684. $redis=redis();
  12685. $redis_key = md5('qmzl_redis');
  12686. $redis_data = $redis->get($redis_key);
  12687. return $redis_data;
  12688. }
  12689. //胶订册数->缓存调用
  12690. public function jdcs_redis(){
  12691. $redis=redis();
  12692. $redis_key = md5('jdcs_redis');
  12693. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12694. ->union(function ($query) {
  12695. $query->table('scDayRpt_Teams')->alias('b')
  12696. ->field("DISTINCT DATE_FORMAT(
  12697. CASE
  12698. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12699. ELSE b.dOnDuty
  12700. END,
  12701. '%Y-%m-%d'
  12702. ) AS RQ");
  12703. }, true)
  12704. ->buildSql();
  12705. $B = Db::table('cpjtfk')
  12706. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12707. ->field("
  12708. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12709. sum(iwcl) as 马1甲
  12710. ")
  12711. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  12712. ->group('drptdate,cbanzu')
  12713. ->buildSql();
  12714. $B1 = Db::table('cpjtfk')
  12715. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12716. ->field("
  12717. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12718. sum(iwcl) as 马1乙
  12719. ")
  12720. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  12721. ->group('drptdate,cbanzu')
  12722. ->buildSql();
  12723. $C = Db::table('cpjtfk')
  12724. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12725. ->field("
  12726. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12727. sum(iwcl) as 马2甲
  12728. ")
  12729. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  12730. ->group('drptdate,cbanzu')
  12731. ->buildSql();
  12732. $C1 = Db::table('cpjtfk')
  12733. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12734. ->field("
  12735. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12736. sum(iwcl) as 马2乙
  12737. ")
  12738. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  12739. ->group('drptdate,cbanzu')
  12740. ->buildSql();
  12741. $D = Db::table('cpjtfk')
  12742. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12743. ->field("
  12744. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12745. sum(iwcl) as 马3甲
  12746. ")
  12747. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  12748. ->group('drptdate,cbanzu')
  12749. ->buildSql();
  12750. $D1 = Db::table('cpjtfk')
  12751. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12752. ->field("
  12753. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12754. sum(iwcl) as 马3乙
  12755. ")
  12756. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  12757. ->group('drptdate,cbanzu')
  12758. ->buildSql();
  12759. $E = Db::table('cpjtfk')
  12760. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12761. ->field("
  12762. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12763. sum(iwcl) as 马4甲
  12764. ")
  12765. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  12766. ->group('drptdate,cbanzu')
  12767. ->buildSql();
  12768. $E1 = Db::table('cpjtfk')
  12769. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12770. ->field("
  12771. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12772. sum(iwcl) as 马4乙
  12773. ")
  12774. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  12775. ->group('drptdate,cbanzu')
  12776. ->buildSql();
  12777. $F = Db::table('cpjtfk')
  12778. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12779. ->field("
  12780. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12781. sum(iwcl) as 马5甲
  12782. ")
  12783. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  12784. ->group('drptdate,cbanzu')
  12785. ->buildSql();
  12786. $F1 = Db::table('cpjtfk')
  12787. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12788. ->field("
  12789. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12790. sum(iwcl) as 马5乙,
  12791. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  12792. ")
  12793. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  12794. ->group('drptdate,cbanzu')
  12795. ->buildSql();
  12796. $rr = Db::table('scyddx')->alias('r')
  12797. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12798. ->group('r.ICYDID')
  12799. ->buildSql();
  12800. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12801. ->field("
  12802. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12803. sum(a.nAmount) as 马11甲")
  12804. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12805. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12806. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12807. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12808. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12809. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12810. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  12811. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12812. ->group("CASE
  12813. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12814. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12815. END,Name_WorkGroup")->buildSql();
  12816. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12817. ->field("
  12818. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12819. sum(a.nAmount) as 马11乙
  12820. ")
  12821. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12822. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12823. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12824. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12825. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12826. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12827. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  12828. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12829. ->group("CASE
  12830. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12831. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12832. END,Name_WorkGroup")
  12833. ->buildSql();
  12834. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12835. ->field("
  12836. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12837. sum(a.nAmount) as 马22甲
  12838. ")
  12839. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12840. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12841. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12842. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12843. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12844. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12845. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  12846. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12847. ->group("CASE
  12848. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12849. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12850. END,Name_WorkGroup")
  12851. ->buildSql();
  12852. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12853. ->field("
  12854. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12855. sum(a.nAmount) as 马22乙
  12856. ")
  12857. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12858. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12859. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12860. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12861. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12862. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12863. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  12864. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12865. ->group("CASE
  12866. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12867. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12868. END,Name_WorkGroup")
  12869. ->buildSql();
  12870. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12871. ->field("
  12872. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12873. sum(a.nAmount) as 马33甲
  12874. ")
  12875. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12876. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12877. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12878. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12879. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12880. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12881. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  12882. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12883. ->group("CASE
  12884. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12885. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12886. END,Name_WorkGroup")
  12887. ->buildSql();
  12888. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12889. ->field("
  12890. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12891. sum(a.nAmount) as 马33乙
  12892. ")
  12893. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12894. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12895. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12896. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12897. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12898. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12899. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  12900. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12901. ->group("CASE
  12902. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12903. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12904. END,Name_WorkGroup")
  12905. ->buildSql();
  12906. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12907. ->field("
  12908. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12909. sum(a.nAmount) as 马44甲
  12910. ")
  12911. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12912. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12913. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12914. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12915. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12916. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12917. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  12918. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12919. ->group("CASE
  12920. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12921. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12922. END,Name_WorkGroup")
  12923. ->buildSql();
  12924. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12925. ->field("
  12926. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12927. sum(a.nAmount) as 马44乙
  12928. ")
  12929. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12930. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12931. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12932. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12933. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12934. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12935. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  12936. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12937. ->group("CASE
  12938. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12939. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12940. END,Name_WorkGroup")
  12941. ->buildSql();
  12942. $XX = Db::table('ql_report_feedback_day')->alias('a')
  12943. ->field("
  12944. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12945. sum(a.nAmount) as 马55甲
  12946. ")
  12947. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12948. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12949. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12950. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12951. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12952. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12953. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  12954. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12955. ->group("CASE
  12956. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12957. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12958. END,Name_WorkGroup")
  12959. ->buildSql();
  12960. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  12961. ->field("
  12962. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12963. sum(a.nAmount) as 马66甲
  12964. ")
  12965. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12966. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12967. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12968. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12969. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12970. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12971. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  12972. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12973. ->group("CASE
  12974. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12975. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12976. END,Name_WorkGroup")
  12977. ->buildSql();
  12978. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  12979. ->field("
  12980. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12981. sum(a.nAmount) as 马77甲
  12982. ")
  12983. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12984. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12985. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12986. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12987. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12988. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12989. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  12990. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12991. ->group("CASE
  12992. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12993. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12994. END,Name_WorkGroup")
  12995. ->buildSql();
  12996. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  12997. ->field("
  12998. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12999. sum(a.nAmount) as 马88甲
  13000. ")
  13001. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13002. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13003. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13004. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13005. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13006. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13007. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  13008. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13009. ->group("CASE
  13010. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13011. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13012. END,Name_WorkGroup")
  13013. ->buildSql();
  13014. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  13015. ->field("
  13016. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13017. sum(a.nAmount) as 马55乙
  13018. ")
  13019. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13020. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13021. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13022. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13023. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13024. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13025. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  13026. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13027. ->group("CASE
  13028. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13029. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13030. END,Name_WorkGroup")
  13031. ->buildSql();
  13032. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  13033. ->field("
  13034. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13035. sum(a.nAmount) as 马66乙
  13036. ")
  13037. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13038. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13039. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13040. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13041. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13042. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13043. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  13044. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13045. ->group("CASE
  13046. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13047. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13048. END,Name_WorkGroup")
  13049. ->buildSql();
  13050. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  13051. ->field("
  13052. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13053. sum(a.nAmount) as 马77乙
  13054. ")
  13055. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13056. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13057. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13058. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13059. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13060. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13061. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  13062. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13063. ->group("CASE
  13064. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13065. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13066. END,Name_WorkGroup")
  13067. ->buildSql();
  13068. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  13069. ->field("
  13070. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13071. sum(a.nAmount) as 马88乙
  13072. ")
  13073. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13074. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13075. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13076. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13077. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13078. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13079. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  13080. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13081. ->group("CASE
  13082. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13083. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13084. END,Name_WorkGroup")
  13085. ->buildSql();
  13086. $db = Db::table($A . 'a')
  13087. ->field("
  13088. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  13089. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  13090. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  13091. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  13092. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  13093. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  13094. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  13095. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  13096. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  13097. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  13098. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  13099. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  13100. + IFNULL(JDJ4.马88甲, 0) + IFNULL(JDY4.马88乙, 0)
  13101. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  13102. ")
  13103. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13104. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  13105. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  13106. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  13107. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  13108. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  13109. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  13110. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  13111. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  13112. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  13113. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  13114. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  13115. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  13116. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  13117. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  13118. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  13119. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  13120. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  13121. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  13122. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  13123. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  13124. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  13125. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  13126. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  13127. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  13128. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  13129. ->buildSql();
  13130. $sql_final = Db::table($db . ' db')
  13131. ->field("
  13132. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13133. ROUND(sum(db.总计册), 0) as jdcs
  13134. ")
  13135. ->where("db.RQ >= '{$this->qianstart_time()}'
  13136. AND db.RQ <= '{$this->end_time()}' ")
  13137. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13138. ->select();
  13139. // 初始化数据
  13140. $i = 0;
  13141. $j = 0;
  13142. $k = 0;
  13143. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13144. $currentYear = date("Y"); // 当前年份
  13145. $previousYear = (int)$currentYear - 1; // 去年
  13146. $previousTwoYear = (int)$currentYear - 2; // 前年
  13147. // 为三年的数据创建数组,初始值为0
  13148. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13149. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13150. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13151. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13152. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13153. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13154. // 遍历查询结果并填充数据
  13155. foreach ($sql_final as $v) {
  13156. // 获取年份和月份
  13157. $year = substr($v['rq'], 0, 4);
  13158. $month = substr($v['rq'], 5, 2);
  13159. // 如果是前年数据
  13160. if ($year == $previousTwoYear) {
  13161. $list['series'][0]['data'][(int)$month - 1] = $v['jdcs'];
  13162. }
  13163. // 如果是去年数据
  13164. if ($year == $previousYear) {
  13165. $list['series'][1]['data'][(int)$month - 1] = $v['jdcs'];
  13166. }
  13167. // 如果是今年数据
  13168. if ($year == $currentYear) {
  13169. $list['series'][2]['data'][(int)$month - 1] = $v['jdcs'];
  13170. }
  13171. }
  13172. $res['status'] = 0;
  13173. $res['msg'] = '';
  13174. $res['data'] = $list;
  13175. $redis->set($redis_key, json_encode($res));
  13176. return json_encode($res);
  13177. }
  13178. //胶订册数->接口调用
  13179. public function jdcs(){
  13180. $redis=redis();
  13181. $redis_key = md5('jdcs_redis');
  13182. $redis_data = $redis->get($redis_key);
  13183. return $redis_data;
  13184. }
  13185. //精装册数->缓存调用
  13186. public function jzcs_redis(){
  13187. $redis=redis();
  13188. $redis_key = md5('jzcs_redis');
  13189. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  13190. ->union(function ($query) {
  13191. $query->table('scDayRpt_Teams')->alias('b')
  13192. ->field("DISTINCT DATE_FORMAT(
  13193. CASE
  13194. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  13195. ELSE b.dOnDuty
  13196. END,
  13197. '%Y-%m-%d'
  13198. ) AS RQ");
  13199. }, true)
  13200. ->buildSql();
  13201. //精1甲、精1甲纸令数
  13202. $B = Db::table('cpjtfk')
  13203. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13204. ->field("
  13205. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13206. sum(iwcl) as 精1甲
  13207. ")
  13208. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  13209. ->group('drptdate,cbanzu')
  13210. ->buildSql();
  13211. //精1乙 精1乙纸令数
  13212. $B1 = Db::table('cpjtfk')
  13213. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13214. ->field("
  13215. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13216. sum(iwcl) as 精1乙
  13217. ")
  13218. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  13219. ->group('drptdate,cbanzu')
  13220. ->buildSql();
  13221. $rr = Db::table('scyddx')->alias('r')
  13222. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  13223. ->group('r.ICYDID')
  13224. ->buildSql();
  13225. //精11甲--精11甲纸令
  13226. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  13227. ->field("
  13228. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13229. sum(a.nAmount) as 精11甲
  13230. ")
  13231. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13232. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13233. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13234. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13235. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13236. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13237. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  13238. ->where('a.cTechName' ,'=','精装联动')
  13239. ->group("CASE
  13240. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13241. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13242. END,Name_WorkGroup")
  13243. ->buildSql();
  13244. //精11乙--精11乙纸令
  13245. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  13246. ->field("
  13247. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13248. sum(a.nAmount) as 精11乙
  13249. ")
  13250. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13251. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13252. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13253. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13254. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13255. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13256. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  13257. ->where('a.cTechName' ,'=','精装联动')
  13258. ->group("CASE
  13259. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13260. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13261. END,Name_WorkGroup")
  13262. ->buildSql();
  13263. $db = Db::table($A . 'a')
  13264. ->field("
  13265. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  13266. IFNULL(B.精1甲, 0) + IFNULL(B1.精1乙, 0) + IFNULL(Bb.精11甲, 0) + IFNULL(Bb1.精11乙, 0) as 总计册
  13267. ")
  13268. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13269. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  13270. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  13271. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  13272. ->buildSql();
  13273. $sql_final = Db::table($db . ' db')
  13274. ->field("
  13275. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13276. ROUND(sum(db.总计册), 0) as jzcs
  13277. ")
  13278. ->where("db.RQ >= '{$this->qianstart_time()}'
  13279. AND db.RQ <= '{$this->end_time()}' ")
  13280. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13281. ->select();
  13282. // 初始化数据
  13283. $i = 0;
  13284. $j = 0;
  13285. $k = 0;
  13286. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13287. $currentYear = date("Y"); // 当前年份
  13288. $previousYear = (int)$currentYear - 1; // 去年
  13289. $previousTwoYear = (int)$currentYear - 2; // 前年
  13290. // 为三年的数据创建数组,初始值为0
  13291. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13292. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13293. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13294. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13295. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13296. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13297. // 遍历查询结果并填充数据
  13298. foreach ($sql_final as $v) {
  13299. // 获取年份和月份
  13300. $year = substr($v['rq'], 0, 4);
  13301. $month = substr($v['rq'], 5, 2);
  13302. // 如果是前年数据
  13303. if ($year == $previousTwoYear) {
  13304. $list['series'][0]['data'][(int)$month - 1] = $v['jzcs'];
  13305. }
  13306. // 如果是去年数据
  13307. if ($year == $previousYear) {
  13308. $list['series'][1]['data'][(int)$month - 1] = $v['jzcs'];
  13309. }
  13310. // 如果是今年数据
  13311. if ($year == $currentYear) {
  13312. $list['series'][2]['data'][(int)$month - 1] = $v['jzcs'];
  13313. }
  13314. }
  13315. $res['status'] = 0;
  13316. $res['msg'] = '';
  13317. $res['data'] = $list;
  13318. $redis->set($redis_key, json_encode($res));
  13319. return json_encode($res);
  13320. }
  13321. //精装册数->接口调用
  13322. public function jzcs(){
  13323. $redis=redis();
  13324. $redis_key = md5('jzcs_redis');
  13325. $redis_data = $redis->get($redis_key);
  13326. return $redis_data;
  13327. }
  13328. //骑马册数->缓存调用
  13329. public function qmcs_redis(){
  13330. $redis=redis();
  13331. $redis_key = md5('qmcs_redis');
  13332. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  13333. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  13334. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  13335. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  13336. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  13337. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  13338. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  13339. ->union(function ($query) {
  13340. $query->table('scDayRpt_Teams')->alias('b')
  13341. ->field("DISTINCT DATE_FORMAT(
  13342. CASE
  13343. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  13344. ELSE b.dOnDuty
  13345. END,
  13346. '%Y-%m-%d'
  13347. ) AS RQ");
  13348. }, true)
  13349. ->buildSql();
  13350. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  13351. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  13352. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  13353. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  13354. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  13355. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  13356. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  13357. $B = Db::table('cpjtfk')
  13358. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13359. ->field("
  13360. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13361. sum(iwcl) as 骑1甲
  13362. ")
  13363. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  13364. ->group('drptdate,cbanzu')
  13365. ->buildSql();
  13366. $B1 = Db::table('cpjtfk')
  13367. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13368. ->field("
  13369. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13370. sum(iwcl) as 骑1乙
  13371. ")
  13372. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  13373. ->group('drptdate,cbanzu')
  13374. ->buildSql();
  13375. $C = Db::table('cpjtfk')
  13376. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13377. ->field("
  13378. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13379. sum(iwcl) as 骑2甲
  13380. ")
  13381. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  13382. ->group('drptdate,cbanzu')
  13383. ->buildSql();
  13384. $C1 = Db::table('cpjtfk')
  13385. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13386. ->field("
  13387. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13388. sum(iwcl) as 骑2乙
  13389. ")
  13390. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  13391. ->group('drptdate,cbanzu')
  13392. ->buildSql();
  13393. $D = Db::table('cpjtfk')
  13394. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13395. ->field("
  13396. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13397. sum(iwcl) as 骑3甲
  13398. ")
  13399. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  13400. ->group('drptdate,cbanzu')
  13401. ->buildSql();
  13402. $D1 = Db::table('cpjtfk')
  13403. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13404. ->field("
  13405. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13406. sum(iwcl) as 骑3乙
  13407. ")
  13408. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  13409. ->group('drptdate,cbanzu')
  13410. ->buildSql();
  13411. $E = Db::table('cpjtfk')
  13412. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13413. ->field("
  13414. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13415. sum(iwcl) as 骑4甲
  13416. ")
  13417. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  13418. ->group('drptdate,cbanzu')
  13419. ->buildSql();
  13420. $E1 = Db::table('cpjtfk')
  13421. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13422. ->field("
  13423. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13424. sum(iwcl) as 骑4乙
  13425. ")
  13426. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  13427. ->group('drptdate,cbanzu')
  13428. ->buildSql();
  13429. $rr = Db::table('scyddx')->alias('r')
  13430. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  13431. ->group('r.ICYDID')
  13432. ->buildSql();
  13433. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  13434. //2.使用别名$Bb表示主查询结果。
  13435. //3.查询的主要数据来源是表ql_report_feedback_day。
  13436. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  13437. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  13438. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  13439. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  13440. //8.通过buildSql方法生成最终的SQL查询语句
  13441. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  13442. ->field("
  13443. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13444. sum(a.nAmount) as 骑11甲
  13445. ")
  13446. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13447. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13448. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13449. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13450. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13451. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13452. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  13453. ->where('a.cTechName' ,'=','骑马联动')
  13454. ->group("CASE
  13455. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13456. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13457. END,Name_WorkGroup")
  13458. ->buildSql();
  13459. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  13460. ->field("
  13461. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13462. sum(a.nAmount) as 骑11乙
  13463. ")
  13464. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13465. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13466. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13467. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13468. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13469. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13470. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  13471. ->where('a.cTechName' ,'=','骑马联动')
  13472. ->group("CASE
  13473. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13474. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13475. END,Name_WorkGroup")
  13476. ->buildSql();
  13477. $CC = Db::table('ql_report_feedback_day')->alias('a')
  13478. ->field("
  13479. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13480. sum(a.nAmount) as 骑22甲
  13481. ")
  13482. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13483. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13484. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13485. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13486. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13487. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13488. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  13489. ->where('a.cTechName' ,'=','骑马联动')
  13490. ->group("CASE
  13491. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13492. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13493. END,Name_WorkGroup")
  13494. ->buildSql();
  13495. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  13496. ->field("
  13497. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13498. sum(a.nAmount) as 骑22乙
  13499. ")
  13500. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13501. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13502. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13503. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13504. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13505. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13506. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  13507. ->where('a.cTechName' ,'=','骑马联动')
  13508. ->group("CASE
  13509. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13510. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13511. END,Name_WorkGroup")
  13512. ->buildSql();
  13513. $EE = Db::table('ql_report_feedback_day')->alias('a')
  13514. ->field("
  13515. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13516. sum(a.nAmount) as 骑33甲
  13517. ")
  13518. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13519. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13520. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13521. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13522. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13523. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13524. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  13525. ->where('a.cTechName' ,'=','骑马联动')
  13526. ->group("CASE
  13527. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13528. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13529. END,Name_WorkGroup")
  13530. ->buildSql();
  13531. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  13532. ->field("
  13533. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13534. sum(a.nAmount) as 骑33乙
  13535. ")
  13536. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13537. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13538. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13539. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13540. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13541. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13542. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  13543. ->where('a.cTechName' ,'=','骑马联动')
  13544. ->group("CASE
  13545. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13546. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13547. END,Name_WorkGroup")
  13548. ->buildSql();
  13549. $HH = Db::table('ql_report_feedback_day')->alias('a')
  13550. ->field("
  13551. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13552. sum(a.nAmount) as 骑44甲
  13553. ")
  13554. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13555. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13556. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13557. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13558. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13559. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13560. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  13561. ->where('a.cTechName' ,'=','骑马联动')
  13562. ->group("CASE
  13563. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13564. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13565. END,Name_WorkGroup")
  13566. ->buildSql();
  13567. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  13568. ->field("
  13569. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13570. sum(a.nAmount) as 骑44乙
  13571. ")
  13572. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13573. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13574. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13575. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13576. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13577. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13578. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  13579. ->where('a.cTechName' ,'=','骑马联动')
  13580. ->group("CASE
  13581. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13582. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13583. END,Name_WorkGroup")
  13584. ->buildSql();
  13585. //1.首先,定义了一个查询语句,该语句涉及多个表的连接和字段的计算。
  13586. //2.代码中使用了别名$db来表示主查询结果。
  13587. //3.查询的主要数据来源是表$A.'a'。
  13588. //4.查询的字段包括总计册和纸令数总计,通过对多个子查询结果相加得到。
  13589. //5.在查询中使用了LEFT JOIN进行表连接操作,将子查询结果与主查询结果进行连接,通过日期a.rq进行匹配。
  13590. //6.使用buildSql()方法生成最终的SQL查询语句
  13591. $db = Db::table($A . 'a')
  13592. ->field("
  13593. DISTINCT DATE(A.RQ) rq,
  13594. TRUNCATE(IFNULL(sum(B.骑1甲), 0) + IFNULL(sum(B1.骑1乙), 0)
  13595. + IFNULL(sum(C.骑2甲), 0) + IFNULL(sum(C1.骑2乙), 0)
  13596. + IFNULL(sum(D.骑3甲), 0) + IFNULL(sum(D1.骑3乙), 0)
  13597. + IFNULL(sum(E.骑4甲), 0) + IFNULL(sum(E1.骑4乙), 0)
  13598. + IFNULL(sum(Bb.骑11甲), 0) + IFNULL(sum(Bb1.骑11乙), 0)
  13599. + IFNULL(sum(cc.骑22甲), 0) + IFNULL(sum(cc1.骑22乙), 0)
  13600. + IFNULL(sum(ee.骑33甲), 0) + IFNULL(sum(ee1.骑33乙), 0)
  13601. + IFNULL(sum(hh.骑44甲), 0) + IFNULL(sum(hh1.骑44乙), 0) , 0) 总计册
  13602. ")
  13603. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13604. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  13605. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  13606. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  13607. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  13608. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  13609. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  13610. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  13611. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  13612. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  13613. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  13614. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  13615. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  13616. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  13617. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  13618. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  13619. ->group('rq')
  13620. ->buildSql();
  13621. $sql_final = Db::table($db . ' db')
  13622. ->field("
  13623. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13624. ROUND(sum(db.总计册), 3) as qmcs
  13625. ")
  13626. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  13627. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13628. ->select();
  13629. // 初始化数据
  13630. $i = 0;
  13631. $j = 0;
  13632. $k = 0;
  13633. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13634. $currentYear = date("Y"); // 当前年份
  13635. $previousYear = (int)$currentYear - 1; // 去年
  13636. $previousTwoYear = (int)$currentYear - 2; // 前年
  13637. // 为三年的数据创建数组,初始值为0
  13638. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13639. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13640. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13641. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13642. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13643. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13644. // 遍历查询结果并填充数据
  13645. foreach ($sql_final as $v) {
  13646. // 获取年份和月份
  13647. $year = substr($v['rq'], 0, 4);
  13648. $month = substr($v['rq'], 5, 2);
  13649. // 如果是前年数据
  13650. if ($year == $previousTwoYear) {
  13651. $list['series'][0]['data'][(int)$month - 1] = $v['qmcs'];
  13652. }
  13653. // 如果是去年数据
  13654. if ($year == $previousYear) {
  13655. $list['series'][1]['data'][(int)$month - 1] = $v['qmcs'];
  13656. }
  13657. // 如果是今年数据
  13658. if ($year == $currentYear) {
  13659. $list['series'][2]['data'][(int)$month - 1] = $v['qmcs'];
  13660. }
  13661. }
  13662. $res['status'] = 0;
  13663. $res['msg'] = '';
  13664. $res['data'] = $list;
  13665. $redis->set($redis_key, json_encode($res));
  13666. return json_encode($res);
  13667. }
  13668. //骑马册数->接口调用
  13669. public function qmcs(){
  13670. $redis=redis();
  13671. $redis_key = md5('qmcs_redis');
  13672. $redis_data = $redis->get($redis_key);
  13673. return $redis_data;
  13674. }
  13675. /**
  13676. * 第三方调用:外发采购询价审核接口
  13677. * 请求方式:GET
  13678. * 请求参数:
  13679. * limit 返回条数 选填 默认100 最大200
  13680. */
  13681. public function GetProcuremen()
  13682. {
  13683. // 只允许GET请求
  13684. if (!$this->request->isGet()) {
  13685. return json([
  13686. 'code' => 400,
  13687. 'msg' => '请求方式错误,请使用GET',
  13688. 'data' => []
  13689. ]);
  13690. }
  13691. // 接收参数 + 安全过滤
  13692. $start_time = $this->request->get('start_time', '', 'trim');
  13693. $end_time = $this->request->get('end_time', '', 'trim');
  13694. $limit = (int)$this->request->get('limit', 100);
  13695. // 限制最大返回条数,防止拖垮服务器
  13696. $limit = min($limit, 200);
  13697. // 时间范围:不传则自动取 30天前 ~ 现在
  13698. if (empty($start_time)) {
  13699. $start_time = date('Y-m-d H:i:s', strtotime('-30 days'));
  13700. }
  13701. if (empty($end_time)) {
  13702. $end_time = date('Y-m-d H:i:s');
  13703. }
  13704. $list = Db::table('scydgy')->alias('a')
  13705. ->join('mcyd b', 'b.ICYDID = a.ICYDID AND b.iStatus >= 10', 'inner')
  13706. ->field('a.ID,
  13707. b.CCYDH as 传票号,
  13708. b.CYJMC as 传票名称,
  13709. a.CDXMC as 类型名称,
  13710. a.CGYBH as 工序号,
  13711. a.CGYMC as 工序名称,
  13712. a.CDW as 单位,
  13713. a.NGZL as 已下达总量,
  13714. b.CDF,
  13715. a.cGzzxMc as 客户名称,
  13716. a.MBZ as 备注,
  13717. a.iStatus as 状态,
  13718. a.dStamp as 操作时间,
  13719. b.dputrecord as 录入日期,
  13720. b.cywyxm as 业务员')
  13721. ->where([
  13722. 'a.bwjg' => 1, // 完成结果=1
  13723. 'a.iEndBz' => 0, // 未结束
  13724. 'a.iType' => 0, // 外发类型
  13725. 'a.iStatus' => 10, // 已审核
  13726. ])
  13727. ->where('a.dStamp', '>=', $start_time)
  13728. ->where('a.dStamp', '<=', $end_time)
  13729. ->limit($limit)
  13730. ->select();
  13731. // 返回第三方标准格式
  13732. return json([
  13733. 'code' => 200,
  13734. 'msg' => '获取成功',
  13735. 'data' => $list
  13736. ]);
  13737. }
  13738. }