si.php 567 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641
  1. <?php
  2. namespace app\api\controller;
  3. use think\console\command\make\Model;
  4. use think\Controller;
  5. use think\Db;
  6. use think\Request;
  7. use think\Route;
  8. use think\Session;
  9. class Fourth extends Controller{
  10. /**
  11. * 第四屏幕
  12. */
  13. //开始时间方法--当年01月01日
  14. public function start_time(){
  15. return gettimeinfo();
  16. }
  17. //结束时间方法--当年12月31日
  18. public function end_time(){
  19. return gettimeinfo(1);
  20. }
  21. //开始时间方法--去年01月01日
  22. public function qstart_time(){
  23. return getLastYear();
  24. }
  25. //结束时间方法--去年12月31日
  26. public function qend_time(){
  27. return getLastYear(1);
  28. }
  29. /**
  30. * 业务承揽税收入、承揽毛利收入、当年产量情况(色令)
  31. */
  32. public function year_ywcl_redis(){
  33. //存缓存Redis
  34. $redis = redis();
  35. $sql = "
  36. SELECT 1 AS 序号,
  37. YEAR(c.DCYRQ) AS 年份,
  38. ROUND(SUM(c.nzl) / 10000, 2) AS '纸令(万)',
  39. ROUND(SUM(c.nsl) / 10000, 2) AS '色令(万)',
  40. ROUND(SUM(c.ncs) / 10000, 2) AS '册数(万)',
  41. ROUND(SUM(c.nwshjje) / 10000, 2) AS '合同价格(万元)',
  42. ROUND(SUM(c.nwsgjhj) / 10000, 2) AS '合同工价(万元)',
  43. ROUND(SUM(c.NWSCLHJ) / 10000, 2) AS '合同料价(万元)',
  44. ROUND(SUM(c.nwsbzhjje) / 10000, 2) AS '标准价(万元)',
  45. ROUND(SUM(c.NWSBZCLHJ) / 10000, 2) AS '标准料价(万元)',
  46. ROUND(SUM(c.NWSBZGJHJ) / 10000, 2) AS '标准工价(万元)',
  47. ROUND(SUM(c.NGJJE) / 10000, 2) AS '加工收入(万元)',
  48. ROUND(SUM(c.nscml) / 10000, 2) AS '生产毛利不含税(万元)',
  49. ROUND(SUM(c.nwshjje - c.nwsbzhjje) / 10000, 2) AS 采购毛利不含税 /*合同价格-标准价*/
  50. FROM (
  51. SELECT
  52. A.chy AS chy,
  53. YEAR(a.DCYRQ) AS dateyear,
  54. A.CYWYXM AS cywyxm,
  55. A.CYWDWMC AS CYWDWMC,
  56. A.NCS AS ncs,
  57. IFNULL(A.nwsgjhj, 0.00) AS nwsgjhj,
  58. IFNULL(A.NWSCLHJ, 0.00) AS NWSCLHJ,
  59. IFNULL(A.NWSBZCLHJ, 0.00) AS NWSBZCLHJ,
  60. IFNULL(A.NWSBZGJHJ, 0.00) AS NWSBZGJHJ,
  61. A.NGJJE AS ngjje,
  62. IFNULL(A.nwshjje, 0.00) AS nwshjje,
  63. IFNULL(A.nwsbzhjje, 0.00) AS nwsbzhjje,
  64. tj.sum_namount - tb_in.sum_nhjje_in - tb_out.sum_nhjje_out AS nscml,
  65. YEAR(A.DCYRQ) AS DCYRQ,
  66. IFNULL(ObjMatier.nysls, 0.000) AS nzl,
  67. IFNULL(ObjMatier.nyssl, 0.000) AS nsl,
  68. A.ICYDSTATE,
  69. A.ICYDID
  70. FROM MCYD A
  71. LEFT JOIN (
  72. SELECT ICYDID, MAX(Nsc) AS Nsc
  73. FROM SCYDDX
  74. WHERE IDXLXID = 573
  75. GROUP BY ICYDID
  76. ) AS Obj ON A.ICYDID = Obj.ICYDID
  77. LEFT JOIN (
  78. SELECT ICYDID, SUM(NYSLS) AS nysls, SUM(nyssl) AS nyssl, SUM(nsyl) AS nsyl
  79. FROM SCYDDX
  80. GROUP BY ICYDID
  81. ) AS ObjMatier ON A.ICYDID = ObjMatier.ICYDID
  82. LEFT JOIN (
  83. SELECT SUM(nhjje) AS sum_nhjje_in, SUM(ngjje) AS sum_ngjje_in, SUM(nclje) AS sum_nclje_in, iCydid
  84. FROM TBluey
  85. WHERE iwjg = 0 AND lzfbs = 0
  86. GROUP BY iCydid
  87. ) tb_in ON A.icydid = tb_in.iCydid
  88. LEFT JOIN (
  89. SELECT CAST(SUM(nhjje * 100 / (100 + itax)) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  90. CAST(SUM(ngjje * 100 / (100 + itax)) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  91. CAST(SUM(nclje * 100 / (100 + itax)) AS DECIMAL(18, 2)) AS sum_nclje_out, iCydid
  92. FROM TBluey
  93. WHERE iwjg = 1 AND lzfbs = 0
  94. GROUP BY iCydid
  95. ) tb_out ON A.icydid = tb_out.iCydid
  96. LEFT JOIN (
  97. SELECT SUM(namount) AS sum_namount, CAST(SUM(nclje * 100 / (100 + itax)) AS DECIMAL(18, 2)) AS sum_clje, iCydid
  98. FROM TJob
  99. WHERE lzfbs = 0
  100. GROUP BY iCydid, nclje, itax
  101. ) tj ON A.ICYDID = tj.iCydid
  102. WHERE A.ICYDSTATE > 0
  103. AND A.ICYDID > 0
  104. AND DATE(A.DCYRQ) >= '{$this->start_time()}'
  105. AND DATE(A.DCYRQ) <= '{$this->end_time()}'
  106. ) c
  107. GROUP BY YEAR(c.DCYRQ)";
  108. $result=Db::query($sql);
  109. // halt($result);
  110. $name='业务承揽收入(万元)';
  111. $target=Db::name('target')->where('name',$name)->value('year_target');
  112. $list[0]['name'] = ' ';
  113. $list[0]['value'] = $target;
  114. $list[1]['name'] = ' ';
  115. // $list[1]['value'] = round($result[0]['合同价格(万元)']);
  116. $list[1]['value'] = round(json_decode($redis->get(md5('getxssr_redis')),true)['data']['series'][0]['data'][2]);
  117. $res['status'] = 0;
  118. $res['msg'] = '';
  119. $res['data'] = $list;
  120. $year_ywcls = md5('year_ywcls');
  121. $redis->set($year_ywcls, json_encode($res));
  122. $res=[];
  123. $res['status'] = 0;
  124. $res['msg'] = '';
  125. // $res['data'] = round($result[0]['合同价格(万元)']/$target*100);
  126. $res['data'] = round(json_decode($redis->get(md5('getxssr_redis')),true)['data']['series'][0]['data'][2]/$target*100);
  127. $year_ywcls_wcl = md5('year_ywcls_wcl');
  128. $redis->set($year_ywcls_wcl, json_encode($res));
  129. $result2=json_decode($redis->get(md5('month_jgml_redis')),true);
  130. $zxsml=0;
  131. foreach($result2 as $v){
  132. if($v['承印时间']>=date('Y').'-01'){
  133. $zxsml+=$v['总销售毛利'];
  134. }
  135. }
  136. $name='毛利收入(万元)';
  137. $target=Db::name('target')->where('name',$name)->value('year_target');
  138. $list=[];
  139. $res=[];
  140. $list[0]['name'] = ' ';
  141. $list[0]['value'] = $target;
  142. $list[1]['name'] = ' ';
  143. $list[1]['value'] = round($zxsml);
  144. $res['status'] = 0;
  145. $res['msg'] = '';
  146. $res['data'] = $list;
  147. $year_ywclml = md5('year_ywclml');
  148. $redis->set($year_ywclml, json_encode($res));
  149. $res=[];
  150. $res['status'] = 0;
  151. $res['msg'] = '';
  152. $res['data'] = round($zxsml/$target*100);
  153. $year_ywclml_wcl = md5('year_ywclml_wcl');
  154. $redis->set($year_ywclml_wcl, json_encode($res));
  155. $name='产量情况(万色令)';
  156. $yu=Db::name('target')->where('name',$name)->value('year_target');
  157. $result1 = Db::query("SELECT
  158. round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度
  159. 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
  160. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  161. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  162. WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  163. GROUP BY year(t5.rq) ) M");
  164. $list=[];
  165. $res=[];
  166. $list[0]['name'] = ' ';
  167. $list[0]['value'] = $yu;
  168. $list[1]['name'] = ' ';
  169. $list[1]['value'] = round($result1[0]['色令']);
  170. $res['status'] = 0;
  171. $res['msg'] = '';
  172. $res['data'] = $list;
  173. $year_ywclsl = md5('year_ywclsl');
  174. $redis->set($year_ywclsl, json_encode($res));
  175. $res=[];
  176. $res['status'] = 0;
  177. $res['msg'] = '';
  178. // $res['data'] = round($result[0]['色令(万)']/$target*100);
  179. $res['data'] = round($result1[0]['色令百分比']);
  180. $year_ywclsl_wcl = md5('year_ywclsl_wcl');
  181. $redis->set($year_ywclsl_wcl, json_encode($res));
  182. return json($res);
  183. // echo "<pre>";print_r($res);echo "<pre>";die;
  184. //
  185. // //将查询结果存入 Redis 缓存中
  186. // $redis->set($redis_key, json_encode($res));
  187. // echo date("Y-m-d H:i:s").' 存进去了';
  188. // return $res;
  189. }
  190. //当年业务承揽税收入
  191. public function year_ywcls(){
  192. //取合同价格
  193. $redis = redis();
  194. return $redis->get(md5('year_ywcls'));
  195. }
  196. //当年业务承揽税收入完成率
  197. public function year_ywcls_wcl(){
  198. //取合同价格/目标收入
  199. $redis = redis();
  200. return $redis->get(md5('year_ywcls_wcl'));
  201. }
  202. //当年业务承揽毛利收入
  203. public function year_ywclml(){
  204. //取生产毛利不含税
  205. $redis = redis();
  206. return $redis->get(md5('year_ywclml'));
  207. }
  208. //当年业务承揽毛利收入完成率
  209. public function year_ywclml_wcl(){
  210. //取生产毛利不含税/目标收入
  211. $redis = redis();
  212. return $redis->get(md5('year_ywclml_wcl'));
  213. }
  214. //当年产量情况(色令)
  215. public function year_ywclsl(){
  216. //取色令
  217. $redis = redis();
  218. return $redis->get(md5('year_ywclsl'));
  219. }
  220. //当年产量情况(色令)完成率
  221. public function year_ywclsl_wcl(){
  222. //取色令/目标收入
  223. $redis = redis();
  224. return $redis->get(md5('year_ywclsl_wcl'));
  225. }
  226. /**
  227. * 承印产量情况、业务承揽收入情况、加工收入情况、加工毛利收入情况
  228. */
  229. //当年与去年数据
  230. public function month_ywclsr_redis(){
  231. //链接定义 Redis
  232. $redis = redis();
  233. $redis_key = md5('month_ywclsr_redis');
  234. $sql = "SELECT 1 AS 序号,
  235. c.yearmonth AS 年月,
  236. ROUND(SUM(c.nsl) / 10000, 2) AS ' 色令(万)',
  237. ROUND(SUM(c. nwshjje) / 10000, 2) AS '合同价格(万元)',
  238. ROUND(SUM(c.nwsgjhj) / 10000, 2) AS '合同工价(万元)',
  239. ROUND(SUM(c.NWSCLHJ) / 10000, 2) AS '合同料价(万元)',
  240. ROUND(SUM(c.NGJJE) / 10000, 2) AS '加工收入(万元)',
  241. ROUND(SUM(c.NWSBZGJHJ) / 10000, 2) AS '标准工价(万元)',
  242. ROUND(SUM(c.nwsgjhj-c.NWSBZGJHJ) / 10000, 2) AS '加工毛利收入(万元)'/*合同工价-标准工价*/
  243. FROM (SELECT A.chy AS chy,
  244. CONVERT(a.DCYRQ, CHAR(7)) AS yearmonth,
  245. IFnull(ObjMatier.nyssl, 0.000) AS nsl,
  246. IFnull(A.nwshjje, 0.00) AS nwshjje,
  247. A.NGJJE AS ngjje,
  248. IFnull(A.NWSBZGJHJ, 0.00) AS NWSBZGJHJ,
  249. IFnull(A.nwsgjhj, 0.00) AS nwsgjhj,
  250. IFnull(A.NWSCLHJ, 0.00) AS NWSCLHJ,
  251. A.ICYDSTATE,
  252. A.ICYDID
  253. FROM MCYD A
  254. LEFT JOIN (SELECT ICYDID,
  255. Max(Nsc) AS Nsc
  256. FROM SCYDDX
  257. WHERE IDXLXID = 573
  258. GROUP BY ICYDID) AS Obj
  259. ON A.ICYDID = Obj.ICYDID
  260. LEFT JOIN (SELECT ICYDID,
  261. Sum(NYSLS) AS nysls,
  262. Sum(nyssl) AS nyssl,
  263. Sum(nsyl) AS nsyl
  264. FROM SCYDDX
  265. GROUP BY ICYDID) AS ObjMatier
  266. ON A.ICYDID = ObjMatier.ICYDID
  267. LEFT JOIN (SELECT Sum(nhjje) AS sum_nhjje_in,
  268. Sum(ngjje) AS sum_ngjje_in,
  269. Sum(nclje) AS sum_nclje_in,
  270. iCydid
  271. FROM TBluey
  272. WHERE iwjg = 0
  273. AND lzfbs = 0
  274. GROUP BY iCydid) tb_in
  275. ON A.icydid = tb_in.iCydid
  276. LEFT JOIN (SELECT CAST(SUM(nhjje * 100 / ( 100 + itax )) AS SIGNED) AS sum_nhjje_out,
  277. Cast(Sum(ngjje * 100 / ( 100 + itax )) AS SIGNED) AS sum_ngjje_out,
  278. Cast(Sum(nclje * 100 / ( 100 + itax )) AS SIGNED) AS sum_nclje_out,
  279. iCydid
  280. FROM TBluey
  281. WHERE iwjg = 1
  282. AND lzfbs = 0
  283. GROUP BY iCydid) tb_out
  284. ON A.icydid = tb_out.iCydid
  285. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  286. Cast(Sum(nclje * 100 / ( 100 + itax )) AS SIGNED) AS sum_clje,
  287. iCydid
  288. FROM TJob
  289. WHERE lzfbs = 0
  290. GROUP BY iCydid,
  291. nclje,
  292. itax) tj
  293. ON A.ICYDID = tj.iCydid
  294. WHERE A.ICYDSTATE > 0
  295. AND A.ICYDID > 0
  296. and chy != '集团教材外'
  297. AND CONVERT(A.DCYRQ,CHAR) >= '{$this->qstart_time()}'
  298. AND CONVERT(A.DCYRQ, CHAR) <= '{$this->end_time()}') c
  299. GROUP BY c.yearmonth
  300. ORDER BY c.yearmonth asc";
  301. $res=Db::query($sql);
  302. // echo "<pre>";print_r($res);echo "</pre>";die;
  303. //将查询结果存入 Redis 缓存中
  304. $redis->set($redis_key, json_encode($res));
  305. echo date("Y-m-d H:i:s").' 存进去了';
  306. return json($res);
  307. }
  308. //承印产量情况(万色令)缓存
  309. public function month_cjcl_redis(){
  310. //链接定义 Redis
  311. $redis = redis();
  312. $redis_key = md5('month_cjcl_redis');
  313. $sql = "SELECT DATE_FORMAT( dcyrq, '%Y-%m' ) as rq,sum(objmatier.nyssl)/10000 as sl,sum(objmatier.nysls) as zl
  314. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  315. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  316. WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' AND ( dcyrq >= '{$this->qstart_time()}'AND dcyrq <= '{$this->end_time()}' ) GROUP BY `rq` ORDER BY `rq` ASC";
  317. $res=Db::query($sql);
  318. // echo "<pre>";print_r($res);echo "</pre>";die;
  319. //将查询结果存入 Redis 缓存中
  320. $redis->set($redis_key, json_encode($res));
  321. echo date("Y-m-d H:i:s").' 存进去了';
  322. return json($res);
  323. }
  324. //承印产量情况(万色令)
  325. public function month_cjcl(){
  326. // $name='色令(万)';
  327. $name='sl';
  328. $redis = redis();
  329. // $result = json_decode($redis->get(md5('month_ywclsr_redis')),true);
  330. $result = json_decode($redis->get(md5('month_cjcl_redis')),true);
  331. //按每月设置的指标显示
  332. $list['categories']=[];
  333. $list['series'][0]=[];
  334. foreach($result as $k=>$v){
  335. // if($v['年月']>=date('Y').'-01'){
  336. if($v['rq']>=date('Y').'-01'){
  337. // $target=Db::name('targetmonth')->where('name','承印产量情况')->where('month',substr($v['年月'],-2,2))->value('month_target');
  338. $target=Db::name('targetmonth')->where('name','承印产量情况')->where('month',substr($v['rq'],-2,2))->value('month_target');
  339. // $list['series'][0]['name']=date('Y').'指标达成率';
  340. $list['series'][0]['name']='同比增减百分比';
  341. $list['series'][0]['type']='line';
  342. $list['series'][0]['yAxisIndex']=1;
  343. // $list['series'][0]['data'][]=round($v[$name]/$target*100);
  344. // $list['series'][0]['data'][]=round($v[$name]/$target*100);
  345. $list['series'][0]['data'][]=round(($v[$name]-$result[$k-12][$name])/$result[$k-12][$name]*100);
  346. $list['series'][2]['name']=date('Y').'年';
  347. $list['series'][2]['type']='bar';
  348. $list['series'][2]['yAxisIndex']=0;
  349. $list['series'][2]['data'][]=round($v[$name]);
  350. }else{
  351. // $list['categories'][]=substr($v['年月'],-2,2);
  352. $list['categories'][]=substr($v['rq'],-2,2);
  353. $list['series'][1]['name']=(date('Y')-1).'年';
  354. $list['series'][1]['type']='bar';
  355. $list['series'][1]['yAxisIndex']=0;
  356. $list['series'][1]['data'][]=round($v[$name]);
  357. }
  358. }
  359. // //按每月设置的指标显示
  360. // $list['categories'] = [];
  361. // $list['series'] = [
  362. // ['name' => (date('Y')-1).'年', 'type' => 'bar', 'data' => []],
  363. // ['name' => date('Y').'年', 'type' => 'bar', 'data' => []],
  364. // ['name' => '同比增减率', 'type' => 'line', 'yAxisIndex' => 1, 'data' => []]
  365. // ];
  366. // $name = 'sl';
  367. // $previousYearData = []; // 存储去年的数据,用于计算同比增减率
  368. // foreach($result as $v){
  369. // $month = substr($v['rq'], -2, 2);
  370. // if($v['rq'] >= date('Y').'-01'){
  371. // // 今年数据
  372. // $list['series'][1]['data'][] = round($v[$name]);
  373. // } else {
  374. // // 去年数据
  375. // $list['categories'][] = $month;
  376. // $list['series'][0]['data'][] = round($v[$name]);
  377. // $previousYearData[$month] = round($v[$name]);
  378. // }
  379. // }
  380. // // 计算同比增减率
  381. // foreach($result as $v){
  382. // if($v['rq'] >= date('Y').'-01'){
  383. // $month = substr($v['rq'], -2, 2);
  384. // $currentValue = round($v[$name]);
  385. // $previousValue = isset($previousYearData[$month]) ? $previousYearData[$month] : 0;
  386. // $rate = $previousValue != 0 ? round(($currentValue - $previousValue) / $previousValue * 100, 2) : null;
  387. // $list['series'][2]['data'][] = $rate;
  388. // }
  389. // }
  390. $res['status'] = 0;
  391. $res['msg'] = '';
  392. $res['data'] = $list;
  393. return json($res);
  394. }
  395. //业务承揽收入情况缓存
  396. public function month_ywcl_redis(){
  397. $redis=redis();
  398. $redis_key = md5('month_ywcl_redis');
  399. $field = [
  400. 'ldz',
  401. 'mcyd.icydid',
  402. 'year(mcyd.dcyrq) as 年',
  403. "DATE_FORMAT( mcyd.dcyrq, '%Y-%m') as 日期",
  404. 'sum(mcyd.nwshjje) nwshjje',
  405. 'sum(mcyd.nwsgjhj) nwsgjhj',
  406. 'sum(tjob.namount) namount',
  407. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  408. 'tjob.itax',
  409. ];
  410. //当年
  411. $erp2023 = Db::table('mcyd')->field($field)
  412. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  413. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->end_time()])
  414. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  415. ->where('mcyd.icydstate','>',0)
  416. ->select();
  417. foreach($erp2023 as $v){
  418. $list[$v['日期']]=0;
  419. }
  420. // 遍历查询结果,进行统计
  421. foreach ($erp2023 as $v){
  422. if($v['ldz'] == 1 ){
  423. $list[$v['日期']]+=$v['namount'];
  424. }else{
  425. $list[$v['日期']]+=$v['nwshjje'];
  426. }
  427. }
  428. foreach($list as $k=>$v){
  429. $res[]=['年月'=>$k,'合同价格(万元)'=>round($v/10000)];
  430. }
  431. array_multisort($res,SORT_ASC);
  432. $redis->set($redis_key, json_encode($res));
  433. return json_encode($res);
  434. }
  435. //业务承揽收入情况
  436. public function month_ywcl(){
  437. $name='合同价格(万元)';
  438. $redis = redis();
  439. // $result = json_decode($redis->get(md5('month_ywclsr_redis')),true);
  440. $result = json_decode($redis->get(md5('month_ywcl_redis')),true);
  441. $list['categories']=[];
  442. $list['series'][0]=[];
  443. foreach($result as $k=>$v){
  444. if($v['年月']>=date('Y').'-01'){
  445. $target=Db::name('targetmonth')->where('name','业务承揽收入情况')->where('month',substr($v['年月'],-2,2))->value('month_target');
  446. // $list['series'][0]['name']=date('Y').'指标达成率';
  447. $list['series'][0]['name']='同比增减百分比';
  448. $list['series'][0]['type']='line';
  449. $list['series'][0]['yAxisIndex']=1;
  450. // $list['series'][0]['data'][]=round($v[$name]/$target*100);
  451. $list['series'][0]['data'][]=round(($v[$name]-$result[$k-12][$name])/$result[$k-12][$name]*100);
  452. $list['series'][2]['name']=date('Y').'年';
  453. $list['series'][2]['type']='bar';
  454. $list['series'][2]['yAxisIndex']=0;
  455. $list['series'][2]['data'][]=round($v[$name]);
  456. }else{
  457. $list['categories'][]=substr($v['年月'],-2,2);
  458. $list['series'][1]['name']=(date('Y')-1).'年';
  459. $list['series'][1]['type']='bar';
  460. $list['series'][1]['yAxisIndex']=0;
  461. $list['series'][1]['data'][]=round($v[$name]);
  462. }
  463. }
  464. $res['status'] = 0;
  465. $res['msg'] = '';
  466. $res['data'] = $list;
  467. return json($res);
  468. }
  469. //加工收入情况缓存
  470. public function month_jgsr_redis(){
  471. $redis=redis();
  472. $redis_key = md5('month_jgsr_redis');
  473. $field = [
  474. 'ldz',
  475. 'mcyd.icydid',
  476. 'year(mcyd.dcyrq) as 年',
  477. "DATE_FORMAT( mcyd.dcyrq, '%Y-%m') as 日期",
  478. 'sum(mcyd.nwshjje) nwshjje',
  479. 'sum(mcyd.nwsgjhj) nwsgjhj',
  480. 'sum(tjob.namount) namount',
  481. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  482. 'tjob.itax',
  483. ];
  484. //当年
  485. $erp2023 = Db::table('mcyd')->field($field)
  486. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  487. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->end_time()])
  488. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  489. ->where('mcyd.icydstate','>',0)
  490. ->select();
  491. foreach($erp2023 as $v){
  492. $list[$v['日期']]=0;
  493. }
  494. // 遍历查询结果,进行统计
  495. foreach ($erp2023 as $v){
  496. if($v['ldz'] == 1 ){
  497. $list[$v['日期']]+=$v['sum_clje'];
  498. }else{
  499. $list[$v['日期']]+=$v['nwsgjhj'];
  500. }
  501. }
  502. foreach($list as $k=>$v){
  503. $res[]=['日期'=>$k,'加工收入'=>round($v/10000)];
  504. }
  505. array_multisort($res,SORT_ASC);
  506. $redis->set($redis_key, json_encode($res));
  507. return json_encode($res);
  508. }
  509. //加工收入情况
  510. public function month_jgsr(){
  511. // $name='加工收入(万元)';
  512. $name='加工收入';
  513. $redis = redis();
  514. // $result = json_decode($redis->get(md5('month_ywclsr_redis')),true);
  515. $result = json_decode($redis->get(md5('month_jgsr_redis')),true);
  516. $list['categories']=[];
  517. $list['series'][0]=[];
  518. foreach($result as $k=>$v){
  519. // if($v['年月']>=date('Y').'-01'){
  520. if($v['日期']>=date('Y').'-01'){
  521. // $target=Db::name('targetmonth')->where('name','加工收入情况')->where('month',substr($v['年月'],-2,2))->value('month_target');
  522. $target=Db::name('targetmonth')->where('name','加工收入情况')->where('month',substr($v['日期'],-2,2))->value('month_target');
  523. // $list['series'][0]['name']=date('Y').'指标达成率';
  524. $list['series'][0]['name']='同比增减百分比';
  525. $list['series'][0]['type']='line';
  526. $list['series'][0]['yAxisIndex']=1;
  527. // $list['series'][0]['data'][]=round($v[$name]/$target*100);
  528. $list['series'][0]['data'][]=round(($v[$name]-$result[$k-12][$name])/$result[$k-12][$name]*100);
  529. $list['series'][2]['name']=date('Y').'年';
  530. $list['series'][2]['type']='bar';
  531. $list['series'][2]['yAxisIndex']=0;
  532. $list['series'][2]['data'][]=round($v[$name]);
  533. }else{
  534. // $list['categories'][]=substr($v['年月'],-2,2);
  535. $list['categories'][]=substr($v['日期'],-2,2);
  536. $list['series'][1]['name']=(date('Y')-1).'年';
  537. $list['series'][1]['type']='bar';
  538. $list['series'][1]['yAxisIndex']=0;
  539. $list['series'][1]['data'][]=round($v[$name]);
  540. }
  541. }
  542. $res['status'] = 0;
  543. $res['msg'] = '';
  544. $res['data'] = $list;
  545. return json($res);
  546. }
  547. //加工考核毛利收入情况缓存
  548. public function month_jgml_redis(){
  549. $redis=redis();
  550. $redis_key = md5('month_jgml_redis');
  551. $res=Db::query("SELECT DATE_FORMAT(t.承印日期,'%Y-%m') 承印时间,
  552. Sum(t.印令) 总纸令,
  553. Sum(t.色令) 总色令,
  554. Sum(t.销售收入不含税) 总销售收入,
  555. Sum(t.销售收入工价不含税) 总销售工价,
  556. Sum(t.销售收入料价不含税) 总销售料价,
  557. Sum(t.不含税考核计算毛利)/10000 总销售毛利
  558. FROM (SELECT CASE
  559. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  560. ELSE '否'
  561. END 登账,
  562. DATE_FORMAT(DCYRQ,'%Y-%m-%d') AS 承印日期,
  563. ObjMatier.nysls AS 印令,
  564. ObjMatier.nyssl AS 色令,
  565. CYJLX AS 印件类型,
  566. CHY AS 活源,
  567. CASE
  568. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  569. ELSE
  570. CASE
  571. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  572. + CASE
  573. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  574. ELSE ( CASE
  575. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  576. ELSE ( CASE
  577. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  578. ELSE IFNULL(tj.sum_clje, 0)
  579. END )
  580. END )
  581. END = 0
  582. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  583. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  584. + CASE
  585. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  586. ELSE ( CASE
  587. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  588. ELSE ( CASE
  589. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  590. ELSE IFNULL(tj.sum_clje, 0)
  591. END )
  592. END )
  593. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  594. END
  595. END AS 不含税考核计算毛利,
  596. CASE
  597. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  598. ELSE
  599. CASE
  600. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  601. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  602. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  603. END
  604. END AS 考核计算工价毛利不含税,
  605. CASE
  606. WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0)
  607. ELSE IFNULL(tj.sum_namount, 0)
  608. END AS 销售收入不含税,
  609. CASE
  610. WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwsgjhj, 0)
  611. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0)
  612. END AS 销售收入工价不含税,
  613. CASE
  614. WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwsclhj, 0)
  615. ELSE IFNULL(tj.sum_clje, 0)
  616. END AS 销售收入料价不含税
  617. FROM MCYD Ord
  618. LEFT JOIN (SELECT ICYDID,
  619. Max(Nsc) AS Nsc
  620. FROM SCYDDX
  621. WHERE IDXLXID = 573
  622. GROUP BY ICYDID) AS Obj
  623. ON ord.ICYDID = Obj.ICYDID
  624. LEFT JOIN (SELECT ICYDID,
  625. Sum(NYSLS) AS nysls,
  626. Sum(nyssl) AS nyssl,
  627. Sum(nsyl) AS nsyl
  628. FROM SCYDDX
  629. GROUP BY ICYDID) AS ObjMatier
  630. ON Ord.ICYDID = ObjMatier.ICYDID
  631. LEFT JOIN (SELECT Sum(CASE
  632. WHEN hz.dz = 1 THEN hz.nhjje
  633. ELSE hz.传票预计价
  634. END) AS sum_nhjje_in,
  635. Sum(CASE
  636. WHEN hz.dz = 1 THEN hz.nhjje
  637. ELSE hz.传票预计价
  638. END) AS sum_ngjje_in,
  639. Sum(CASE
  640. WHEN hz.dz = 1 THEN hz.nclje
  641. ELSE hz.nclje
  642. END) AS sum_nclje_in,
  643. hz.ICYDID
  644. FROM (SELECT yjj.传票预计价单号,
  645. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  646. yjj.iCYDID,
  647. d.cjjdh 计价单号,
  648. d.ccydh 订单号,
  649. d.cbz 备注,
  650. d.ngjje,
  651. d.nclje,
  652. IFNULL(d.iwjg, 0) iwjg,
  653. IFNULL(d.lzfbs, 0) lzfbs,
  654. d.nhjje,
  655. IFNULL(d.ldz, 0) dz
  656. FROM (SELECT b.csccpbh 传票预计价单号,
  657. a.ccydh,
  658. a.icydid,
  659. Sum(c.fje) 传票预计价
  660. FROM mcyd a
  661. LEFT JOIN sccp b
  662. ON a.icydid = b.icydid
  663. LEFT JOIN ZbHjXm c
  664. ON c.sccpid = b.sccpid
  665. GROUP BY b.csccpbh,
  666. a.icydid,
  667. a.CCYDH) yjj
  668. LEFT JOIN tbluey d
  669. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  670. WHERE hz.iwjg = 0
  671. AND hz.lzfbs = 0
  672. GROUP BY hz.ICYDID) tb_in
  673. ON ord.icydid = tb_in.iCydid
  674. LEFT JOIN (SELECT fw.iCYDID,
  675. sum_nhjje_out,
  676. sum_ngjje_out,
  677. sum_nclje_out,
  678. bz.cbz
  679. FROM (SELECT Cast(Sum(( CASE
  680. WHEN hz.dz = 1
  681. OR hz.dz = -1 THEN hz.nhjje
  682. ELSE hz.传票预计价
  683. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  684. Cast(Sum(( CASE
  685. WHEN hz.dz = 1
  686. OR hz.dz = -1 THEN hz.nhjje
  687. ELSE hz.传票预计价
  688. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  689. Cast(Sum(CASE
  690. WHEN hz.dz = 1
  691. OR hz.dz = -1 THEN hz.nclje
  692. ELSE hz.nclje
  693. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  694. iCydid
  695. FROM (SELECT yjj.传票预计价单号,
  696. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  697. yjj.iCYDID,
  698. d.cjjdh 计价单号,
  699. d.ccydh 订单号,
  700. d.cbz 备注,
  701. d.ngjje,
  702. d.nclje,
  703. d.itax,
  704. IFNULL(d.iwjg, 0) iwjg,
  705. IFNULL(d.lzfbs, 0) lzfbs,
  706. d.nhjje,
  707. IFNULL(d.ldz, 0) dz
  708. FROM (SELECT b.csccpbh 传票预计价单号,
  709. a.ccydh,
  710. a.icydid,
  711. Sum(c.fje) 传票预计价
  712. FROM mcyd a
  713. LEFT JOIN sccp b
  714. ON a.icydid = b.icydid
  715. LEFT JOIN ZbHjXm c
  716. ON c.sccpid = b.sccpid
  717. GROUP BY b.csccpbh,
  718. a.icydid,
  719. a.CCYDH) yjj
  720. LEFT JOIN tbluey d
  721. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  722. WHERE hz.iwjg = 1
  723. AND hz.lzfbs = 0
  724. GROUP BY hz.ICYDID) fw
  725. LEFT JOIN (SELECT icydid,
  726. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  727. WHERE icydid = a.icydid) AS cbz
  728. FROM TBluey a
  729. GROUP BY icydid) bz
  730. ON bz.icydid = fw.iCYDID) tb_out
  731. ON ord.icydid = tb_out.iCydid
  732. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  733. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  734. iCydid,
  735. CASE
  736. WHEN ldz = 1 THEN 1
  737. ELSE 0
  738. END ldz
  739. FROM TJob
  740. WHERE lzfbs = 0
  741. GROUP BY iCydid,
  742. nclje,
  743. itax,
  744. ldz) tj
  745. ON ord.ICYDID = tj.iCydid
  746. WHERE ord.ICYDSTATE > 0) t
  747. WHERE T.承印日期 >= '{$this->qstart_time()}'
  748. AND T.承印日期 <= '{$this->end_time()}'
  749. GROUP BY 承印时间
  750. ORDER BY 承印时间");
  751. $redis->set($redis_key, json_encode($res));
  752. return json_encode($res);
  753. }
  754. //加工考核毛利收入情况
  755. public function month_jgml(){
  756. // $name='加工毛利收入(万元)';
  757. $name='总销售毛利';
  758. $redis = redis();
  759. // $result = json_decode($redis->get(md5('month_ywclsr_redis')),true);
  760. $result = json_decode($redis->get(md5('month_jgml_redis')),true);
  761. $list['categories']=[];
  762. $list['series'][0]=[];
  763. foreach($result as $k=>$v){
  764. // if($v['年月']>=date('Y').'-01'){
  765. if($v['承印时间']>=date('Y').'-01'){
  766. // $target=Db::name('targetmonth')->where('name','加工毛利收入情况')->where('month',substr($v['年月'],-2,2))->value('month_target');
  767. // $list['series'][0]['name']=date('Y').'指标达成率';
  768. $list['series'][0]['name']='同比增减率';
  769. $list['series'][0]['type']='line';
  770. $list['series'][0]['yAxisIndex']=1;
  771. // $list['series'][0]['data'][]=round($v[$name]/$target*100);
  772. $list['series'][0]['data'][]=round(($v[$name]-$result[$k-12][$name])/$result[$k-12][$name]*100);
  773. $list['series'][2]['name']=date('Y').'年';
  774. $list['series'][2]['type']='bar';
  775. $list['series'][2]['yAxisIndex']=0;
  776. $list['series'][2]['data'][]=round($v[$name]);
  777. }else{
  778. // $list['categories'][]=substr($v['年月'],-2,2);
  779. $list['categories'][]=substr($v['承印时间'],-2,2);
  780. $list['series'][1]['name']=(date('Y')-1).'年';
  781. $list['series'][1]['type']='bar';
  782. $list['series'][1]['yAxisIndex']=0;
  783. $list['series'][1]['data'][]=round($v[$name]);
  784. }
  785. }
  786. $res['status'] = 0;
  787. $res['msg'] = '';
  788. $res['data'] = $list;
  789. return json($res);
  790. }
  791. /**
  792. * 各版本块业务承揽收入占比一览表
  793. */
  794. //当年各版块业务承揽收入与占比百分比缓存
  795. public function percentageasc_redis(){
  796. $redis = redis();
  797. $redis_key = md5('percentageasc_redis');
  798. $sql = "SELECT
  799. CONCAT(LTRIM(CAST((SUM(db.集团出版社销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  800. Ltrim(Cast((Sum(db.总销售收入-IFNULL(db.期刊销售收入, 0)-IFNULL(db.集团出版社销售收入, 0)-IFNULL(db.集团教材内销售收入, 0)-IFNULL(db.集团教材外销售收入, 0)-IFNULL(db.外贸订单销售收入, 0))*100/ NULLIF(Sum(db.总销售收入-IFNULL(db.集团教材外销售收入, 0)), 0)) AS DECIMAL(10, 2))) + '%' 社会图书,
  801. CONCAT(LTRIM(CAST((SUM(db.外贸订单销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 外贸板块,
  802. CONCAT(LTRIM(CAST((SUM(db.期刊销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  803. CONCAT(LTRIM(CAST((SUM(db.集团教材内销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 教材板块,
  804. LTRIM(CAST((100 - SUM(db.总销售收入 - IFNULL(db.集团教材外销售收入, 0)) * 100 / NULLIF(SUM(db.总销售收入), 0)) AS DECIMAL(10, 2))) + '%' AS 过账业务,
  805. CAST(ROUND(SUM(db.集团出版社销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '系统图书(万元)',
  806. CAST(ROUND(SUM(db.其它板块销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '社会图书(万元)',
  807. CAST(ROUND(SUM(db.外贸订单销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '外贸板块(万元)',
  808. CAST(ROUND(SUM(db.期刊销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '期刊板块(万元)',
  809. CAST(ROUND(SUM(db.集团教材内销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '教材板块(万元)',
  810. CAST(ROUND((SUM(db.总销售收入) - SUM(db.本级销售收入)) / 10000, 2) AS DECIMAL(10, 2)) AS '过账业务(万元)'
  811. FROM
  812. (SELECT DISTINCT
  813. a.承印日期 日期,
  814. t5.总销售收入,
  815. t5.总销售收入 - IFNULL(t3.集团教材外销售收入, 0) 本级销售收入,
  816. G.期刊销售收入,
  817. T1.集团出版社销售收入,
  818. t2.集团教材内销售收入,
  819. t3.集团教材外销售收入,
  820. t4.外贸订单销售收入,
  821. t6.上海出版社订单销售收入,
  822. t5.总销售收入 - IFNULL(G.期刊销售收入, 0) - IFNULL(T1.集团出版社销售收入, 0) - IFNULL(t2.集团教材内销售收入, 0) - IFNULL(t3.集团教材外销售收入, 0) - IFNULL(t4.外贸订单销售收入, 0) 其它板块销售收入
  823. FROM
  824. (SELECT DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期 FROM MCYD) a
  825. LEFT JOIN (SELECT dd.承印日期 承印时间,SUM(dd.不含税销售收入) 期刊销售收入 FROM
  826. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  827. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期, CYJLX 印件类型,
  828. CHY 活源,
  829. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 不含税销售收入
  830. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  831. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND (CHY = '集团期刊' OR CHY = '社会期刊')) dd GROUP BY dd.承印日期) G ON g.承印时间 = a.承印日期
  832. LEFT JOIN (SELECT t.承印日期 承印时间,Sum(t.不含税销售收入) 集团出版社销售收入 FROM
  833. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  834. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  835. CYJLX 印件类型,
  836. CHY 活源,
  837. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 不含税销售收入
  838. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  839. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '集团出版社') t GROUP BY T.承印日期) T1 ON T1.承印时间 = a.承印日期
  840. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 集团教材内销售收入 FROM
  841. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  842. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  843. CYJLX 印件类型,
  844. CHY 活源,
  845. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  846. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  847. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz)tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '集团教材内') t GROUP BY T.承印日期) T2 ON T2.承印时间 = a.承印日期
  848. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 集团教材外销售收入 FROM
  849. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  850. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  851. CYJLX 印件类型,
  852. CHY 活源,
  853. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  854. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  855. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '集团教材外') t GROUP BY T.承印日期) T3 ON T3.承印时间 = a.承印日期
  856. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 外贸订单销售收入 FROM
  857. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  858. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  859. CYJLX 印件类型,
  860. CHY 活源,
  861. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  862. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  863. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz)tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '外贸订单') t GROUP BY T.承印日期) T4 ON T4.承印时间 = a.承印日期
  864. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 总销售收入 FROM
  865. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  866. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  867. CYJLX 印件类型,
  868. CHY 活源,
  869. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  870. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  871. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0) t GROUP BY T.承印日期) T5 ON T5.承印时间 = a.承印日期
  872. LEFT JOIN (SELECT t.承印日期 承印时间,Sum(t.销售收入不含税) 上海出版社订单销售收入 FROM
  873. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  874. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  875. CYJLX 印件类型,
  876. CHY 活源,
  877. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  878. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  879. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '上海出版社') t GROUP BY T.承印日期) T6 ON T6.承印时间 = a.承印日期
  880. )db WHERE 1 = 1
  881. AND db.日期 >= '{$this->start_time()}}'
  882. AND db.日期 <= '{$this->end_time()}}'";
  883. $res=Db::query($sql);
  884. //将查询结果存入 Redis 缓存中
  885. $redis->set($redis_key, json_encode($res));
  886. echo date("Y-m-d H:i:s").' 存进去了';
  887. return json($res);
  888. }
  889. //去年各版块业务承揽收入与占比百分比缓存
  890. public function q_percentageasc_redis(){
  891. $redis = redis();
  892. $redis_key = md5('q_percentageasc_redis');
  893. $sql = "SELECT
  894. CONCAT(LTRIM(CAST((SUM(db.集团出版社销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  895. Ltrim(Cast((Sum(db.总销售收入-IFNULL(db.期刊销售收入, 0)-IFNULL(db.集团出版社销售收入, 0)-IFNULL(db.集团教材内销售收入, 0)-IFNULL(db.集团教材外销售收入, 0)-IFNULL(db.外贸订单销售收入, 0))*100/ NULLIF(Sum(db.总销售收入-IFNULL(db.集团教材外销售收入, 0)), 0)) AS DECIMAL(10, 2))) + '%' 社会图书,
  896. CONCAT(LTRIM(CAST((SUM(db.外贸订单销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 外贸板块,
  897. CONCAT(LTRIM(CAST((SUM(db.期刊销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  898. CONCAT(LTRIM(CAST((SUM(db.集团教材内销售收入) * 100 / (SUM(db.总销售收入) - IFNULL(SUM(db.集团教材外销售收入), 0))) AS DECIMAL(10, 2)))) AS 教材板块,
  899. LTRIM(CAST((100 - SUM(db.总销售收入 - IFNULL(db.集团教材外销售收入, 0)) * 100 / NULLIF(SUM(db.总销售收入), 0)) AS DECIMAL(10, 2))) + '%' AS 过账业务,
  900. CAST(ROUND(SUM(db.集团出版社销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '系统图书(万元)',
  901. CAST(ROUND(SUM(db.其它板块销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '社会图书(万元)',
  902. CAST(ROUND(SUM(db.外贸订单销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '外贸板块(万元)',
  903. CAST(ROUND(SUM(db.期刊销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '期刊板块(万元)',
  904. CAST(ROUND(SUM(db.集团教材内销售收入) / 10000, 2) AS DECIMAL(10, 2)) AS '教材板块(万元)',
  905. CAST(ROUND((SUM(db.总销售收入) - SUM(db.本级销售收入)) / 10000, 2) AS DECIMAL(10, 2)) AS '过账业务(万元)'
  906. FROM
  907. (SELECT DISTINCT
  908. a.承印日期 日期,
  909. t5.总销售收入,
  910. t5.总销售收入 - IFNULL(t3.集团教材外销售收入, 0) 本级销售收入,
  911. G.期刊销售收入,
  912. T1.集团出版社销售收入,
  913. t2.集团教材内销售收入,
  914. t3.集团教材外销售收入,
  915. t4.外贸订单销售收入,
  916. t6.上海出版社订单销售收入,
  917. t5.总销售收入 - IFNULL(G.期刊销售收入, 0) - IFNULL(T1.集团出版社销售收入, 0) - IFNULL(t2.集团教材内销售收入, 0) - IFNULL(t3.集团教材外销售收入, 0) - IFNULL(t4.外贸订单销售收入, 0) 其它板块销售收入
  918. FROM
  919. (SELECT DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期 FROM MCYD) a
  920. LEFT JOIN (SELECT dd.承印日期 承印时间,SUM(dd.不含税销售收入) 期刊销售收入 FROM
  921. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  922. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期, CYJLX 印件类型,
  923. CHY 活源,
  924. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 不含税销售收入
  925. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  926. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND (CHY = '集团期刊' OR CHY = '社会期刊')) dd GROUP BY dd.承印日期) G ON g.承印时间 = a.承印日期
  927. LEFT JOIN (SELECT t.承印日期 承印时间,Sum(t.不含税销售收入) 集团出版社销售收入 FROM
  928. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  929. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  930. CYJLX 印件类型,
  931. CHY 活源,
  932. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 不含税销售收入
  933. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  934. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '集团出版社') t GROUP BY T.承印日期) T1 ON T1.承印时间 = a.承印日期
  935. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 集团教材内销售收入 FROM
  936. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  937. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  938. CYJLX 印件类型,
  939. CHY 活源,
  940. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  941. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  942. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz)tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '集团教材内') t GROUP BY T.承印日期) T2 ON T2.承印时间 = a.承印日期
  943. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 集团教材外销售收入 FROM
  944. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  945. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  946. CYJLX 印件类型,
  947. CHY 活源,
  948. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  949. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  950. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '集团教材外') t GROUP BY T.承印日期) T3 ON T3.承印时间 = a.承印日期
  951. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 外贸订单销售收入 FROM
  952. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  953. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  954. CYJLX 印件类型,
  955. CHY 活源,
  956. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  957. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  958. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz)tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '外贸订单') t GROUP BY T.承印日期) T4 ON T4.承印时间 = a.承印日期
  959. LEFT JOIN (SELECT t.承印日期 承印时间, Sum(t.销售收入不含税) 总销售收入 FROM
  960. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  961. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  962. CYJLX 印件类型,
  963. CHY 活源,
  964. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  965. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  966. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0) t GROUP BY T.承印日期) T5 ON T5.承印时间 = a.承印日期
  967. LEFT JOIN (SELECT t.承印日期 承印时间,Sum(t.销售收入不含税) 上海出版社订单销售收入 FROM
  968. (SELECT CASE WHEN IFNULL(ldz, 0) = 1 THEN '是' ELSE '否' END 登账,
  969. DATE_FORMAT(DCYRQ, '%Y-%m-%d') AS 承印日期,
  970. CYJLX 印件类型,
  971. CHY 活源,
  972. CASE WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0) ELSE IFNULL(tj.sum_namount, 0) END 销售收入不含税
  973. FROM MCYD Ord LEFT JOIN (SELECT SUM(namount) AS sum_namount, ROUND(SUM(nclje * 100 / (100 + itax)), 2) AS sum_clje, iCydid, CASE WHEN ldz = 1 THEN 1 ELSE 0 END AS ldz
  974. FROM TJob WHERE lzfbs = 0 GROUP BY iCydid, nclje, itax, ldz) tj ON ord.ICYDID = tj.iCydid WHERE ord.ICYDSTATE > 0 AND CHY = '上海出版社') t GROUP BY T.承印日期) T6 ON T6.承印时间 = a.承印日期
  975. )db WHERE 1 = 1
  976. AND db.日期 >= '{$this->qstart_time()}}' AND db.日期 <= '{$this->qend_time()}}'";
  977. $res=Db::query($sql);
  978. //将查询结果存入 Redis 缓存中
  979. $redis->set($redis_key, json_encode($res));
  980. echo date("Y-m-d H:i:s").' 存进去了';
  981. return json($res);
  982. }
  983. //一览表
  984. public function tecl_list(){
  985. $redis = redis();
  986. $result = json_decode($redis->get(md5('percentageasc_redis')),true);
  987. $qresult = json_decode($redis->get(md5('q_percentageasc_redis')),true);
  988. $list['categories']=['系统图书','社会图书','外贸板块','期刊板块','教材板块','其它板块'];
  989. //去年与今年收入占比
  990. foreach ($result as $index => $rv) {
  991. $list['series'][0]['name'] = '同比增减百分比';
  992. $list['series'][0]['type'] = 'line';
  993. $list['series'][0]['yAxisIndex'] = 1;
  994. // 确保2023年的收入不为0,如果为0则使用1代替,以避免除以0的错误
  995. $currentValueSystem = $rv['系统图书(万元)'] ?: 1;
  996. $currentValueSocial = $rv['社会图书(万元)'] ?: 1;
  997. $currentValueTrade = $rv['外贸板块(万元)'] ?: 1;
  998. $currentValueJournal = $rv['期刊板块(万元)'] ?: 1;
  999. $currentValueTextbook = $rv['教材板块(万元)'] ?: 1;
  1000. $currentValuePosting = $rv['过账业务(万元)'] ?: 1;
  1001. // 计算2023年收入占2022年收入的百分比
  1002. $list['series'][0]['data'][] = round((($currentValueSystem - $qresult[$index]['系统图书(万元)']) / $qresult[$index]['系统图书(万元)']) * 100, 2);
  1003. $list['series'][0]['data'][] = round((($currentValueSocial - $qresult[$index]['社会图书(万元)']) / $qresult[$index]['社会图书(万元)']) * 100, 2);
  1004. $list['series'][0]['data'][] = round((($currentValueTrade - $qresult[$index]['外贸板块(万元)']) / $qresult[$index]['外贸板块(万元)']) * 100, 2);
  1005. $list['series'][0]['data'][] = round((($currentValueJournal - $qresult[$index]['期刊板块(万元)']) / $qresult[$index]['期刊板块(万元)']) * 100, 2);
  1006. $list['series'][0]['data'][] = round((($currentValueTextbook - $qresult[$index]['教材板块(万元)']) / $qresult[$index]['教材板块(万元)']) * 100, 2);
  1007. $list['series'][0]['data'][] = round((($currentValuePosting - $qresult[$index]['过账业务(万元)']) / $qresult[$index]['过账业务(万元)']) * 100, 2);
  1008. }
  1009. //去年
  1010. foreach($qresult as $v){
  1011. $list['series'][1]['name']=(date('Y')-1).'年';
  1012. $list['series'][1]['type']='bar';
  1013. $list['series'][1]['yAxisIndex']=0;
  1014. $list['series'][1]['data'][]=round($v['系统图书(万元)']);
  1015. $list['series'][1]['data'][]=round($v['社会图书(万元)']);
  1016. $list['series'][1]['data'][]=round($v['外贸板块(万元)']);
  1017. $list['series'][1]['data'][]=round($v['期刊板块(万元)']);
  1018. $list['series'][1]['data'][]=round($v['教材板块(万元)']);
  1019. $list['series'][1]['data'][]=round($v['过账业务(万元)']);
  1020. }
  1021. //当年
  1022. foreach($result as $v){
  1023. $list['series'][2]['name']=date('Y').'年';
  1024. $list['series'][2]['type']='bar';
  1025. $list['series'][2]['yAxisIndex']=0;
  1026. $list['series'][2]['data'][]=round($v['系统图书(万元)']);
  1027. $list['series'][2]['data'][]=round($v['社会图书(万元)']);
  1028. $list['series'][2]['data'][]=round($v['外贸板块(万元)']);
  1029. $list['series'][2]['data'][]=round($v['期刊板块(万元)']);
  1030. $list['series'][2]['data'][]=round($v['教材板块(万元)']);
  1031. $list['series'][2]['data'][]=round($v['过账业务(万元)']);
  1032. }
  1033. $res['status'] = 0;
  1034. $res['msg'] = '';
  1035. $res['data'] = $list;
  1036. return json($res);
  1037. }
  1038. //百分比前三
  1039. public function percentageasc(){
  1040. $redis = redis();
  1041. $result = json_decode($redis->get(md5('percentageasc_redis')),true);
  1042. foreach($result as $v){
  1043. $list[0]['name']=' ';
  1044. $list[0]['value']=$v['系统图书'];
  1045. $list[1]['name']=' ';
  1046. $list[1]['value']=$v['外贸板块'];
  1047. $list[2]['name']=' ';
  1048. $list[2]['value']=$v['教材板块'];
  1049. }
  1050. $res['status'] = 0;
  1051. $res['msg'] = '';
  1052. $res['data'] = $list;
  1053. return json($res);
  1054. }
  1055. //百分比后三
  1056. public function percentagedesc(){
  1057. $redis = redis();
  1058. $result = json_decode($redis->get(md5('percentageasc_redis')),true);
  1059. foreach($result as $v){
  1060. $list[0]['name']=' ';
  1061. $list[0]['value']=$v['社会图书'];
  1062. $list[1]['name']=' ';
  1063. $list[1]['value']=$v['期刊板块'];
  1064. $list[2]['name']=' ';
  1065. $list[2]['value']=$v['过账业务'];
  1066. }
  1067. $res['status'] = 0;
  1068. $res['msg'] = '';
  1069. $res['data'] = $list;
  1070. return json($res);
  1071. }
  1072. /**
  1073. * 图书板块业务结构分析
  1074. */
  1075. //特殊开本、16开、大32开、小16开
  1076. public function book_one_redis(){
  1077. $redis = redis();
  1078. $redis_key = md5('book_one_redis');
  1079. $sql = "SELECT
  1080. *
  1081. FROM
  1082. (
  1083. SELECT
  1084. 1 AS 序号,
  1085. aa.年份,
  1086. '开本' AS 分类,
  1087. aa.类别,
  1088. ROUND(SUM(aa.nyssl) / 10000, 2) AS '色令(万)',
  1089. ROUND(SUM(aa.nyssl) * 100.0 / SUM(SUM(aa.nyssl)) OVER (PARTITION BY aa.年份), 2) AS 占比
  1090. FROM
  1091. (
  1092. SELECT
  1093. YEAR(a.DCYRQ) AS 年份,
  1094. a.CCYDH,
  1095. a.CYJMC,
  1096. b.NKB,
  1097. CASE
  1098. WHEN a.CZWKB like '16%' THEN '16开'
  1099. WHEN a.CZWKB like '小16%' THEN '小16开'
  1100. WHEN a.CZWKB like '大16%' THEN '大16开'
  1101. WHEN a.CZWKB like '32%' THEN '32开'
  1102. WHEN a.CZWKB like '大32%' THEN '大32开'
  1103. ELSE '特殊开本'
  1104. END AS 类别,
  1105. b.CDXMC,
  1106. b.nyssl
  1107. FROM
  1108. MCYD a
  1109. LEFT JOIN SCYDDX b ON a.ICYDID = b.ICYDID
  1110. WHERE
  1111. 1 = 1
  1112. AND a.CYJLX = '图书' OR a.CYJLX = '精装图书'
  1113. AND a.DCYRQ BETWEEN '{$this->start_time()}' AND '{$this->end_time()}'
  1114. ) aa
  1115. GROUP BY
  1116. aa.年份,
  1117. aa.类别
  1118. ) bb
  1119. ORDER BY
  1120. bb.占比 DESC;";
  1121. $res=Db::query($sql);
  1122. // echo "<pre>";print_r($res);echo "</pre>";die;
  1123. //将查询结果存入 Redis 缓存中
  1124. $redis->set($redis_key, json_encode($res));
  1125. echo date("Y-m-d H:i:s").' 存进去了';
  1126. return json($res);
  1127. }
  1128. // 特殊开本
  1129. public function book_one_tskb(){
  1130. $name='特殊开本';
  1131. $redis = redis();
  1132. $result = json_decode($redis->get(md5('book_one_redis')),true);
  1133. $res=[];
  1134. $res['status'] = 0;
  1135. $res['msg'] = '';
  1136. foreach($result as $v){
  1137. if($v['类别']==$name){
  1138. $res['data'] = round($v['占比']);
  1139. }
  1140. }
  1141. return json($res);
  1142. }
  1143. // 16开
  1144. public function book_one_slk(){
  1145. $name='16开';
  1146. $redis = redis();
  1147. $result = json_decode($redis->get(md5('book_one_redis')),true);
  1148. $res=[];
  1149. $res['status'] = 0;
  1150. $res['msg'] = '';
  1151. foreach($result as $v){
  1152. if($v['类别']==$name){
  1153. $res['data'] = round($v['占比']);
  1154. }
  1155. }
  1156. return json($res);
  1157. }
  1158. //大32开
  1159. public function book_one_dsek(){
  1160. $name='大32开';
  1161. $redis = redis();
  1162. $result = json_decode($redis->get(md5('book_one_redis')),true);
  1163. $res=[];
  1164. $res['status'] = 0;
  1165. $res['msg'] = '';
  1166. foreach($result as $v){
  1167. if($v['类别']==$name){
  1168. $res['data'] = round($v['占比']);
  1169. }
  1170. }
  1171. return json($res);
  1172. }
  1173. // 小16开
  1174. public function book_one_xslk(){
  1175. $name='小16开';
  1176. $redis = redis();
  1177. $result = json_decode($redis->get(md5('book_one_redis')),true);
  1178. $res=[];
  1179. $res['status'] = 0;
  1180. $res['msg'] = '';
  1181. foreach($result as $v){
  1182. if($v['类别']==$name){
  1183. $res['data'] = round($v['占比']);
  1184. }
  1185. }
  1186. return json($res);
  1187. }
  1188. //单色、彩色、双色
  1189. public function book_two_redis(){
  1190. $redis = redis();
  1191. $redis_key = md5('book_two_redis');
  1192. $sql = "SELECT
  1193. 1 AS 序号,
  1194. aa.年份,
  1195. '彩色化' AS 分类,
  1196. aa.类别,
  1197. ROUND(SUM(aa.nyssl) / 10000, 2) AS '色令(万)',
  1198. ROUND(SUM(aa.nyssl) * 100.0 / SUM(SUM(aa.nyssl)) OVER (PARTITION BY aa.年份), 2) AS 占比
  1199. FROM
  1200. (
  1201. SELECT
  1202. YEAR(a.DCYRQ) AS 年份,
  1203. a.CCYDH,
  1204. a.CYJMC,
  1205. b.CSC,
  1206. CASE
  1207. WHEN b.CSC IN ('1/1', '1/0', '0/1') THEN '单色'
  1208. WHEN b.CSC IN ('2/2', '2/0', '0/2', '2/1', '1/2') THEN '双色'
  1209. ELSE '彩色'
  1210. END AS 类别,
  1211. b.CDXMC,
  1212. b.nyssl
  1213. FROM
  1214. MCYD a
  1215. LEFT JOIN SCYDDX b ON a.ICYDID = b.ICYDID
  1216. WHERE
  1217. 1 = 1
  1218. AND a.CYJLX = '图书' OR a.CYJLX = '精装图书'
  1219. AND a.DCYRQ BETWEEN '{$this->start_time()}' AND '{$this->end_time()}'
  1220. ) aa
  1221. GROUP BY
  1222. aa.年份,
  1223. aa.类别
  1224. ORDER BY
  1225. 占比 DESC;";
  1226. $res=Db::query($sql);
  1227. // echo "<pre>";print_r($res);echo "</pre>";die;
  1228. //将查询结果存入 Redis 缓存中
  1229. $redis->set($redis_key, json_encode($res));
  1230. echo date("Y-m-d H:i:s").' 存进去了';
  1231. return json($res);
  1232. }
  1233. // 单色
  1234. public function book_two_ds(){
  1235. $name='单色';
  1236. $redis = redis();
  1237. $result = json_decode($redis->get(md5('book_two_redis')),true);
  1238. $res=[];
  1239. $res['status'] = 0;
  1240. $res['msg'] = '';
  1241. foreach($result as $v){
  1242. if($v['类别']==$name){
  1243. $res['data'] = round($v['占比']);
  1244. }
  1245. }
  1246. return json($res);
  1247. }
  1248. //彩色
  1249. public function book_two_cs(){
  1250. $name='彩色';
  1251. $redis = redis();
  1252. $result = json_decode($redis->get(md5('book_two_redis')),true);
  1253. $res=[];
  1254. $res['status'] = 0;
  1255. $res['msg'] = '';
  1256. foreach($result as $v){
  1257. if($v['类别']==$name){
  1258. $res['data'] = round($v['占比']);
  1259. }
  1260. }
  1261. return json($res);
  1262. }
  1263. // 双色
  1264. public function book_two_ss(){
  1265. $name='双色';
  1266. $redis = redis();
  1267. $result = json_decode($redis->get(md5('book_two_redis')),true);
  1268. $res=[];
  1269. $res['status'] = 0;
  1270. $res['msg'] = '';
  1271. foreach($result as $v){
  1272. if($v['类别']==$name){
  1273. $res['data'] = round($v['占比']);
  1274. }
  1275. }
  1276. return json($res);
  1277. }
  1278. //无线胶钉、锁线胶钉、裸背锁线、骑马钉、平背精装、圆背精装
  1279. public function book_third_redis(){
  1280. $redis = redis();
  1281. $redis_key = md5('book_third_redis');
  1282. $sql = "SELECT
  1283. 1 AS 序号,
  1284. aa.年份,
  1285. '订法' AS 分类,
  1286. aa.类别,
  1287. ROUND(SUM(aa.nyssl) / 10000, 2) AS '色令(万)',
  1288. ROUND(SUM(aa.nyssl) * 100.0 / SUM(SUM(aa.nyssl)) OVER (PARTITION BY aa.年份), 2) AS 占比
  1289. FROM
  1290. (
  1291. SELECT
  1292. YEAR(a.DCYRQ) AS 年份,
  1293. a.CCYDH,
  1294. a.CYJMC,
  1295. CASE
  1296. WHEN a.CDF = '无线胶订' THEN '无线胶订'
  1297. WHEN a.CDF = '圆背精装' THEN '圆背精装'
  1298. WHEN a.CDF = '索线胶订' THEN '索线胶订'
  1299. WHEN a.CDF = '裸背锁线' THEN '裸背锁线'
  1300. WHEN a.CDF = '骑订' THEN '骑订'
  1301. ELSE '其他'
  1302. END AS 类别,
  1303. b.CDXMC,
  1304. b.nyssl
  1305. FROM
  1306. MCYD a
  1307. LEFT JOIN SCYDDX b ON a.ICYDID = b.ICYDID
  1308. WHERE
  1309. 1 = 1
  1310. AND a.CYJLX = '图书' OR a.CYJLX = '精装图书'
  1311. AND a.DCYRQ BETWEEN '{$this->start_time()}' AND '{$this->end_time()}'
  1312. ) aa
  1313. GROUP BY
  1314. aa.年份,
  1315. aa.类别
  1316. ORDER BY
  1317. 占比 DESC;";
  1318. $res=Db::query($sql);
  1319. // echo "<pre>";print_r($res);echo "</pre>";die;
  1320. //将查询结果存入 Redis 缓存中
  1321. $redis->set($redis_key, json_encode($res));
  1322. echo date("Y-m-d H:i:s").' 存进去了';
  1323. return json($res);
  1324. }
  1325. // 无线胶订
  1326. public function book_third_wxjd(){
  1327. $name='无线胶订';
  1328. $redis = redis();
  1329. $result = json_decode($redis->get(md5('book_third_redis')),true);
  1330. $res=[];
  1331. $res['status'] = 0;
  1332. $res['msg'] = '';
  1333. foreach($result as $v){
  1334. if($v['类别']==$name){
  1335. $res['data'] = round($v['占比']);
  1336. }
  1337. }
  1338. return json($res);
  1339. }
  1340. // 索线胶订
  1341. public function book_third_sxjd(){
  1342. $name='索线胶订';
  1343. $redis = redis();
  1344. $result = json_decode($redis->get(md5('book_third_redis')),true);
  1345. $res=[];
  1346. $res['status'] = 0;
  1347. $res['msg'] = '';
  1348. foreach($result as $v){
  1349. if($v['类别']==$name){
  1350. $res['data'] = round($v['占比']);
  1351. }
  1352. }
  1353. return json($res);
  1354. }
  1355. // 圆背精装
  1356. public function book_third_ybjz(){
  1357. $name='圆背精装';
  1358. $redis = redis();
  1359. $result = json_decode($redis->get(md5('book_third_redis')),true);
  1360. $res=[];
  1361. $res['status'] = 0;
  1362. $res['msg'] = '';
  1363. foreach($result as $v){
  1364. if($v['类别']==$name){
  1365. $res['data'] = round($v['占比']);
  1366. }
  1367. }
  1368. return json($res);
  1369. }
  1370. // 骑马订
  1371. public function book_third_qmd(){
  1372. $name='骑订';
  1373. $redis = redis();
  1374. $result = json_decode($redis->get(md5('book_third_redis')),true);
  1375. $res=[];
  1376. $res['status'] = 0;
  1377. $res['msg'] = '';
  1378. foreach($result as $v){
  1379. if($v['类别']==$name){
  1380. $res['data'] = round($v['占比']);
  1381. }
  1382. }
  1383. return json($res);
  1384. }
  1385. // 裸背锁线
  1386. public function book_third_lbsx(){
  1387. $name='裸背锁线';
  1388. $redis = redis();
  1389. $result = json_decode($redis->get(md5('book_third_redis')),true);
  1390. $res=[];
  1391. $res['status'] = 0;
  1392. $res['msg'] = '';
  1393. foreach($result as $v){
  1394. if($v['类别']==$name){
  1395. $res['data'] = round($v['占比']);
  1396. }
  1397. }
  1398. return json($res);
  1399. }
  1400. // 平背精装
  1401. public function book_third_pbjz(){
  1402. $name='其他';
  1403. $redis = redis();
  1404. $result = json_decode($redis->get(md5('book_third_redis')),true);
  1405. $res=[];
  1406. $res['status'] = 0;
  1407. $res['msg'] = '';
  1408. foreach($result as $v){
  1409. if($v['类别']==$name){
  1410. $res['data'] = round($v['占比']);
  1411. }
  1412. }
  1413. return json($res);
  1414. }
  1415. //重版书、新书
  1416. public function book_fouth_redis(){
  1417. $redis = redis();
  1418. $redis_key = md5('book_fouth_redis');
  1419. $sql = "SELECT
  1420. 1 AS 序号,
  1421. aa.年份,
  1422. '新书/重版' AS 分类,
  1423. aa.类别,
  1424. ROUND(SUM(aa.nyssl) / 10000, 2) AS '色令(万)',
  1425. ROUND(SUM(aa.nyssl) / SUM(SUM(aa.nyssl)) OVER (PARTITION BY aa.年份) * 100, 2) AS 占比
  1426. FROM
  1427. (SELECT
  1428. YEAR(a.DCYRQ) AS 年份,
  1429. a.CCYDH,
  1430. a.CYJMC,
  1431. CASE
  1432. WHEN IFNULL(a.CYC, 0) = 1 THEN '新书'
  1433. WHEN IFNULL(a.CYC, 0) = 0 THEN '其他'
  1434. ELSE '重版书'
  1435. END AS 类别,
  1436. b.CDXMC,
  1437. b.nyssl
  1438. FROM
  1439. MCYD a
  1440. LEFT JOIN SCYDDX b ON a.ICYDID = b.ICYDID
  1441. WHERE
  1442. 1 = 1
  1443. AND a.CYJLX = '图书' OR a.CYJLX = '精装图书'
  1444. AND a.DCYRQ BETWEEN '{$this->start_time()}' AND '{$this->end_time()}') aa
  1445. GROUP BY
  1446. aa.年份,
  1447. aa.类别
  1448. ORDER BY
  1449. aa.类别 DESC";
  1450. $res=Db::query($sql);
  1451. // echo "<pre>";print_r($res);echo "</pre>";die;
  1452. //将查询结果存入 Redis 缓存中
  1453. $redis->set($redis_key, json_encode($res));
  1454. echo date("Y-m-d H:i:s").' 存进去了';
  1455. return json($res);
  1456. }
  1457. // 重版书
  1458. public function book_fouth_cbs(){
  1459. $name='重版书';
  1460. $redis = redis();
  1461. $result = json_decode($redis->get(md5('book_fouth_redis')),true);
  1462. $res=[];
  1463. $res['status'] = 0;
  1464. $res['msg'] = '';
  1465. foreach($result as $v){
  1466. if($v['类别']==$name){
  1467. $res['data'] = round($v['占比']);
  1468. }
  1469. }
  1470. return json($res);
  1471. }
  1472. // 新书
  1473. public function book_fouth_xs(){
  1474. $name='新书';
  1475. $redis = redis();
  1476. $result = json_decode($redis->get(md5('book_fouth_redis')),true);
  1477. $res=[];
  1478. $res['status'] = 0;
  1479. $res['msg'] = '';
  1480. foreach($result as $v){
  1481. if($v['类别']==$name){
  1482. $res['data'] = round($v['占比']);
  1483. }
  1484. }
  1485. return json($res);
  1486. }
  1487. /**
  1488. * 第二页
  1489. */
  1490. //当日承揽订单量,每日承揽订单金额缓存
  1491. public function yesterday_amount_redis(){
  1492. $redis = redis();
  1493. $redis_key = md5('yesterday_amount_redis');
  1494. $sql = "SELECT aa.承印日期,COUNT(aa.订单号) 订单量,SUM(aa.合同金额)订单金额,SUM(aa.nwshjje)未税订单金额
  1495. FROM (SELECT CONVERT(a.DCYRQ,CHAR(10)) 承印日期,
  1496. a.CCYDH 订单号,
  1497. a.CYWDWMC 委印单位,
  1498. a.CYJMC 印件名称,
  1499. a.NJSHJJE 合同金额,
  1500. a.nwshjje
  1501. FROM MCYD a
  1502. WHERE CONVERT(a.DCYRQ,CHAR(10)) = CONVERT(DATE_SUB(NOW(),INTERVAL 0 DAY),CHAR(10)))aa
  1503. GROUP BY aa.承印日期 ";
  1504. $result=Db::query($sql);
  1505. $res['status']=0;
  1506. $res['msg']='';
  1507. if($result==[]){
  1508. $res['data']=[['name'=>' ','value'=>0],['name'=>' ','value'=>0]];
  1509. }else{
  1510. $res['data']=[['name'=>' ','value'=>$result[0]['订单量']],['name'=>' ','value'=>round($result[0]['未税订单金额']/10000)]];
  1511. }
  1512. //将查询结果存入 Redis 缓存中
  1513. $redis->set($redis_key, json_encode($res));
  1514. echo date("Y-m-d H:i:s").' 存进去了';
  1515. return json($res);
  1516. }
  1517. //当日承揽订单量,每日承揽订单金额
  1518. public function yesterday_amount(){
  1519. $redis = redis();
  1520. $result = $redis->get(md5('yesterday_amount_redis'));
  1521. return $result;
  1522. }
  1523. //当年考核毛利收入前七客户缓存
  1524. public function year_profit_redis(){
  1525. $redis = redis();
  1526. $redis_key = md5('year_profit_redis');
  1527. $sql = "SELECT aa.客户,
  1528. aa.考核计算毛利(万元),
  1529. aa.考核计算毛利增减(万元),
  1530. CASE
  1531. WHEN IFNULL(aa.上年考核计算毛利(万元), 0) = 0 THEN 'New'
  1532. ELSE Ltrim(Cast( aa.考核计算毛利增减(万元)*100/aa.上年考核计算毛利(万元) AS DECIMAL(10, 2)))
  1533. + '%'
  1534. END AS 毛利增长率
  1535. FROM (SELECT a.客户,
  1536. CONVERT(Round(a.销售收入 / 10000, 2),DECIMAL(10, 2)) AS '销售收入(万元)',
  1537. CONVERT(Round(a.上年销售收入 / 10000, 2),DECIMAL(10, 2)) AS '上年销售收入(万元)',
  1538. CONVERT(Round(a.销售收入增减 / 10000, 2),DECIMAL(10, 2)) AS '销售收入增减(万元)',
  1539. CONVERT(Round(a.销售工价 / 10000, 2),DECIMAL(10, 2)) AS '销售工价(万元)',
  1540. CONVERT(Round(a.上年销售工价 / 10000, 2),DECIMAL(10, 2)) AS '上年销售工价(万元)',
  1541. CONVERT(Round(a.销售工价增减 / 10000, 2),DECIMAL(10, 2)) AS '销售工价增减(万元)',
  1542. CONVERT(Round(a.考核计算毛利 / 10000, 2),DECIMAL(10, 2)) AS '考核计算毛利(万元)',
  1543. CONVERT(Round(a.上年考核计算毛利 / 10000, 2),DECIMAL(10, 2))AS '上年考核计算毛利(万元)',
  1544. CONVERT(Round(a.考核计算毛利增减 / 10000, 2),DECIMAL(10, 2))AS '考核计算毛利增减(万元)'
  1545. FROM ((SELECT 1 AS flag,
  1546. IFNULL(dq.业务单位, hb.业务单位) 客户,
  1547. IFNULL(dq.销售收入, 000) 销售收入,
  1548. IFNULL(hb.上年销售收入, 0.000) 上年销售收入,
  1549. IFNULL(dq.销售收入, 000) - IFNULL(hb.上年销售收入, 0.000) 销售收入增减,
  1550. CASE
  1551. WHEN IFNULL(hb.上年销售收入, 0.000) > 0 THEN ( IFNULL(dq.销售收入, 000) / IFNULL(hb.上年销售收入, 0.000) - 1 )
  1552. WHEN IFNULL(hb.上年销售收入, 0.000) = 0.000
  1553. AND IFNULL(dq.销售收入, 000) > 0 THEN 1
  1554. ELSE 0
  1555. END AS 销售收入同期比,
  1556. IFNULL(dq.销售工价, 000) 销售工价,
  1557. IFNULL(hb.上年销售工价, 0.000) 上年销售工价,
  1558. IFNULL(dq.销售工价, 000) - IFNULL(hb.上年销售工价, 0.000) 销售工价增减,
  1559. IFNULL(dq.考核计算毛利, 000) 考核计算毛利,
  1560. IFNULL(hb.上年考核计算毛利, 0.000) 上年考核计算毛利,
  1561. IFNULL(dq.考核计算毛利, 000) - IFNULL(hb.上年考核计算毛利, 0.000) 考核计算毛利增减,
  1562. CASE
  1563. WHEN IFNULL(hb.上年考核计算毛利, 0.000) > 0 THEN ( IFNULL(dq.考核计算毛利, 000) / IFNULL(hb.上年考核计算毛利, 0.000) - 1 )
  1564. WHEN IFNULL(hb.上年考核计算毛利, 0.000) = 0.000
  1565. AND IFNULL(dq.考核计算毛利, 000) > 0 THEN 1
  1566. ELSE 0
  1567. END AS 毛利同期比
  1568. FROM (SELECT zb.业务单位 业务单位,
  1569. IFNULL(Sum(zb.合并金额), 0.000) 销售收入,
  1570. IFNULL(Sum(zb.合并工价), 0.000) 销售工价,
  1571. IFNULL(Sum(zb.考核计算毛利不含税), 0.000) 考核计算毛利
  1572. FROM (SELECT CASE
  1573. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  1574. ELSE '否'
  1575. END 登账,
  1576. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  1577. CCYDH AS 订单号,
  1578. CYJMC AS 印件名称,
  1579. CASE
  1580. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  1581. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  1582. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  1583. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  1584. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  1585. OR CYWDWMC='浙江省新华书店集团有限公司'
  1586. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  1587. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  1588. WHEN CYWDWMC='浙江日报报业集团'
  1589. OR CYWDWMC='共产党员杂志社'
  1590. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  1591. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  1592. OR CYWDWMC='浙江出版传媒有限公司'
  1593. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  1594. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  1595. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  1596. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  1597. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  1598. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  1599. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  1600. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  1601. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  1602. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  1603. WHEN CYWDWMC='上海人民出版社有限公司'
  1604. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  1605. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  1606. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  1607. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  1608. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  1609. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  1610. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  1611. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  1612. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  1613. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  1614. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  1615. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  1616. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  1617. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  1618. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  1619. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  1620. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  1621. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  1622. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  1623. ELSE CYWDWMC
  1624. END AS 业务单位,
  1625. cyjlx 印件类型,
  1626. NCS AS 印数,
  1627. CZWKB AS 开本,
  1628. CDF AS 订法,
  1629. NZWYZ AS 正文印张,
  1630. CASE
  1631. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  1632. ELSE
  1633. CASE
  1634. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  1635. + CASE
  1636. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1637. ELSE ( CASE
  1638. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1639. ELSE ( CASE
  1640. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1641. ELSE IFNULL(tj.sum_clje, 0)
  1642. END )
  1643. END )
  1644. END = 0
  1645. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  1646. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  1647. + CASE
  1648. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1649. ELSE ( CASE
  1650. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1651. ELSE ( CASE
  1652. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1653. ELSE IFNULL(tj.sum_clje, 0)
  1654. END )
  1655. END )
  1656. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  1657. END
  1658. END AS 考核计算毛利不含税,
  1659. CASE
  1660. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  1661. ELSE
  1662. CASE
  1663. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  1664. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  1665. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  1666. END
  1667. END AS 考核计算工价毛利不含税,
  1668. ( CASE
  1669. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  1670. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  1671. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1672. ELSE ( CASE
  1673. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1674. ELSE ( CASE
  1675. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1676. ELSE IFNULL(tj.sum_clje, 0)
  1677. END )
  1678. END )
  1679. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  1680. END ) AS 考核计算料价毛利不含税,
  1681. CASE
  1682. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  1683. ELSE ( IFNULL(tj.sum_namount, 0) )
  1684. END 合并金额,
  1685. CASE
  1686. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  1687. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  1688. END 合并工价,
  1689. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  1690. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  1691. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  1692. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  1693. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  1694. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  1695. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  1696. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  1697. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  1698. ord.nzkl AS 折扣率,
  1699. CASE
  1700. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  1701. ELSE ( CASE
  1702. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  1703. + CASE
  1704. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1705. ELSE ( CASE
  1706. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1707. ELSE ( CASE
  1708. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1709. ELSE IFNULL(tj.sum_clje, 0)
  1710. END )
  1711. END )
  1712. END = 0
  1713. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  1714. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  1715. + CASE
  1716. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1717. ELSE ( CASE
  1718. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1719. ELSE ( CASE
  1720. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1721. ELSE IFNULL(tj.sum_clje, 0)
  1722. END )
  1723. END )
  1724. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  1725. END )
  1726. END AS 生产毛利不含税,
  1727. CASE
  1728. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  1729. ELSE ( CASE
  1730. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  1731. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  1732. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  1733. END )
  1734. END AS 生产工价毛利不含税,
  1735. IFNULL(tj.sum_clje, 0) - ( CASE
  1736. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1737. ELSE ( CASE
  1738. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1739. ELSE ( CASE
  1740. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1741. ELSE IFNULL(tj.sum_clje, 0)
  1742. END )
  1743. END )
  1744. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  1745. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  1746. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  1747. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  1748. IFNULL(tb_in.sum_ngjje_in, 0)
  1749. + CASE
  1750. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1751. ELSE ( CASE
  1752. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1753. ELSE ( CASE
  1754. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1755. ELSE IFNULL(tj.sum_clje, 0)
  1756. END )
  1757. END )
  1758. END AS 厂内传票合计不含税,
  1759. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  1760. CASE
  1761. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  1762. ELSE ( CASE
  1763. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  1764. ELSE ( CASE
  1765. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  1766. ELSE IFNULL(tj.sum_clje, 0)
  1767. END )
  1768. END )
  1769. END AS 厂内传票料价不含税,
  1770. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  1771. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  1772. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  1773. CHY AS 活源,
  1774. CCLBMMC AS 承揽部门,
  1775. CYWYXM AS 业务员,
  1776. lwcbs AS 是否完工,
  1777. Dwcrq AS 完工日期,
  1778. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  1779. LJQBS AS 是否结清,
  1780. djqrq AS 结清日期,
  1781. izlconfirm AS 是否销货,
  1782. dzlconfirmrq AS 销货日期,
  1783. nzlconfirmje AS 销货金额,
  1784. nzlysje AS 销货应收,
  1785. IFNULL(ipaytime, 0) AS 帐龄,
  1786. ( CASE
  1787. WHEN ljqbs = 0
  1788. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  1789. ELSE 0
  1790. END ) AS 付款周期,
  1791. ( CASE
  1792. WHEN ljqbs = 0
  1793. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  1794. ELSE 0
  1795. END ) AS 过期天数,
  1796. ( CASE
  1797. WHEN bsfsk = 1 THEN 1
  1798. ELSE 0
  1799. END ) AS 是否收款,
  1800. nysje AS 预收款,
  1801. fskje AS 收款金额,
  1802. ( CASE
  1803. WHEN bsfdjfp = 1 THEN 1
  1804. ELSE 0
  1805. END ) AS '是否开票',
  1806. ffpje AS 发票金额,
  1807. cfph AS 发票号,
  1808. cfprq AS 发票日期,
  1809. ( CASE
  1810. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  1811. ELSE 0
  1812. END ) AS 未开完票金额,
  1813. ( CASE
  1814. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  1815. ELSE 0
  1816. END ) AS 发票未收款金额,
  1817. iselforder AS 是否异常,
  1818. cselftype AS 异常类型,
  1819. CASE
  1820. WHEN bsfdjfp = 1 THEN ( CASE
  1821. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  1822. ELSE 0
  1823. END )
  1824. ELSE ( CASE
  1825. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  1826. ELSE ( CASE
  1827. WHEN nzlconfirmje = 0 THEN nhjje
  1828. ELSE nzlconfirmje
  1829. END )
  1830. END )
  1831. END 未开票
  1832. FROM MCYD Ord
  1833. LEFT JOIN (SELECT Sum(CASE
  1834. WHEN hz.dz = 1 THEN hz.nhjje
  1835. ELSE hz.传票预计价
  1836. END) AS sum_nhjje_in,
  1837. Sum(CASE
  1838. WHEN hz.dz = 1 THEN hz.nhjje
  1839. ELSE hz.传票预计价
  1840. END) AS sum_ngjje_in,
  1841. Sum(CASE
  1842. WHEN hz.dz = 1 THEN hz.nclje
  1843. ELSE hz.nclje
  1844. END) AS sum_nclje_in,
  1845. hz.ICYDID
  1846. FROM (SELECT yjj.传票预计价单号,
  1847. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  1848. yjj.iCYDID,
  1849. d.cjjdh 计价单号,
  1850. d.ccydh 订单号,
  1851. d.cbz 备注,
  1852. d.ngjje,
  1853. d.nclje,
  1854. IFNULL(d.iwjg, 0) iwjg,
  1855. IFNULL(d.lzfbs, 0) lzfbs,
  1856. d.nhjje,
  1857. IFNULL(d.ldz, 0) dz,
  1858. yjj.bShbz
  1859. FROM (SELECT b.csccpbh 传票预计价单号,
  1860. a.ccydh,
  1861. a.icydid,
  1862. Sum(c.fje) 传票预计价,
  1863. b.bshbz
  1864. FROM MCYD a
  1865. LEFT JOIN sccp b
  1866. ON a.icydid = b.icydid
  1867. LEFT JOIN ZbHjXm c
  1868. ON c.sccpid = b.sccpid
  1869. WHERE b.bOutProcess = '0 '
  1870. GROUP BY b.csccpbh,
  1871. a.icydid,
  1872. a.CCYDH,
  1873. b.bshbz,
  1874. b.bOutProcess) yjj
  1875. LEFT JOIN tbluey d
  1876. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  1877. WHERE hz.iwjg = 0
  1878. AND hz.bshbz = 1
  1879. AND hz.lzfbs = 0
  1880. GROUP BY hz.ICYDID) tb_in
  1881. ON ord.icydid = tb_in.iCydid
  1882. LEFT JOIN (SELECT fw.iCYDID,
  1883. sum_nhjje_out,
  1884. sum_ngjje_out,
  1885. sum_nclje_out,
  1886. bz.cbz
  1887. FROM (SELECT Cast(Sum(( CASE
  1888. WHEN hz.dz = 0 THEN hz.传票预计价
  1889. ELSE hz.nhjje
  1890. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  1891. Cast(Sum(( CASE
  1892. WHEN hz.dz = 0 THEN hz.传票预计价
  1893. ELSE hz.nhjje
  1894. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  1895. Cast(Sum(CASE
  1896. WHEN hz.dz = 0 THEN hz.nclje
  1897. ELSE hz.nclje
  1898. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  1899. iCydid
  1900. FROM (SELECT yjj.传票预计价单号,
  1901. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  1902. yjj.iCYDID,
  1903. d.cjjdh 计价单号,
  1904. d.ccydh 订单号,
  1905. d.cbz 备注,
  1906. d.ngjje,
  1907. d.nclje,
  1908. d.itax,
  1909. IFNULL(d.iwjg, 0) iwjg,
  1910. IFNULL(d.lzfbs, 0) lzfbs,
  1911. d.nhjje,
  1912. IFNULL(d.ldz, 0) dz,
  1913. yjj.bShbz
  1914. FROM (SELECT b.csccpbh 传票预计价单号,
  1915. a.ccydh,
  1916. a.icydid,
  1917. Sum(c.fje) 传票预计价,
  1918. b.bshbz
  1919. FROM MCYD a
  1920. LEFT JOIN sccp b
  1921. ON a.icydid = b.icydid
  1922. LEFT JOIN ZbHjXm c
  1923. ON c.sccpid = b.sccpid
  1924. WHERE b.bOutProcess = '1 '
  1925. GROUP BY b.csccpbh,
  1926. a.icydid,
  1927. a.CCYDH,
  1928. b.bshbz,
  1929. b.bOutProcess) yjj
  1930. LEFT JOIN tbluey d
  1931. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  1932. WHERE hz.iwjg = 1
  1933. AND hz.lzfbs = 0
  1934. GROUP BY hz.ICYDID) fw
  1935. LEFT JOIN (SELECT icydid,
  1936. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  1937. WHERE icydid = a.icydid) AS cbz
  1938. FROM TBluey a
  1939. GROUP BY icydid) bz
  1940. ON bz.icydid = fw.iCYDID) tb_out
  1941. ON ord.icydid = tb_out.iCydid
  1942. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  1943. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  1944. iCydid,
  1945. CASE
  1946. WHEN ldz = 1 THEN 1
  1947. ELSE 0
  1948. END ldz
  1949. FROM TJob
  1950. WHERE lzfbs = 0
  1951. GROUP BY iCydid,
  1952. nclje,
  1953. itax,
  1954. ldz) tj
  1955. ON ord.ICYDID = tj.iCydid
  1956. WHERE ord.ICYDSTATE > 0
  1957. AND 1 = 1) zb
  1958. WHERE CONVERT(zb.承印日期,CHAR(10)) >= '{$this->start_time()}'
  1959. AND CONVERT(zb.承印日期,CHAR(10)) <= '{$this->end_time()}'
  1960. GROUP BY zb.业务单位) dq
  1961. LEFT JOIN (SELECT zb1.业务单位,
  1962. Sum(zb1.合并金额) 上年销售收入,
  1963. Sum(zb1.合并工价) 上年销售工价,
  1964. Sum(zb1.考核计算毛利不含税)上年考核计算毛利
  1965. FROM (SELECT CASE
  1966. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  1967. ELSE '否'
  1968. END 登账,
  1969. CONVERT(DCYRQ, CHAR(10)) AS 承印日期,
  1970. CCYDH AS 订单号,
  1971. CYJMC AS 印件名称,
  1972. CASE
  1973. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  1974. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  1975. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  1976. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  1977. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  1978. OR CYWDWMC='浙江省新华书店集团有限公司'
  1979. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  1980. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  1981. WHEN CYWDWMC='浙江日报报业集团'
  1982. OR CYWDWMC='共产党员杂志社'
  1983. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  1984. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  1985. OR CYWDWMC='浙江出版传媒有限公司'
  1986. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  1987. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  1988. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  1989. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  1990. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  1991. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  1992. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  1993. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  1994. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  1995. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  1996. WHEN CYWDWMC='上海人民出版社有限公司'
  1997. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  1998. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  1999. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  2000. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  2001. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  2002. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  2003. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  2004. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  2005. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  2006. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  2007. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  2008. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  2009. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  2010. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  2011. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  2012. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  2013. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  2014. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  2015. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  2016. ELSE CYWDWMC
  2017. END AS 业务单位,
  2018. cyjlx 印件类型,
  2019. NCS AS 印数,
  2020. CZWKB AS 开本,
  2021. CDF AS 订法,
  2022. NZWYZ AS 正文印张,
  2023. cbz 发外备注,
  2024. CASE
  2025. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  2026. ELSE
  2027. CASE
  2028. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  2029. + CASE
  2030. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2031. ELSE ( CASE
  2032. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2033. ELSE ( CASE
  2034. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2035. ELSE IFNULL(tj.sum_clje, 0)
  2036. END )
  2037. END )
  2038. END = 0
  2039. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  2040. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  2041. + CASE
  2042. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2043. ELSE ( CASE
  2044. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2045. ELSE ( CASE
  2046. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2047. ELSE IFNULL(tj.sum_clje, 0)
  2048. END )
  2049. END )
  2050. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  2051. END
  2052. END AS 考核计算毛利不含税,
  2053. CASE
  2054. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  2055. ELSE
  2056. CASE
  2057. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  2058. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  2059. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  2060. END
  2061. END AS 考核计算工价毛利不含税,
  2062. ( CASE
  2063. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  2064. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  2065. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2066. ELSE ( CASE
  2067. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2068. ELSE ( CASE
  2069. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2070. ELSE IFNULL(tj.sum_clje, 0)
  2071. END )
  2072. END )
  2073. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  2074. END ) AS 考核计算料价毛利不含税,
  2075. CASE
  2076. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  2077. ELSE ( IFNULL(tj.sum_namount, 0) )
  2078. END 合并金额,
  2079. CASE
  2080. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  2081. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  2082. END 合并工价,
  2083. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  2084. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  2085. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  2086. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  2087. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  2088. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  2089. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  2090. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  2091. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  2092. ord.nzkl AS 折扣率,
  2093. CASE
  2094. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  2095. ELSE ( CASE
  2096. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  2097. + CASE
  2098. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2099. ELSE ( CASE
  2100. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2101. ELSE ( CASE
  2102. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2103. ELSE IFNULL(tj.sum_clje, 0)
  2104. END )
  2105. END )
  2106. END = 0
  2107. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  2108. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  2109. + CASE
  2110. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2111. ELSE ( CASE
  2112. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2113. ELSE ( CASE
  2114. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2115. ELSE IFNULL(tj.sum_clje, 0)
  2116. END )
  2117. END )
  2118. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  2119. END )
  2120. END AS 生产毛利不含税,
  2121. CASE
  2122. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  2123. ELSE ( CASE
  2124. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  2125. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  2126. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  2127. END )
  2128. END AS 生产工价毛利不含税,
  2129. IFNULL(tj.sum_clje, 0) - ( CASE
  2130. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2131. ELSE ( CASE
  2132. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2133. ELSE ( CASE
  2134. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2135. ELSE IFNULL(tj.sum_clje, 0)
  2136. END )
  2137. END )
  2138. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  2139. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  2140. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  2141. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  2142. IFNULL(tb_in.sum_ngjje_in, 0)
  2143. + CASE
  2144. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2145. ELSE ( CASE
  2146. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2147. ELSE ( CASE
  2148. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2149. ELSE IFNULL(tj.sum_clje, 0)
  2150. END )
  2151. END )
  2152. END AS 厂内传票合计不含税,
  2153. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  2154. CASE
  2155. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2156. ELSE ( CASE
  2157. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2158. ELSE ( CASE
  2159. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2160. ELSE IFNULL(tj.sum_clje, 0)
  2161. END )
  2162. END )
  2163. END AS 厂内传票料价不含税,
  2164. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  2165. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  2166. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  2167. CHY AS 活源,
  2168. CCLBMMC AS 承揽部门,
  2169. CYWYXM AS 业务员,
  2170. lwcbs AS 是否完工,
  2171. Dwcrq AS 完工日期,
  2172. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  2173. LJQBS AS 是否结清,
  2174. djqrq AS 结清日期,
  2175. izlconfirm AS 是否销货,
  2176. dzlconfirmrq AS 销货日期,
  2177. nzlconfirmje AS 销货金额,
  2178. nzlysje AS 销货应收,
  2179. IFNULL(ipaytime, 0) AS 帐龄,
  2180. ( CASE
  2181. WHEN ljqbs = 0
  2182. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  2183. ELSE 0
  2184. END ) AS 付款周期,
  2185. ( CASE
  2186. WHEN ljqbs = 0
  2187. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  2188. ELSE 0
  2189. END ) AS 过期天数,
  2190. ( CASE
  2191. WHEN bsfsk = 1 THEN 1
  2192. ELSE 0
  2193. END ) AS 是否收款,
  2194. nysje AS 预收款,
  2195. fskje AS 收款金额,
  2196. ( CASE
  2197. WHEN bsfdjfp = 1 THEN 1
  2198. ELSE 0
  2199. END ) AS '是否开票',
  2200. ffpje AS 发票金额,
  2201. cfph AS 发票号,
  2202. cfprq AS 发票日期,
  2203. ( CASE
  2204. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  2205. ELSE 0
  2206. END ) AS 未开完票金额,
  2207. ( CASE
  2208. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  2209. ELSE 0
  2210. END ) AS 发票未收款金额,
  2211. iselforder AS 是否异常,
  2212. cselftype AS 异常类型,
  2213. CASE
  2214. WHEN bsfdjfp = 1 THEN ( CASE
  2215. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  2216. ELSE 0
  2217. END )
  2218. ELSE ( CASE
  2219. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  2220. ELSE ( CASE
  2221. WHEN nzlconfirmje = 0 THEN nhjje
  2222. ELSE nzlconfirmje
  2223. END )
  2224. END )
  2225. END 未开票
  2226. FROM MCYD Ord
  2227. LEFT JOIN (SELECT ICYDID,
  2228. Max(Nsc) AS Nsc
  2229. FROM SCYDDX
  2230. WHERE IDXLXID = 573
  2231. GROUP BY ICYDID) AS Obj
  2232. ON ord.ICYDID = Obj.ICYDID
  2233. LEFT JOIN (SELECT ICYDID,
  2234. Sum(NYSLS) AS nysls,
  2235. Sum(nyssl) AS nyssl,
  2236. Sum(nsyl) AS nsyl
  2237. FROM SCYDDX
  2238. GROUP BY ICYDID) AS ObjMatier
  2239. ON Ord.ICYDID = ObjMatier.ICYDID
  2240. LEFT JOIN (SELECT Sum(CASE
  2241. WHEN hz.dz = 1 THEN hz.nhjje
  2242. ELSE hz.传票预计价
  2243. END) AS sum_nhjje_in,
  2244. Sum(CASE
  2245. WHEN hz.dz = 1 THEN hz.nhjje
  2246. ELSE hz.传票预计价
  2247. END) AS sum_ngjje_in,
  2248. Sum(CASE
  2249. WHEN hz.dz = 1 THEN hz.nclje
  2250. ELSE hz.nclje
  2251. END) AS sum_nclje_in,
  2252. hz.ICYDID
  2253. FROM (SELECT yjj.传票预计价单号,
  2254. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  2255. yjj.iCYDID,
  2256. d.cjjdh 计价单号,
  2257. d.ccydh 订单号,
  2258. d.cbz 备注,
  2259. d.ngjje,
  2260. d.nclje,
  2261. IFNULL(d.iwjg, 0) iwjg,
  2262. IFNULL(d.lzfbs, 0) lzfbs,
  2263. d.nhjje,
  2264. IFNULL(d.ldz, 0) dz,
  2265. yjj.bShbz
  2266. FROM (SELECT b.csccpbh 传票预计价单号,
  2267. a.ccydh,
  2268. a.icydid,
  2269. Sum(c.fje) 传票预计价,
  2270. b.bshbz
  2271. FROM MCYD a
  2272. LEFT JOIN sccp b
  2273. ON a.icydid = b.icydid
  2274. LEFT JOIN ZbHjXm c
  2275. ON c.sccpid = b.sccpid
  2276. WHERE b.bOutProcess = '0 '
  2277. GROUP BY b.csccpbh,
  2278. a.icydid,
  2279. a.CCYDH,
  2280. b.bshbz,
  2281. b.bOutProcess) yjj
  2282. LEFT JOIN tbluey d
  2283. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  2284. WHERE hz.iwjg = 0
  2285. AND hz.bshbz = 1
  2286. AND hz.lzfbs = 0
  2287. GROUP BY hz.ICYDID) tb_in
  2288. ON ord.icydid = tb_in.iCydid
  2289. LEFT JOIN (SELECT fw.iCYDID,
  2290. sum_nhjje_out,
  2291. sum_ngjje_out,
  2292. sum_nclje_out,
  2293. bz.cbz
  2294. FROM (SELECT Cast(Sum(( CASE
  2295. WHEN hz.dz = 0 THEN hz.传票预计价
  2296. ELSE hz.nhjje
  2297. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  2298. Cast(Sum(( CASE
  2299. WHEN hz.dz = 0 THEN hz.传票预计价
  2300. ELSE hz.nhjje
  2301. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  2302. Cast(Sum(CASE
  2303. WHEN hz.dz = 0 THEN hz.nclje
  2304. ELSE hz.nclje
  2305. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  2306. iCydid
  2307. FROM (SELECT yjj.传票预计价单号,
  2308. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  2309. yjj.iCYDID,
  2310. d.cjjdh 计价单号,
  2311. d.ccydh 订单号,
  2312. d.cbz 备注,
  2313. d.ngjje,
  2314. d.nclje,
  2315. d.itax,
  2316. IFNULL(d.iwjg, 0) iwjg,
  2317. IFNULL(d.lzfbs, 0) lzfbs,
  2318. d.nhjje,
  2319. IFNULL(d.ldz, 0) dz,
  2320. yjj.bShbz
  2321. FROM (SELECT b.csccpbh 传票预计价单号,
  2322. a.ccydh,
  2323. a.icydid,
  2324. Sum(c.fje) 传票预计价,
  2325. b.bshbz
  2326. FROM MCYD a
  2327. LEFT JOIN sccp b
  2328. ON a.icydid = b.icydid
  2329. LEFT JOIN ZbHjXm c
  2330. ON c.sccpid = b.sccpid
  2331. WHERE b.bOutProcess = '1 '
  2332. GROUP BY b.csccpbh,
  2333. a.icydid,
  2334. a.CCYDH,
  2335. b.bshbz,
  2336. b.bOutProcess) yjj
  2337. LEFT JOIN tbluey d
  2338. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  2339. WHERE hz.iwjg = 1
  2340. AND hz.lzfbs = 0
  2341. GROUP BY hz.ICYDID) fw
  2342. LEFT JOIN (SELECT icydid,
  2343. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  2344. WHERE icydid = a.icydid) AS cbz
  2345. FROM TBluey a
  2346. GROUP BY icydid) bz
  2347. ON bz.icydid = fw.iCYDID) tb_out
  2348. ON ord.icydid = tb_out.iCydid
  2349. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  2350. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  2351. iCydid,
  2352. CASE
  2353. WHEN ldz = 1 THEN 1
  2354. ELSE 0
  2355. END ldz
  2356. FROM TJob
  2357. WHERE lzfbs = 0
  2358. GROUP BY iCydid,
  2359. nclje,
  2360. itax,
  2361. ldz) tj
  2362. ON ord.ICYDID = tj.iCydid
  2363. WHERE ord.ICYDSTATE > 0
  2364. AND 1 = 1) zb1
  2365. -- WHERE CONVERT(Dateadd(YEAR, 1, zb1.承印日期),CHAR(10)) >= @BeginDate
  2366. -- AND CONVERT(Dateadd(YEAR, 1, zb1.承印日期),CHAR(10)) <= @EndDate
  2367. WHERE CONVERT(zb1.承印日期,CHAR(10)) >= '2022-01-01'
  2368. AND CONVERT(zb1.承印日期,CHAR(10)) <= '2022-12-31'
  2369. GROUP BY zb1.业务单位) hb
  2370. ON hb.业务单位 = dq.业务单位) UNION (SELECT 1 AS flag,
  2371. IFNULL(dq.业务单位, hb.业务单位) 客户,
  2372. IFNULL(dq.销售收入, 000) 销售收入,
  2373. IFNULL(hb.上年销售收入, 0.000) 上年销售收入,
  2374. IFNULL(dq.销售收入, 000) - IFNULL(hb.上年销售收入, 0.000) 销售收入增减,
  2375. CASE
  2376. WHEN IFNULL(hb.上年销售收入, 0.000) > 0 THEN ( IFNULL(dq.销售收入, 000) / IFNULL(hb.上年销售收入, 0.000) - 1 )
  2377. WHEN IFNULL(hb.上年销售收入, 0.000) = 0.000
  2378. AND IFNULL(dq.销售收入, 000) > 0 THEN 1
  2379. ELSE 0
  2380. END AS 销售收入同期比,
  2381. IFNULL(dq.销售工价, 000) 销售工价,
  2382. IFNULL(hb.上年销售工价, 0.000) 上年销售工价,
  2383. IFNULL(dq.销售工价, 000) - IFNULL(hb.上年销售工价, 0.000) 销售工价增减,
  2384. IFNULL(dq.考核计算毛利, 000) 考核计算毛利,
  2385. IFNULL(hb.上年考核计算毛利, 0.000) 上年考核计算毛利,
  2386. IFNULL(dq.考核计算毛利, 000) - IFNULL(hb.上年考核计算毛利, 0.000) 考核计算毛利增减,
  2387. CASE
  2388. WHEN IFNULL(hb.上年考核计算毛利, 0.000) > 0 THEN ( IFNULL(dq.考核计算毛利, 000) / IFNULL(hb.上年考核计算毛利, 0.000) - 1 )
  2389. WHEN IFNULL(hb.上年考核计算毛利, 0.000) = 0.000
  2390. AND IFNULL(dq.考核计算毛利, 000) > 0 THEN 1
  2391. ELSE 0
  2392. END AS 毛利同期比
  2393. FROM (SELECT zb.业务单位 业务单位,
  2394. IFNULL(Sum(zb.合并金额), 0.000) 销售收入,
  2395. IFNULL(Sum(zb.合并工价), 0.000) 销售工价,
  2396. IFNULL(Sum(zb.考核计算毛利不含税), 0.000) 考核计算毛利
  2397. FROM (SELECT CASE
  2398. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  2399. ELSE '否'
  2400. END 登账,
  2401. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  2402. CCYDH AS 订单号,
  2403. CYJMC AS 印件名称,
  2404. CASE
  2405. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  2406. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  2407. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  2408. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  2409. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  2410. OR CYWDWMC='浙江省新华书店集团有限公司'
  2411. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  2412. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  2413. WHEN CYWDWMC='浙江日报报业集团'
  2414. OR CYWDWMC='共产党员杂志社'
  2415. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  2416. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  2417. OR CYWDWMC='浙江出版传媒有限公司'
  2418. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  2419. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  2420. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  2421. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  2422. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  2423. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  2424. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  2425. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  2426. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  2427. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  2428. WHEN CYWDWMC='上海人民出版社有限公司'
  2429. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  2430. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  2431. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  2432. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  2433. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  2434. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  2435. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  2436. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  2437. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  2438. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  2439. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  2440. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  2441. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  2442. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  2443. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  2444. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  2445. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  2446. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  2447. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  2448. ELSE CYWDWMC
  2449. END AS 业务单位,
  2450. cyjlx 印件类型,
  2451. NCS AS 印数,
  2452. CZWKB AS 开本,
  2453. CDF AS 订法,
  2454. NZWYZ AS 正文印张,
  2455. CASE
  2456. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  2457. ELSE
  2458. CASE
  2459. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  2460. + CASE
  2461. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2462. ELSE ( CASE
  2463. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2464. ELSE ( CASE
  2465. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2466. ELSE IFNULL(tj.sum_clje, 0)
  2467. END )
  2468. END )
  2469. END = 0
  2470. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  2471. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  2472. + CASE
  2473. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2474. ELSE ( CASE
  2475. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2476. ELSE ( CASE
  2477. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2478. ELSE IFNULL(tj.sum_clje, 0)
  2479. END )
  2480. END )
  2481. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  2482. END
  2483. END AS 考核计算毛利不含税,
  2484. CASE
  2485. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  2486. ELSE
  2487. CASE
  2488. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  2489. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  2490. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  2491. END
  2492. END AS 考核计算工价毛利不含税,
  2493. ( CASE
  2494. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  2495. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  2496. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2497. ELSE ( CASE
  2498. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2499. ELSE ( CASE
  2500. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2501. ELSE IFNULL(tj.sum_clje, 0)
  2502. END )
  2503. END )
  2504. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  2505. END ) AS 考核计算料价毛利不含税,
  2506. CASE
  2507. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  2508. ELSE ( IFNULL(tj.sum_namount, 0) )
  2509. END 合并金额,
  2510. CASE
  2511. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  2512. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  2513. END 合并工价,
  2514. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  2515. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  2516. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  2517. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  2518. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  2519. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  2520. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  2521. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  2522. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  2523. ord.nzkl AS 折扣率,
  2524. CASE
  2525. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  2526. ELSE ( CASE
  2527. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  2528. + CASE
  2529. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2530. ELSE ( CASE
  2531. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2532. ELSE ( CASE
  2533. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2534. ELSE IFNULL(tj.sum_clje, 0)
  2535. END )
  2536. END )
  2537. END = 0
  2538. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  2539. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  2540. + CASE
  2541. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2542. ELSE ( CASE
  2543. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2544. ELSE ( CASE
  2545. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2546. ELSE IFNULL(tj.sum_clje, 0)
  2547. END )
  2548. END )
  2549. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  2550. END )
  2551. END AS 生产毛利不含税,
  2552. CASE
  2553. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  2554. ELSE ( CASE
  2555. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  2556. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  2557. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  2558. END )
  2559. END AS 生产工价毛利不含税,
  2560. IFNULL(tj.sum_clje, 0) - ( CASE
  2561. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2562. ELSE ( CASE
  2563. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2564. ELSE ( CASE
  2565. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2566. ELSE IFNULL(tj.sum_clje, 0)
  2567. END )
  2568. END )
  2569. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  2570. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  2571. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  2572. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  2573. IFNULL(tb_in.sum_ngjje_in, 0)
  2574. + CASE
  2575. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2576. ELSE ( CASE
  2577. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2578. ELSE ( CASE
  2579. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2580. ELSE IFNULL(tj.sum_clje, 0)
  2581. END )
  2582. END )
  2583. END AS 厂内传票合计不含税,
  2584. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  2585. CASE
  2586. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2587. ELSE ( CASE
  2588. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2589. ELSE ( CASE
  2590. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2591. ELSE IFNULL(tj.sum_clje, 0)
  2592. END )
  2593. END )
  2594. END AS 厂内传票料价不含税,
  2595. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  2596. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  2597. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  2598. CHY AS 活源,
  2599. CCLBMMC AS 承揽部门,
  2600. CYWYXM AS 业务员,
  2601. lwcbs AS 是否完工,
  2602. Dwcrq AS 完工日期,
  2603. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  2604. LJQBS AS 是否结清,
  2605. djqrq AS 结清日期,
  2606. izlconfirm AS 是否销货,
  2607. dzlconfirmrq AS 销货日期,
  2608. nzlconfirmje AS 销货金额,
  2609. nzlysje AS 销货应收,
  2610. IFNULL(ipaytime, 0) AS 帐龄,
  2611. ( CASE
  2612. WHEN ljqbs = 0
  2613. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  2614. ELSE 0
  2615. END ) AS 付款周期,
  2616. ( CASE
  2617. WHEN ljqbs = 0
  2618. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  2619. ELSE 0
  2620. END ) AS 过期天数,
  2621. ( CASE
  2622. WHEN bsfsk = 1 THEN 1
  2623. ELSE 0
  2624. END ) AS 是否收款,
  2625. nysje AS 预收款,
  2626. fskje AS 收款金额,
  2627. ( CASE
  2628. WHEN bsfdjfp = 1 THEN 1
  2629. ELSE 0
  2630. END ) AS '是否开票',
  2631. ffpje AS 发票金额,
  2632. cfph AS 发票号,
  2633. cfprq AS 发票日期,
  2634. ( CASE
  2635. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  2636. ELSE 0
  2637. END ) AS 未开完票金额,
  2638. ( CASE
  2639. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  2640. ELSE 0
  2641. END ) AS 发票未收款金额,
  2642. iselforder AS 是否异常,
  2643. cselftype AS 异常类型,
  2644. CASE
  2645. WHEN bsfdjfp = 1 THEN ( CASE
  2646. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  2647. ELSE 0
  2648. END )
  2649. ELSE ( CASE
  2650. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  2651. ELSE ( CASE
  2652. WHEN nzlconfirmje = 0 THEN nhjje
  2653. ELSE nzlconfirmje
  2654. END )
  2655. END )
  2656. END 未开票
  2657. FROM MCYD Ord
  2658. LEFT JOIN (SELECT Sum(CASE
  2659. WHEN hz.dz = 1 THEN hz.nhjje
  2660. ELSE hz.传票预计价
  2661. END) AS sum_nhjje_in,
  2662. Sum(CASE
  2663. WHEN hz.dz = 1 THEN hz.nhjje
  2664. ELSE hz.传票预计价
  2665. END) AS sum_ngjje_in,
  2666. Sum(CASE
  2667. WHEN hz.dz = 1 THEN hz.nclje
  2668. ELSE hz.nclje
  2669. END) AS sum_nclje_in,
  2670. hz.ICYDID
  2671. FROM (SELECT yjj.传票预计价单号,
  2672. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  2673. yjj.iCYDID,
  2674. d.cjjdh 计价单号,
  2675. d.ccydh 订单号,
  2676. d.cbz 备注,
  2677. d.ngjje,
  2678. d.nclje,
  2679. IFNULL(d.iwjg, 0) iwjg,
  2680. IFNULL(d.lzfbs, 0) lzfbs,
  2681. d.nhjje,
  2682. IFNULL(d.ldz, 0) dz,
  2683. yjj.bShbz
  2684. FROM (SELECT b.csccpbh 传票预计价单号,
  2685. a.ccydh,
  2686. a.icydid,
  2687. Sum(c.fje) 传票预计价,
  2688. b.bshbz
  2689. FROM MCYD a
  2690. LEFT JOIN sccp b
  2691. ON a.icydid = b.icydid
  2692. LEFT JOIN ZbHjXm c
  2693. ON c.sccpid = b.sccpid
  2694. WHERE b.bOutProcess = '0 '
  2695. GROUP BY b.csccpbh,
  2696. a.icydid,
  2697. a.CCYDH,
  2698. b.bshbz,
  2699. b.bOutProcess) yjj
  2700. LEFT JOIN tbluey d
  2701. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  2702. WHERE hz.iwjg = 0
  2703. AND hz.bshbz = 1
  2704. AND hz.lzfbs = 0
  2705. GROUP BY hz.ICYDID) tb_in
  2706. ON ord.icydid = tb_in.iCydid
  2707. LEFT JOIN (SELECT fw.iCYDID,
  2708. sum_nhjje_out,
  2709. sum_ngjje_out,
  2710. sum_nclje_out,
  2711. bz.cbz
  2712. FROM (SELECT Cast(Sum(( CASE
  2713. WHEN hz.dz = 0 THEN hz.传票预计价
  2714. ELSE hz.nhjje
  2715. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  2716. Cast(Sum(( CASE
  2717. WHEN hz.dz = 0 THEN hz.传票预计价
  2718. ELSE hz.nhjje
  2719. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  2720. Cast(Sum(CASE
  2721. WHEN hz.dz = 0 THEN hz.nclje
  2722. ELSE hz.nclje
  2723. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  2724. iCydid
  2725. FROM (SELECT yjj.传票预计价单号,
  2726. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  2727. yjj.iCYDID,
  2728. d.cjjdh 计价单号,
  2729. d.ccydh 订单号,
  2730. d.cbz 备注,
  2731. d.ngjje,
  2732. d.nclje,
  2733. d.itax,
  2734. IFNULL(d.iwjg, 0) iwjg,
  2735. IFNULL(d.lzfbs, 0) lzfbs,
  2736. d.nhjje,
  2737. IFNULL(d.ldz, 0) dz,
  2738. yjj.bShbz
  2739. FROM (SELECT b.csccpbh 传票预计价单号,
  2740. a.ccydh,
  2741. a.icydid,
  2742. Sum(c.fje) 传票预计价,
  2743. b.bshbz
  2744. FROM MCYD a
  2745. LEFT JOIN sccp b
  2746. ON a.icydid = b.icydid
  2747. LEFT JOIN ZbHjXm c
  2748. ON c.sccpid = b.sccpid
  2749. WHERE b.bOutProcess = '1 '
  2750. GROUP BY b.csccpbh,
  2751. a.icydid,
  2752. a.CCYDH,
  2753. b.bshbz,
  2754. b.bOutProcess) yjj
  2755. LEFT JOIN tbluey d
  2756. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  2757. WHERE hz.iwjg = 1
  2758. AND hz.lzfbs = 0
  2759. GROUP BY hz.ICYDID) fw
  2760. LEFT JOIN (SELECT icydid,
  2761. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  2762. WHERE icydid = a.icydid) AS cbz
  2763. FROM TBluey a
  2764. GROUP BY icydid) bz
  2765. ON bz.icydid = fw.iCYDID) tb_out
  2766. ON ord.icydid = tb_out.iCydid
  2767. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  2768. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  2769. iCydid,
  2770. CASE
  2771. WHEN ldz = 1 THEN 1
  2772. ELSE 0
  2773. END ldz
  2774. FROM TJob
  2775. WHERE lzfbs = 0
  2776. GROUP BY iCydid,
  2777. nclje,
  2778. itax,
  2779. ldz) tj
  2780. ON ord.ICYDID = tj.iCydid
  2781. WHERE ord.ICYDSTATE > 0
  2782. AND 1 = 1) zb
  2783. WHERE CONVERT(zb.承印日期,CHAR(10)) >= '{$this->start_time()}'
  2784. AND CONVERT(zb.承印日期,CHAR(10)) <= '{$this->end_time()}'
  2785. GROUP BY zb.业务单位) dq
  2786. RIGHT JOIN (SELECT zb1.业务单位,
  2787. Sum(zb1.合并金额) 上年销售收入,
  2788. Sum(zb1.合并工价) 上年销售工价,
  2789. Sum(zb1.考核计算毛利不含税)上年考核计算毛利
  2790. FROM (SELECT CASE
  2791. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  2792. ELSE '否'
  2793. END 登账,
  2794. CONVERT(DCYRQ, CHAR(10)) AS 承印日期,
  2795. CCYDH AS 订单号,
  2796. CYJMC AS 印件名称,
  2797. CASE
  2798. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  2799. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  2800. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  2801. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  2802. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  2803. OR CYWDWMC='浙江省新华书店集团有限公司'
  2804. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  2805. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  2806. WHEN CYWDWMC='浙江日报报业集团'
  2807. OR CYWDWMC='共产党员杂志社'
  2808. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  2809. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  2810. OR CYWDWMC='浙江出版传媒有限公司'
  2811. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  2812. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  2813. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  2814. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  2815. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  2816. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  2817. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  2818. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  2819. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  2820. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  2821. WHEN CYWDWMC='上海人民出版社有限公司'
  2822. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  2823. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  2824. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  2825. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  2826. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  2827. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  2828. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  2829. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  2830. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  2831. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  2832. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  2833. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  2834. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  2835. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  2836. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  2837. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  2838. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  2839. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  2840. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  2841. ELSE CYWDWMC
  2842. END AS 业务单位,
  2843. cyjlx 印件类型,
  2844. NCS AS 印数,
  2845. CZWKB AS 开本,
  2846. CDF AS 订法,
  2847. NZWYZ AS 正文印张,
  2848. cbz 发外备注,
  2849. CASE
  2850. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  2851. ELSE
  2852. CASE
  2853. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  2854. + CASE
  2855. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2856. ELSE ( CASE
  2857. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2858. ELSE ( CASE
  2859. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2860. ELSE IFNULL(tj.sum_clje, 0)
  2861. END )
  2862. END )
  2863. END = 0
  2864. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  2865. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  2866. + CASE
  2867. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2868. ELSE ( CASE
  2869. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2870. ELSE ( CASE
  2871. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2872. ELSE IFNULL(tj.sum_clje, 0)
  2873. END )
  2874. END )
  2875. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  2876. END
  2877. END AS 考核计算毛利不含税,
  2878. CASE
  2879. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  2880. ELSE
  2881. CASE
  2882. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  2883. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  2884. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  2885. END
  2886. END AS 考核计算工价毛利不含税,
  2887. ( CASE
  2888. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  2889. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  2890. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2891. ELSE ( CASE
  2892. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2893. ELSE ( CASE
  2894. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2895. ELSE IFNULL(tj.sum_clje, 0)
  2896. END )
  2897. END )
  2898. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  2899. END ) AS 考核计算料价毛利不含税,
  2900. CASE
  2901. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  2902. ELSE ( IFNULL(tj.sum_namount, 0) )
  2903. END 合并金额,
  2904. CASE
  2905. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  2906. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  2907. END 合并工价,
  2908. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  2909. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  2910. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  2911. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  2912. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  2913. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  2914. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  2915. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  2916. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  2917. ord.nzkl AS 折扣率,
  2918. CASE
  2919. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  2920. ELSE ( CASE
  2921. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  2922. + CASE
  2923. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2924. ELSE ( CASE
  2925. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2926. ELSE ( CASE
  2927. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2928. ELSE IFNULL(tj.sum_clje, 0)
  2929. END )
  2930. END )
  2931. END = 0
  2932. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  2933. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  2934. + CASE
  2935. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2936. ELSE ( CASE
  2937. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2938. ELSE ( CASE
  2939. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2940. ELSE IFNULL(tj.sum_clje, 0)
  2941. END )
  2942. END )
  2943. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  2944. END )
  2945. END AS 生产毛利不含税,
  2946. CASE
  2947. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  2948. ELSE ( CASE
  2949. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  2950. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  2951. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  2952. END )
  2953. END AS 生产工价毛利不含税,
  2954. IFNULL(tj.sum_clje, 0) - ( CASE
  2955. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2956. ELSE ( CASE
  2957. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2958. ELSE ( CASE
  2959. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2960. ELSE IFNULL(tj.sum_clje, 0)
  2961. END )
  2962. END )
  2963. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  2964. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  2965. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  2966. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  2967. IFNULL(tb_in.sum_ngjje_in, 0)
  2968. + CASE
  2969. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2970. ELSE ( CASE
  2971. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2972. ELSE ( CASE
  2973. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2974. ELSE IFNULL(tj.sum_clje, 0)
  2975. END )
  2976. END )
  2977. END AS 厂内传票合计不含税,
  2978. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  2979. CASE
  2980. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  2981. ELSE ( CASE
  2982. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  2983. ELSE ( CASE
  2984. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  2985. ELSE IFNULL(tj.sum_clje, 0)
  2986. END )
  2987. END )
  2988. END AS 厂内传票料价不含税,
  2989. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  2990. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  2991. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  2992. CHY AS 活源,
  2993. CCLBMMC AS 承揽部门,
  2994. CYWYXM AS 业务员,
  2995. lwcbs AS 是否完工,
  2996. Dwcrq AS 完工日期,
  2997. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  2998. LJQBS AS 是否结清,
  2999. djqrq AS 结清日期,
  3000. izlconfirm AS 是否销货,
  3001. dzlconfirmrq AS 销货日期,
  3002. nzlconfirmje AS 销货金额,
  3003. nzlysje AS 销货应收,
  3004. IFNULL(ipaytime, 0) AS 帐龄,
  3005. ( CASE
  3006. WHEN ljqbs = 0
  3007. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  3008. ELSE 0
  3009. END ) AS 付款周期,
  3010. ( CASE
  3011. WHEN ljqbs = 0
  3012. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  3013. ELSE 0
  3014. END ) AS 过期天数,
  3015. ( CASE
  3016. WHEN bsfsk = 1 THEN 1
  3017. ELSE 0
  3018. END ) AS 是否收款,
  3019. nysje AS 预收款,
  3020. fskje AS 收款金额,
  3021. ( CASE
  3022. WHEN bsfdjfp = 1 THEN 1
  3023. ELSE 0
  3024. END ) AS '是否开票',
  3025. ffpje AS 发票金额,
  3026. cfph AS 发票号,
  3027. cfprq AS 发票日期,
  3028. ( CASE
  3029. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  3030. ELSE 0
  3031. END ) AS 未开完票金额,
  3032. ( CASE
  3033. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  3034. ELSE 0
  3035. END ) AS 发票未收款金额,
  3036. iselforder AS 是否异常,
  3037. cselftype AS 异常类型,
  3038. CASE
  3039. WHEN bsfdjfp = 1 THEN ( CASE
  3040. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  3041. ELSE 0
  3042. END )
  3043. ELSE ( CASE
  3044. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  3045. ELSE ( CASE
  3046. WHEN nzlconfirmje = 0 THEN nhjje
  3047. ELSE nzlconfirmje
  3048. END )
  3049. END )
  3050. END 未开票
  3051. FROM MCYD Ord
  3052. LEFT JOIN (SELECT ICYDID,
  3053. Max(Nsc) AS Nsc
  3054. FROM SCYDDX
  3055. WHERE IDXLXID = 573
  3056. GROUP BY ICYDID) AS Obj
  3057. ON ord.ICYDID = Obj.ICYDID
  3058. LEFT JOIN (SELECT ICYDID,
  3059. Sum(NYSLS) AS nysls,
  3060. Sum(nyssl) AS nyssl,
  3061. Sum(nsyl) AS nsyl
  3062. FROM SCYDDX
  3063. GROUP BY ICYDID) AS ObjMatier
  3064. ON Ord.ICYDID = ObjMatier.ICYDID
  3065. LEFT JOIN (SELECT Sum(CASE
  3066. WHEN hz.dz = 1 THEN hz.nhjje
  3067. ELSE hz.传票预计价
  3068. END) AS sum_nhjje_in,
  3069. Sum(CASE
  3070. WHEN hz.dz = 1 THEN hz.nhjje
  3071. ELSE hz.传票预计价
  3072. END) AS sum_ngjje_in,
  3073. Sum(CASE
  3074. WHEN hz.dz = 1 THEN hz.nclje
  3075. ELSE hz.nclje
  3076. END) AS sum_nclje_in,
  3077. hz.ICYDID
  3078. FROM (SELECT yjj.传票预计价单号,
  3079. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  3080. yjj.iCYDID,
  3081. d.cjjdh 计价单号,
  3082. d.ccydh 订单号,
  3083. d.cbz 备注,
  3084. d.ngjje,
  3085. d.nclje,
  3086. IFNULL(d.iwjg, 0) iwjg,
  3087. IFNULL(d.lzfbs, 0) lzfbs,
  3088. d.nhjje,
  3089. IFNULL(d.ldz, 0) dz,
  3090. yjj.bShbz
  3091. FROM (SELECT b.csccpbh 传票预计价单号,
  3092. a.ccydh,
  3093. a.icydid,
  3094. Sum(c.fje) 传票预计价,
  3095. b.bshbz
  3096. FROM MCYD a
  3097. LEFT JOIN sccp b
  3098. ON a.icydid = b.icydid
  3099. LEFT JOIN ZbHjXm c
  3100. ON c.sccpid = b.sccpid
  3101. WHERE b.bOutProcess = '0 '
  3102. GROUP BY b.csccpbh,
  3103. a.icydid,
  3104. a.CCYDH,
  3105. b.bshbz,
  3106. b.bOutProcess) yjj
  3107. LEFT JOIN tbluey d
  3108. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  3109. WHERE hz.iwjg = 0
  3110. AND hz.bshbz = 1
  3111. AND hz.lzfbs = 0
  3112. GROUP BY hz.ICYDID) tb_in
  3113. ON ord.icydid = tb_in.iCydid
  3114. LEFT JOIN (SELECT fw.iCYDID,
  3115. sum_nhjje_out,
  3116. sum_ngjje_out,
  3117. sum_nclje_out,
  3118. bz.cbz
  3119. FROM (SELECT Cast(Sum(( CASE
  3120. WHEN hz.dz = 0 THEN hz.传票预计价
  3121. ELSE hz.nhjje
  3122. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  3123. Cast(Sum(( CASE
  3124. WHEN hz.dz = 0 THEN hz.传票预计价
  3125. ELSE hz.nhjje
  3126. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  3127. Cast(Sum(CASE
  3128. WHEN hz.dz = 0 THEN hz.nclje
  3129. ELSE hz.nclje
  3130. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  3131. iCydid
  3132. FROM (SELECT yjj.传票预计价单号,
  3133. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  3134. yjj.iCYDID,
  3135. d.cjjdh 计价单号,
  3136. d.ccydh 订单号,
  3137. d.cbz 备注,
  3138. d.ngjje,
  3139. d.nclje,
  3140. d.itax,
  3141. IFNULL(d.iwjg, 0) iwjg,
  3142. IFNULL(d.lzfbs, 0) lzfbs,
  3143. d.nhjje,
  3144. IFNULL(d.ldz, 0) dz,
  3145. yjj.bShbz
  3146. FROM (SELECT b.csccpbh 传票预计价单号,
  3147. a.ccydh,
  3148. a.icydid,
  3149. Sum(c.fje) 传票预计价,
  3150. b.bshbz
  3151. FROM MCYD a
  3152. LEFT JOIN sccp b
  3153. ON a.icydid = b.icydid
  3154. LEFT JOIN ZbHjXm c
  3155. ON c.sccpid = b.sccpid
  3156. WHERE b.bOutProcess = '1 '
  3157. GROUP BY b.csccpbh,
  3158. a.icydid,
  3159. a.CCYDH,
  3160. b.bshbz,
  3161. b.bOutProcess) yjj
  3162. LEFT JOIN tbluey d
  3163. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  3164. WHERE hz.iwjg = 1
  3165. AND hz.lzfbs = 0
  3166. GROUP BY hz.ICYDID) fw
  3167. LEFT JOIN (SELECT icydid,
  3168. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  3169. WHERE icydid = a.icydid) AS cbz
  3170. FROM TBluey a
  3171. GROUP BY icydid) bz
  3172. ON bz.icydid = fw.iCYDID) tb_out
  3173. ON ord.icydid = tb_out.iCydid
  3174. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  3175. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  3176. iCydid,
  3177. CASE
  3178. WHEN ldz = 1 THEN 1
  3179. ELSE 0
  3180. END ldz
  3181. FROM TJob
  3182. WHERE lzfbs = 0
  3183. GROUP BY iCydid,
  3184. nclje,
  3185. itax,
  3186. ldz) tj
  3187. ON ord.ICYDID = tj.iCydid
  3188. WHERE ord.ICYDSTATE > 0
  3189. AND 1 = 1) zb1
  3190. -- WHERE CONVERT(Dateadd(YEAR, 1, zb1.承印日期),CHAR(10)) >= @BeginDate
  3191. -- AND CONVERT(Dateadd(YEAR, 1, zb1.承印日期),CHAR(10)) <= @EndDate
  3192. WHERE CONVERT(zb1.承印日期,CHAR(10)) >= '2022-01-01'
  3193. AND CONVERT(zb1.承印日期,CHAR(10)) <= '2022-12-31'
  3194. GROUP BY zb1.业务单位) hb
  3195. ON hb.业务单位 = dq.业务单位))a) aa
  3196. ORDER BY Aa.考核计算毛利(万元) DESC
  3197. ";
  3198. $result=Db::query($sql);
  3199. $redis->set($redis_key, json_encode($result));
  3200. echo date("Y-m-d H:i:s").' 存进去了';
  3201. return $result;
  3202. }
  3203. //当年考核毛利收入前七客户
  3204. public function year_profit(){
  3205. $redis = redis();
  3206. $result = json_decode($redis->get(md5('year_profit_redis')), true);
  3207. // 获取前四个
  3208. $firstFour = array_slice($result, 0, 4);
  3209. // 获取后三个
  3210. $lastThree = array_slice($result, -3, 3);
  3211. // 合并数组,获取前四个和后三个
  3212. $combinedResult = array_merge($firstFour, $lastThree);
  3213. $list['columns'] = [
  3214. ['name' => '客户名称', 'id' => 'khmc', 'width' => '50', 'autoWrap' => "true", 'textAlign' => 'left'],
  3215. ['name' => '毛利收入', 'id' => 'mlsr', 'width' => '20', 'autoWrap' => "true", 'textAlign' => 'left'],
  3216. ['name' => '增长率', 'id' => 'zzl', 'width' => '20', 'autoWrap' => "true", 'textAlign' => 'left']
  3217. ];
  3218. foreach ($combinedResult as $k => $v) {
  3219. $list['rows'][$k]['khmc'] = $v['客户'];
  3220. $list['rows'][$k]['mlsr'] = $v['考核计算毛利(万元)'];
  3221. $list['rows'][$k]['zzl'] = $v['毛利增长率'] . '%';
  3222. }
  3223. $res['status'] = 0;
  3224. $res['msg'] = '';
  3225. $res['data'] = $list;
  3226. return json($res);
  3227. // $result = array_splice($result, 0, 7);
  3228. // $list['columns']=[
  3229. // ['name'=>'客户名称','id'=>'khmc','width'=>'50','autoWrap'=>"true",'textAlign'=>'left'],
  3230. // ['name'=>'毛利收入','id'=>'mlsr','width'=>'20','autoWrap'=>"true",'textAlign'=>'left'],
  3231. // ['name'=>'增长率','id'=>'zzl','width'=>'20','autoWrap'=>"true",'textAlign'=>'left']
  3232. // ];
  3233. // foreach($result as $k=>$v){
  3234. // $list['rows'][$k]['khmc']=$v['客户'];
  3235. // $list['rows'][$k]['mlsr']=$v['考核计算毛利(万元)'];
  3236. // $list['rows'][$k]['zzl']=$v['毛利增长率'].'%';
  3237. // }
  3238. // $res['status']=0;
  3239. // $res['msg']='';
  3240. // $res['data']=$list;
  3241. // return json($res);
  3242. }
  3243. //营销管理(第二页右侧两个)销售指标达成率一览表、销售同比上升和下滑一览表,缓存一致
  3244. public function year_dclandsx_redis(){
  3245. $redis = redis();
  3246. $redis_key = md5('year_dclandsx_redis');
  3247. $sql = "SELECT bb.客户,
  3248. bb.销售收入(万元),
  3249. bb.上年销售收入(万元),
  3250. bb.销售收入增减(万元),bb.销售收入增长率 FROM(SELECT aa.客户,
  3251. aa.销售收入(万元),
  3252. aa.上年销售收入(万元),
  3253. aa.销售收入增减(万元),
  3254. CASE
  3255. WHEN IFNULL(aa.上年销售收入(万元), 0) = 0 THEN 'New'
  3256. ELSE Ltrim(Cast(aa.销售收入增减(万元)*100/aa.上年销售收入(万元) AS DECIMAL(10, 2)))
  3257. END AS 销售收入增长率
  3258. FROM (SELECT a.客户,
  3259. CONVERT(Round(a.销售收入 / 10000, 2),DECIMAL(10, 2)) AS '销售收入(万元)',
  3260. CONVERT(Round(a.上年销售收入 / 10000, 2),DECIMAL(10, 2)) AS '上年销售收入(万元)',
  3261. CONVERT(Round(a.销售收入增减 / 10000, 2),DECIMAL(10, 2)) AS '销售收入增减(万元)',
  3262. CONVERT(Round(a.销售工价 / 10000, 2),DECIMAL(10, 2)) AS '销售工价(万元)',
  3263. CONVERT(Round(a.上年销售工价 / 10000, 2),DECIMAL(10, 2)) AS '上年销售工价(万元)',
  3264. CONVERT(Round(a.销售工价增减 / 10000, 2),DECIMAL(10, 2)) AS '销售工价增减(万元)',
  3265. CONVERT(Round(a.考核计算毛利 / 10000, 2),DECIMAL(10, 2)) AS '考核计算毛利(万元)',
  3266. CONVERT(Round(a.上年考核计算毛利 / 10000, 2),DECIMAL(10, 2))AS '上年考核计算毛利(万元)',
  3267. CONVERT(Round(a.考核计算毛利增减 / 10000, 2),DECIMAL(10, 2))AS '考核计算毛利增减(万元)'
  3268. FROM ((SELECT 1 AS flag,
  3269. IFNULL(dq.业务单位, hb.业务单位) 客户,
  3270. IFNULL(dq.销售收入, 000) 销售收入,
  3271. IFNULL(hb.上年销售收入, 0.000) 上年销售收入,
  3272. IFNULL(dq.销售收入, 000) - IFNULL(hb.上年销售收入, 0.000) 销售收入增减,
  3273. CASE
  3274. WHEN IFNULL(hb.上年销售收入, 0.000) > 0 THEN ( IFNULL(dq.销售收入, 000) / IFNULL(hb.上年销售收入, 0.000) - 1 )
  3275. WHEN IFNULL(hb.上年销售收入, 0.000) = 0.000
  3276. AND IFNULL(dq.销售收入, 000) > 0 THEN 1
  3277. ELSE 0
  3278. END AS 销售收入同期比,
  3279. IFNULL(dq.销售工价, 000) 销售工价,
  3280. IFNULL(hb.上年销售工价, 0.000) 上年销售工价,
  3281. IFNULL(dq.销售工价, 000) - IFNULL(hb.上年销售工价, 0.000) 销售工价增减,
  3282. IFNULL(dq.考核计算毛利, 000) 考核计算毛利,
  3283. IFNULL(hb.上年考核计算毛利, 0.000) 上年考核计算毛利,
  3284. IFNULL(dq.考核计算毛利, 000) - IFNULL(hb.上年考核计算毛利, 0.000) 考核计算毛利增减,
  3285. CASE
  3286. WHEN IFNULL(hb.上年考核计算毛利, 0.000) > 0 THEN ( IFNULL(dq.考核计算毛利, 000) / IFNULL(hb.上年考核计算毛利, 0.000) - 1 )
  3287. WHEN IFNULL(hb.上年考核计算毛利, 0.000) = 0.000
  3288. AND IFNULL(dq.考核计算毛利, 000) > 0 THEN 1
  3289. ELSE 0
  3290. END AS 毛利同期比
  3291. FROM (SELECT zb.业务单位 业务单位,
  3292. IFNULL(Sum(zb.合并金额), 0.000) 销售收入,
  3293. IFNULL(Sum(zb.合并工价), 0.000) 销售工价,
  3294. IFNULL(Sum(zb.考核计算毛利不含税), 0.000) 考核计算毛利
  3295. FROM (SELECT CASE
  3296. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  3297. ELSE '否'
  3298. END 登账,
  3299. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  3300. CCYDH AS 订单号,
  3301. CYJMC AS 印件名称,
  3302. CASE
  3303. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  3304. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  3305. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  3306. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  3307. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  3308. OR CYWDWMC='浙江省新华书店集团有限公司'
  3309. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  3310. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  3311. WHEN CYWDWMC='浙江日报报业集团'
  3312. OR CYWDWMC='共产党员杂志社'
  3313. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  3314. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  3315. OR CYWDWMC='浙江出版传媒有限公司'
  3316. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  3317. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  3318. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  3319. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  3320. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  3321. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  3322. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  3323. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  3324. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  3325. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  3326. WHEN CYWDWMC='上海人民出版社有限公司'
  3327. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  3328. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  3329. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  3330. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  3331. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  3332. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  3333. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  3334. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  3335. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  3336. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  3337. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  3338. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  3339. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  3340. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  3341. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  3342. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  3343. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  3344. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  3345. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  3346. ELSE CYWDWMC
  3347. END AS 业务单位,
  3348. cyjlx 印件类型,
  3349. NCS AS 印数,
  3350. CZWKB AS 开本,
  3351. CDF AS 订法,
  3352. NZWYZ AS 正文印张,
  3353. CASE
  3354. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  3355. ELSE
  3356. CASE
  3357. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  3358. + CASE
  3359. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3360. ELSE ( CASE
  3361. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3362. ELSE ( CASE
  3363. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3364. ELSE IFNULL(tj.sum_clje, 0)
  3365. END )
  3366. END )
  3367. END = 0
  3368. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  3369. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  3370. + CASE
  3371. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3372. ELSE ( CASE
  3373. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3374. ELSE ( CASE
  3375. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3376. ELSE IFNULL(tj.sum_clje, 0)
  3377. END )
  3378. END )
  3379. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  3380. END
  3381. END AS 考核计算毛利不含税,
  3382. CASE
  3383. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  3384. ELSE
  3385. CASE
  3386. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  3387. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  3388. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  3389. END
  3390. END AS 考核计算工价毛利不含税,
  3391. ( CASE
  3392. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  3393. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  3394. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3395. ELSE ( CASE
  3396. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3397. ELSE ( CASE
  3398. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3399. ELSE IFNULL(tj.sum_clje, 0)
  3400. END )
  3401. END )
  3402. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  3403. END ) AS 考核计算料价毛利不含税,
  3404. CASE
  3405. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  3406. ELSE ( IFNULL(tj.sum_namount, 0) )
  3407. END 合并金额,
  3408. CASE
  3409. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  3410. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  3411. END 合并工价,
  3412. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  3413. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  3414. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  3415. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  3416. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  3417. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  3418. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  3419. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  3420. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  3421. ord.nzkl AS 折扣率,
  3422. CASE
  3423. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  3424. ELSE ( CASE
  3425. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  3426. + CASE
  3427. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3428. ELSE ( CASE
  3429. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3430. ELSE ( CASE
  3431. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3432. ELSE IFNULL(tj.sum_clje, 0)
  3433. END )
  3434. END )
  3435. END = 0
  3436. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  3437. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  3438. + CASE
  3439. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3440. ELSE ( CASE
  3441. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3442. ELSE ( CASE
  3443. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3444. ELSE IFNULL(tj.sum_clje, 0)
  3445. END )
  3446. END )
  3447. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  3448. END )
  3449. END AS 生产毛利不含税,
  3450. CASE
  3451. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  3452. ELSE ( CASE
  3453. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  3454. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  3455. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  3456. END )
  3457. END AS 生产工价毛利不含税,
  3458. IFNULL(tj.sum_clje, 0) - ( CASE
  3459. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3460. ELSE ( CASE
  3461. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3462. ELSE ( CASE
  3463. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3464. ELSE IFNULL(tj.sum_clje, 0)
  3465. END )
  3466. END )
  3467. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  3468. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  3469. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  3470. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  3471. IFNULL(tb_in.sum_ngjje_in, 0)
  3472. + CASE
  3473. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3474. ELSE ( CASE
  3475. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3476. ELSE ( CASE
  3477. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3478. ELSE IFNULL(tj.sum_clje, 0)
  3479. END )
  3480. END )
  3481. END AS 厂内传票合计不含税,
  3482. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  3483. CASE
  3484. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3485. ELSE ( CASE
  3486. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3487. ELSE ( CASE
  3488. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3489. ELSE IFNULL(tj.sum_clje, 0)
  3490. END )
  3491. END )
  3492. END AS 厂内传票料价不含税,
  3493. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  3494. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  3495. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  3496. CHY AS 活源,
  3497. CCLBMMC AS 承揽部门,
  3498. CYWYXM AS 业务员,
  3499. lwcbs AS 是否完工,
  3500. Dwcrq AS 完工日期,
  3501. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  3502. LJQBS AS 是否结清,
  3503. djqrq AS 结清日期,
  3504. izlconfirm AS 是否销货,
  3505. dzlconfirmrq AS 销货日期,
  3506. nzlconfirmje AS 销货金额,
  3507. nzlysje AS 销货应收,
  3508. IFNULL(ipaytime, 0) AS 帐龄,
  3509. ( CASE
  3510. WHEN ljqbs = 0
  3511. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  3512. ELSE 0
  3513. END ) AS 付款周期,
  3514. ( CASE
  3515. WHEN ljqbs = 0
  3516. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  3517. ELSE 0
  3518. END ) AS 过期天数,
  3519. ( CASE
  3520. WHEN bsfsk = 1 THEN 1
  3521. ELSE 0
  3522. END ) AS 是否收款,
  3523. nysje AS 预收款,
  3524. fskje AS 收款金额,
  3525. ( CASE
  3526. WHEN bsfdjfp = 1 THEN 1
  3527. ELSE 0
  3528. END ) AS '是否开票',
  3529. ffpje AS 发票金额,
  3530. cfph AS 发票号,
  3531. cfprq AS 发票日期,
  3532. ( CASE
  3533. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  3534. ELSE 0
  3535. END ) AS 未开完票金额,
  3536. ( CASE
  3537. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  3538. ELSE 0
  3539. END ) AS 发票未收款金额,
  3540. iselforder AS 是否异常,
  3541. cselftype AS 异常类型,
  3542. CASE
  3543. WHEN bsfdjfp = 1 THEN ( CASE
  3544. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  3545. ELSE 0
  3546. END )
  3547. ELSE ( CASE
  3548. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  3549. ELSE ( CASE
  3550. WHEN nzlconfirmje = 0 THEN nhjje
  3551. ELSE nzlconfirmje
  3552. END )
  3553. END )
  3554. END 未开票
  3555. FROM MCYD Ord
  3556. LEFT JOIN (SELECT Sum(CASE
  3557. WHEN hz.dz = 1 THEN hz.nhjje
  3558. ELSE hz.传票预计价
  3559. END) AS sum_nhjje_in,
  3560. Sum(CASE
  3561. WHEN hz.dz = 1 THEN hz.nhjje
  3562. ELSE hz.传票预计价
  3563. END) AS sum_ngjje_in,
  3564. Sum(CASE
  3565. WHEN hz.dz = 1 THEN hz.nclje
  3566. ELSE hz.nclje
  3567. END) AS sum_nclje_in,
  3568. hz.ICYDID
  3569. FROM (SELECT yjj.传票预计价单号,
  3570. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  3571. yjj.iCYDID,
  3572. d.cjjdh 计价单号,
  3573. d.ccydh 订单号,
  3574. d.cbz 备注,
  3575. d.ngjje,
  3576. d.nclje,
  3577. IFNULL(d.iwjg, 0) iwjg,
  3578. IFNULL(d.lzfbs, 0) lzfbs,
  3579. d.nhjje,
  3580. IFNULL(d.ldz, 0) dz,
  3581. yjj.bShbz
  3582. FROM (SELECT b.csccpbh 传票预计价单号,
  3583. a.ccydh,
  3584. a.icydid,
  3585. Sum(c.fje) 传票预计价,
  3586. b.bshbz
  3587. FROM MCYD a
  3588. LEFT JOIN sccp b
  3589. ON a.icydid = b.icydid
  3590. LEFT JOIN ZbHjXm c
  3591. ON c.sccpid = b.sccpid
  3592. WHERE b.bOutProcess = '0 '
  3593. GROUP BY b.csccpbh,
  3594. a.icydid,
  3595. a.CCYDH,
  3596. b.bshbz,
  3597. b.bOutProcess) yjj
  3598. LEFT JOIN tbluey d
  3599. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  3600. WHERE hz.iwjg = 0
  3601. AND hz.bshbz = 1
  3602. AND hz.lzfbs = 0
  3603. GROUP BY hz.ICYDID) tb_in
  3604. ON ord.icydid = tb_in.iCydid
  3605. LEFT JOIN (SELECT fw.iCYDID,
  3606. sum_nhjje_out,
  3607. sum_ngjje_out,
  3608. sum_nclje_out,
  3609. bz.cbz
  3610. FROM (SELECT Cast(Sum(( CASE
  3611. WHEN hz.dz = 0 THEN hz.传票预计价
  3612. ELSE hz.nhjje
  3613. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  3614. Cast(Sum(( CASE
  3615. WHEN hz.dz = 0 THEN hz.传票预计价
  3616. ELSE hz.nhjje
  3617. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  3618. Cast(Sum(CASE
  3619. WHEN hz.dz = 0 THEN hz.nclje
  3620. ELSE hz.nclje
  3621. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  3622. iCydid
  3623. FROM (SELECT yjj.传票预计价单号,
  3624. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  3625. yjj.iCYDID,
  3626. d.cjjdh 计价单号,
  3627. d.ccydh 订单号,
  3628. d.cbz 备注,
  3629. d.ngjje,
  3630. d.nclje,
  3631. d.itax,
  3632. IFNULL(d.iwjg, 0) iwjg,
  3633. IFNULL(d.lzfbs, 0) lzfbs,
  3634. d.nhjje,
  3635. IFNULL(d.ldz, 0) dz,
  3636. yjj.bShbz
  3637. FROM (SELECT b.csccpbh 传票预计价单号,
  3638. a.ccydh,
  3639. a.icydid,
  3640. Sum(c.fje) 传票预计价,
  3641. b.bshbz
  3642. FROM MCYD a
  3643. LEFT JOIN sccp b
  3644. ON a.icydid = b.icydid
  3645. LEFT JOIN ZbHjXm c
  3646. ON c.sccpid = b.sccpid
  3647. WHERE b.bOutProcess = '1 '
  3648. GROUP BY b.csccpbh,
  3649. a.icydid,
  3650. a.CCYDH,
  3651. b.bshbz,
  3652. b.bOutProcess) yjj
  3653. LEFT JOIN tbluey d
  3654. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  3655. WHERE hz.iwjg = 1
  3656. AND hz.lzfbs = 0
  3657. GROUP BY hz.ICYDID) fw
  3658. LEFT JOIN (SELECT icydid,
  3659. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  3660. WHERE icydid = a.icydid) AS cbz
  3661. FROM TBluey a
  3662. GROUP BY icydid) bz
  3663. ON bz.icydid = fw.iCYDID) tb_out
  3664. ON ord.icydid = tb_out.iCydid
  3665. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  3666. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  3667. iCydid,
  3668. CASE
  3669. WHEN ldz = 1 THEN 1
  3670. ELSE 0
  3671. END ldz
  3672. FROM TJob
  3673. WHERE lzfbs = 0
  3674. GROUP BY iCydid,
  3675. nclje,
  3676. itax,
  3677. ldz) tj
  3678. ON ord.ICYDID = tj.iCydid
  3679. WHERE ord.ICYDSTATE > 0
  3680. AND 1 = 1) zb
  3681. WHERE CONVERT(zb.承印日期,CHAR(10)) >= '{$this->start_time()}'
  3682. AND CONVERT(zb.承印日期,CHAR(10)) <= '{$this->end_time()}'
  3683. GROUP BY zb.业务单位) dq
  3684. LEFT JOIN (SELECT zb1.业务单位,
  3685. Sum(zb1.合并金额) 上年销售收入,
  3686. Sum(zb1.合并工价) 上年销售工价,
  3687. Sum(zb1.考核计算毛利不含税)上年考核计算毛利
  3688. FROM (SELECT CASE
  3689. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  3690. ELSE '否'
  3691. END 登账,
  3692. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  3693. CCYDH AS 订单号,
  3694. CYJMC AS 印件名称,
  3695. CASE
  3696. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  3697. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  3698. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  3699. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  3700. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  3701. OR CYWDWMC='浙江省新华书店集团有限公司'
  3702. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  3703. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  3704. WHEN CYWDWMC='浙江日报报业集团'
  3705. OR CYWDWMC='共产党员杂志社'
  3706. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  3707. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  3708. OR CYWDWMC='浙江出版传媒有限公司'
  3709. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  3710. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  3711. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  3712. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  3713. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  3714. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  3715. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  3716. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  3717. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  3718. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  3719. WHEN CYWDWMC='上海人民出版社有限公司'
  3720. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  3721. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  3722. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  3723. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  3724. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  3725. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  3726. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  3727. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  3728. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  3729. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  3730. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  3731. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  3732. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  3733. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  3734. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  3735. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  3736. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  3737. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  3738. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  3739. ELSE CYWDWMC
  3740. END AS 业务单位,
  3741. cyjlx 印件类型,
  3742. NCS AS 印数,
  3743. CZWKB AS 开本,
  3744. CDF AS 订法,
  3745. NZWYZ AS 正文印张,
  3746. cbz 发外备注,
  3747. CASE
  3748. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  3749. ELSE
  3750. CASE
  3751. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  3752. + CASE
  3753. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3754. ELSE ( CASE
  3755. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3756. ELSE ( CASE
  3757. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3758. ELSE IFNULL(tj.sum_clje, 0)
  3759. END )
  3760. END )
  3761. END = 0
  3762. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  3763. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  3764. + CASE
  3765. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3766. ELSE ( CASE
  3767. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3768. ELSE ( CASE
  3769. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3770. ELSE IFNULL(tj.sum_clje, 0)
  3771. END )
  3772. END )
  3773. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  3774. END
  3775. END AS 考核计算毛利不含税,
  3776. CASE
  3777. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  3778. ELSE
  3779. CASE
  3780. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  3781. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  3782. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  3783. END
  3784. END AS 考核计算工价毛利不含税,
  3785. ( CASE
  3786. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  3787. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  3788. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3789. ELSE ( CASE
  3790. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3791. ELSE ( CASE
  3792. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3793. ELSE IFNULL(tj.sum_clje, 0)
  3794. END )
  3795. END )
  3796. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  3797. END ) AS 考核计算料价毛利不含税,
  3798. CASE
  3799. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  3800. ELSE ( IFNULL(tj.sum_namount, 0) )
  3801. END 合并金额,
  3802. CASE
  3803. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  3804. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  3805. END 合并工价,
  3806. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  3807. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  3808. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  3809. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  3810. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  3811. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  3812. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  3813. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  3814. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  3815. ord.nzkl AS 折扣率,
  3816. CASE
  3817. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  3818. ELSE ( CASE
  3819. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  3820. + CASE
  3821. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3822. ELSE ( CASE
  3823. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3824. ELSE ( CASE
  3825. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3826. ELSE IFNULL(tj.sum_clje, 0)
  3827. END )
  3828. END )
  3829. END = 0
  3830. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  3831. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  3832. + CASE
  3833. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3834. ELSE ( CASE
  3835. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3836. ELSE ( CASE
  3837. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3838. ELSE IFNULL(tj.sum_clje, 0)
  3839. END )
  3840. END )
  3841. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  3842. END )
  3843. END AS 生产毛利不含税,
  3844. CASE
  3845. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  3846. ELSE ( CASE
  3847. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  3848. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  3849. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  3850. END )
  3851. END AS 生产工价毛利不含税,
  3852. IFNULL(tj.sum_clje, 0) - ( CASE
  3853. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3854. ELSE ( CASE
  3855. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3856. ELSE ( CASE
  3857. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3858. ELSE IFNULL(tj.sum_clje, 0)
  3859. END )
  3860. END )
  3861. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  3862. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  3863. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  3864. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  3865. IFNULL(tb_in.sum_ngjje_in, 0)
  3866. + CASE
  3867. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3868. ELSE ( CASE
  3869. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3870. ELSE ( CASE
  3871. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3872. ELSE IFNULL(tj.sum_clje, 0)
  3873. END )
  3874. END )
  3875. END AS 厂内传票合计不含税,
  3876. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  3877. CASE
  3878. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  3879. ELSE ( CASE
  3880. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  3881. ELSE ( CASE
  3882. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  3883. ELSE IFNULL(tj.sum_clje, 0)
  3884. END )
  3885. END )
  3886. END AS 厂内传票料价不含税,
  3887. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  3888. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  3889. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  3890. CHY AS 活源,
  3891. CCLBMMC AS 承揽部门,
  3892. CYWYXM AS 业务员,
  3893. lwcbs AS 是否完工,
  3894. Dwcrq AS 完工日期,
  3895. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  3896. LJQBS AS 是否结清,
  3897. djqrq AS 结清日期,
  3898. izlconfirm AS 是否销货,
  3899. dzlconfirmrq AS 销货日期,
  3900. nzlconfirmje AS 销货金额,
  3901. nzlysje AS 销货应收,
  3902. IFNULL(ipaytime, 0) AS 帐龄,
  3903. ( CASE
  3904. WHEN ljqbs = 0
  3905. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  3906. ELSE 0
  3907. END ) AS 付款周期,
  3908. ( CASE
  3909. WHEN ljqbs = 0
  3910. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  3911. ELSE 0
  3912. END ) AS 过期天数,
  3913. ( CASE
  3914. WHEN bsfsk = 1 THEN 1
  3915. ELSE 0
  3916. END ) AS 是否收款,
  3917. nysje AS 预收款,
  3918. fskje AS 收款金额,
  3919. ( CASE
  3920. WHEN bsfdjfp = 1 THEN 1
  3921. ELSE 0
  3922. END ) AS '是否开票',
  3923. ffpje AS 发票金额,
  3924. cfph AS 发票号,
  3925. cfprq AS 发票日期,
  3926. ( CASE
  3927. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  3928. ELSE 0
  3929. END ) AS 未开完票金额,
  3930. ( CASE
  3931. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  3932. ELSE 0
  3933. END ) AS 发票未收款金额,
  3934. iselforder AS 是否异常,
  3935. cselftype AS 异常类型,
  3936. CASE
  3937. WHEN bsfdjfp = 1 THEN ( CASE
  3938. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  3939. ELSE 0
  3940. END )
  3941. ELSE ( CASE
  3942. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  3943. ELSE ( CASE
  3944. WHEN nzlconfirmje = 0 THEN nhjje
  3945. ELSE nzlconfirmje
  3946. END )
  3947. END )
  3948. END 未开票
  3949. FROM MCYD Ord
  3950. LEFT JOIN (SELECT ICYDID,
  3951. Max(Nsc) AS Nsc
  3952. FROM SCYDDX
  3953. WHERE IDXLXID = 573
  3954. GROUP BY ICYDID) AS Obj
  3955. ON ord.ICYDID = Obj.ICYDID
  3956. LEFT JOIN (SELECT ICYDID,
  3957. Sum(NYSLS) AS nysls,
  3958. Sum(nyssl) AS nyssl,
  3959. Sum(nsyl) AS nsyl
  3960. FROM SCYDDX
  3961. GROUP BY ICYDID) AS ObjMatier
  3962. ON Ord.ICYDID = ObjMatier.ICYDID
  3963. LEFT JOIN (SELECT Sum(CASE
  3964. WHEN hz.dz = 1 THEN hz.nhjje
  3965. ELSE hz.传票预计价
  3966. END) AS sum_nhjje_in,
  3967. Sum(CASE
  3968. WHEN hz.dz = 1 THEN hz.nhjje
  3969. ELSE hz.传票预计价
  3970. END) AS sum_ngjje_in,
  3971. Sum(CASE
  3972. WHEN hz.dz = 1 THEN hz.nclje
  3973. ELSE hz.nclje
  3974. END) AS sum_nclje_in,
  3975. hz.ICYDID
  3976. FROM (SELECT yjj.传票预计价单号,
  3977. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  3978. yjj.iCYDID,
  3979. d.cjjdh 计价单号,
  3980. d.ccydh 订单号,
  3981. d.cbz 备注,
  3982. d.ngjje,
  3983. d.nclje,
  3984. IFNULL(d.iwjg, 0) iwjg,
  3985. IFNULL(d.lzfbs, 0) lzfbs,
  3986. d.nhjje,
  3987. IFNULL(d.ldz, 0) dz,
  3988. yjj.bShbz
  3989. FROM (SELECT b.csccpbh 传票预计价单号,
  3990. a.ccydh,
  3991. a.icydid,
  3992. Sum(c.fje) 传票预计价,
  3993. b.bshbz
  3994. FROM MCYD a
  3995. LEFT JOIN sccp b
  3996. ON a.icydid = b.icydid
  3997. LEFT JOIN ZbHjXm c
  3998. ON c.sccpid = b.sccpid
  3999. WHERE b.bOutProcess = '0 '
  4000. GROUP BY b.csccpbh,
  4001. a.icydid,
  4002. a.CCYDH,
  4003. b.bshbz,
  4004. b.bOutProcess) yjj
  4005. LEFT JOIN tbluey d
  4006. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  4007. WHERE hz.iwjg = 0
  4008. AND hz.bshbz = 1
  4009. AND hz.lzfbs = 0
  4010. GROUP BY hz.ICYDID) tb_in
  4011. ON ord.icydid = tb_in.iCydid
  4012. LEFT JOIN (SELECT fw.iCYDID,
  4013. sum_nhjje_out,
  4014. sum_ngjje_out,
  4015. sum_nclje_out,
  4016. bz.cbz
  4017. FROM (SELECT Cast(Sum(( CASE
  4018. WHEN hz.dz = 0 THEN hz.传票预计价
  4019. ELSE hz.nhjje
  4020. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  4021. Cast(Sum(( CASE
  4022. WHEN hz.dz = 0 THEN hz.传票预计价
  4023. ELSE hz.nhjje
  4024. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  4025. Cast(Sum(CASE
  4026. WHEN hz.dz = 0 THEN hz.nclje
  4027. ELSE hz.nclje
  4028. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  4029. iCydid
  4030. FROM (SELECT yjj.传票预计价单号,
  4031. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  4032. yjj.iCYDID,
  4033. d.cjjdh 计价单号,
  4034. d.ccydh 订单号,
  4035. d.cbz 备注,
  4036. d.ngjje,
  4037. d.nclje,
  4038. d.itax,
  4039. IFNULL(d.iwjg, 0) iwjg,
  4040. IFNULL(d.lzfbs, 0) lzfbs,
  4041. d.nhjje,
  4042. IFNULL(d.ldz, 0) dz,
  4043. yjj.bShbz
  4044. FROM (SELECT b.csccpbh 传票预计价单号,
  4045. a.ccydh,
  4046. a.icydid,
  4047. Sum(c.fje) 传票预计价,
  4048. b.bshbz
  4049. FROM MCYD a
  4050. LEFT JOIN sccp b
  4051. ON a.icydid = b.icydid
  4052. LEFT JOIN ZbHjXm c
  4053. ON c.sccpid = b.sccpid
  4054. WHERE b.bOutProcess = '1 '
  4055. GROUP BY b.csccpbh,
  4056. a.icydid,
  4057. a.CCYDH,
  4058. b.bshbz,
  4059. b.bOutProcess) yjj
  4060. LEFT JOIN tbluey d
  4061. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  4062. WHERE hz.iwjg = 1
  4063. AND hz.lzfbs = 0
  4064. GROUP BY hz.ICYDID) fw
  4065. LEFT JOIN (SELECT icydid,
  4066. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  4067. WHERE icydid = a.icydid) AS cbz
  4068. FROM TBluey a
  4069. GROUP BY icydid) bz
  4070. ON bz.icydid = fw.iCYDID) tb_out
  4071. ON ord.icydid = tb_out.iCydid
  4072. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  4073. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  4074. iCydid,
  4075. CASE
  4076. WHEN ldz = 1 THEN 1
  4077. ELSE 0
  4078. END ldz
  4079. FROM TJob
  4080. WHERE lzfbs = 0
  4081. GROUP BY iCydid,
  4082. nclje,
  4083. itax,
  4084. ldz) tj
  4085. ON ord.ICYDID = tj.iCydid
  4086. WHERE ord.ICYDSTATE > 0
  4087. AND 1 = 1) zb1
  4088. WHERE CONVERT(DATE_ADD(zb1.承印日期,INTERVAL 1 YEAR),CHAR(10)) >= '{$this->start_time()}'
  4089. AND CONVERT(DATE_ADD(zb1.承印日期,INTERVAL 1 YEAR),CHAR(10)) <= '{$this->end_time()}'
  4090. GROUP BY zb1.业务单位) hb
  4091. ON hb.业务单位 = dq.业务单位)UNION(SELECT 1 AS flag,
  4092. IFNULL(dq.业务单位, hb.业务单位) 客户,
  4093. IFNULL(dq.销售收入, 000) 销售收入,
  4094. IFNULL(hb.上年销售收入, 0.000) 上年销售收入,
  4095. IFNULL(dq.销售收入, 000) - IFNULL(hb.上年销售收入, 0.000) 销售收入增减,
  4096. CASE
  4097. WHEN IFNULL(hb.上年销售收入, 0.000) > 0 THEN ( IFNULL(dq.销售收入, 000) / IFNULL(hb.上年销售收入, 0.000) - 1 )
  4098. WHEN IFNULL(hb.上年销售收入, 0.000) = 0.000
  4099. AND IFNULL(dq.销售收入, 000) > 0 THEN 1
  4100. ELSE 0
  4101. END AS 销售收入同期比,
  4102. IFNULL(dq.销售工价, 000) 销售工价,
  4103. IFNULL(hb.上年销售工价, 0.000) 上年销售工价,
  4104. IFNULL(dq.销售工价, 000) - IFNULL(hb.上年销售工价, 0.000) 销售工价增减,
  4105. IFNULL(dq.考核计算毛利, 000) 考核计算毛利,
  4106. IFNULL(hb.上年考核计算毛利, 0.000) 上年考核计算毛利,
  4107. IFNULL(dq.考核计算毛利, 000) - IFNULL(hb.上年考核计算毛利, 0.000) 考核计算毛利增减,
  4108. CASE
  4109. WHEN IFNULL(hb.上年考核计算毛利, 0.000) > 0 THEN ( IFNULL(dq.考核计算毛利, 000) / IFNULL(hb.上年考核计算毛利, 0.000) - 1 )
  4110. WHEN IFNULL(hb.上年考核计算毛利, 0.000) = 0.000
  4111. AND IFNULL(dq.考核计算毛利, 000) > 0 THEN 1
  4112. ELSE 0
  4113. END AS 毛利同期比
  4114. FROM (SELECT zb.业务单位 业务单位,
  4115. IFNULL(Sum(zb.合并金额), 0.000) 销售收入,
  4116. IFNULL(Sum(zb.合并工价), 0.000) 销售工价,
  4117. IFNULL(Sum(zb.考核计算毛利不含税), 0.000) 考核计算毛利
  4118. FROM (SELECT CASE
  4119. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  4120. ELSE '否'
  4121. END 登账,
  4122. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  4123. CCYDH AS 订单号,
  4124. CYJMC AS 印件名称,
  4125. CASE
  4126. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  4127. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  4128. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  4129. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  4130. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  4131. OR CYWDWMC='浙江省新华书店集团有限公司'
  4132. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  4133. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  4134. WHEN CYWDWMC='浙江日报报业集团'
  4135. OR CYWDWMC='共产党员杂志社'
  4136. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  4137. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  4138. OR CYWDWMC='浙江出版传媒有限公司'
  4139. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  4140. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  4141. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  4142. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  4143. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  4144. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  4145. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  4146. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  4147. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  4148. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  4149. WHEN CYWDWMC='上海人民出版社有限公司'
  4150. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  4151. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  4152. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  4153. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  4154. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  4155. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  4156. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  4157. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  4158. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  4159. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  4160. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  4161. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  4162. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  4163. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  4164. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  4165. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  4166. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  4167. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  4168. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  4169. ELSE CYWDWMC
  4170. END AS 业务单位,
  4171. cyjlx 印件类型,
  4172. NCS AS 印数,
  4173. CZWKB AS 开本,
  4174. CDF AS 订法,
  4175. NZWYZ AS 正文印张,
  4176. CASE
  4177. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  4178. ELSE
  4179. CASE
  4180. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  4181. + CASE
  4182. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4183. ELSE ( CASE
  4184. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4185. ELSE ( CASE
  4186. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4187. ELSE IFNULL(tj.sum_clje, 0)
  4188. END )
  4189. END )
  4190. END = 0
  4191. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  4192. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  4193. + CASE
  4194. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4195. ELSE ( CASE
  4196. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4197. ELSE ( CASE
  4198. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4199. ELSE IFNULL(tj.sum_clje, 0)
  4200. END )
  4201. END )
  4202. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  4203. END
  4204. END AS 考核计算毛利不含税,
  4205. CASE
  4206. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  4207. ELSE
  4208. CASE
  4209. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  4210. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  4211. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  4212. END
  4213. END AS 考核计算工价毛利不含税,
  4214. ( CASE
  4215. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  4216. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  4217. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4218. ELSE ( CASE
  4219. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4220. ELSE ( CASE
  4221. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4222. ELSE IFNULL(tj.sum_clje, 0)
  4223. END )
  4224. END )
  4225. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  4226. END ) AS 考核计算料价毛利不含税,
  4227. CASE
  4228. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  4229. ELSE ( IFNULL(tj.sum_namount, 0) )
  4230. END 合并金额,
  4231. CASE
  4232. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  4233. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  4234. END 合并工价,
  4235. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  4236. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  4237. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  4238. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  4239. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  4240. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  4241. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  4242. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  4243. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  4244. ord.nzkl AS 折扣率,
  4245. CASE
  4246. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  4247. ELSE ( CASE
  4248. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  4249. + CASE
  4250. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4251. ELSE ( CASE
  4252. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4253. ELSE ( CASE
  4254. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4255. ELSE IFNULL(tj.sum_clje, 0)
  4256. END )
  4257. END )
  4258. END = 0
  4259. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  4260. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  4261. + CASE
  4262. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4263. ELSE ( CASE
  4264. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4265. ELSE ( CASE
  4266. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4267. ELSE IFNULL(tj.sum_clje, 0)
  4268. END )
  4269. END )
  4270. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  4271. END )
  4272. END AS 生产毛利不含税,
  4273. CASE
  4274. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  4275. ELSE ( CASE
  4276. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  4277. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  4278. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  4279. END )
  4280. END AS 生产工价毛利不含税,
  4281. IFNULL(tj.sum_clje, 0) - ( CASE
  4282. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4283. ELSE ( CASE
  4284. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4285. ELSE ( CASE
  4286. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4287. ELSE IFNULL(tj.sum_clje, 0)
  4288. END )
  4289. END )
  4290. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  4291. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  4292. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  4293. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  4294. IFNULL(tb_in.sum_ngjje_in, 0)
  4295. + CASE
  4296. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4297. ELSE ( CASE
  4298. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4299. ELSE ( CASE
  4300. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4301. ELSE IFNULL(tj.sum_clje, 0)
  4302. END )
  4303. END )
  4304. END AS 厂内传票合计不含税,
  4305. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  4306. CASE
  4307. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4308. ELSE ( CASE
  4309. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4310. ELSE ( CASE
  4311. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4312. ELSE IFNULL(tj.sum_clje, 0)
  4313. END )
  4314. END )
  4315. END AS 厂内传票料价不含税,
  4316. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  4317. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  4318. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  4319. CHY AS 活源,
  4320. CCLBMMC AS 承揽部门,
  4321. CYWYXM AS 业务员,
  4322. lwcbs AS 是否完工,
  4323. Dwcrq AS 完工日期,
  4324. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  4325. LJQBS AS 是否结清,
  4326. djqrq AS 结清日期,
  4327. izlconfirm AS 是否销货,
  4328. dzlconfirmrq AS 销货日期,
  4329. nzlconfirmje AS 销货金额,
  4330. nzlysje AS 销货应收,
  4331. IFNULL(ipaytime, 0) AS 帐龄,
  4332. ( CASE
  4333. WHEN ljqbs = 0
  4334. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  4335. ELSE 0
  4336. END ) AS 付款周期,
  4337. ( CASE
  4338. WHEN ljqbs = 0
  4339. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  4340. ELSE 0
  4341. END ) AS 过期天数,
  4342. ( CASE
  4343. WHEN bsfsk = 1 THEN 1
  4344. ELSE 0
  4345. END ) AS 是否收款,
  4346. nysje AS 预收款,
  4347. fskje AS 收款金额,
  4348. ( CASE
  4349. WHEN bsfdjfp = 1 THEN 1
  4350. ELSE 0
  4351. END ) AS '是否开票',
  4352. ffpje AS 发票金额,
  4353. cfph AS 发票号,
  4354. cfprq AS 发票日期,
  4355. ( CASE
  4356. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  4357. ELSE 0
  4358. END ) AS 未开完票金额,
  4359. ( CASE
  4360. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  4361. ELSE 0
  4362. END ) AS 发票未收款金额,
  4363. iselforder AS 是否异常,
  4364. cselftype AS 异常类型,
  4365. CASE
  4366. WHEN bsfdjfp = 1 THEN ( CASE
  4367. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  4368. ELSE 0
  4369. END )
  4370. ELSE ( CASE
  4371. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  4372. ELSE ( CASE
  4373. WHEN nzlconfirmje = 0 THEN nhjje
  4374. ELSE nzlconfirmje
  4375. END )
  4376. END )
  4377. END 未开票
  4378. FROM MCYD Ord
  4379. LEFT JOIN (SELECT Sum(CASE
  4380. WHEN hz.dz = 1 THEN hz.nhjje
  4381. ELSE hz.传票预计价
  4382. END) AS sum_nhjje_in,
  4383. Sum(CASE
  4384. WHEN hz.dz = 1 THEN hz.nhjje
  4385. ELSE hz.传票预计价
  4386. END) AS sum_ngjje_in,
  4387. Sum(CASE
  4388. WHEN hz.dz = 1 THEN hz.nclje
  4389. ELSE hz.nclje
  4390. END) AS sum_nclje_in,
  4391. hz.ICYDID
  4392. FROM (SELECT yjj.传票预计价单号,
  4393. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  4394. yjj.iCYDID,
  4395. d.cjjdh 计价单号,
  4396. d.ccydh 订单号,
  4397. d.cbz 备注,
  4398. d.ngjje,
  4399. d.nclje,
  4400. IFNULL(d.iwjg, 0) iwjg,
  4401. IFNULL(d.lzfbs, 0) lzfbs,
  4402. d.nhjje,
  4403. IFNULL(d.ldz, 0) dz,
  4404. yjj.bShbz
  4405. FROM (SELECT b.csccpbh 传票预计价单号,
  4406. a.ccydh,
  4407. a.icydid,
  4408. Sum(c.fje) 传票预计价,
  4409. b.bshbz
  4410. FROM MCYD a
  4411. LEFT JOIN sccp b
  4412. ON a.icydid = b.icydid
  4413. LEFT JOIN ZbHjXm c
  4414. ON c.sccpid = b.sccpid
  4415. WHERE b.bOutProcess = '0 '
  4416. GROUP BY b.csccpbh,
  4417. a.icydid,
  4418. a.CCYDH,
  4419. b.bshbz,
  4420. b.bOutProcess) yjj
  4421. LEFT JOIN tbluey d
  4422. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  4423. WHERE hz.iwjg = 0
  4424. AND hz.bshbz = 1
  4425. AND hz.lzfbs = 0
  4426. GROUP BY hz.ICYDID) tb_in
  4427. ON ord.icydid = tb_in.iCydid
  4428. LEFT JOIN (SELECT fw.iCYDID,
  4429. sum_nhjje_out,
  4430. sum_ngjje_out,
  4431. sum_nclje_out,
  4432. bz.cbz
  4433. FROM (SELECT Cast(Sum(( CASE
  4434. WHEN hz.dz = 0 THEN hz.传票预计价
  4435. ELSE hz.nhjje
  4436. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  4437. Cast(Sum(( CASE
  4438. WHEN hz.dz = 0 THEN hz.传票预计价
  4439. ELSE hz.nhjje
  4440. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  4441. Cast(Sum(CASE
  4442. WHEN hz.dz = 0 THEN hz.nclje
  4443. ELSE hz.nclje
  4444. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  4445. iCydid
  4446. FROM (SELECT yjj.传票预计价单号,
  4447. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  4448. yjj.iCYDID,
  4449. d.cjjdh 计价单号,
  4450. d.ccydh 订单号,
  4451. d.cbz 备注,
  4452. d.ngjje,
  4453. d.nclje,
  4454. d.itax,
  4455. IFNULL(d.iwjg, 0) iwjg,
  4456. IFNULL(d.lzfbs, 0) lzfbs,
  4457. d.nhjje,
  4458. IFNULL(d.ldz, 0) dz,
  4459. yjj.bShbz
  4460. FROM (SELECT b.csccpbh 传票预计价单号,
  4461. a.ccydh,
  4462. a.icydid,
  4463. Sum(c.fje) 传票预计价,
  4464. b.bshbz
  4465. FROM MCYD a
  4466. LEFT JOIN sccp b
  4467. ON a.icydid = b.icydid
  4468. LEFT JOIN ZbHjXm c
  4469. ON c.sccpid = b.sccpid
  4470. WHERE b.bOutProcess = '1 '
  4471. GROUP BY b.csccpbh,
  4472. a.icydid,
  4473. a.CCYDH,
  4474. b.bshbz,
  4475. b.bOutProcess) yjj
  4476. LEFT JOIN tbluey d
  4477. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  4478. WHERE hz.iwjg = 1
  4479. AND hz.lzfbs = 0
  4480. GROUP BY hz.ICYDID) fw
  4481. LEFT JOIN (SELECT icydid,
  4482. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  4483. WHERE icydid = a.icydid) AS cbz
  4484. FROM TBluey a
  4485. GROUP BY icydid) bz
  4486. ON bz.icydid = fw.iCYDID) tb_out
  4487. ON ord.icydid = tb_out.iCydid
  4488. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  4489. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  4490. iCydid,
  4491. CASE
  4492. WHEN ldz = 1 THEN 1
  4493. ELSE 0
  4494. END ldz
  4495. FROM TJob
  4496. WHERE lzfbs = 0
  4497. GROUP BY iCydid,
  4498. nclje,
  4499. itax,
  4500. ldz) tj
  4501. ON ord.ICYDID = tj.iCydid
  4502. WHERE ord.ICYDSTATE > 0
  4503. AND 1 = 1) zb
  4504. WHERE CONVERT(zb.承印日期,CHAR(10)) >= '{$this->start_time()}'
  4505. AND CONVERT(zb.承印日期,CHAR(10)) <= '{$this->end_time()}'
  4506. GROUP BY zb.业务单位) dq
  4507. RIGHT JOIN (SELECT zb1.业务单位,
  4508. Sum(zb1.合并金额) 上年销售收入,
  4509. Sum(zb1.合并工价) 上年销售工价,
  4510. Sum(zb1.考核计算毛利不含税)上年考核计算毛利
  4511. FROM (SELECT CASE
  4512. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  4513. ELSE '否'
  4514. END 登账,
  4515. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  4516. CCYDH AS 订单号,
  4517. CYJMC AS 印件名称,
  4518. CASE
  4519. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  4520. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  4521. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  4522. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  4523. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  4524. OR CYWDWMC='浙江省新华书店集团有限公司'
  4525. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  4526. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  4527. WHEN CYWDWMC='浙江日报报业集团'
  4528. OR CYWDWMC='共产党员杂志社'
  4529. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  4530. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  4531. OR CYWDWMC='浙江出版传媒有限公司'
  4532. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  4533. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  4534. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  4535. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  4536. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  4537. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  4538. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  4539. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  4540. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  4541. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  4542. WHEN CYWDWMC='上海人民出版社有限公司'
  4543. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  4544. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  4545. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  4546. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  4547. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  4548. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  4549. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  4550. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  4551. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  4552. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  4553. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  4554. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  4555. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  4556. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  4557. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  4558. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  4559. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  4560. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  4561. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  4562. ELSE CYWDWMC
  4563. END AS 业务单位,
  4564. cyjlx 印件类型,
  4565. NCS AS 印数,
  4566. CZWKB AS 开本,
  4567. CDF AS 订法,
  4568. NZWYZ AS 正文印张,
  4569. cbz 发外备注,
  4570. CASE
  4571. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  4572. ELSE
  4573. CASE
  4574. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  4575. + CASE
  4576. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4577. ELSE ( CASE
  4578. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4579. ELSE ( CASE
  4580. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4581. ELSE IFNULL(tj.sum_clje, 0)
  4582. END )
  4583. END )
  4584. END = 0
  4585. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  4586. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  4587. + CASE
  4588. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4589. ELSE ( CASE
  4590. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4591. ELSE ( CASE
  4592. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4593. ELSE IFNULL(tj.sum_clje, 0)
  4594. END )
  4595. END )
  4596. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  4597. END
  4598. END AS 考核计算毛利不含税,
  4599. CASE
  4600. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  4601. ELSE
  4602. CASE
  4603. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  4604. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  4605. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  4606. END
  4607. END AS 考核计算工价毛利不含税,
  4608. ( CASE
  4609. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) )
  4610. ELSE ( IFNULL(tj.sum_clje, 0) - ( CASE
  4611. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4612. ELSE ( CASE
  4613. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4614. ELSE ( CASE
  4615. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4616. ELSE IFNULL(tj.sum_clje, 0)
  4617. END )
  4618. END )
  4619. END ) - IFNULL(tb_out.sum_nclje_out, 0) )
  4620. END ) AS 考核计算料价毛利不含税,
  4621. CASE
  4622. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  4623. ELSE ( IFNULL(tj.sum_namount, 0) )
  4624. END 合并金额,
  4625. CASE
  4626. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwsgjhj, 0) )
  4627. ELSE (( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ))
  4628. END 合并工价,
  4629. ( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) ) AS 采购毛利不含税,
  4630. ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) ) AS 采购工价毛利不含税,
  4631. ( IFNULL(nwsclhj, 0) - IFNULL(nwsbzclhj, 0) ) AS 采购料价毛利不含税,
  4632. IFNULL(nwshjje, 0) AS 合同总金额不含税,
  4633. IFNULL(nwsgjhj, 0) AS 合同工价不含税,
  4634. IFNULL(nwsclhj, 0) AS 合同材料不含税,
  4635. IFNULL(nwsbzhjje, 0) AS 标准总金额不含税,
  4636. IFNULL(nwsbzgjhj, 0) AS 标准工价不含税,
  4637. IFNULL(nwsbzclhj, 0) AS 标准料价不含税,
  4638. ord.nzkl AS 折扣率,
  4639. CASE
  4640. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  4641. ELSE ( CASE
  4642. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  4643. + CASE
  4644. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4645. ELSE ( CASE
  4646. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4647. ELSE ( CASE
  4648. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4649. ELSE IFNULL(tj.sum_clje, 0)
  4650. END )
  4651. END )
  4652. END = 0
  4653. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  4654. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  4655. + CASE
  4656. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4657. ELSE ( CASE
  4658. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4659. ELSE ( CASE
  4660. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4661. ELSE IFNULL(tj.sum_clje, 0)
  4662. END )
  4663. END )
  4664. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  4665. END )
  4666. END AS 生产毛利不含税,
  4667. CASE
  4668. WHEN IFNULL(tj.sum_namount, 0) = 0 THEN 0
  4669. ELSE ( CASE
  4670. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  4671. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  4672. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  4673. END )
  4674. END AS 生产工价毛利不含税,
  4675. IFNULL(tj.sum_clje, 0) - ( CASE
  4676. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4677. ELSE ( CASE
  4678. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4679. ELSE ( CASE
  4680. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4681. ELSE IFNULL(tj.sum_clje, 0)
  4682. END )
  4683. END )
  4684. END ) - IFNULL(tb_out.sum_nclje_out, 0) AS 生产料价毛利不含税,
  4685. IFNULL(tj.sum_namount, 0) AS 订单计价金额不含税,
  4686. IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) AS 订单计价工价不含税,
  4687. IFNULL(tj.sum_clje, 0) AS 订单计价料价不含税,
  4688. IFNULL(tb_in.sum_ngjje_in, 0)
  4689. + CASE
  4690. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4691. ELSE ( CASE
  4692. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4693. ELSE ( CASE
  4694. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4695. ELSE IFNULL(tj.sum_clje, 0)
  4696. END )
  4697. END )
  4698. END AS 厂内传票合计不含税,
  4699. IFNULL(tb_in.sum_ngjje_in, 0) AS 厂内传票工价不含税,
  4700. CASE
  4701. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  4702. ELSE ( CASE
  4703. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  4704. ELSE ( CASE
  4705. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  4706. ELSE IFNULL(tj.sum_clje, 0)
  4707. END )
  4708. END )
  4709. END AS 厂内传票料价不含税,
  4710. IFNULL(tb_out.sum_nhjje_out, 0) AS 发外传票合计不含税,
  4711. IFNULL(tb_out.sum_ngjje_out, 0) AS 发外传票工价不含税,
  4712. IFNULL(tb_out.sum_nclje_out, 0) AS 发外传票料价不含税,
  4713. CHY AS 活源,
  4714. CCLBMMC AS 承揽部门,
  4715. CYWYXM AS 业务员,
  4716. lwcbs AS 是否完工,
  4717. Dwcrq AS 完工日期,
  4718. CONVERT(djfrq,CHAR(10)) AS 交付日期,
  4719. LJQBS AS 是否结清,
  4720. djqrq AS 结清日期,
  4721. izlconfirm AS 是否销货,
  4722. dzlconfirmrq AS 销货日期,
  4723. nzlconfirmje AS 销货金额,
  4724. nzlysje AS 销货应收,
  4725. IFNULL(ipaytime, 0) AS 帐龄,
  4726. ( CASE
  4727. WHEN ljqbs = 0
  4728. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED)
  4729. ELSE 0
  4730. END ) AS 付款周期,
  4731. ( CASE
  4732. WHEN ljqbs = 0
  4733. AND iZLConfirm = 1 THEN Cast(( NOW() - dZlConfirmRQ ) AS SIGNED) - IFNULL(ipaytime, 0)
  4734. ELSE 0
  4735. END ) AS 过期天数,
  4736. ( CASE
  4737. WHEN bsfsk = 1 THEN 1
  4738. ELSE 0
  4739. END ) AS 是否收款,
  4740. nysje AS 预收款,
  4741. fskje AS 收款金额,
  4742. ( CASE
  4743. WHEN bsfdjfp = 1 THEN 1
  4744. ELSE 0
  4745. END ) AS '是否开票',
  4746. ffpje AS 发票金额,
  4747. cfph AS 发票号,
  4748. cfprq AS 发票日期,
  4749. ( CASE
  4750. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  4751. ELSE 0
  4752. END ) AS 未开完票金额,
  4753. ( CASE
  4754. WHEN Abs(ffpje) > 0.0001 THEN nhjje - fskje
  4755. ELSE 0
  4756. END ) AS 发票未收款金额,
  4757. iselforder AS 是否异常,
  4758. cselftype AS 异常类型,
  4759. CASE
  4760. WHEN bsfdjfp = 1 THEN ( CASE
  4761. WHEN Abs(nhjje) > 0.0001 THEN nhjje - ffpje
  4762. ELSE 0
  4763. END )
  4764. ELSE ( CASE
  4765. WHEN IFNULL(tj.sum_namount, 0) > 0 THEN IFNULL(tj.sum_namount, 0)
  4766. ELSE ( CASE
  4767. WHEN nzlconfirmje = 0 THEN nhjje
  4768. ELSE nzlconfirmje
  4769. END )
  4770. END )
  4771. END 未开票
  4772. FROM MCYD Ord
  4773. LEFT JOIN (SELECT ICYDID,
  4774. Max(Nsc) AS Nsc
  4775. FROM SCYDDX
  4776. WHERE IDXLXID = 573
  4777. GROUP BY ICYDID) AS Obj
  4778. ON ord.ICYDID = Obj.ICYDID
  4779. LEFT JOIN (SELECT ICYDID,
  4780. Sum(NYSLS) AS nysls,
  4781. Sum(nyssl) AS nyssl,
  4782. Sum(nsyl) AS nsyl
  4783. FROM SCYDDX
  4784. GROUP BY ICYDID) AS ObjMatier
  4785. ON Ord.ICYDID = ObjMatier.ICYDID
  4786. LEFT JOIN (SELECT Sum(CASE
  4787. WHEN hz.dz = 1 THEN hz.nhjje
  4788. ELSE hz.传票预计价
  4789. END) AS sum_nhjje_in,
  4790. Sum(CASE
  4791. WHEN hz.dz = 1 THEN hz.nhjje
  4792. ELSE hz.传票预计价
  4793. END) AS sum_ngjje_in,
  4794. Sum(CASE
  4795. WHEN hz.dz = 1 THEN hz.nclje
  4796. ELSE hz.nclje
  4797. END) AS sum_nclje_in,
  4798. hz.ICYDID
  4799. FROM (SELECT yjj.传票预计价单号,
  4800. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  4801. yjj.iCYDID,
  4802. d.cjjdh 计价单号,
  4803. d.ccydh 订单号,
  4804. d.cbz 备注,
  4805. d.ngjje,
  4806. d.nclje,
  4807. IFNULL(d.iwjg, 0) iwjg,
  4808. IFNULL(d.lzfbs, 0) lzfbs,
  4809. d.nhjje,
  4810. IFNULL(d.ldz, 0) dz,
  4811. yjj.bShbz
  4812. FROM (SELECT b.csccpbh 传票预计价单号,
  4813. a.ccydh,
  4814. a.icydid,
  4815. Sum(c.fje) 传票预计价,
  4816. b.bshbz
  4817. FROM MCYD a
  4818. LEFT JOIN sccp b
  4819. ON a.icydid = b.icydid
  4820. LEFT JOIN ZbHjXm c
  4821. ON c.sccpid = b.sccpid
  4822. WHERE b.bOutProcess = '0 '
  4823. GROUP BY b.csccpbh,
  4824. a.icydid,
  4825. a.CCYDH,
  4826. b.bshbz,
  4827. b.bOutProcess) yjj
  4828. LEFT JOIN tbluey d
  4829. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  4830. WHERE hz.iwjg = 0
  4831. AND hz.bshbz = 1
  4832. AND hz.lzfbs = 0
  4833. GROUP BY hz.ICYDID) tb_in
  4834. ON ord.icydid = tb_in.iCydid
  4835. LEFT JOIN (SELECT fw.iCYDID,
  4836. sum_nhjje_out,
  4837. sum_ngjje_out,
  4838. sum_nclje_out,
  4839. bz.cbz
  4840. FROM (SELECT Cast(Sum(( CASE
  4841. WHEN hz.dz = 0 THEN hz.传票预计价
  4842. ELSE hz.nhjje
  4843. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  4844. Cast(Sum(( CASE
  4845. WHEN hz.dz = 0 THEN hz.传票预计价
  4846. ELSE hz.nhjje
  4847. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  4848. Cast(Sum(CASE
  4849. WHEN hz.dz = 0 THEN hz.nclje
  4850. ELSE hz.nclje
  4851. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  4852. iCydid
  4853. FROM (SELECT yjj.传票预计价单号,
  4854. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  4855. yjj.iCYDID,
  4856. d.cjjdh 计价单号,
  4857. d.ccydh 订单号,
  4858. d.cbz 备注,
  4859. d.ngjje,
  4860. d.nclje,
  4861. d.itax,
  4862. IFNULL(d.iwjg, 0) iwjg,
  4863. IFNULL(d.lzfbs, 0) lzfbs,
  4864. d.nhjje,
  4865. IFNULL(d.ldz, 0) dz,
  4866. yjj.bShbz
  4867. FROM (SELECT b.csccpbh 传票预计价单号,
  4868. a.ccydh,
  4869. a.icydid,
  4870. Sum(c.fje) 传票预计价,
  4871. b.bshbz
  4872. FROM MCYD a
  4873. LEFT JOIN sccp b
  4874. ON a.icydid = b.icydid
  4875. LEFT JOIN ZbHjXm c
  4876. ON c.sccpid = b.sccpid
  4877. WHERE b.bOutProcess = '1 '
  4878. GROUP BY b.csccpbh,
  4879. a.icydid,
  4880. a.CCYDH,
  4881. b.bshbz,
  4882. b.bOutProcess) yjj
  4883. LEFT JOIN tbluey d
  4884. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  4885. WHERE hz.iwjg = 1
  4886. AND hz.lzfbs = 0
  4887. GROUP BY hz.ICYDID) fw
  4888. LEFT JOIN (SELECT icydid,
  4889. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  4890. WHERE icydid = a.icydid) AS cbz
  4891. FROM TBluey a
  4892. GROUP BY icydid) bz
  4893. ON bz.icydid = fw.iCYDID) tb_out
  4894. ON ord.icydid = tb_out.iCydid
  4895. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  4896. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  4897. iCydid,
  4898. CASE
  4899. WHEN ldz = 1 THEN 1
  4900. ELSE 0
  4901. END ldz
  4902. FROM TJob
  4903. WHERE lzfbs = 0
  4904. GROUP BY iCydid,
  4905. nclje,
  4906. itax,
  4907. ldz) tj
  4908. ON ord.ICYDID = tj.iCydid
  4909. WHERE ord.ICYDSTATE > 0
  4910. AND 1 = 1) zb1
  4911. WHERE CONVERT(DATE_ADD(zb1.承印日期,INTERVAL 1 YEAR),CHAR(10)) >= '{$this->start_time()}'
  4912. AND CONVERT(DATE_ADD(zb1.承印日期,INTERVAL 1 YEAR),CHAR(10)) <= '{$this->end_time()}'
  4913. GROUP BY zb1.业务单位) hb
  4914. ON hb.业务单位 = dq.业务单位))a) aa
  4915. )bb
  4916. WHERE bb.销售收入(万元)>200
  4917. ORDER BY bb.销售收入(万元) desc
  4918. ";
  4919. $result=Db::query($sql);
  4920. $redis->set($redis_key, json_encode($result));
  4921. echo date("Y-m-d H:i:s").' 存进去了';
  4922. return $result;
  4923. }
  4924. //当年销售指标达成率一览表
  4925. public function year_salewcl(){
  4926. $redis = redis();
  4927. $result = json_decode($redis->get(md5('year_dclandsx_redis')), true);
  4928. // // 按照销售金额 xsje 排序,从高到低
  4929. // usort($result, function ($a, $b) {
  4930. // return $b['销售收入(万元)'] <=> $a['销售收入(万元)'];
  4931. // });
  4932. $list['columns'] = [
  4933. ['name' => '客户名称', 'id' => 'khmc', 'width' => '55', 'autoWrap' => "true", 'textAlign' => 'left'],
  4934. ['name' => '销售金额', 'id' => 'xsje', 'width' => '15', 'autoWrap' => "true", 'textAlign' => 'left'],
  4935. ['name' => '指标达成率', 'id' => 'zbdcl', 'width' => '20', 'autoWrap' => "true", 'textAlign' => 'left']
  4936. ];
  4937. foreach ($result as $k => $v) {
  4938. $target = Db::name('custom')->where('customname', $v['客户'])->value('target');
  4939. $list['rows'][$k] = [
  4940. 'khmc' => $v['客户'],
  4941. 'xsje' => $v['销售收入(万元)'],
  4942. 'zbdcl' => round($v['销售收入(万元)'] / $target * 100) . '%',
  4943. ];
  4944. }
  4945. // 取排序后的前四和后三的数据,总共七条
  4946. $selectedRows = array_slice($list['rows'], 0, 4);
  4947. $selectedRows = array_merge($selectedRows, array_slice($list['rows'], -3));
  4948. $res = [
  4949. 'status' => 0,
  4950. 'msg' => '',
  4951. 'data' => ['columns' => $list['columns'], 'rows' => $selectedRows],
  4952. ];
  4953. return json($res);
  4954. }
  4955. //当年销售同比上升和下滑一览表
  4956. public function year_sale() {
  4957. $redis = redis();
  4958. $result = json_decode($redis->get(md5('year_dclandsx_redis')), true);
  4959. // 按销售收入增长率排序
  4960. usort($result, function ($a, $b) {
  4961. $a_zzl = floatval($a['销售收入增长率']);
  4962. $b_zzl = floatval($b['销售收入增长率']);
  4963. return $b_zzl <=> $a_zzl; // 从高到低排序
  4964. });
  4965. // 获取数据列定义
  4966. $list['columns'] = [
  4967. ['name' => '客户名称', 'id' => 'khmc', 'width' => '55', 'autoWrap' => "true", 'textAlign' => 'left'],
  4968. ['name' => '销售金额', 'id' => 'xsje', 'width' => '15', 'autoWrap' => "true", 'textAlign' => 'left'],
  4969. ['name' => '增长率', 'id' => 'zzl', 'width' => '20', 'autoWrap' => "true", 'textAlign' => 'left']
  4970. ];
  4971. // 根据排序结果填充行数据
  4972. foreach(array_slice($result, 0, 4) as $k => $v) {
  4973. $list['rows'][$k]['khmc'] = $v['客户'];
  4974. $list['rows'][$k]['xsje'] = $v['销售收入(万元)'];
  4975. $list['rows'][$k]['zzl'] = $v['销售收入增长率'].'%';
  4976. }
  4977. // 取后三条数据
  4978. $lastThree = array_slice($result, -3);
  4979. // 根据键名重新索引
  4980. $lastThree = array_values($lastThree);
  4981. // 重新赋值保留的行数据
  4982. foreach($lastThree as $k => $v) {
  4983. $list['rows'][] = [
  4984. 'khmc' => $v['客户'],
  4985. 'xsje' => $v['销售收入(万元)'],
  4986. 'zzl' => $v['销售收入增长率'].'%'
  4987. ];
  4988. }
  4989. // 返回 JSON 响应
  4990. $res['status'] = 0;
  4991. $res['msg'] = '';
  4992. $res['data'] = $list;
  4993. return json($res);
  4994. }
  4995. //图书板块大客户分析缓存
  4996. public function customer_analysis_redis(){
  4997. $redis = redis();
  4998. $redis_key = md5('customer_analysis_redis');
  4999. $sql = "SELECT
  5000. aa.客户,
  5001. aa.销售收入(万元),
  5002. aa.考核计算毛利(万元),
  5003. aa.订单数,
  5004. aa.品种数,
  5005. CONVERT(aa.库存数,SIGNED) 库存数,
  5006. bb.投诉次数,
  5007. bb.质量问题
  5008. FROM (SELECT a.客户,
  5009. CONVERT(Round(a.销售收入 / 10000, 2),DECIMAL(10, 2)) AS '销售收入(万元)',
  5010. CONVERT(Round(a.考核计算毛利 / 10000, 2),DECIMAL(10, 2)) AS '考核计算毛利(万元)',
  5011. a.订单数,
  5012. a.品种数,
  5013. a.库存数
  5014. FROM (SELECT dq.业务单位 客户,
  5015. IFNULL(dq.销售收入, 000) 销售收入,
  5016. IFNULL(dq.考核计算毛利, 000) 考核计算毛利,
  5017. dq.订单数,
  5018. dq.品种数,
  5019. dq.库存数
  5020. FROM (SELECT zb.业务单位 业务单位,
  5021. IFNULL(Sum(zb.合并金额), 0.000) 销售收入,
  5022. IFNULL(Sum(zb.考核计算毛利不含税), 0.000) 考核计算毛利,
  5023. Count(DISTINCT zb.订单号) 订单数,
  5024. Count(DISTINCT zb.IFCYDID) 品种数,
  5025. Sum(zb.nAmount) 库存数
  5026. FROM (SELECT CASE
  5027. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  5028. ELSE '否'
  5029. END 登账,
  5030. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  5031. CCYDH AS 订单号,
  5032. ord.IFCYDID,
  5033. CYJMC AS 印件名称,
  5034. CASE
  5035. WHEN CYWDWMC='浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  5036. WHEN CYWDWMC='浙江教育出版社有限公司(省店)'
  5037. OR CYWDWMC='浙江省新华书店集团有限公司(教育)'
  5038. OR CYWDWMC='浙江省新华书店集团有限公司(少儿)'
  5039. OR CYWDWMC='浙江少年儿童出版社有限公司(省店)'
  5040. OR CYWDWMC='浙江省新华书店集团有限公司'
  5041. OR CYWDWMC='浙江教育出版社集团有限公司(省店)'
  5042. OR CYWDWMC='浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  5043. WHEN CYWDWMC='浙江日报报业集团'
  5044. OR CYWDWMC='共产党员杂志社'
  5045. OR CYWDWMC='《浙江共产党员》杂志有限公司'THEN '浙江日报报业集团(含共产党员)'
  5046. WHEN CYWDWMC='浙江出版传媒股份有限公司'
  5047. OR CYWDWMC='浙江出版传媒有限公司'
  5048. OR CYWDWMC='浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  5049. WHEN CYWDWMC='浙江省出版总社期刊出版中心' THEN '浙江省期刊总社有限公司'
  5050. WHEN CYWDWMC='中信出版集团股份有限公司(上海三辉)'
  5051. OR CYWDWMC='中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  5052. WHEN CYWDWMC='上海古籍出版社' THEN '上海古籍出版社有限公司'
  5053. WHEN CYWDWMC='大星(上海)文化传媒有限公司(上海文艺)'
  5054. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江文艺)'
  5055. OR CYWDWMC='大星(上海)文化传媒有限公司(河南文艺)'
  5056. OR CYWDWMC='大星(上海)文化传媒有限公司(上海书店)'
  5057. OR CYWDWMC='大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  5058. WHEN CYWDWMC='上海人民出版社有限公司'
  5059. OR CYWDWMC='上海人民出版社' THEN '上海人民出版社有限责任公司'
  5060. WHEN CYWDWMC='中等职业教育杂志社有限公司'
  5061. OR CYWDWMC='浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  5062. WHEN CYWDWMC='复旦大学出版社' THEN '复旦大学出版社有限公司'
  5063. WHEN CYWDWMC='浙江教育报刊社' THEN '浙江教育报刊总社'
  5064. WHEN CYWDWMC='读者杂志社' THEN '读者出版传媒股份有限公司'
  5065. WHEN CYWDWMC='教育科学出版社' THEN '教育科学出版社有限公司'
  5066. WHEN CYWDWMC='人民出版社有限公司' THEN '人民出版社'
  5067. WHEN CYWDWMC='中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  5068. WHEN CYWDWMC='安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  5069. WHEN CYWDWMC='上海译文出版社' THEN '上海译文出版社有限公司'
  5070. WHEN CYWDWMC='上海辞书出版社' THEN '上海辞书出版社有限公司'
  5071. WHEN CYWDWMC='《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  5072. WHEN CYWDWMC='《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  5073. WHEN CYWDWMC='浙江科学技术出版社有限公司(期刊总社)'
  5074. OR CYWDWMC='浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  5075. WHEN CYWDWMC='中国青年出版社' THEN '中国青年出版总社有限公司'
  5076. WHEN CYWDWMC='中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  5077. WHEN CYWDWMC='浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  5078. ELSE CYWDWMC
  5079. END AS 业务单位,
  5080. cyjlx 印件类型,
  5081. NCS AS 印数,
  5082. CZWKB AS 开本,
  5083. CDF AS 订法,
  5084. NZWYZ AS 正文印张,
  5085. fn.nAmount,
  5086. CASE
  5087. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) )
  5088. ELSE ( IFNULL(tj.sum_namount, 0) )
  5089. END 合并金额,
  5090. CASE
  5091. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  5092. ELSE
  5093. CASE
  5094. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  5095. + CASE
  5096. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5097. ELSE ( CASE
  5098. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5099. ELSE ( CASE
  5100. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5101. ELSE IFNULL(tj.sum_clje, 0)
  5102. END )
  5103. END )
  5104. END = 0
  5105. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  5106. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  5107. + CASE
  5108. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5109. ELSE ( CASE
  5110. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5111. ELSE ( CASE
  5112. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5113. ELSE IFNULL(tj.sum_clje, 0)
  5114. END )
  5115. END )
  5116. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  5117. END
  5118. END AS 考核计算毛利不含税
  5119. FROM MCYD Ord
  5120. LEFT JOIN (SELECT Sum(CASE
  5121. WHEN hz.dz = 1 THEN hz.nhjje
  5122. ELSE hz.传票预计价
  5123. END) AS sum_nhjje_in,
  5124. Sum(CASE
  5125. WHEN hz.dz = 1 THEN hz.nhjje
  5126. ELSE hz.传票预计价
  5127. END) AS sum_ngjje_in,
  5128. Sum(CASE
  5129. WHEN hz.dz = 1 THEN hz.nclje
  5130. ELSE hz.nclje
  5131. END) AS sum_nclje_in,
  5132. hz.ICYDID
  5133. FROM (SELECT yjj.传票预计价单号,
  5134. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5135. yjj.iCYDID,
  5136. d.cjjdh 计价单号,
  5137. d.ccydh 订单号,
  5138. d.cbz 备注,
  5139. d.ngjje,
  5140. d.nclje,
  5141. IFNULL(d.iwjg, 0) iwjg,
  5142. IFNULL(d.lzfbs, 0) lzfbs,
  5143. d.nhjje,
  5144. IFNULL(d.ldz, 0) dz,
  5145. yjj.bShbz
  5146. FROM (SELECT b.csccpbh 传票预计价单号,
  5147. a.ccydh,
  5148. a.icydid,
  5149. Sum(c.fje) 传票预计价,
  5150. b.bshbz
  5151. FROM MCYD a
  5152. LEFT JOIN sccp b
  5153. ON a.icydid = b.icydid
  5154. LEFT JOIN ZbHjXm c
  5155. ON c.sccpid = b.sccpid
  5156. WHERE b.bOutProcess = '0 '
  5157. GROUP BY b.csccpbh,
  5158. a.icydid,
  5159. a.CCYDH,
  5160. b.bshbz,
  5161. b.bOutProcess) yjj
  5162. LEFT JOIN tbluey d
  5163. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  5164. WHERE hz.iwjg = 0
  5165. AND hz.bshbz = 1
  5166. AND hz.lzfbs = 0
  5167. GROUP BY hz.ICYDID) tb_in
  5168. ON ord.icydid = tb_in.iCydid
  5169. LEFT JOIN (SELECT fw.iCYDID,
  5170. sum_nhjje_out,
  5171. sum_ngjje_out,
  5172. sum_nclje_out,
  5173. bz.cbz
  5174. FROM (SELECT Cast(Sum(( CASE
  5175. WHEN hz.dz = 0 THEN hz.传票预计价
  5176. ELSE hz.nhjje
  5177. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  5178. Cast(Sum(( CASE
  5179. WHEN hz.dz = 0 THEN hz.传票预计价
  5180. ELSE hz.nhjje
  5181. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  5182. Cast(Sum(CASE
  5183. WHEN hz.dz = 0 THEN hz.nclje
  5184. ELSE hz.nclje
  5185. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  5186. iCydid
  5187. FROM (SELECT yjj.传票预计价单号,
  5188. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5189. yjj.iCYDID,
  5190. d.cjjdh 计价单号,
  5191. d.ccydh 订单号,
  5192. d.cbz 备注,
  5193. d.ngjje,
  5194. d.nclje,
  5195. d.itax,
  5196. IFNULL(d.iwjg, 0) iwjg,
  5197. IFNULL(d.lzfbs, 0) lzfbs,
  5198. d.nhjje,
  5199. IFNULL(d.ldz, 0) dz,
  5200. yjj.bShbz
  5201. FROM (SELECT b.csccpbh 传票预计价单号,
  5202. a.ccydh,
  5203. a.icydid,
  5204. Sum(c.fje) 传票预计价,
  5205. b.bshbz
  5206. FROM MCYD a
  5207. LEFT JOIN sccp b
  5208. ON a.icydid = b.icydid
  5209. LEFT JOIN ZbHjXm c
  5210. ON c.sccpid = b.sccpid
  5211. WHERE b.bOutProcess = '1 '
  5212. GROUP BY b.csccpbh,
  5213. a.icydid,
  5214. a.CCYDH,
  5215. b.bshbz,
  5216. b.bOutProcess) yjj
  5217. LEFT JOIN tbluey d
  5218. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  5219. WHERE hz.iwjg = 1
  5220. AND hz.lzfbs = 0
  5221. GROUP BY hz.ICYDID) fw
  5222. LEFT JOIN (SELECT icydid,
  5223. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  5224. WHERE icydid = a.icydid) AS cbz
  5225. FROM TBluey a
  5226. GROUP BY icydid) bz
  5227. ON bz.icydid = fw.iCYDID) tb_out
  5228. ON ord.icydid = tb_out.iCydid
  5229. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  5230. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  5231. iCydid,
  5232. CASE
  5233. WHEN ldz = 1 THEN 1
  5234. ELSE 0
  5235. END ldz
  5236. FROM TJob
  5237. WHERE lzfbs = 0
  5238. GROUP BY iCydid,
  5239. nclje,
  5240. itax,
  5241. ldz) tj
  5242. ON ord.ICYDID = tj.iCydid
  5243. LEFT JOIN fnSubstance fn
  5244. ON ord.CCYDH = fn.cBatchCode
  5245. WHERE ord.ICYDSTATE > 0 AND CYJLX IN ('图书', '精装图书')
  5246. AND 1 = 1) zb
  5247. WHERE CONVERT(zb.承印日期, CHAR(10)) >= '{$this->start_time()}'
  5248. AND CONVERT(zb.承印日期,CHAR(10)) <= '{$this->end_time()}'
  5249. GROUP BY zb.业务单位) dq)a) aa
  5250. LEFT JOIN (SELECT D2.cdwmc 客户单位,
  5251. Count(*) AS 投诉次数,
  5252. (SELECT GROUP_CONCAT(DISTINCT resp.cReasonCName) FROM ecComplainFeedback B
  5253. LEFT JOIN (SELECT d1.iywdwid,
  5254. CASE
  5255. WHEN d1.cdwmc = '浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  5256. WHEN d1.cdwmc = '中国茶叶杂志社'THEN'中国农业科学院茶叶研究所'
  5257. WHEN d1.cdwmc = '中国青年出版社' THEN '中国青年出版总社有限公司'
  5258. WHEN d1.cdwmc = '中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  5259. WHEN d1.cdwmc = '浙江科学技术出版社有限公司(期刊总社)'
  5260. OR d1.cdwmc = '浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  5261. WHEN d1.cdwmc = '《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  5262. WHEN d1.cdwmc = '《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  5263. WHEN d1.cdwmc = '上海辞书出版社' THEN '上海辞书出版社有限公司'
  5264. WHEN d1.cdwmc = '上海译文出版社' THEN '上海译文出版社有限公司'
  5265. WHEN d1.cdwmc = '安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  5266. WHEN d1.cdwmc = '中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  5267. WHEN d1.cdwmc = '人民出版社有限公司' THEN '人民出版社'
  5268. WHEN d1.cdwmc = '教育科学出版社' THEN '教育科学出版社有限公司'
  5269. WHEN d1.cdwmc = '读者杂志社' THEN '读者出版传媒股份有限公司'
  5270. WHEN d1.cdwmc = '浙江教育报刊社' THEN '浙江教育报刊总社'
  5271. WHEN d1.cdwmc = '复旦大学出版社' THEN '复旦大学出版社有限公司'
  5272. WHEN d1.cdwmc = '中等职业教育杂志社有限公司'
  5273. OR d1.cdwmc = '浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  5274. WHEN d1.cdwmc = '上海人民出版社有限公司'
  5275. OR d1.cdwmc = '上海人民出版社' THEN '上海人民出版社有限责任公司'
  5276. WHEN d1.cdwmc = '大星(上海)文化传媒有限公司(上海文艺)'
  5277. OR d1.cdwmc = '大星(上海)文化传媒有限公司(浙江文艺)'
  5278. OR d1.cdwmc = '大星(上海)文化传媒有限公司(河南文艺)'
  5279. OR d1.cdwmc = '大星(上海)文化传媒有限公司(上海书店)'
  5280. OR d1.cdwmc = '大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  5281. WHEN d1.cdwmc = '上海古籍出版社' THEN '上海古籍出版社有限公司'
  5282. WHEN d1.cdwmc = '中信出版集团股份有限公司(上海三辉)'
  5283. OR d1.cdwmc = '中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  5284. WHEN d1.cdwmc = '浙江日报报业集团'
  5285. OR d1.cdwmc = '《浙江共产党员》杂志有限公司'
  5286. OR d1.cdwmc = '共产党员杂志社' THEN '浙江日报报业集团(含共产党员)'
  5287. WHEN d1.cdwmc = '浙江出版传媒股份有限公司'
  5288. OR d1.cdwmc = '浙江出版传媒有限公司'
  5289. OR d1.cdwmc = '浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  5290. WHEN d1.cdwmc = '浙江教育出版社有限公司(省店)'
  5291. OR d1.cdwmc = '浙江省新华书店集团有限公司(教育)'
  5292. OR d1.cdwmc = '浙江省新华书店集团有限公司(少儿)'
  5293. OR d1.cdwmc = '浙江少年儿童出版社有限公司(省店)'
  5294. OR d1.cdwmc = '浙江省新华书店集团有限公司'
  5295. OR d1.cdwmc = '浙江教育出版社集团有限公司(省店)'
  5296. OR d1.cdwmc = '浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  5297. WHEN d1.cdwmc = '浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  5298. ELSE d1.cdwmc
  5299. END AS cdwmc
  5300. FROM DZYWDW d1)D
  5301. ON D.iywdwid = B.iClientID
  5302. LEFT JOIN MCYD M
  5303. ON M.CCYDH = B.cOrderBillCode
  5304. INNER JOIN qlOrderProduct p
  5305. ON M.ICYDID = p.ID_Mcyd
  5306. LEFT JOIN (SELECT a.ID_qlOrderProduct,
  5307. Sum(a.iAmountOut) iAmount_Out
  5308. FROM SCYDYSQX a
  5309. GROUP BY a.ID_qlOrderProduct) c
  5310. ON c.ID_qlOrderProduct = p.ID
  5311. LEFT JOIN ecComplainContent DD
  5312. ON DD.iComplainFBID = B.iID
  5313. LEFT JOIN tbConfig E
  5314. ON E.iNoConfig = DD.iClassID_C
  5315. LEFT JOIN tbConfig T
  5316. ON T.iNoConfig = DD.iClassID_P
  5317. LEFT JOIN (SELECT R.iComplainFBID,
  5318. PP.strSubName AS cReasonPName,
  5319. CC2.strSubName AS cReasonCName,
  5320. CR.cRespPerson,
  5321. CR.cRespDept,
  5322. CR.cRespTech,
  5323. CR.cRespCorp,
  5324. CR.nMoney
  5325. FROM ecComplainReasonAnalysis R
  5326. LEFT JOIN tbConfig CC2
  5327. ON CC2.iNoConfig = R.iReasonID_C
  5328. LEFT JOIN tbConfig PP
  5329. ON PP.iNoConfig = R.iReasonID_P
  5330. LEFT JOIN ecComplainResponsibility CR
  5331. ON CR.iComplainRAID = R.iID) resp
  5332. ON resp.iComplainFBID = B.iID
  5333. WHERE 1 = 1 AND CYJLX IN ('图书', '精装图书')
  5334. AND b.dFeedbackDate >= '{$this->start_time()}'
  5335. AND b.dFeedbackDate <= '{$this->end_time()}'
  5336. AND D.cdwmc = d2.cdwmc) AS 质量问题
  5337. FROM ecComplainFeedback B
  5338. LEFT JOIN (SELECT d1.iywdwid,
  5339. CASE
  5340. WHEN d1.cdwmc = '浙江省烟草学会' THEN '浙江中烟工业有限责任公司'
  5341. WHEN d1.cdwmc = '中国茶叶杂志社'THEN'中国农业科学院茶叶研究所'
  5342. WHEN d1.cdwmc = '中国青年出版社' THEN '中国青年出版总社有限公司'
  5343. WHEN d1.cdwmc = '中国茶叶杂志社' THEN '中国农业科学院茶叶研究所'
  5344. WHEN d1.cdwmc = '浙江科学技术出版社有限公司(期刊总社)'
  5345. OR d1.cdwmc = '浙江省期刊总社有限公司(博库)' THEN '浙江省期刊总社有限公司'
  5346. WHEN d1.cdwmc = '《浙江档案》杂志社' THEN '《浙江档案》杂志社有限责任公司'
  5347. WHEN d1.cdwmc = '《浙江共产党员》杂志集团有限公司' THEN '浙江日报报业集团(含共产党员)'
  5348. WHEN d1.cdwmc = '上海辞书出版社' THEN '上海辞书出版社有限公司'
  5349. WHEN d1.cdwmc = '上海译文出版社' THEN '上海译文出版社有限公司'
  5350. WHEN d1.cdwmc = '安徽师范大学出版社' THEN '安徽师范大学出版社有限责任公司'
  5351. WHEN d1.cdwmc = '中国美术学院出版社' THEN '中国美术学院出版社有限公司'
  5352. WHEN d1.cdwmc = '人民出版社有限公司' THEN '人民出版社'
  5353. WHEN d1.cdwmc = '教育科学出版社' THEN '教育科学出版社有限公司'
  5354. WHEN d1.cdwmc = '读者杂志社' THEN '读者出版传媒股份有限公司'
  5355. WHEN d1.cdwmc = '浙江教育报刊社' THEN '浙江教育报刊总社'
  5356. WHEN d1.cdwmc = '复旦大学出版社' THEN '复旦大学出版社有限公司'
  5357. WHEN d1.cdwmc = '中等职业教育杂志社有限公司'
  5358. OR d1.cdwmc = '浙江教育出版社有限公司(职业教育)' THEN '浙江《职业教育》杂志社有限公司'
  5359. WHEN d1.cdwmc = '上海人民出版社有限公司'
  5360. OR d1.cdwmc = '上海人民出版社' THEN '上海人民出版社有限责任公司'
  5361. WHEN d1.cdwmc = '大星(上海)文化传媒有限公司(上海文艺)'
  5362. OR d1.cdwmc = '大星(上海)文化传媒有限公司(浙江文艺)'
  5363. OR d1.cdwmc = '大星(上海)文化传媒有限公司(河南文艺)'
  5364. OR d1.cdwmc = '大星(上海)文化传媒有限公司(上海书店)'
  5365. OR d1.cdwmc = '大星(上海)文化传媒有限公司(浙江少儿)' THEN '大星(上海)文化传媒有限公司'
  5366. WHEN d1.cdwmc = '上海古籍出版社' THEN '上海古籍出版社有限公司'
  5367. WHEN d1.cdwmc = '中信出版集团股份有限公司(上海三辉)'
  5368. OR d1.cdwmc = '中信出版集团股份有限公司(大星文化)' THEN '中信出版集团股份有限公司'
  5369. WHEN d1.cdwmc = '浙江日报报业集团'
  5370. OR d1.cdwmc = '《浙江共产党员》杂志有限公司'
  5371. OR d1.cdwmc = '共产党员杂志社' THEN '浙江日报报业集团(含共产党员)'
  5372. WHEN d1.cdwmc = '浙江出版传媒股份有限公司'
  5373. OR d1.cdwmc = '浙江出版传媒有限公司'
  5374. OR d1.cdwmc = '浙江省出版公司' THEN '浙江出版传媒股份有限公司(含省出版公司)'
  5375. WHEN d1.cdwmc = '浙江教育出版社有限公司(省店)'
  5376. OR d1.cdwmc = '浙江省新华书店集团有限公司(教育)'
  5377. OR d1.cdwmc = '浙江省新华书店集团有限公司(少儿)'
  5378. OR d1.cdwmc = '浙江少年儿童出版社有限公司(省店)'
  5379. OR d1.cdwmc = '浙江省新华书店集团有限公司'
  5380. OR d1.cdwmc = '浙江教育出版社集团有限公司(省店)'
  5381. OR d1.cdwmc = '浙江工商大学出版社有限公司(省店)' THEN '浙江省新华书店集团有限公司(含教育、少儿)'
  5382. WHEN d1.cdwmc = '浙江教育出版社有限公司' THEN '浙江教育出版社集团有限公司'
  5383. ELSE d1.cdwmc
  5384. END AS cdwmc
  5385. FROM DZYWDW d1)D2
  5386. ON D2.iywdwid = B.iClientID
  5387. LEFT JOIN MCYD M
  5388. ON M.CCYDH = B.cOrderBillCode
  5389. INNER JOIN qlOrderProduct p
  5390. ON M.ICYDID = p.ID_Mcyd
  5391. LEFT JOIN (SELECT a.ID_qlOrderProduct,
  5392. Sum(a.iAmountOut) iAmount_Out
  5393. FROM SCYDYSQX a
  5394. GROUP BY a.ID_qlOrderProduct) c
  5395. ON c.ID_qlOrderProduct = p.ID
  5396. LEFT JOIN ecComplainContent DD
  5397. ON DD.iComplainFBID = B.iID
  5398. LEFT JOIN tbConfig E
  5399. ON E.iNoConfig = DD.iClassID_C
  5400. LEFT JOIN tbConfig T
  5401. ON T.iNoConfig = DD.iClassID_P
  5402. LEFT JOIN (SELECT R.iComplainFBID,
  5403. CR1.cRespDept
  5404. FROM ecComplainReasonAnalysis R
  5405. LEFT JOIN ecComplainResponsibility CR1
  5406. ON CR1.iComplainRAID = R.iID) CR
  5407. ON B.iID = CR.iComplainFBID
  5408. WHERE 1 = 1 AND CYJLX IN ('图书', '精装图书')
  5409. AND b.dFeedbackDate >= '{$this->start_time()}'
  5410. AND b.dFeedbackDate <= '{$this->end_time()}'
  5411. GROUP BY D2.cdwmc)bb
  5412. ON aa.客户 = bb.客户单位
  5413. ORDER BY 销售收入(万元) DESC
  5414. LIMIT 5
  5415. ";
  5416. $result=Db::query($sql);
  5417. // $list['categories']=['业务承揽金额(万元)','毛利(万元)','总订单(个)','总品种数(品)','图书库存量(册)','客户投诉(个)'];
  5418. // $list['indicators']=[['text'=>'业务承揽金额(万元)','max'=>9500],['text'=>'毛利(万元)','max'=>1400],['text'=>'总订单(个)','max'=>650]
  5419. // ,['text'=>'总品种数(品)','max'=>500],['text'=>'图书库存量(册)','max'=>660000],['text'=>'客户投诉(个)','max'=>20]];
  5420. $ywclje=0;
  5421. $ml=0;
  5422. $zdd=0;
  5423. $zpzs=0;
  5424. $tskc=0;
  5425. $khts=0;
  5426. foreach($result as $k=>$v){
  5427. $ywclje=$v['销售收入(万元)']>$ywclje?round($v['销售收入(万元)']):$ywclje;
  5428. $ml=$v['考核计算毛利(万元)']>$ml?round($v['考核计算毛利(万元)']):$ml;
  5429. $zdd=$v['订单数']>$zdd?round($v['订单数']):$zdd;
  5430. $zpzs=$v['品种数']>$zpzs?$v['品种数']:$zpzs;
  5431. $tskc=$v['库存数']>$tskc?$v['库存数']:$tskc;
  5432. $khts=$v['投诉次数']>$khts?(int)$v['投诉次数']:$khts;
  5433. $list['indicators']=[['text'=>'业务承揽金额(万元)','max'=>$ywclje],['text'=>'毛利(万元)','max'=>$ml],['text'=>'总订单(个)','max'=>$zdd]
  5434. ,['text'=>'总品种数(品)','max'=>$zpzs],['text'=>'图书库存量(册)','max'=>$tskc],['text'=>'客户投诉(个)','max'=>$khts]];
  5435. $list['series'][$k]['name']=$v['客户'];
  5436. $list['series'][$k]['value'][]=round($v['销售收入(万元)']);
  5437. $list['series'][$k]['value'][]=round($v['考核计算毛利(万元)']);
  5438. $list['series'][$k]['value'][]=$v['订单数'];
  5439. $list['series'][$k]['value'][]=$v['品种数'];
  5440. $list['series'][$k]['value'][]=$v['库存数'];
  5441. $list['series'][$k]['value'][]=(int)$v['投诉次数'];
  5442. }
  5443. // foreach($result as $k=>$v){
  5444. // $list['categories'][]=$v['客户'];
  5445. // $list['series'][0]['name']='业务承揽金额(万元)';
  5446. // $list['series'][0]['data'][]=round($v['销售收入(万元)']);
  5447. // $list['series'][1]['name']='毛利(万元)';
  5448. // $list['series'][1]['data'][]=round($v['考核计算毛利(万元)']);
  5449. // $list['series'][2]['name']='总订单(个)';
  5450. // $list['series'][2]['data'][]=$v['订单数'];
  5451. // $list['series'][3]['name']='总品种数(品)';
  5452. // $list['series'][3]['data'][]=$v['品种数'];
  5453. // $list['series'][4]['name']='图书库存量(册)';
  5454. // $list['series'][4]['data'][]=$v['库存数'];
  5455. // $list['series'][5]['name']='客户投诉(个)';
  5456. // $list['series'][5]['data'][]=(int)$v['投诉次数'];
  5457. // }
  5458. $res['status']=0;
  5459. $res['msg']='';
  5460. $res['data']=$list;
  5461. //将查询结果存入 Redis 缓存中
  5462. $redis->set($redis_key, json_encode($res));
  5463. echo date("Y-m-d H:i:s").' 存进去了';
  5464. return json($res);
  5465. }
  5466. //图书板块大客户分析
  5467. public function customer_analysis(){
  5468. $redis = redis();
  5469. $result = $redis->get(md5('customer_analysis_redis'));
  5470. return $result;
  5471. }
  5472. //图书板块大客户分析出版社
  5473. public function customer(){
  5474. $redis = redis();
  5475. $result = json_decode($redis->get(md5('customer_analysis_redis')),true)['data']['series'];
  5476. $res['status']=0;
  5477. $res['msg']='';
  5478. foreach($result as $v){
  5479. $res['data'][]=['name'=>' ','value'=>$v['name']];
  5480. }
  5481. return json($res);
  5482. }
  5483. // 年度考核毛利
  5484. public function year_mlsr_redis(){
  5485. $redis = redis();
  5486. $redis_key = md5('year_mlsr_redis');
  5487. $sql = "SELECT
  5488. Sum(db.总销售毛利) 总销售毛利,
  5489. Sum(db.总销售毛利 - IFNULL(db.集团教材外销售毛利, 0)) 本级销售毛利
  5490. FROM (SELECT DISTINCT a.承印日期 日期,
  5491. t5.总销售毛利,
  5492. t5.总销售毛利 - IFNULL(t3.集团教材外销售毛利, 0) 本级销售毛利,
  5493. g.期刊销售毛利,
  5494. T1.集团出版社销售毛利,
  5495. t2.集团教材内销售毛利,
  5496. t3.集团教材外销售毛利,
  5497. t4.外贸订单销售毛利,
  5498. t5.总销售毛利 - IFNULL(G.期刊销售毛利, 0) - IFNULL(T1.集团出版社销售毛利, 0) - IFNULL(t2.集团教材内销售毛利, 0) - IFNULL(t3.集团教材外销售毛利, 0) - IFNULL(t4.外贸订单销售毛利, 0) 其它板块销售毛利
  5499. FROM (SELECT CONVERT(DCYRQ,CHAR(10)) AS 承印日期
  5500. FROM MCYD) a
  5501. LEFT JOIN (SELECT dd.承印日期 承印时间,
  5502. Sum(dd.不含税考核计算毛利) 期刊销售毛利
  5503. FROM (SELECT CASE
  5504. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  5505. ELSE '否'
  5506. END 登账,
  5507. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  5508. CYJLX AS 印件类型,
  5509. CHY AS 活源,
  5510. CASE
  5511. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  5512. ELSE
  5513. CASE
  5514. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  5515. + CASE
  5516. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5517. ELSE ( CASE
  5518. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5519. ELSE ( CASE
  5520. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5521. ELSE IFNULL(tj.sum_clje, 0)
  5522. END )
  5523. END )
  5524. END = 0
  5525. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  5526. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  5527. + CASE
  5528. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5529. ELSE ( CASE
  5530. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5531. ELSE ( CASE
  5532. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5533. ELSE IFNULL(tj.sum_clje, 0)
  5534. END )
  5535. END )
  5536. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  5537. END
  5538. END AS 不含税考核计算毛利,
  5539. CASE
  5540. WHEN IFNULL(ldz, 0) = 0 THEN ( IFNULL(nwsgjhj, 0) - IFNULL(nwsbzgjhj, 0) )
  5541. ELSE
  5542. CASE
  5543. WHEN IFNULL(tb_in.sum_ngjje_in, 0) = 0
  5544. AND IFNULL(tb_out.sum_ngjje_out, 0) = 0 THEN 0
  5545. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) - IFNULL(tb_in.sum_ngjje_in, 0) - IFNULL(tb_out.sum_ngjje_out, 0)
  5546. END
  5547. END AS 考核计算工价毛利不含税,
  5548. CASE
  5549. WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwshjje, 0)
  5550. ELSE IFNULL(tj.sum_namount, 0)
  5551. END AS 不含税销售收入,
  5552. CASE
  5553. WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwsgjhj, 0)
  5554. ELSE IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0)
  5555. END AS 不含税销售收入工价,
  5556. CASE
  5557. WHEN IFNULL(ldz, 0) = 0 THEN IFNULL(nwsclhj, 0)
  5558. ELSE IFNULL(tj.sum_clje, 0)
  5559. END AS 不含税销售收入料价
  5560. FROM MCYD Ord
  5561. LEFT JOIN (SELECT ICYDID,
  5562. Max(Nsc) AS Nsc
  5563. FROM SCYDDX
  5564. WHERE IDXLXID = 573
  5565. GROUP BY ICYDID) AS Obj
  5566. ON ord.ICYDID = Obj.ICYDID
  5567. LEFT JOIN (SELECT ICYDID,
  5568. Sum(NYSLS) AS nysls,
  5569. Sum(nyssl) AS nyssl,
  5570. Sum(nsyl) AS nsyl
  5571. FROM SCYDDX
  5572. GROUP BY ICYDID) AS ObjMatier
  5573. ON Ord.ICYDID = ObjMatier.ICYDID
  5574. LEFT JOIN (SELECT Sum(CASE
  5575. WHEN hz.dz = 1 THEN hz.nhjje
  5576. ELSE hz.传票预计价
  5577. END) AS sum_nhjje_in,
  5578. Sum(CASE
  5579. WHEN hz.dz = 1 THEN hz.nhjje
  5580. ELSE hz.传票预计价
  5581. END) AS sum_ngjje_in,
  5582. Sum(CASE
  5583. WHEN hz.dz = 1 THEN hz.nclje
  5584. ELSE hz.nclje
  5585. END) AS sum_nclje_in,
  5586. hz.ICYDID
  5587. FROM (SELECT yjj.传票预计价单号,
  5588. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5589. yjj.iCYDID,
  5590. d.cjjdh 计价单号,
  5591. d.ccydh 订单号,
  5592. d.cbz 备注,
  5593. d.ngjje,
  5594. d.nclje,
  5595. IFNULL(d.iwjg, 0) iwjg,
  5596. IFNULL(d.lzfbs, 0) lzfbs,
  5597. d.nhjje,
  5598. IFNULL(d.ldz, 0) dz,
  5599. yjj.bShbz
  5600. FROM (SELECT b.csccpbh 传票预计价单号,
  5601. a.ccydh,
  5602. a.icydid,
  5603. Sum(c.fje) 传票预计价,
  5604. b.bshbz
  5605. FROM mcyd a
  5606. LEFT JOIN sccp b
  5607. ON a.icydid = b.icydid
  5608. LEFT JOIN ZbHjXm c
  5609. ON c.sccpid = b.sccpid
  5610. GROUP BY b.csccpbh,
  5611. a.icydid,
  5612. a.CCYDH,
  5613. b.bshbz) yjj
  5614. LEFT JOIN tbluey d
  5615. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  5616. WHERE hz.iwjg = 0
  5617. AND hz.bshbz = 1
  5618. AND hz.lzfbs = 0
  5619. GROUP BY hz.ICYDID) tb_in
  5620. ON ord.icydid = tb_in.iCydid
  5621. LEFT JOIN (SELECT fw.iCYDID,
  5622. sum_nhjje_out,
  5623. sum_ngjje_out,
  5624. sum_nclje_out,
  5625. bz.cbz
  5626. FROM (SELECT Cast(Sum(( CASE
  5627. WHEN hz.dz = 0 THEN hz.传票预计价
  5628. ELSE hz.nhjje
  5629. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  5630. Cast(Sum(( CASE
  5631. WHEN hz.dz = 0 THEN hz.传票预计价
  5632. ELSE hz.nhjje
  5633. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  5634. Cast(Sum(CASE
  5635. WHEN hz.dz = 0 THEN hz.nclje
  5636. ELSE hz.nclje
  5637. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  5638. iCydid
  5639. FROM (SELECT yjj.传票预计价单号,
  5640. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5641. yjj.iCYDID,
  5642. d.cjjdh 计价单号,
  5643. d.ccydh 订单号,
  5644. d.cbz 备注,
  5645. d.ngjje,
  5646. d.nclje,
  5647. d.itax,
  5648. IFNULL(d.iwjg, 0) iwjg,
  5649. IFNULL(d.lzfbs, 0) lzfbs,
  5650. d.nhjje,
  5651. IFNULL(d.ldz, 0) dz,
  5652. yjj.bShbz
  5653. FROM (SELECT b.csccpbh 传票预计价单号,
  5654. a.ccydh,
  5655. a.icydid,
  5656. Sum(c.fje) 传票预计价,
  5657. b.bshbz
  5658. FROM mcyd a
  5659. LEFT JOIN sccp b
  5660. ON a.icydid = b.icydid
  5661. LEFT JOIN ZbHjXm c
  5662. ON c.sccpid = b.sccpid
  5663. GROUP BY b.csccpbh,
  5664. a.icydid,
  5665. a.CCYDH,
  5666. b.bshbz) yjj
  5667. LEFT JOIN tbluey d
  5668. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  5669. WHERE hz.iwjg = 1
  5670. AND hz.lzfbs = 0
  5671. GROUP BY hz.ICYDID) fw
  5672. LEFT JOIN (SELECT icydid,
  5673. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  5674. WHERE icydid = a.icydid) AS cbz
  5675. FROM TBluey a
  5676. GROUP BY icydid) bz
  5677. ON bz.icydid = fw.iCYDID) tb_out
  5678. ON ord.icydid = tb_out.iCydid
  5679. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  5680. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  5681. iCydid,
  5682. CASE
  5683. WHEN ldz = 1 THEN 1
  5684. ELSE 0
  5685. END ldz
  5686. FROM TJob
  5687. WHERE lzfbs = 0
  5688. GROUP BY iCydid,
  5689. nclje,
  5690. itax,
  5691. ldz)tj
  5692. ON ord.ICYDID = tj.iCydid
  5693. WHERE ord.ICYDSTATE > 0
  5694. AND ( CHY = '集团期刊'
  5695. OR CHY = '社会期刊' )) dd
  5696. GROUP BY dd.承印日期) G
  5697. ON g.承印时间 = a.承印日期
  5698. LEFT JOIN (SELECT t.承印日期 承印时间,
  5699. Sum(t.不含税考核计算毛利) 集团出版社销售毛利
  5700. FROM (SELECT CASE
  5701. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  5702. ELSE '否'
  5703. END 登账,
  5704. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  5705. CYJLX AS 印件类型,
  5706. CHY AS 活源,
  5707. CASE
  5708. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  5709. ELSE
  5710. CASE
  5711. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  5712. + CASE
  5713. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5714. ELSE ( CASE
  5715. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5716. ELSE ( CASE
  5717. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5718. ELSE IFNULL(tj.sum_clje, 0)
  5719. END )
  5720. END )
  5721. END = 0
  5722. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  5723. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  5724. + CASE
  5725. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5726. ELSE ( CASE
  5727. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5728. ELSE ( CASE
  5729. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5730. ELSE IFNULL(tj.sum_clje, 0)
  5731. END )
  5732. END )
  5733. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  5734. END
  5735. END AS 不含税考核计算毛利
  5736. FROM MCYD Ord
  5737. LEFT JOIN (SELECT ICYDID,
  5738. Max(Nsc) AS Nsc
  5739. FROM SCYDDX
  5740. WHERE IDXLXID = 573
  5741. GROUP BY ICYDID) AS Obj
  5742. ON ord.ICYDID = Obj.ICYDID
  5743. LEFT JOIN (SELECT ICYDID,
  5744. Sum(NYSLS) AS nysls,
  5745. Sum(nyssl) AS nyssl,
  5746. Sum(nsyl) AS nsyl
  5747. FROM SCYDDX
  5748. GROUP BY ICYDID) AS ObjMatier
  5749. ON Ord.ICYDID = ObjMatier.ICYDID
  5750. LEFT JOIN (SELECT Sum(CASE
  5751. WHEN hz.dz = 1 THEN hz.nhjje
  5752. ELSE hz.传票预计价
  5753. END) AS sum_nhjje_in,
  5754. Sum(CASE
  5755. WHEN hz.dz = 1 THEN hz.nhjje
  5756. ELSE hz.传票预计价
  5757. END) AS sum_ngjje_in,
  5758. Sum(CASE
  5759. WHEN hz.dz = 1 THEN hz.nclje
  5760. ELSE hz.nclje
  5761. END) AS sum_nclje_in,
  5762. hz.ICYDID
  5763. FROM (SELECT yjj.传票预计价单号,
  5764. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5765. yjj.iCYDID,
  5766. d.cjjdh 计价单号,
  5767. d.ccydh 订单号,
  5768. d.cbz 备注,
  5769. d.ngjje,
  5770. d.nclje,
  5771. IFNULL(d.iwjg, 0) iwjg,
  5772. IFNULL(d.lzfbs, 0) lzfbs,
  5773. d.nhjje,
  5774. IFNULL(d.ldz, 0) dz,
  5775. yjj.bShbz
  5776. FROM (SELECT b.csccpbh 传票预计价单号,
  5777. a.ccydh,
  5778. a.icydid,
  5779. Sum(c.fje) 传票预计价,
  5780. b.bshbz
  5781. FROM mcyd a
  5782. LEFT JOIN sccp b
  5783. ON a.icydid = b.icydid
  5784. LEFT JOIN ZbHjXm c
  5785. ON c.sccpid = b.sccpid
  5786. GROUP BY b.csccpbh,
  5787. a.icydid,
  5788. a.CCYDH,
  5789. b.bshbz) yjj
  5790. LEFT JOIN tbluey d
  5791. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  5792. WHERE hz.iwjg = 0
  5793. AND hz.bshbz = 1
  5794. AND hz.lzfbs = 0
  5795. GROUP BY hz.ICYDID) tb_in
  5796. ON ord.icydid = tb_in.iCydid
  5797. LEFT JOIN (SELECT fw.iCYDID,
  5798. sum_nhjje_out,
  5799. sum_ngjje_out,
  5800. sum_nclje_out,
  5801. bz.cbz
  5802. FROM (SELECT Cast(Sum(( CASE
  5803. WHEN hz.dz = 0 THEN hz.传票预计价
  5804. ELSE hz.nhjje
  5805. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  5806. Cast(Sum(( CASE
  5807. WHEN hz.dz = 0 THEN hz.传票预计价
  5808. ELSE hz.nhjje
  5809. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  5810. Cast(Sum(CASE
  5811. WHEN hz.dz = 0 THEN hz.nclje
  5812. ELSE hz.nclje
  5813. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  5814. iCydid
  5815. FROM (SELECT yjj.传票预计价单号,
  5816. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5817. yjj.iCYDID,
  5818. d.cjjdh 计价单号,
  5819. d.ccydh 订单号,
  5820. d.cbz 备注,
  5821. d.ngjje,
  5822. d.nclje,
  5823. d.itax,
  5824. IFNULL(d.iwjg, 0) iwjg,
  5825. IFNULL(d.lzfbs, 0) lzfbs,
  5826. d.nhjje,
  5827. IFNULL(d.ldz, 0) dz,
  5828. yjj.bShbz
  5829. FROM (SELECT b.csccpbh 传票预计价单号,
  5830. a.ccydh,
  5831. a.icydid,
  5832. Sum(c.fje) 传票预计价,
  5833. b.bshbz
  5834. FROM mcyd a
  5835. LEFT JOIN sccp b
  5836. ON a.icydid = b.icydid
  5837. LEFT JOIN ZbHjXm c
  5838. ON c.sccpid = b.sccpid
  5839. GROUP BY b.csccpbh,
  5840. a.icydid,
  5841. a.CCYDH,
  5842. b.bshbz) yjj
  5843. LEFT JOIN tbluey d
  5844. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  5845. WHERE hz.iwjg = 1
  5846. AND hz.lzfbs = 0
  5847. GROUP BY hz.ICYDID) fw
  5848. LEFT JOIN (SELECT icydid,
  5849. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  5850. WHERE icydid = a.icydid) AS cbz
  5851. FROM TBluey a
  5852. GROUP BY icydid) bz
  5853. ON bz.icydid = fw.iCYDID) tb_out
  5854. ON ord.icydid = tb_out.iCydid
  5855. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  5856. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  5857. iCydid,
  5858. CASE
  5859. WHEN ldz = 1 THEN 1
  5860. ELSE 0
  5861. END ldz
  5862. FROM TJob
  5863. WHERE lzfbs = 0
  5864. GROUP BY iCydid,
  5865. nclje,
  5866. itax,
  5867. ldz) tj
  5868. ON ord.ICYDID = tj.iCydid
  5869. WHERE ord.ICYDSTATE > 0
  5870. AND CHY = '集团出版社') t
  5871. GROUP BY T.承印日期) T1
  5872. ON T1.承印时间 = a.承印日期
  5873. LEFT JOIN (SELECT t.承印日期 承印时间,
  5874. Sum(t.不含税考核计算毛利) 集团教材内销售毛利
  5875. FROM (SELECT CASE
  5876. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  5877. ELSE '否'
  5878. END 登账,
  5879. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  5880. CYJLX AS 印件类型,
  5881. CHY AS 活源,
  5882. CASE
  5883. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  5884. ELSE
  5885. CASE
  5886. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  5887. + CASE
  5888. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5889. ELSE ( CASE
  5890. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5891. ELSE ( CASE
  5892. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5893. ELSE IFNULL(tj.sum_clje, 0)
  5894. END )
  5895. END )
  5896. END = 0
  5897. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  5898. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  5899. + CASE
  5900. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  5901. ELSE ( CASE
  5902. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  5903. ELSE ( CASE
  5904. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  5905. ELSE IFNULL(tj.sum_clje, 0)
  5906. END )
  5907. END )
  5908. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  5909. END
  5910. END AS 不含税考核计算毛利
  5911. FROM MCYD Ord
  5912. LEFT JOIN (SELECT ICYDID,
  5913. Max(Nsc) AS Nsc
  5914. FROM SCYDDX
  5915. WHERE IDXLXID = 573
  5916. GROUP BY ICYDID) AS Obj
  5917. ON ord.ICYDID = Obj.ICYDID
  5918. LEFT JOIN (SELECT ICYDID,
  5919. Sum(NYSLS) AS nysls,
  5920. Sum(nyssl) AS nyssl,
  5921. Sum(nsyl) AS nsyl
  5922. FROM SCYDDX
  5923. GROUP BY ICYDID) AS ObjMatier
  5924. ON Ord.ICYDID = ObjMatier.ICYDID
  5925. LEFT JOIN (SELECT Sum(CASE
  5926. WHEN hz.dz = 1 THEN hz.nhjje
  5927. ELSE hz.传票预计价
  5928. END) AS sum_nhjje_in,
  5929. Sum(CASE
  5930. WHEN hz.dz = 1 THEN hz.nhjje
  5931. ELSE hz.传票预计价
  5932. END) AS sum_ngjje_in,
  5933. Sum(CASE
  5934. WHEN hz.dz = 1 THEN hz.nclje
  5935. ELSE hz.nclje
  5936. END) AS sum_nclje_in,
  5937. hz.ICYDID
  5938. FROM (SELECT yjj.传票预计价单号,
  5939. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5940. yjj.iCYDID,
  5941. d.cjjdh 计价单号,
  5942. d.ccydh 订单号,
  5943. d.cbz 备注,
  5944. d.ngjje,
  5945. d.nclje,
  5946. IFNULL(d.iwjg, 0) iwjg,
  5947. IFNULL(d.lzfbs, 0) lzfbs,
  5948. d.nhjje,
  5949. IFNULL(d.ldz, 0) dz,
  5950. yjj.bShbz
  5951. FROM (SELECT b.csccpbh 传票预计价单号,
  5952. a.ccydh,
  5953. a.icydid,
  5954. Sum(c.fje) 传票预计价,
  5955. b.bshbz
  5956. FROM mcyd a
  5957. LEFT JOIN sccp b
  5958. ON a.icydid = b.icydid
  5959. LEFT JOIN ZbHjXm c
  5960. ON c.sccpid = b.sccpid
  5961. GROUP BY b.csccpbh,
  5962. a.icydid,
  5963. a.CCYDH,
  5964. b.bshbz) yjj
  5965. LEFT JOIN tbluey d
  5966. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  5967. WHERE hz.iwjg = 0
  5968. AND hz.bshbz = 1
  5969. AND hz.lzfbs = 0
  5970. GROUP BY hz.ICYDID) tb_in
  5971. ON ord.icydid = tb_in.iCydid
  5972. LEFT JOIN (SELECT fw.iCYDID,
  5973. sum_nhjje_out,
  5974. sum_ngjje_out,
  5975. sum_nclje_out,
  5976. bz.cbz
  5977. FROM (SELECT Cast(Sum(( CASE
  5978. WHEN hz.dz = 0 THEN hz.传票预计价
  5979. ELSE hz.nhjje
  5980. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  5981. Cast(Sum(( CASE
  5982. WHEN hz.dz = 0 THEN hz.传票预计价
  5983. ELSE hz.nhjje
  5984. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  5985. Cast(Sum(CASE
  5986. WHEN hz.dz = 0 THEN hz.nclje
  5987. ELSE hz.nclje
  5988. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  5989. iCydid
  5990. FROM (SELECT yjj.传票预计价单号,
  5991. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  5992. yjj.iCYDID,
  5993. d.cjjdh 计价单号,
  5994. d.ccydh 订单号,
  5995. d.cbz 备注,
  5996. d.ngjje,
  5997. d.nclje,
  5998. d.itax,
  5999. IFNULL(d.iwjg, 0) iwjg,
  6000. IFNULL(d.lzfbs, 0) lzfbs,
  6001. d.nhjje,
  6002. IFNULL(d.ldz, 0) dz,
  6003. yjj.bShbz
  6004. FROM (SELECT b.csccpbh 传票预计价单号,
  6005. a.ccydh,
  6006. a.icydid,
  6007. Sum(c.fje) 传票预计价,
  6008. b.bshbz
  6009. FROM mcyd a
  6010. LEFT JOIN sccp b
  6011. ON a.icydid = b.icydid
  6012. LEFT JOIN ZbHjXm c
  6013. ON c.sccpid = b.sccpid
  6014. GROUP BY b.csccpbh,
  6015. a.icydid,
  6016. a.CCYDH,
  6017. b.bshbz) yjj
  6018. LEFT JOIN tbluey d
  6019. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  6020. WHERE hz.iwjg = 1
  6021. AND hz.lzfbs = 0
  6022. GROUP BY hz.ICYDID) fw
  6023. LEFT JOIN (SELECT icydid,
  6024. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  6025. WHERE icydid = a.icydid) AS cbz
  6026. FROM TBluey a
  6027. GROUP BY icydid) bz
  6028. ON bz.icydid = fw.iCYDID) tb_out
  6029. ON ord.icydid = tb_out.iCydid
  6030. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  6031. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  6032. iCydid,
  6033. CASE
  6034. WHEN ldz = 1 THEN 1
  6035. ELSE 0
  6036. END ldz
  6037. FROM TJob
  6038. WHERE lzfbs = 0
  6039. GROUP BY iCydid,
  6040. nclje,
  6041. itax,
  6042. ldz)tj
  6043. ON ord.ICYDID = tj.iCydid
  6044. WHERE ord.ICYDSTATE > 0
  6045. AND CHY = '集团教材内') t
  6046. GROUP BY T.承印日期) T2
  6047. ON T2.承印时间 = a.承印日期
  6048. LEFT JOIN (SELECT t.承印日期 承印时间,
  6049. Sum(t.不含税考核计算毛利) 集团教材外销售毛利
  6050. FROM (SELECT CASE
  6051. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  6052. ELSE '否'
  6053. END 登账,
  6054. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  6055. CYJLX AS 印件类型,
  6056. CHY AS 活源,
  6057. CASE
  6058. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  6059. ELSE
  6060. CASE
  6061. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  6062. + CASE
  6063. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  6064. ELSE ( CASE
  6065. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  6066. ELSE ( CASE
  6067. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  6068. ELSE IFNULL(tj.sum_clje, 0)
  6069. END )
  6070. END )
  6071. END = 0
  6072. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  6073. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  6074. + CASE
  6075. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  6076. ELSE ( CASE
  6077. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  6078. ELSE ( CASE
  6079. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  6080. ELSE IFNULL(tj.sum_clje, 0)
  6081. END )
  6082. END )
  6083. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  6084. END
  6085. END AS 不含税考核计算毛利
  6086. FROM MCYD Ord
  6087. LEFT JOIN (SELECT ICYDID,
  6088. Max(Nsc) AS Nsc
  6089. FROM SCYDDX
  6090. WHERE IDXLXID = 573
  6091. GROUP BY ICYDID) AS Obj
  6092. ON ord.ICYDID = Obj.ICYDID
  6093. LEFT JOIN (SELECT ICYDID,
  6094. Sum(NYSLS) AS nysls,
  6095. Sum(nyssl) AS nyssl,
  6096. Sum(nsyl) AS nsyl
  6097. FROM SCYDDX
  6098. GROUP BY ICYDID) AS ObjMatier
  6099. ON Ord.ICYDID = ObjMatier.ICYDID
  6100. LEFT JOIN (SELECT Sum(CASE
  6101. WHEN hz.dz = 1 THEN hz.nhjje
  6102. ELSE hz.传票预计价
  6103. END) AS sum_nhjje_in,
  6104. Sum(CASE
  6105. WHEN hz.dz = 1 THEN hz.nhjje
  6106. ELSE hz.传票预计价
  6107. END) AS sum_ngjje_in,
  6108. Sum(CASE
  6109. WHEN hz.dz = 1 THEN hz.nclje
  6110. ELSE hz.nclje
  6111. END) AS sum_nclje_in,
  6112. hz.ICYDID
  6113. FROM (SELECT yjj.传票预计价单号,
  6114. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  6115. yjj.iCYDID,
  6116. d.cjjdh 计价单号,
  6117. d.ccydh 订单号,
  6118. d.cbz 备注,
  6119. d.ngjje,
  6120. d.nclje,
  6121. IFNULL(d.iwjg, 0) iwjg,
  6122. IFNULL(d.lzfbs, 0) lzfbs,
  6123. d.nhjje,
  6124. IFNULL(d.ldz, 0) dz,
  6125. yjj.bShbz
  6126. FROM (SELECT b.csccpbh 传票预计价单号,
  6127. a.ccydh,
  6128. a.icydid,
  6129. Sum(c.fje) 传票预计价,
  6130. b.bshbz
  6131. FROM mcyd a
  6132. LEFT JOIN sccp b
  6133. ON a.icydid = b.icydid
  6134. LEFT JOIN ZbHjXm c
  6135. ON c.sccpid = b.sccpid
  6136. GROUP BY b.csccpbh,
  6137. a.icydid,
  6138. a.CCYDH,
  6139. b.bshbz) yjj
  6140. LEFT JOIN tbluey d
  6141. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  6142. WHERE hz.iwjg = 0
  6143. AND hz.bshbz = 1
  6144. AND hz.lzfbs = 0
  6145. GROUP BY hz.ICYDID) tb_in
  6146. ON ord.icydid = tb_in.iCydid
  6147. LEFT JOIN (SELECT fw.iCYDID,
  6148. sum_nhjje_out,
  6149. sum_ngjje_out,
  6150. sum_nclje_out,
  6151. bz.cbz
  6152. FROM (SELECT Cast(Sum(( CASE
  6153. WHEN hz.dz = 0 THEN hz.传票预计价
  6154. ELSE hz.nhjje
  6155. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  6156. Cast(Sum(( CASE
  6157. WHEN hz.dz = 0 THEN hz.传票预计价
  6158. ELSE hz.nhjje
  6159. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  6160. Cast(Sum(CASE
  6161. WHEN hz.dz = 0 THEN hz.nclje
  6162. ELSE hz.nclje
  6163. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  6164. iCydid
  6165. FROM (SELECT yjj.传票预计价单号,
  6166. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  6167. yjj.iCYDID,
  6168. d.cjjdh 计价单号,
  6169. d.ccydh 订单号,
  6170. d.cbz 备注,
  6171. d.ngjje,
  6172. d.nclje,
  6173. d.itax,
  6174. IFNULL(d.iwjg, 0) iwjg,
  6175. IFNULL(d.lzfbs, 0) lzfbs,
  6176. d.nhjje,
  6177. IFNULL(d.ldz, 0) dz,
  6178. yjj.bShbz
  6179. FROM (SELECT b.csccpbh 传票预计价单号,
  6180. a.ccydh,
  6181. a.icydid,
  6182. Sum(c.fje) 传票预计价,
  6183. b.bshbz
  6184. FROM mcyd a
  6185. LEFT JOIN sccp b
  6186. ON a.icydid = b.icydid
  6187. LEFT JOIN ZbHjXm c
  6188. ON c.sccpid = b.sccpid
  6189. GROUP BY b.csccpbh,
  6190. a.icydid,
  6191. a.CCYDH,
  6192. b.bshbz) yjj
  6193. LEFT JOIN tbluey d
  6194. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  6195. WHERE hz.iwjg = 1
  6196. AND hz.lzfbs = 0
  6197. GROUP BY hz.ICYDID) fw
  6198. LEFT JOIN (SELECT icydid,
  6199. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  6200. WHERE icydid = a.icydid) AS cbz
  6201. FROM TBluey a
  6202. GROUP BY icydid) bz
  6203. ON bz.icydid = fw.iCYDID) tb_out
  6204. ON ord.icydid = tb_out.iCydid
  6205. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  6206. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  6207. iCydid,
  6208. CASE
  6209. WHEN ldz = 1 THEN 1
  6210. ELSE 0
  6211. END ldz
  6212. FROM TJob
  6213. WHERE lzfbs = 0
  6214. GROUP BY iCydid,
  6215. nclje,
  6216. itax,
  6217. ldz) tj
  6218. ON ord.ICYDID = tj.iCydid
  6219. WHERE ord.ICYDSTATE > 0
  6220. AND CHY = '集团教材外') t
  6221. GROUP BY T.承印日期) T3
  6222. ON T3.承印时间 = a.承印日期
  6223. LEFT JOIN (SELECT t.承印日期 承印时间,
  6224. Sum(t.不含税考核计算毛利) 外贸订单销售毛利
  6225. FROM (SELECT CASE
  6226. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  6227. ELSE '否'
  6228. END 登账,
  6229. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  6230. CYJLX AS 印件类型,
  6231. CHY AS 活源,
  6232. CASE
  6233. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  6234. ELSE
  6235. CASE
  6236. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  6237. + CASE
  6238. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  6239. ELSE ( CASE
  6240. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  6241. ELSE ( CASE
  6242. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  6243. ELSE IFNULL(tj.sum_clje, 0)
  6244. END )
  6245. END )
  6246. END = 0
  6247. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  6248. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  6249. + CASE
  6250. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  6251. ELSE ( CASE
  6252. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  6253. ELSE ( CASE
  6254. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  6255. ELSE IFNULL(tj.sum_clje, 0)
  6256. END )
  6257. END )
  6258. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  6259. END
  6260. END AS 不含税考核计算毛利
  6261. FROM MCYD Ord
  6262. LEFT JOIN (SELECT ICYDID,
  6263. Max(Nsc) AS Nsc
  6264. FROM SCYDDX
  6265. WHERE IDXLXID = 573
  6266. GROUP BY ICYDID) AS Obj
  6267. ON ord.ICYDID = Obj.ICYDID
  6268. LEFT JOIN (SELECT ICYDID,
  6269. Sum(NYSLS) AS nysls,
  6270. Sum(nyssl) AS nyssl,
  6271. Sum(nsyl) AS nsyl
  6272. FROM SCYDDX
  6273. GROUP BY ICYDID) AS ObjMatier
  6274. ON Ord.ICYDID = ObjMatier.ICYDID
  6275. LEFT JOIN (SELECT Sum(CASE
  6276. WHEN hz.dz = 1 THEN hz.nhjje
  6277. ELSE hz.传票预计价
  6278. END) AS sum_nhjje_in,
  6279. Sum(CASE
  6280. WHEN hz.dz = 1 THEN hz.nhjje
  6281. ELSE hz.传票预计价
  6282. END) AS sum_ngjje_in,
  6283. Sum(CASE
  6284. WHEN hz.dz = 1 THEN hz.nclje
  6285. ELSE hz.nclje
  6286. END) AS sum_nclje_in,
  6287. hz.ICYDID
  6288. FROM (SELECT yjj.传票预计价单号,
  6289. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  6290. yjj.iCYDID,
  6291. d.cjjdh 计价单号,
  6292. d.ccydh 订单号,
  6293. d.cbz 备注,
  6294. d.ngjje,
  6295. d.nclje,
  6296. IFNULL(d.iwjg, 0) iwjg,
  6297. IFNULL(d.lzfbs, 0) lzfbs,
  6298. d.nhjje,
  6299. IFNULL(d.ldz, 0) dz,
  6300. yjj.bShbz
  6301. FROM (SELECT b.csccpbh 传票预计价单号,
  6302. a.ccydh,
  6303. a.icydid,
  6304. Sum(c.fje) 传票预计价,
  6305. b.bshbz
  6306. FROM mcyd a
  6307. LEFT JOIN sccp b
  6308. ON a.icydid = b.icydid
  6309. LEFT JOIN ZbHjXm c
  6310. ON c.sccpid = b.sccpid
  6311. GROUP BY b.csccpbh,
  6312. a.icydid,
  6313. a.CCYDH,
  6314. b.bshbz) yjj
  6315. LEFT JOIN tbluey d
  6316. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  6317. WHERE hz.iwjg = 0
  6318. AND hz.bshbz = 1
  6319. AND hz.lzfbs = 0
  6320. GROUP BY hz.ICYDID) tb_in
  6321. ON ord.icydid = tb_in.iCydid
  6322. LEFT JOIN (SELECT fw.iCYDID,
  6323. sum_nhjje_out,
  6324. sum_ngjje_out,
  6325. sum_nclje_out,
  6326. bz.cbz
  6327. FROM (SELECT Cast(Sum(( CASE
  6328. WHEN hz.dz = 0 THEN hz.传票预计价
  6329. ELSE hz.nhjje
  6330. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  6331. Cast(Sum(( CASE
  6332. WHEN hz.dz = 0 THEN hz.传票预计价
  6333. ELSE hz.nhjje
  6334. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  6335. Cast(Sum(CASE
  6336. WHEN hz.dz = 0 THEN hz.nclje
  6337. ELSE hz.nclje
  6338. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  6339. iCydid
  6340. FROM (SELECT yjj.传票预计价单号,
  6341. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  6342. yjj.iCYDID,
  6343. d.cjjdh 计价单号,
  6344. d.ccydh 订单号,
  6345. d.cbz 备注,
  6346. d.ngjje,
  6347. d.nclje,
  6348. d.itax,
  6349. IFNULL(d.iwjg, 0) iwjg,
  6350. IFNULL(d.lzfbs, 0) lzfbs,
  6351. d.nhjje,
  6352. IFNULL(d.ldz, 0) dz,
  6353. yjj.bShbz
  6354. FROM (SELECT b.csccpbh 传票预计价单号,
  6355. a.ccydh,
  6356. a.icydid,
  6357. Sum(c.fje) 传票预计价,
  6358. b.bshbz
  6359. FROM mcyd a
  6360. LEFT JOIN sccp b
  6361. ON a.icydid = b.icydid
  6362. LEFT JOIN ZbHjXm c
  6363. ON c.sccpid = b.sccpid
  6364. GROUP BY b.csccpbh,
  6365. a.icydid,
  6366. a.CCYDH,
  6367. b.bshbz) yjj
  6368. LEFT JOIN tbluey d
  6369. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  6370. WHERE hz.iwjg = 1
  6371. AND hz.lzfbs = 0
  6372. GROUP BY hz.ICYDID) fw
  6373. LEFT JOIN (SELECT icydid,
  6374. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  6375. WHERE icydid = a.icydid) AS cbz
  6376. FROM TBluey a
  6377. GROUP BY icydid) bz
  6378. ON bz.icydid = fw.iCYDID) tb_out
  6379. ON ord.icydid = tb_out.iCydid
  6380. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  6381. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  6382. iCydid,
  6383. CASE
  6384. WHEN ldz = 1 THEN 1
  6385. ELSE 0
  6386. END ldz
  6387. FROM TJob
  6388. WHERE lzfbs = 0
  6389. GROUP BY iCydid,
  6390. nclje,
  6391. itax,
  6392. ldz)tj
  6393. ON ord.ICYDID = tj.iCydid
  6394. WHERE ord.ICYDSTATE > 0
  6395. AND CHY = '外贸订单') t
  6396. GROUP BY T.承印日期) T4
  6397. ON T4.承印时间 = a.承印日期
  6398. LEFT JOIN (SELECT t.承印日期 承印时间,
  6399. Sum(t.不含税考核计算毛利) 总销售毛利
  6400. FROM (SELECT CASE
  6401. WHEN IFNULL(ldz, 0) = 1 THEN '是'
  6402. ELSE '否'
  6403. END 登账,
  6404. CONVERT(DCYRQ,CHAR(10)) AS 承印日期,
  6405. CYJLX AS 印件类型,
  6406. CHY AS 活源,
  6407. CASE
  6408. WHEN IFNULL(ldz, 0) = 0 THEN( IFNULL(nwshjje, 0) - IFNULL(nwsbzhjje, 0) )
  6409. ELSE
  6410. CASE
  6411. WHEN IFNULL(tb_in.sum_ngjje_in, 0)
  6412. + CASE
  6413. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  6414. ELSE ( CASE
  6415. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  6416. ELSE ( CASE
  6417. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  6418. ELSE IFNULL(tj.sum_clje, 0)
  6419. END )
  6420. END )
  6421. END = 0
  6422. AND IFNULL(tb_out.sum_nhjje_out, 0) = 0 THEN 0
  6423. ELSE IFNULL(tj.sum_namount, 0) - ( IFNULL(tb_in.sum_ngjje_in, 0)
  6424. + CASE
  6425. WHEN ( IFNULL(tj.sum_clje, 0) ) = 0 THEN 0
  6426. ELSE ( CASE
  6427. WHEN ( IFNULL(tb_out.sum_nhjje_out, 0) > ( IFNULL(tj.sum_namount, 0) - IFNULL(tj.sum_clje, 0) ) * 1.5 ) THEN 0
  6428. ELSE ( CASE
  6429. WHEN IFNULL(tb_out.sum_nclje_out, 0) > 0 THEN IFNULL(tj.sum_clje, 0) - IFNULL(tb_out.sum_nclje_out, 0)
  6430. ELSE IFNULL(tj.sum_clje, 0)
  6431. END )
  6432. END )
  6433. END ) - IFNULL(tb_out.sum_nhjje_out, 0)
  6434. END
  6435. END AS 不含税考核计算毛利
  6436. FROM MCYD Ord
  6437. LEFT JOIN (SELECT ICYDID,
  6438. Max(Nsc) AS Nsc
  6439. FROM SCYDDX
  6440. WHERE IDXLXID = 573
  6441. GROUP BY ICYDID) AS Obj
  6442. ON ord.ICYDID = Obj.ICYDID
  6443. LEFT JOIN (SELECT ICYDID,
  6444. Sum(NYSLS) AS nysls,
  6445. Sum(nyssl) AS nyssl,
  6446. Sum(nsyl) AS nsyl
  6447. FROM SCYDDX
  6448. GROUP BY ICYDID) AS ObjMatier
  6449. ON Ord.ICYDID = ObjMatier.ICYDID
  6450. LEFT JOIN (SELECT Sum(CASE
  6451. WHEN hz.dz = 1 THEN hz.nhjje
  6452. ELSE hz.传票预计价
  6453. END) AS sum_nhjje_in,
  6454. Sum(CASE
  6455. WHEN hz.dz = 1 THEN hz.nhjje
  6456. ELSE hz.传票预计价
  6457. END) AS sum_ngjje_in,
  6458. Sum(CASE
  6459. WHEN hz.dz = 1 THEN hz.nclje
  6460. ELSE hz.nclje
  6461. END) AS sum_nclje_in,
  6462. hz.ICYDID
  6463. FROM (SELECT yjj.传票预计价单号,
  6464. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  6465. yjj.iCYDID,
  6466. d.cjjdh 计价单号,
  6467. d.ccydh 订单号,
  6468. d.cbz 备注,
  6469. d.ngjje,
  6470. d.nclje,
  6471. IFNULL(d.iwjg, 0) iwjg,
  6472. IFNULL(d.lzfbs, 0) lzfbs,
  6473. d.nhjje,
  6474. IFNULL(d.ldz, 0) dz
  6475. FROM (SELECT b.csccpbh 传票预计价单号,
  6476. a.ccydh,
  6477. a.icydid,
  6478. Sum(c.fje) 传票预计价
  6479. FROM mcyd a
  6480. LEFT JOIN sccp b
  6481. ON a.icydid = b.icydid
  6482. LEFT JOIN ZbHjXm c
  6483. ON c.sccpid = b.sccpid
  6484. GROUP BY b.csccpbh,
  6485. a.icydid,
  6486. a.CCYDH) yjj
  6487. LEFT JOIN tbluey d
  6488. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  6489. WHERE hz.iwjg = 0
  6490. AND hz.lzfbs = 0
  6491. GROUP BY hz.ICYDID) tb_in
  6492. ON ord.icydid = tb_in.iCydid
  6493. LEFT JOIN (SELECT fw.iCYDID,
  6494. sum_nhjje_out,
  6495. sum_ngjje_out,
  6496. sum_nclje_out,
  6497. bz.cbz
  6498. FROM (SELECT Cast(Sum(( CASE
  6499. WHEN hz.dz = 1
  6500. OR hz.dz = -1 THEN hz.nhjje
  6501. ELSE hz.传票预计价
  6502. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nhjje_out,
  6503. Cast(Sum(( CASE
  6504. WHEN hz.dz = 1
  6505. OR hz.dz = -1 THEN hz.nhjje
  6506. ELSE hz.传票预计价
  6507. END ) * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_ngjje_out,
  6508. Cast(Sum(CASE
  6509. WHEN hz.dz = 1
  6510. OR hz.dz = -1 THEN hz.nclje
  6511. ELSE hz.nclje
  6512. END * 100 / ( 100 + hz.itax )) AS DECIMAL(18, 2)) AS sum_nclje_out,
  6513. iCydid
  6514. FROM (SELECT yjj.传票预计价单号,
  6515. IFNULL(yjj. 传票预计价, 0) 传票预计价,
  6516. yjj.iCYDID,
  6517. d.cjjdh 计价单号,
  6518. d.ccydh 订单号,
  6519. d.cbz 备注,
  6520. d.ngjje,
  6521. d.nclje,
  6522. d.itax,
  6523. IFNULL(d.iwjg, 0) iwjg,
  6524. IFNULL(d.lzfbs, 0) lzfbs,
  6525. d.nhjje,
  6526. IFNULL(d.ldz, 0) dz
  6527. FROM (SELECT b.csccpbh 传票预计价单号,
  6528. a.ccydh,
  6529. a.icydid,
  6530. Sum(c.fje) 传票预计价
  6531. FROM mcyd a
  6532. LEFT JOIN sccp b
  6533. ON a.icydid = b.icydid
  6534. LEFT JOIN ZbHjXm c
  6535. ON c.sccpid = b.sccpid
  6536. GROUP BY b.csccpbh,
  6537. a.icydid,
  6538. a.CCYDH) yjj
  6539. LEFT JOIN tbluey d
  6540. ON yjj.传票预计价单号 = CONVERT(d.cjjdh,CHAR(14))) hz
  6541. WHERE hz.iwjg = 1
  6542. AND hz.lzfbs = 0
  6543. GROUP BY hz.ICYDID) fw
  6544. LEFT JOIN (SELECT icydid,
  6545. (SELECT GROUP_CONCAT(cbz) FROM TBluey
  6546. WHERE icydid = a.icydid) AS cbz
  6547. FROM TBluey a
  6548. GROUP BY icydid) bz
  6549. ON bz.icydid = fw.iCYDID) tb_out
  6550. ON ord.icydid = tb_out.iCydid
  6551. LEFT JOIN (SELECT Sum(namount) AS sum_namount,
  6552. Cast(Sum(nclje * 100 / ( 100 + itax )) AS DECIMAL(18, 2)) AS sum_clje,
  6553. iCydid,
  6554. CASE
  6555. WHEN ldz = 1 THEN 1
  6556. ELSE 0
  6557. END ldz
  6558. FROM TJob
  6559. WHERE lzfbs = 0
  6560. GROUP BY iCydid,
  6561. nclje,
  6562. itax,
  6563. ldz) tj
  6564. ON ord.ICYDID = tj.iCydid
  6565. WHERE ord.ICYDSTATE > 0) t
  6566. GROUP BY T.承印日期) T5
  6567. ON T5.承印时间 = a.承印日期)db
  6568. WHERE 1 = 1
  6569. AND db.日期 >= '2023-01-01 00:00:00'
  6570. AND db.日期 <= '2023-12-31 23:59:59'
  6571. ";
  6572. $res=Db::query($sql);
  6573. echo "<pre>";
  6574. print_r($res);
  6575. echo "<pre>";
  6576. //将查询结果存入 Redis 缓存中
  6577. $redis->set($redis_key, json_encode($res));
  6578. echo date("Y-m-d H:i:s").' 存进去了';
  6579. return json($res);
  6580. }
  6581. }