Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148
  1. Imports System.Data.SqlClient
  2. Imports System.Windows.Forms.VisualStyles.VisualStyleElement
  3. Public Class Frm_Retan
  4. Dim cmd As New SqlCommand
  5. Dim da As New SqlDataAdapter
  6. Dim dt As New DataTable
  7. Dim sql As String
  8. Dim conn As New SqlConnection
  9. Dim PTCache As Microsoft.Office.Interop.Excel.PivotCache
  10. Dim PT As Microsoft.Office.Interop.Excel.PivotTable
  11. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  12. Dim sql1 As String
  13. Dim sql2 As String
  14. Dim sql3 As String
  15. Dim sql4 As String
  16. sql1 = "SELECT CARD as 卡号, card2 as 卡号1, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本 FROM (SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  17. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type,
  18. AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  19. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  20. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  21. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  22. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1,
  23. rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  24. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  25. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  26. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  27. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  28. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  29. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  30. CASE WHEN rt_shaving_out.card1 IS NULL AND
  31. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  32. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  33. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层'
  34. WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  35. p.source LIKE N'%bx%' or p.source LIKE N'%南美%')
  36. THEN N'巴西 二层' WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层'
  37. WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN
  38. p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source
  39. LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%'
  40. THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN
  41. N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层'
  42. WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN
  43. p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  44. END AS 皮源1,
  45. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source
  46. LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  47. p.source LIKE N'%bx%' or p.source LIKE N'%南美%')
  48. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source
  49. LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN
  50. N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE
  51. N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ'
  52. WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%'
  53. THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source
  54. LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码,
  55. rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight)
  56. / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1,
  57. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  58. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  59. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  60. FROM RT_SYS_CHEM_OUT INNER JOIN
  61. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  62. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2,
  63. W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff,
  64. gg, hh, Dep
  65. FROM RT_RETAN_RECORD_D
  66. WHERE "
  67. sql2 = "(date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "')"
  68. sql3 = ") AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  69. rt_wetblue_name RIGHT OUTER JOIN
  70. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON
  71. p.CARD = rt_shaving_out.card1
  72. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code,
  73. rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source,
  74. rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE,
  75. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT
  76. ORDER BY p.CARD) AS s
  77. GROUP BY CARD, card2, 类别, type, 下鼓重, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd,
  78. 备注, 皮源1, 代码"
  79. '--------------全部下鼓
  80. sql = sql1 + sql2 + sql3 + " order by date "
  81. cmd.CommandText = sql
  82. dt = New DataTable
  83. da.SelectCommand = cmd
  84. da.Fill(dt)
  85. dgv2.DataSource = dt
  86. Label3.Text = dt.Compute("sum(下鼓重)", "")
  87. ' Label6.Text = dt.Compute("sum(出库重)", "")
  88. 'sql = "select cast(sum(下鼓重) as numeric(10,1)) from (" + sql1 + sql2 + sql3 & ") as p"
  89. 'cmd.CommandText = sql
  90. 'Label3.Text = cmd.ExecuteScalar.ToString
  91. Dim dt1 As New DataTable
  92. Dim dt2 As New DataTable
  93. Dim dt3 As New DataTable
  94. Dim dt4 As New DataTable
  95. Dim dt5 As New DataTable
  96. Dim dt6 As New DataTable
  97. '------蓝皮下鼓
  98. Dim dv As New DataView(dt)
  99. dv.RowFilter = ("出库重 <>0 and 类别1='打底'")
  100. dt1 = dv.ToTable()
  101. DataGridView3.DataSource = dt1
  102. TextBox1.Text = dt1.Compute("sum(出库重)", "")
  103. '------蓝皮下鼓(无出库)
  104. dv.RowFilter = ("出库重 =0 and 类别<>'其他' and 类别1='打底' and 皮源 not like '*干*' and 皮源 not like '*brf*' ")
  105. dt2 = dv.ToTable()
  106. DataGridView5.DataSource = dt2
  107. TextBox2.Text = dt2.Compute("sum(下鼓重)", "")
  108. '------套染
  109. dv.RowFilter = ("(类别1='套染' or 皮源 like '*C级*') and (皮源 not like '*brf*')")
  110. dt3 = dv.ToTable()
  111. DataGridView1.DataSource = dt3
  112. TextBox3.Text = dt3.Compute("sum(下鼓重)", "")
  113. '------回鼓
  114. dv.RowFilter = ("类别1='回鼓' and 皮源 not like '*干*'")
  115. dt4 = dv.ToTable()
  116. DataGridView4.DataSource = dt4
  117. TextBox5.Text = dt4.Compute("sum(出库重)", "")
  118. '------改色
  119. dv.RowFilter = ("(皮源 like '*干*' or 皮源 like '*brf*') and (皮源 not like '*C级*') ")
  120. dt5 = dv.ToTable()
  121. DataGridView2.DataSource = dt5
  122. TextBox4.Text = dt5.Compute("sum(下鼓重)", "")
  123. '------改色
  124. dv.RowFilter = ("类别='其他'")
  125. dt6 = dv.ToTable()
  126. DataGridView6.DataSource = dt6
  127. TextBox6.Text = dt6.Compute("sum(下鼓重)", "")
  128. TextBox7.Text = Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text) + Val(TextBox4.Text) + Val(TextBox5.Text) + Val(TextBox6.Text)
  129. DataGridView1.Columns("卡号1").Visible = False
  130. DataGridView1.Columns(0).Width = 150
  131. DataGridView1.Columns(1).Width = 70
  132. DataGridView1.Columns(2).Width = 66
  133. DataGridView1.Columns(3).Width = 73
  134. DataGridView1.Columns("技术员").Width = 80
  135. DataGridView1.Columns("代码").Width = 65
  136. DataGridView1.Columns("单价").Width = 65
  137. DataGridView1.Columns("厚度").Width = 65
  138. DataGridView1.Columns("日期").Width = 90
  139. DataGridView1.Columns("选级").Width = 65
  140. DataGridView2.Columns("卡号1").Visible = False
  141. DataGridView2.Columns(0).Width = 150
  142. DataGridView2.Columns(1).Width = 70
  143. DataGridView2.Columns(2).Width = 66
  144. DataGridView2.Columns(3).Width = 73
  145. DataGridView2.Columns("技术员").Width = 80
  146. DataGridView2.Columns("代码").Width = 65
  147. DataGridView2.Columns("单价").Width = 65
  148. DataGridView2.Columns("厚度").Width = 65
  149. DataGridView2.Columns("日期").Width = 90
  150. DataGridView2.Columns("选级").Width = 65
  151. DataGridView3.Columns("卡号1").Visible = False
  152. DataGridView3.Columns(0).Width = 150
  153. DataGridView3.Columns(1).Width = 70
  154. DataGridView3.Columns(2).Width = 66
  155. DataGridView3.Columns(3).Width = 73
  156. DataGridView3.Columns("技术员").Width = 80
  157. DataGridView3.Columns("代码").Width = 65
  158. DataGridView3.Columns("单价").Width = 65
  159. DataGridView3.Columns("厚度").Width = 65
  160. DataGridView3.Columns("日期").Width = 90
  161. DataGridView3.Columns("选级").Width = 65
  162. DataGridView4.Columns("卡号1").Visible = False
  163. DataGridView4.Columns(0).Width = 150
  164. DataGridView4.Columns(1).Width = 70
  165. DataGridView4.Columns(2).Width = 66
  166. DataGridView4.Columns(3).Width = 73
  167. DataGridView4.Columns("技术员").Width = 80
  168. DataGridView4.Columns("代码").Width = 65
  169. DataGridView4.Columns("单价").Width = 65
  170. DataGridView4.Columns("厚度").Width = 65
  171. DataGridView4.Columns("日期").Width = 90
  172. DataGridView4.Columns("选级").Width = 65
  173. DataGridView5.Columns("卡号1").Visible = False
  174. DataGridView5.Columns(0).Width = 150
  175. DataGridView5.Columns(1).Width = 70
  176. DataGridView5.Columns(2).Width = 66
  177. DataGridView5.Columns(3).Width = 73
  178. DataGridView5.Columns("技术员").Width = 80
  179. DataGridView5.Columns("代码").Width = 65
  180. DataGridView5.Columns("单价").Width = 65
  181. DataGridView5.Columns("厚度").Width = 65
  182. DataGridView5.Columns("日期").Width = 90
  183. DataGridView5.Columns("选级").Width = 65
  184. DataGridView6.Columns("卡号1").Visible = False
  185. DataGridView6.Columns(0).Width = 150
  186. DataGridView6.Columns(1).Width = 70
  187. DataGridView6.Columns(2).Width = 66
  188. DataGridView6.Columns(3).Width = 73
  189. DataGridView6.Columns("技术员").Width = 80
  190. DataGridView6.Columns("代码").Width = 65
  191. DataGridView6.Columns("单价").Width = 65
  192. DataGridView6.Columns("厚度").Width = 65
  193. DataGridView6.Columns("日期").Width = 90
  194. DataGridView6.Columns("选级").Width = 65
  195. 'sql = sql1 + sql2 + sql3 + " having AVG(挑级仓出库重) is not null and type=N'打底' order by date"
  196. 'cmd.CommandText = sql
  197. 'dt = New DataTable
  198. 'da.SelectCommand = cmd
  199. 'da.Fill(dt)
  200. 'sql = "select cast(sum(下鼓重) as numeric(10,1)) from (" + sql1 + sql2 + sql3 + " having AVG(挑级仓出库重) is not null and type=N'打底' " & ") as p"
  201. 'cmd.CommandText = sql
  202. 'Label6.Text = cmd.ExecuteScalar.ToString
  203. 'TextBox1.Text = cmd.ExecuteScalar.ToString
  204. '------蓝皮下鼓(无)
  205. 'sql = sql1 + sql2 + sql3 + " having AVG(挑级仓出库重) is null and 类别<>N'其他' and type=N'打底' order by date"
  206. 'cmd.CommandText = sql
  207. 'dt = New DataTable
  208. 'da.SelectCommand = cmd
  209. 'da.Fill(dt)
  210. 'DataGridView5.DataSource = dt
  211. 'sql = "select cast(sum(下鼓重) as numeric(10,1)) from (" + sql1 + sql2 + sql3 + " having AVG(挑级仓出库重) is null and 类别<>N'其他' and type=N'打底' " & ") as p"
  212. 'cmd.CommandText = sql
  213. 'Label16.Text = cmd.ExecuteScalar.ToString
  214. 'TextBox2.Text = cmd.ExecuteScalar.ToString
  215. ''------套染
  216. 'sql = sql1 + sql2 + sql3 + " having type=N'套染' order by date"
  217. 'cmd.CommandText = sql
  218. 'dt = New DataTable
  219. 'da.SelectCommand = cmd
  220. 'da.Fill(dt)
  221. 'DataGridView1.DataSource = dt
  222. 'sql = "select cast(sum(下鼓重) as numeric(10,1)) from (" + sql1 + sql2 + sql3 + " having type=N'套染' " & ") as p"
  223. 'cmd.CommandText = sql
  224. 'Label16.Text = cmd.ExecuteScalar.ToString
  225. 'TextBox3.Text = cmd.ExecuteScalar.ToString
  226. ''------回鼓
  227. 'sql = sql1 + sql2 + sql3 + " having type=N'回鼓' order by date"
  228. 'cmd.CommandText = sql
  229. 'dt = New DataTable
  230. 'da.SelectCommand = cmd
  231. 'da.Fill(dt)
  232. 'DataGridView4.DataSource = dt
  233. 'sql = "select cast(sum(下鼓重) as numeric(10,1)) from (" + sql1 + sql2 + sql3 + " having type=N'回鼓' " & ") as p"
  234. 'cmd.CommandText = sql
  235. 'Label16.Text = cmd.ExecuteScalar.ToString
  236. 'TextBox5.Text = cmd.ExecuteScalar.ToString
  237. ''------合鼓
  238. 'sql = sql1 + sql2 + sql3 + " having 类别=N'其他' order by date"
  239. 'cmd.CommandText = sql
  240. 'dt = New DataTable
  241. 'da.SelectCommand = cmd
  242. 'da.Fill(dt)
  243. 'DataGridView6.DataSource = dt
  244. 'sql = "select cast(sum(下鼓重) as numeric(10,1)) from (" + sql1 + sql2 + sql3 + " having 类别=N'其他' " & ") as p"
  245. 'cmd.CommandText = sql
  246. 'TextBox6.Text = cmd.ExecuteScalar.ToString
  247. End Sub
  248. Private Sub Frm_Retan_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  249. 'connstring = "Data Source=127.0.0.1;Persist Security Info=True;User ID=sa;Password=Lafayette11;Initial Catalog=maindb_hy2014"
  250. conn.ConnectionString = connstring
  251. conn.Open()
  252. dgv2.RowHeadersWidth = 15
  253. dgv2.ColumnHeadersHeight = 20
  254. dgv2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  255. 'DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  256. 'DataGridView2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  257. DataGridView3.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  258. ' DataGridView4.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  259. ' DataGridView5.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  260. ' DataGridView6.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  261. ' DataGridView7.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  262. ' DataGridView8.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  263. cmd.Connection = conn
  264. sql = "SELECT TOP (1) date FROM RT_RETAN_RECORD ORDER BY date DESC"
  265. cmd.CommandText = sql
  266. Label11.Text = cmd.ExecuteScalar
  267. End Sub
  268. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  269. Dim aa As String
  270. Dim bb As String
  271. Dim my_card As String = ""
  272. Dim my_date As Date
  273. aa = TextBox8.Text
  274. bb = aa
  275. If aa = "" Then
  276. MsgBox("请输入起始单号")
  277. Exit Sub
  278. End If
  279. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  280. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  281. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  282. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  283. Dim file_name As String = ""
  284. Dim file_name1 As String = ""
  285. Dim my_weight As Double = 0
  286. Dim a As Integer = 0
  287. Dim my_count As Integer = 0
  288. Dim my_x As Integer = 0
  289. xlApp = CreateObject("Excel.Application")
  290. xlApp.Visible = True
  291. xlApp.DisplayAlerts = False
  292. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  293. xlBook.Activate()
  294. Dim dt2 As New DataTable
  295. For i = 1 To xlApp.Worksheets.Count
  296. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  297. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  298. xlSheet.Activate()
  299. Exit For
  300. End If
  301. Next
  302. Dim my_no As String = "CPRK0"
  303. Dim yy As Integer = 1
  304. Dim x As Integer = 0
  305. 'sql = "" ''----下鼓
  306. 'Dim dt_out As DataTable
  307. 'cmd.CommandText = sql
  308. 'dt_out = New DataTable
  309. 'da.SelectCommand = cmd
  310. 'da.Fill(dt_out)
  311. Dim my_total_no As Integer = 0
  312. Dim dt_retan As New DataTable
  313. sql = "SELECT date FROM RT_RETAN_RECORD_D
  314. WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  315. cmd.CommandText = sql
  316. da.SelectCommand = cmd
  317. da.Fill(dt_retan)
  318. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  319. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  320. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  321. xlSheet.Cells(x + 2, 3) = "'郑笔成"
  322. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  323. xlSheet.Cells(x + 2, 5) = "'zhang"
  324. xlSheet.Cells(x + 2, 6) = "'1"
  325. xlSheet.Cells(x + 2, 7) = "'2"
  326. xlSheet.Cells(x + 2, 8) = "'165701"
  327. 'If x = 1 Or x = 2 Then
  328. ' xlSheet.Cells(x + 2, 9) = "'607-R"
  329. ' xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  330. 'Else
  331. xlSheet.Cells(x + 2, 9) = "'621-R"
  332. xlSheet.Cells(x + 2, 10) = "'染色-R"
  333. 'End If
  334. xlSheet.Cells(x + 2, 11) = "'103"
  335. xlSheet.Cells(x + 2, 12) = "'曾添梅"
  336. xlSheet.Cells(x + 2, 13) = "'103"
  337. xlSheet.Cells(x + 2, 14) = "'曾添梅"
  338. xlSheet.Cells(x + 2, 15) = "'85"
  339. For i = 1 To xlApp.Worksheets.Count
  340. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  341. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  342. xlSheet2.Activate()
  343. Exit For
  344. End If
  345. Next
  346. sql = "SELECT top(100) percent CARD as 卡号, card2 as 卡号1,鼓号, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本 FROM (SELECT TOP (100) PERCENT p.CARD,p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') and p.source not like '%美国%' THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层'WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' wHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when header is null and source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep,case when header is null then '中鼓' else '大鼓' end as 鼓号 FROM RT_RETAN_RECORD_D WHERE date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1 GROUP BY p.type, p.CARD, p.CARD1,p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT ) AS s GROUP BY CARD, card2, 类别, type, 下鼓重, 鼓号, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 代码"
  347. Dim sql1 As String
  348. Dim my_type As String
  349. Dim serial As Integer = 1
  350. For xx As Integer = 1 To 6
  351. Select Case xx
  352. Case 1
  353. sql1 = sql + " having (avg(挑级仓出库重)) is not null and type =N'打底' and source not like N'%干%' "
  354. my_type = "--蓝皮下鼓--"
  355. sql1 = "SELECT zz.卡号, zz.卡号1, zz.鼓号, zz.类别, zz.类别1, zz.下鼓重, zz.单价, zz.code, zz.选级, zz.出库卡, zz.客户, zz.颜色, zz.皮源, zz.日期, zz.厚度, zz.技术员, zz.皮源1, zz.代码, zz.出库重, zz.化工成本, rt_TM240630.weight FROM (" + sql1 + ") AS zz LEFT OUTER JOIN (select date,card,weight,commentd from rt_TM240630 AS rt_TM240630_1 where date='2024/8/31') as rt_tm240630 ON zz.卡号 = rt_tm240630.card WHERE (rt_tm240630.weight IS NULL)"
  356. Case 2
  357. sql1 = sql + " having (source like N'%干%' or source like N'%蓝皮完%' ) and (source not like N'%C级%') and (type<>N'回鼓') order by date"
  358. my_type = "--改色--"
  359. Case 3
  360. sql1 = sql + " having (type=N'套染' or source like N'%C级%') and (source not like N'%brf%') order by date"
  361. my_type = "--套染--"
  362. Case 4
  363. sql1 = sql + " having type='回鼓' order by date"
  364. my_type = "--回鼓--"
  365. Case 5
  366. sql1 = sql + " having (avg(挑级仓出库重) is null) and 类别<>'其他' and type=N'打底' and source not like N'%干%' and source not like N'%brf%' order by date "
  367. my_type = "--蓝皮下鼓无对应--"
  368. Case 6
  369. sql1 = "SELECT zz.卡号, zz.卡号1, zz.鼓号, zz.类别, zz.类别1, zz.下鼓重, zz.单价, zz.code, zz.选级, zz.出库卡, zz.客户, zz.颜色, zz.皮源, zz.日期, zz.厚度, zz.技术员, zz.皮源1, zz.代码, zz.出库重, zz.化工成本, rt_TM240630.weight FROM (" + sql1 + ") AS zz LEFT OUTER JOIN (select date,card,weight,commentd from rt_TM240630 AS rt_TM240630_1 where date='2024/9/30') as rt_tm240630 ON zz.卡号 = rt_tm240630.card WHERE (rt_tm240630.commentD LIKE N'%鼓中%')"
  370. my_type = "--蓝皮下鼓(鼓中)--"
  371. End Select
  372. dt2 = New DataTable
  373. cmd.CommandText = sql1
  374. da.SelectCommand = cmd
  375. da.Fill(dt2)
  376. For y = 0 To dt2.Rows.Count - 1
  377. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  378. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & bb
  379. ' xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  380. If my_type = "--回鼓--" Then
  381. If dt2.Rows(y).Item("出库重") = 0 Then
  382. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  383. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  384. Else
  385. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  386. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  387. End If
  388. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  389. If dt2.Rows(y).Item("类别") = "反毛" Then
  390. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  391. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  392. Else
  393. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  394. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  395. End If
  396. ElseIf my_type = "--改色--" Then
  397. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  398. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  399. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  400. If dt2.Rows(y).Item("类别") = "反毛" Then
  401. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  402. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  403. Else
  404. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  405. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  406. End If
  407. ElseIf my_type = "--套染--" Then
  408. If dt2.Rows(y).Item("出库重") = 0 Then
  409. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  410. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  411. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  412. Else
  413. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  414. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  415. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  416. End If
  417. If dt2.Rows(y).Item("类别") = "反毛" Then
  418. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  419. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  420. Else
  421. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  422. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  423. End If
  424. ElseIf my_type = "--蓝皮下鼓--" Then
  425. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  426. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  427. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  428. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  429. If dt2.Rows(y).Item("类别") = "反毛" Then
  430. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  431. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  432. Else
  433. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  434. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  435. End If
  436. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  437. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  438. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  439. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  440. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  441. If dt2.Rows(y).Item("类别") = "反毛" Then
  442. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  443. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  444. Else
  445. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  446. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  447. End If
  448. End If
  449. xlSheet2.Cells(yy + 1 + y, 18) = dt2.Rows(y).Item("鼓号") & my_type '备注
  450. ' xlSheet2.Cells(yy + 1 + y, 22) = dt2.Rows(y).Item("日期")
  451. Select Case xx
  452. Case 1
  453. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  454. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  455. xlSheet.Cells(x + 2, 9) = "'607-R"
  456. xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  457. Case 2
  458. xlSheet2.Cells(yy + 1 + y, 25) = "'313"
  459. xlSheet2.Cells(yy + 1 + y, 26) = "涂饰在制品" '皮胚改色
  460. xlSheet.Cells(x + 2, 9) = "'621-R"
  461. xlSheet.Cells(x + 2, 10) = "'染色-R"
  462. 'xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  463. 'xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  464. Case 3
  465. xlSheet2.Cells(yy + 1 + y, 25) = "'313"
  466. xlSheet2.Cells(yy + 1 + y, 26) = "涂饰在制品" '套染
  467. xlSheet.Cells(x + 2, 9) = "'621-R"
  468. xlSheet.Cells(x + 2, 10) = "'染色-R"
  469. Case 4
  470. xlSheet2.Cells(yy + 1 + y, 25) = "'313"
  471. xlSheet2.Cells(yy + 1 + y, 26) = "涂饰在制品" '回鼓
  472. xlSheet.Cells(x + 2, 9) = "'621-R"
  473. xlSheet.Cells(x + 2, 10) = "'染色-R"
  474. Case 5
  475. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  476. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  477. xlSheet.Cells(x + 2, 9) = "'607-R"
  478. xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  479. 'Case 6
  480. ' xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.08"
  481. ' xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/合鼓中和"
  482. End Select
  483. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  484. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("客户")
  485. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("技术员")
  486. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("皮源")
  487. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("颜色")
  488. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  489. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("卡号")
  490. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  491. xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  492. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("出库卡")
  493. my_total_no = yy + 1 + y
  494. serial = serial + 1
  495. Next
  496. yy = yy + dt2.Rows.Count
  497. aa = aa + 1
  498. my_x = my_x + 1
  499. Next
  500. bb = bb + 1
  501. Next
  502. xlSheet2.Range("A2:A" & xlSheet2.UsedRange.Rows.Count).FillDown()
  503. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  504. xlSheet2.Range("D2:D" & xlSheet2.UsedRange.Rows.Count).FillDown()
  505. xlSheet2.Range("I2:I" & xlSheet2.UsedRange.Rows.Count).FillDown()
  506. xlSheet2.Range("J2:J" & xlSheet2.UsedRange.Rows.Count).FillDown()
  507. xlSheet2.Range("L2:L" & xlSheet2.UsedRange.Rows.Count).FillDown()
  508. xlSheet2.Range("M2:M" & xlSheet2.UsedRange.Rows.Count).FillDown()
  509. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  510. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  511. xlSheet2.Range("G:M").EntireColumn.Hidden = True
  512. xlSheet2.Range("T:X").EntireColumn.Hidden = True
  513. xlSheet2.Range("AB:AK").EntireColumn.Hidden = True
  514. PTCache = xlBook.PivotCaches.Add _
  515. (SourceType:=Microsoft.Office.Interop.Excel.XlPivotTableSourceType.xlDatabase,
  516. SourceData:=xlSheet2.Range("a1:au" & xlSheet2.UsedRange.Rows.Count).CurrentRegion.Address)
  517. PT = PTCache.CreatePivotTable _
  518. (TableDestination:=xlSheet2.Cells(2, 51),
  519. TableName:="PivotTable1")
  520. With PT
  521. '.PivotFields("批号").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlColumnField
  522. .PivotFields("批号").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlRowField
  523. .PivotFields("实收数量").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlDataField
  524. End With
  525. xlSheet2.PivotTables("PivotTable1").TableStyle2 = "PivotStyleMedium9"
  526. '----------------
  527. PT = PTCache.CreatePivotTable(TableDestination:=xlSheet2.Cells(2, 54),
  528. TableName:="PivotTable2")
  529. With PT
  530. '.PivotFields("批号").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlColumnField
  531. .PivotFields("备注").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlRowField
  532. .PivotFields("实收数量").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlDataField
  533. End With
  534. xlSheet2.PivotTables("PivotTable2").TableStyle2 = "PivotStyleMedium9"
  535. '----------------
  536. PT = PTCache.CreatePivotTable(TableDestination:=xlSheet2.Cells(2, 57),
  537. TableName:="PivotTable3")
  538. With PT
  539. '.PivotFields("批号").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlColumnField
  540. .PivotFields("收货仓库_FName").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlRowField
  541. .PivotFields("实收数量").Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlDataField
  542. End With
  543. xlSheet2.PivotTables("PivotTable3").TableStyle2 = "PivotStyleMedium9"
  544. MsgBox("")
  545. End Sub
  546. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  547. Dim aa As String
  548. Dim bb As String
  549. Dim my_card As String = ""
  550. Dim my_date As Date
  551. aa = TextBox9.Text
  552. bb = aa
  553. If aa = "" Then
  554. MsgBox("请输入起始单号")
  555. Exit Sub
  556. End If
  557. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  558. Dim xlApp1 As Microsoft.Office.Interop.Excel.Application
  559. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  560. Dim xlBook1 As Microsoft.Office.Interop.Excel.Workbook
  561. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  562. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  563. Dim xlSheet_1 As Microsoft.Office.Interop.Excel.Worksheet
  564. Dim xlSheet2_2 As Microsoft.Office.Interop.Excel.Worksheet
  565. Dim file_name As String = ""
  566. Dim file_name1 As String = ""
  567. Dim my_weight As Double = 0
  568. Dim a As Integer = 0
  569. Dim my_count As Integer = 0
  570. Dim my_x As Integer = 0
  571. xlApp = CreateObject("Excel.Application")
  572. xlApp.Visible = True
  573. xlApp.DisplayAlerts = False
  574. xlApp1 = CreateObject("Excel.Application")
  575. xlApp1.Visible = True
  576. xlApp1.DisplayAlerts = False
  577. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\水场出库.xls",, True)
  578. xlBook.Activate()
  579. Dim dt2 As New DataTable
  580. For i = 1 To xlApp.Worksheets.Count
  581. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  582. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  583. xlSheet.Activate()
  584. Exit For
  585. End If
  586. Next
  587. Dim my_no As String = "SCLL0"
  588. Dim yy As Integer = 1
  589. Dim x As Integer = 0
  590. Dim my_total_no As Integer = 0
  591. Dim dt_retan As New DataTable
  592. sql = "SELECT date FROM RT_RETAN_RECORD_D
  593. WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  594. cmd.CommandText = sql
  595. da.SelectCommand = cmd
  596. da.Fill(dt_retan)
  597. Dim final_no As Integer
  598. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  599. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  600. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  601. xlSheet.Cells(x + 2, 3) = "'曾添梅"
  602. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  603. xlSheet.Cells(x + 2, 5) = "'zhang"
  604. xlSheet.Cells(x + 2, 6) = "'1"
  605. xlSheet.Cells(x + 2, 7) = "'2"
  606. xlSheet.Cells(x + 2, 8) = "'165701"
  607. xlSheet.Cells(x + 2, 9) = "'622-R"
  608. xlSheet.Cells(x + 2, 10) = "'煎板、真空、挤水-R"
  609. xlSheet.Cells(x + 2, 12) = "'103"
  610. xlSheet.Cells(x + 2, 13) = "'曾添梅"
  611. xlSheet.Cells(x + 2, 14) = "'103"
  612. xlSheet.Cells(x + 2, 15) = "'曾添梅"
  613. ' xlSheet.Cells(x + 2, 15) = "'85"
  614. For i = 1 To xlApp.Worksheets.Count
  615. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  616. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  617. xlSheet2.Activate()
  618. Exit For
  619. End If
  620. Next
  621. sql = "SELECT CARD as 卡号, card2 as 卡号1,鼓号, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本 FROM (SELECT TOP (100) PERCENT p.CARD,p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') and p.source not like '%美国%' THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' OR p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' wHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when header is null and source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep,case when header is null then '中鼓' else '大鼓' end as '鼓号' FROM RT_RETAN_RECORD_D WHERE date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  622. GROUP BY p.type, p.CARD, p.CARD1,p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT ) AS s GROUP BY CARD, card2, 类别, type, 下鼓重, 鼓号, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 代码"
  623. Dim sql1 As String
  624. Dim my_type As String
  625. Dim serial As Integer = 1
  626. For xx As Integer = 1 To 5
  627. Select Case xx
  628. Case 1
  629. sql1 = "SELECT y.卡号, y.鼓号, y.类别, y.类别1, y.生产重, y.下鼓重, y.单价, y.code, y.选级, y.出库卡, y.客户, y.颜色, y.皮源, y.日期, y.date_buff, y.厚度, y.技术员, y.皮源1, y.代码,
  630. y.出库重, y.化工成本, rt_TM240731.card
  631. FROM (SELECT s.CARD AS 卡号, s.鼓号, s.类别, s.type AS 类别1, CASE WHEN AVG(下鼓重) IS NULL THEN AVG(挑级仓出库重) ELSE AVG(下鼓重) END AS 生产重,
  632. CAST(AVG(s.下鼓重) AS numeric(10, 1)) AS 下鼓重, CAST(AVG(s.price) AS numeric(10, 2)) AS 单价, s.code, s.选级, s.card_shaving AS 出库卡,
  633. s.CUST AS 客户, s.COLOR AS 颜色, s.source AS 皮源, s.DATE AS 日期, zz.date_buff, s.厚度, s.dd AS 技术员, s.皮源1, s.代码,
  634. CASE WHEN AVG(挑级仓出库重) IS NULL THEN 0 ELSE AVG(挑级仓出库重) END AS 出库重, SUM(s.chem) AS 化工成本
  635. FROM (SELECT TOP (100) PERCENT p.CARD, p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4,
  636. 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1)
  637. = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2,
  638. CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  639. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  640. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  641. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR,
  642. p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码,
  643. CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  644. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  645. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  646. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  647. CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  648. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  649. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%'
  650. THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  651. p.source LIKE N'%bx%' OR
  652. p.source LIKE N'%南美%')
  653. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE
  654. N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN
  655. p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层'
  656. WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%'
  657. THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source
  658. LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层'
  659. WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1,
  660. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU'
  661. WHEN (p.source LIKE N'%巴西%' OR
  662. p.source LIKE N'%bx%' OR
  663. p.source LIKE N'%南美%')
  664. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source LIKE N'%西班牙%' THEN
  665. N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE'
  666. WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN
  667. p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source
  668. LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE
  669. N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重,
  670. CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重,
  671. RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  672. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  673. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  674. FROM RT_SYS_CHEM_OUT INNER JOIN
  675. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  676. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4,
  677. source, TOTAL, class, type, DATE1, CASE WHEN header IS NULL AND
  678. source LIKE N'%干%' THEN WEIGHT * 1.7 - w2 - w3 - w4 ELSE WEIGHT - w2 - w3 - w4 END AS WEIGHT, P, COMa, COMb, COMc, dd,
  679. ee, ff, gg, hh, Dep, CASE WHEN header IS NULL THEN '中鼓' ELSE '大鼓' END AS 鼓号
  680. FROM RT_RETAN_RECORD_D
  681. WHERE (date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "')) as p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  682. rt_wetblue_name RIGHT OUTER JOIN
  683. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  684. GROUP BY p.type, p.CARD, p.CARD1, p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name,
  685. rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd,
  686. RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT) AS s LEFT OUTER JOIN
  687. (SELECT card AS card_buff, MIN(date) AS date_buff
  688. FROM Rt_buff_daily GROUP BY card) AS zz ON s.CARD = zz.card_buff
  689. GROUP BY s.CARD, s.card2, s.类别, s.type, s.下鼓重, s.鼓号, s.code, s.选级, s.card1, s.card_shaving, s.CUST, s.COLOR, s.source, s.编码, s.皮源, s.DATE, s.厚度,
  690. s.dd, s.备注, s.皮源1, s.代码, zz.date_buff
  691. HAVING (zz.date_buff IS NOT NULL) AND (AVG(s.挑级仓出库重) IS NOT NULL) AND (s.type = N'打底') AND (s.source NOT LIKE N'%干%')) AS y LEFT OUTER JOIN rt_TM240731 ON y.卡号 = rt_TM240731.card WHERE (rt_TM240731.card IS NULL)"
  692. my_type = "--蓝皮下鼓(已磨皮)--"
  693. Case 2
  694. sql1 = sql + " having (source like N'%干%' or source like N'%蓝皮完%' ) and (source not like N'%A级%') and (source not like N'%B级%') and (source not like N'%C级%') and (type<>N'回鼓') and color not like N'黑色%' order by date"
  695. my_type = "--改色--"
  696. Case 3
  697. sql1 = sql + " having (type=N'套染' or source like N'%A级%' or source like N'%B级%' or source like N'%C级%') and (source not like N'%brf%') order by date"
  698. my_type = "--套染--"
  699. Case 4
  700. sql1 = sql + " having type='回鼓' order by date"
  701. my_type = "--回鼓--"
  702. Case 5
  703. sql1 = sql + " having (avg(挑级仓出库重) is null) and 类别<>'其他' and type=N'打底' and source not like N'%干%' and source not like N'%brf%' order by date "
  704. my_type = "--蓝皮下鼓无对应--"
  705. 'Case 6
  706. ' sql1 = sql + " having 类别=N'其他' order by date"
  707. ' my_type = "--合鼓--"
  708. End Select
  709. dt2 = New DataTable
  710. cmd.CommandText = sql1
  711. da.SelectCommand = cmd
  712. da.Fill(dt2)
  713. For y = 0 To dt2.Rows.Count - 1
  714. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  715. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & bb
  716. 'xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  717. 'xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  718. ' xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  719. If my_type = "--回鼓--" Then
  720. If dt2.Rows(y).Item("类别") = "反毛" Then
  721. xlSheet2.Cells(yy + 1 + y, 6) = "'313.FM"
  722. xlSheet2.Cells(yy + 1 + y, 7) = "'二层皮"
  723. Else
  724. xlSheet2.Cells(yy + 1 + y, 6) = "'313.PU"
  725. xlSheet2.Cells(yy + 1 + y, 7) = "'贴膜皮"
  726. End If
  727. xlSheet2.Cells(yy + 1 + y, 23) = "'313 " & dt2.Rows(y).Item("皮源1") '批号
  728. If dt2.Rows(y).Item("出库重") = 0 Then
  729. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  730. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  731. Else
  732. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  733. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  734. End If
  735. ElseIf my_type = "--改色--" Then
  736. If dt2.Rows(y).Item("类别") = "反毛" Then
  737. xlSheet2.Cells(yy + 1 + y, 6) = "'313.FM"
  738. xlSheet2.Cells(yy + 1 + y, 7) = "'二层皮"
  739. Else
  740. xlSheet2.Cells(yy + 1 + y, 6) = "'313.PU"
  741. xlSheet2.Cells(yy + 1 + y, 7) = "'贴膜皮"
  742. End If
  743. xlSheet2.Cells(yy + 1 + y, 23) = "'313 " & dt2.Rows(y).Item("皮源1") '批号
  744. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  745. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  746. ElseIf my_type = "--套染--" Then
  747. If dt2.Rows(y).Item("类别") = "反毛" Then
  748. xlSheet2.Cells(yy + 1 + y, 6) = "'313.FM"
  749. xlSheet2.Cells(yy + 1 + y, 7) = "'二层皮"
  750. Else
  751. xlSheet2.Cells(yy + 1 + y, 6) = "'313.PU"
  752. xlSheet2.Cells(yy + 1 + y, 7) = "'贴膜皮"
  753. End If
  754. xlSheet2.Cells(yy + 1 + y, 23) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  755. If dt2.Rows(y).Item("出库重") = 0 Then
  756. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  757. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  758. Else
  759. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  760. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  761. End If
  762. ElseIf my_type = "--蓝皮下鼓(已磨皮)--" Then
  763. If dt2.Rows(y).Item("类别") = "反毛" Then
  764. xlSheet2.Cells(yy + 1 + y, 6) = "'313.FM"
  765. xlSheet2.Cells(yy + 1 + y, 7) = "'二层皮"
  766. Else
  767. xlSheet2.Cells(yy + 1 + y, 6) = "'313.PU"
  768. xlSheet2.Cells(yy + 1 + y, 7) = "'贴膜皮"
  769. End If
  770. xlSheet2.Cells(yy + 1 + y, 23) = "'313 " & dt2.Rows(y).Item("皮源1") '批号
  771. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  772. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  773. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  774. If dt2.Rows(y).Item("类别") = "反毛" Then
  775. xlSheet2.Cells(yy + 1 + y, 6) = "'313.FM"
  776. xlSheet2.Cells(yy + 1 + y, 7) = "二层皮"
  777. Else
  778. xlSheet2.Cells(yy + 1 + y, 6) = "'313.PU"
  779. xlSheet2.Cells(yy + 1 + y, 7) = "贴膜皮"
  780. End If
  781. xlSheet2.Cells(yy + 1 + y, 23) = "'313 " & dt2.Rows(y).Item("皮源1") '批号
  782. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  783. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  784. End If
  785. xlSheet2.Cells(yy + 1 + y, 28) = "'--" & dt2.Rows(y).Item("日期") & " 磨皮--"
  786. xlSheet2.Cells(yy + 1 + y, 55) = dt2.Rows(y).Item("鼓号") & my_type '备注
  787. ' xlSheet2.Cells(yy + 1 + y, 32) = dt2.Rows(y).Item("日期")
  788. Select Case xx
  789. Case 1
  790. xlSheet2.Cells(yy + 1 + y, 35) = "'213A-R.01"
  791. xlSheet2.Cells(yy + 1 + y, 36) = "'染色仓/蓝皮下鼓"
  792. Case 2
  793. xlSheet2.Cells(yy + 1 + y, 35) = "'213A-R.04"
  794. xlSheet2.Cells(yy + 1 + y, 36) = "'染色仓/皮胚改色"
  795. 'xlSheet.Cells(x + 2, 9) = "'621-R"
  796. 'xlSheet.Cells(x + 2, 10) = "'染色-R"
  797. 'xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  798. 'xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  799. Case 3
  800. xlSheet2.Cells(yy + 1 + y, 35) = "'213A-R.02"
  801. xlSheet2.Cells(yy + 1 + y, 36) = "'染色仓/皮胚套染"
  802. 'xlSheet.Cells(x + 2, 9) = "'621-R"
  803. 'xlSheet.Cells(x + 2, 10) = "'染色-R"
  804. Case 4
  805. xlSheet2.Cells(yy + 1 + y, 35) = "'213A-R.03"
  806. xlSheet2.Cells(yy + 1 + y, 36) = "'染色仓/皮胚回鼓"
  807. 'xlSheet.Cells(x + 2, 9) = "'621-R"
  808. 'xlSheet.Cells(x + 2, 10) = "'染色-R"
  809. Case 5
  810. xlSheet2.Cells(yy + 1 + y, 35) = "'213A-R.01"
  811. xlSheet2.Cells(yy + 1 + y, 36) = "'染色仓/蓝皮下鼓"
  812. 'xlSheet.Cells(x + 2, 9) = "'607-R"
  813. 'xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  814. 'Case 6
  815. ' xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.08"
  816. ' xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/合鼓中和"
  817. End Select
  818. 'If dt_out.Rows(x).Item("type") = "打底" And IsDBNull(dt_out.Rows(x).Item("card_shaving")) And dt_out.Rows(x).Item("类别") <> "其他" Then
  819. 'ElseIf dt_out.Rows(x).Item("type") = "打底" And Not (IsDBNull(dt_out.Rows(x).Item("card_shaving"))) Then
  820. 'ElseIf dt_out.Rows(x).Item("type") = "套染" Then
  821. 'ElseIf dt_out.Rows(x).Item("type") = "回鼓" Or dt_out.Rows(x).Item("type") = "套色" Then
  822. 'ElseIf dt_out.Rows(x).Item("类别") = "其他" Then
  823. 'End If
  824. xlSheet2.Cells(yy + 1 + y, 53) = dt2.Rows(y).Item("类别")
  825. xlSheet2.Cells(yy + 1 + y, 52) = "'" & dt2.Rows(y).Item("客户")
  826. ' xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("技术员")
  827. xlSheet2.Cells(yy + 1 + y, 54) = dt2.Rows(y).Item("皮源")
  828. xlSheet2.Cells(yy + 1 + y, 56) = dt2.Rows(y).Item("颜色")
  829. xlSheet2.Cells(yy + 1 + y, 57) = dt2.Rows(y).Item("厚度")
  830. xlSheet2.Cells(yy + 1 + y, 58) = dt2.Rows(y).Item("卡号")
  831. xlSheet2.Cells(yy + 1 + y, 61) = dt2.Rows(y).Item("选级")
  832. ' xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  833. xlSheet2.Cells(yy + 1 + y, 60) = dt2.Rows(y).Item("出库卡")
  834. my_total_no = yy + 1 + y
  835. serial = serial + 1
  836. Next
  837. yy = yy + dt2.Rows.Count
  838. aa = aa + 1
  839. my_x = my_x + 1
  840. Next
  841. bb = bb + 1
  842. final_no = x
  843. Next
  844. sql = "SELECT TOP (200) rt_TM240630.date, rt_TM240630.no, rt_TM240630.card, rt_TM240630.type, rt_TM240630.word, rt_TM240630.cust, rt_TM240630.color,
  845. rt_TM240630.weight_ini, rt_TM240630.tech, rt_TM240630.source, rt_TM240630.thick, rt_TM240630.word1, CAST(rt_TM240630.weight / 2 AS numeric(10, 1))
  846. AS weight, rt_TM240630.commentB, rt_TM240630.commentC, rt_TM240630.commentD, rt_TM240630.commentE, rt_TM240630.serial, rt_TM240630.comment,
  847. rt_TM240630.source1, rt_TM240630.code, z.date_buff,CASE WHEN rt_tm240630.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN rt_tm240630.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN rt_tm240630.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (rt_tm240630.source LIKE N'%巴西%' OR rt_tm240630.source LIKE N'%bx%' or rt_tm240630.source LIKE N'%南美%') THEN N'巴西 二层' WHEN rt_tm240630.source LIKE N'%智利%' THEN N'智利 二层' WHEN rt_tm240630.source LIKE N'%德国%' THEN N'德国 二层' WHEN rt_tm240630.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN rt_tm240630.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN rt_tm240630.source LIKE N'%法国%' THEN N'法国 二层' WHEN rt_tm240630.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN rt_tm240630.source LIKE N'%APP%' THEN N'美国 二层' WHEN rt_tm240630.source LIKE N'%日本%' THEN N'日本 二层' WHEN rt_tm240630.source LIKE N'%美国%' THEN N'美国 二层' WHEN rt_tm240630.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN rt_tm240630.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN rt_tm240630.source LIKE N'%英国%' THEN N'英国 二层' WHEN rt_tm240630.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN rt_tm240630.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN rt_tm240630.source LIKE N'%南非%' THEN N'南非 二层' WHEN rt_tm240630.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN rt_tm240630.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源
  848. FROM rt_TM240630 LEFT OUTER JOIN
  849. (SELECT card AS card_buff, MIN(date) AS date_buff
  850. FROM Rt_buff_daily
  851. GROUP BY card) AS z ON rt_TM240630.card = z.card_buff
  852. WHERE (rt_TM240630.commentE LIKE N'%水场%') AND (z.date_buff < '2024/09/01') AND (z.date_buff > '2024/7/31') AND rt_TM240630.date = '2024/07/31'" '----240630期初
  853. dt = New DataTable
  854. cmd.CommandText = sql
  855. da.SelectCommand = cmd
  856. da.Fill(dt)
  857. Dim final_no1 As Integer
  858. final_no1 = final_no
  859. For dd As Integer = 0 To dt.Rows.Count - 1
  860. Dim serial1 As Integer = 1
  861. xlSheet.Cells(dd + final_no1 + 3, 1) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  862. xlSheet.Cells(dd + final_no1 + 3, 2) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  863. xlSheet.Cells(dd + final_no1 + 3, 3) = "'曾添梅"
  864. xlSheet.Cells(dd + final_no1 + 3, 4) = "'" & my_no & bb
  865. xlSheet.Cells(dd + final_no1 + 3, 5) = "'zhang"
  866. xlSheet.Cells(dd + final_no1 + 3, 6) = "'1"
  867. xlSheet.Cells(dd + final_no1 + 3, 7) = "'2"
  868. xlSheet.Cells(dd + final_no1 + 3, 8) = "'165701"
  869. xlSheet.Cells(dd + final_no1 + 3, 9) = "'622-R"
  870. xlSheet.Cells(dd + final_no1 + 3, 10) = "'煎板、真空、挤水-R"
  871. xlSheet.Cells(dd + final_no1 + 3, 12) = "'103"
  872. xlSheet.Cells(dd + final_no1 + 3, 13) = "'曾添梅"
  873. xlSheet.Cells(dd + final_no1 + 3, 14) = "'103"
  874. xlSheet.Cells(dd + final_no1 + 3, 15) = "'曾添梅"
  875. xlSheet2.Cells(yy + 1 + dd, 2) = "'" & serial1 '行号
  876. xlSheet2.Cells(yy + 1 + dd, 3) = "'" & my_no & bb
  877. If dt.Rows(dd).Item("type") = "反绒" Then
  878. xlSheet2.Cells(yy + 1 + dd, 6) = "313.FM"
  879. xlSheet2.Cells(yy + 1 + dd, 7) = "二层皮"
  880. xlSheet2.Cells(yy + 1 + dd, 23) = "313 " & dt.Rows(dd).Item("皮源") '批号
  881. Else
  882. xlSheet2.Cells(yy + 1 + dd, 6) = "313.PU"
  883. xlSheet2.Cells(yy + 1 + dd, 7) = "贴膜皮"
  884. xlSheet2.Cells(yy + 1 + dd, 23) = "313 " & dt.Rows(dd).Item("皮源") '批号
  885. End If
  886. xlSheet2.Cells(yy + 1 + dd, 24) = dt.Rows(dd).Item("weight")
  887. xlSheet2.Cells(yy + 1 + dd, 28) = "'-240731盘点-" & dt.Rows(dd).Item("date_buff") & " 磨皮--"
  888. xlSheet2.Cells(yy + 1 + dd, 32) = dt.Rows(dd).Item("date_buff")
  889. xlSheet2.Cells(yy + 1 + dd, 35) = "'213A-R.01"
  890. xlSheet2.Cells(yy + 1 + dd, 36) = "染色仓/蓝皮下鼓"
  891. xlSheet2.Cells(yy + 1 + dd, 53) = dt.Rows(dd).Item("type")
  892. xlSheet2.Cells(yy + 1 + dd, 52) = "'" & dt.Rows(dd).Item("cust")
  893. xlSheet2.Cells(yy + 1 + dd, 62) = dt.Rows(dd).Item("tech")
  894. xlSheet2.Cells(yy + 1 + dd, 54) = dt.Rows(dd).Item("source")
  895. xlSheet2.Cells(yy + 1 + dd, 56) = dt.Rows(dd).Item("color")
  896. xlSheet2.Cells(yy + 1 + dd, 57) = dt.Rows(dd).Item("thick")
  897. xlSheet2.Cells(yy + 1 + dd, 58) = dt.Rows(dd).Item("card")
  898. final_no += 1
  899. bb = bb + 1
  900. Next
  901. my_total_no = my_total_no + dt.Rows.Count
  902. 'For dd As Integer = 0 To dt.Rows.Count - 1
  903. xlSheet2.Range("A2:A" & my_total_no).FillDown()
  904. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  905. xlSheet2.Range("D2:D" & my_total_no).FillDown()
  906. xlSheet2.Range("I2:I" & my_total_no).FillDown()
  907. xlSheet2.Range("J2:J" & my_total_no).FillDown()
  908. xlSheet2.Range("K2:V" & my_total_no).FillDown()
  909. ' xlSheet.Range("A2:A" & final_no).FillDown()
  910. xlSheet.Range("R2:V" & final_no).FillDown()
  911. 'xlBook1 = xlApp.Workbooks.Open("D:\K3\k3表格模板\313涂饰在制品入库.xls",, True)
  912. 'xlBook1.Activate()
  913. 'For i = 1 To xlApp.Worksheets.Count
  914. ' If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  915. ' xlSheet = xlApp.Workbooks(1).Worksheets(i)
  916. ' xlSheet.Activate()
  917. ' Exit For
  918. ' End If
  919. 'Next
  920. MsgBox("")
  921. End Sub
  922. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  923. Dim aa As String
  924. Dim bb As String
  925. Dim my_card As String = ""
  926. Dim my_date As Date
  927. aa = TextBox12.Text
  928. bb = aa
  929. If aa = "" Then
  930. MsgBox("请输入起始单号")
  931. Exit Sub
  932. End If
  933. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  934. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  935. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  936. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  937. Dim file_name As String = ""
  938. Dim file_name1 As String = ""
  939. Dim my_weight As Double = 0
  940. Dim a As Integer = 0
  941. Dim my_count As Integer = 0
  942. Dim my_x As Integer = 0
  943. xlApp = CreateObject("Excel.Application")
  944. xlApp.Visible = True
  945. xlApp.DisplayAlerts = False
  946. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\313回鼓套染改色--入库.xls",, True)
  947. xlBook.Activate()
  948. Dim dt2 As New DataTable
  949. For i = 1 To xlApp.Worksheets.Count
  950. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  951. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  952. xlSheet.Activate()
  953. Exit For
  954. End If
  955. Next
  956. Dim my_no As String = "CPRK0"
  957. Dim yy As Integer = 1
  958. Dim x As Integer = 0
  959. 'sql = "" ''----下鼓
  960. 'Dim dt_out As DataTable
  961. 'cmd.CommandText = sql
  962. 'dt_out = New DataTable
  963. 'da.SelectCommand = cmd
  964. 'da.Fill(dt_out)
  965. Dim my_total_no As Integer = 0
  966. Dim dt_retan As New DataTable
  967. sql = "SELECT date FROM RT_RETAN_RECORD_D
  968. WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  969. cmd.CommandText = sql
  970. da.SelectCommand = cmd
  971. da.Fill(dt_retan)
  972. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  973. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  974. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  975. xlSheet.Cells(x + 2, 3) = "'曾添梅"
  976. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  977. xlSheet.Cells(x + 2, 5) = "'zhang"
  978. xlSheet.Cells(x + 2, 6) = "'1"
  979. xlSheet.Cells(x + 2, 7) = "'2"
  980. xlSheet.Cells(x + 2, 8) = "'165701"
  981. xlSheet.Cells(x + 2, 11) = "'103"
  982. xlSheet.Cells(x + 2, 12) = "'曾添梅"
  983. xlSheet.Cells(x + 2, 13) = "'103"
  984. xlSheet.Cells(x + 2, 14) = "'曾添梅"
  985. xlSheet.Cells(x + 2, 15) = "'85"
  986. For i = 1 To xlApp.Worksheets.Count
  987. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  988. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  989. xlSheet2.Activate()
  990. Exit For
  991. End If
  992. Next
  993. sql = "SELECT CARD as 卡号, card2 as 卡号1,鼓号, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本 FROM (SELECT TOP (100) PERCENT p.CARD,p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' OR p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' wHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when header is null and source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep,case when header is null then '中鼓' else '大鼓' end as 鼓号 FROM RT_RETAN_RECORD_D WHERE date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  994. GROUP BY p.type, p.CARD, p.CARD1,p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT ) AS s GROUP BY CARD, card2, 类别, type, 下鼓重, 鼓号, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 代码"
  995. Dim sql1 As String
  996. Dim my_type As String
  997. Dim serial As Integer = 1
  998. For xx As Integer = 1 To 5
  999. Select Case xx
  1000. Case 1
  1001. sql1 = ""
  1002. 'sql1 = sql + " having (avg(挑级仓出库重)) is not null and type =N'打底' order by date"
  1003. 'my_type = "--蓝皮下鼓--"
  1004. Case 2
  1005. sql1 = sql + " having (source like N'%干%' or source like N'%蓝皮完%' ) and (source not like N'%a级%') and (source not like N'%b级%') and (source not like N'%C级%') and (type<>N'回鼓') and NOT(color like N'黑色%' ) order by date"
  1006. my_type = "--改色--"
  1007. Case 3
  1008. sql1 = sql + " having (type=N'套染' or source like N'%A级%' or source like N'%B级%' or source like N'%C级%') and (source not like N'%brf%') order by date"
  1009. my_type = "--套染--"
  1010. Case 4
  1011. sql1 = sql + " having type='回鼓' order by date"
  1012. my_type = "--回鼓--"
  1013. Case 5
  1014. sql1 = ""
  1015. 'sql1 = sql + " having (avg(挑级仓出库重) is null) and 类别<>'其他' and type=N'打底' and source not like N'%干%' and source not like N'%brf%' order by date "
  1016. 'my_type = "--蓝皮下鼓无对应--"
  1017. 'Case 6
  1018. ' sql1 = sql + " having 类别=N'其他' order by date"
  1019. ' my_type = "--合鼓--"
  1020. End Select
  1021. cmd.Connection = conn
  1022. dt2 = New DataTable
  1023. cmd.CommandText = sql1
  1024. da.SelectCommand = cmd
  1025. If sql1 <> "" Then
  1026. da.Fill(dt2)
  1027. End If
  1028. For y = 0 To dt2.Rows.Count - 1
  1029. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  1030. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & bb
  1031. ' xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  1032. If my_type = "--回鼓--" Then
  1033. If dt2.Rows(y).Item("出库重") = 0 Then
  1034. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1035. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1036. Else
  1037. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  1038. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1039. End If
  1040. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1041. If dt2.Rows(y).Item("类别") = "反毛" Then
  1042. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1043. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1044. Else
  1045. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1046. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1047. End If
  1048. ElseIf my_type = "--改色--" Then
  1049. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1050. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1051. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1052. If dt2.Rows(y).Item("类别") = "反毛" Then
  1053. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1054. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1055. Else
  1056. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1057. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1058. End If
  1059. ElseIf my_type = "--套染--" Then
  1060. If dt2.Rows(y).Item("出库重") = 0 Then
  1061. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1062. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1063. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1064. Else
  1065. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  1066. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1067. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1068. End If
  1069. If dt2.Rows(y).Item("类别") = "反毛" Then
  1070. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1071. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1072. Else
  1073. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1074. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1075. End If
  1076. ElseIf my_type = "--蓝皮下鼓--" Then
  1077. 'xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  1078. 'xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1079. 'xlSheet2.Cells(yy + 1 + y, 17) = "112 " & dt2.Rows(y).Item("皮源1") '批号
  1080. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  1081. ' xlSheet2.Cells(yy + 1 + y, 5) = "112.FM"
  1082. ' xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1083. 'Else
  1084. ' xlSheet2.Cells(yy + 1 + y, 5) = "112.PU"
  1085. ' xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1086. 'End If
  1087. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  1088. 'xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1089. 'xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1090. 'xlSheet2.Cells(yy + 1 + y, 17) = "112 " & dt2.Rows(y).Item("皮源1") '批号
  1091. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  1092. ' xlSheet2.Cells(yy + 1 + y, 5) = "112.FM"
  1093. ' xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1094. 'Else
  1095. ' xlSheet2.Cells(yy + 1 + y, 5) = "112.PU"
  1096. ' xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1097. 'End If
  1098. End If
  1099. xlSheet2.Cells(yy + 1 + y, 18) = dt2.Rows(y).Item("鼓号") & my_type '备注
  1100. ' xlSheet2.Cells(yy + 1 + y, 22) = dt2.Rows(y).Item("日期")
  1101. xlSheet2.Cells(yy + 1 + y, 25) = "'313"
  1102. xlSheet2.Cells(yy + 1 + y, 26) = "涂饰在制品"
  1103. xlSheet.Cells(x + 2, 9) = "'621-R"
  1104. xlSheet.Cells(x + 2, 10) = "'染色-R"
  1105. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  1106. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("客户")
  1107. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("技术员")
  1108. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("皮源")
  1109. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("颜色")
  1110. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  1111. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("卡号")
  1112. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  1113. xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  1114. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("出库卡")
  1115. my_total_no = yy + 1 + y
  1116. serial = serial + 1
  1117. Next
  1118. yy = yy + dt2.Rows.Count
  1119. aa = aa + 1
  1120. my_x = my_x + 1
  1121. Next
  1122. bb = bb + 1
  1123. Next
  1124. xlSheet2.Range("A2:A" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1125. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  1126. xlSheet2.Range("D2:D" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1127. xlSheet2.Range("I2:I" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1128. xlSheet2.Range("J2:J" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1129. xlSheet2.Range("L2:L" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1130. xlSheet2.Range("M2:M" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1131. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  1132. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  1133. MsgBox("")
  1134. End Sub
  1135. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  1136. Dim aa As String
  1137. Dim bb As String
  1138. Dim my_card As String = ""
  1139. Dim my_date As Date
  1140. aa = TextBox10.Text
  1141. bb = aa
  1142. If aa = "" Then
  1143. MsgBox("请输入起始单号")
  1144. Exit Sub
  1145. End If
  1146. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  1147. Dim xlApp1 As Microsoft.Office.Interop.Excel.Application
  1148. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  1149. Dim xlBook1 As Microsoft.Office.Interop.Excel.Workbook
  1150. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  1151. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  1152. Dim xlSheet_1 As Microsoft.Office.Interop.Excel.Worksheet
  1153. Dim xlSheet2_2 As Microsoft.Office.Interop.Excel.Worksheet
  1154. Dim file_name As String = ""
  1155. Dim file_name1 As String = ""
  1156. Dim my_weight As Double = 0
  1157. Dim a As Integer = 0
  1158. Dim my_count As Integer = 0
  1159. Dim my_x As Integer = 0
  1160. xlApp = CreateObject("Excel.Application")
  1161. xlApp.Visible = True
  1162. xlApp.DisplayAlerts = False
  1163. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\313回套改--出库.xls",, True)
  1164. xlBook.Activate()
  1165. Dim dt2 As New DataTable
  1166. For i = 1 To xlApp.Worksheets.Count
  1167. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  1168. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  1169. xlSheet.Activate()
  1170. Exit For
  1171. End If
  1172. Next
  1173. Dim my_no As String = "SCLL0"
  1174. Dim yy As Integer = 1
  1175. Dim x As Integer = 0
  1176. Dim my_total_no As Integer = 0
  1177. Dim dt_retan As New DataTable
  1178. sql = "SELECT date FROM RT_RETAN_RECORD_D WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  1179. cmd.CommandText = sql
  1180. da.SelectCommand = cmd
  1181. da.Fill(dt_retan)
  1182. Dim final_no As Integer
  1183. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  1184. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  1185. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  1186. xlSheet.Cells(x + 2, 3) = "'曾添梅"
  1187. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  1188. xlSheet.Cells(x + 2, 5) = "'zhang"
  1189. xlSheet.Cells(x + 2, 6) = "'1"
  1190. xlSheet.Cells(x + 2, 7) = "'2"
  1191. xlSheet.Cells(x + 2, 8) = "'165701"
  1192. xlSheet.Cells(x + 2, 9) = "'621-R"
  1193. xlSheet.Cells(x + 2, 10) = "'染色-R"
  1194. xlSheet.Cells(x + 2, 12) = "'103"
  1195. xlSheet.Cells(x + 2, 13) = "'曾添梅"
  1196. xlSheet.Cells(x + 2, 14) = "'103"
  1197. xlSheet.Cells(x + 2, 15) = "'曾添梅"
  1198. ' xlSheet.Cells(x + 2, 15) = "'85"
  1199. For i = 1 To xlApp.Worksheets.Count
  1200. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  1201. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  1202. xlSheet2.Activate()
  1203. Exit For
  1204. End If
  1205. Next
  1206. sql = "SELECT CARD as 卡号, card2 as 卡号1,鼓号, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本 FROM (SELECT TOP (100) PERCENT p.CARD,p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' OR p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' wHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when header is null and source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep,case when header is null then '中鼓' else '大鼓' end as 鼓号 FROM RT_RETAN_RECORD_D WHERE date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  1207. GROUP BY p.type, p.CARD, p.CARD1,p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT ) AS s GROUP BY CARD, card2, 类别, type, 下鼓重, 鼓号, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 代码"
  1208. Dim sql1 As String
  1209. Dim my_type As String
  1210. Dim serial As Integer = 1
  1211. For xx As Integer = 1 To 5
  1212. Select Case xx
  1213. Case 1
  1214. sql1 = ""
  1215. Case 2
  1216. sql1 = sql + " having (source like N'%干%' or source like N'%蓝皮完%' ) and (source not like N'%a级%') and (source not like N'%b级%') and (source not like N'%C级%') and (type<>N'回鼓') and NOT(color like N'黑色%' ) order by date"
  1217. my_type = "--改色--"
  1218. Case 3
  1219. sql1 = sql + " having (type=N'套染' or source like N'%A级%' or source like N'%B级%' or source like N'%C级%') and (source not like N'%brf%') order by date"
  1220. my_type = "--套染--"
  1221. Case 4
  1222. sql1 = sql + " having type='回鼓' order by date"
  1223. my_type = "--回鼓--"
  1224. Case 5
  1225. sql1 = ""
  1226. End Select
  1227. cmd.Connection = conn
  1228. dt2 = New DataTable
  1229. cmd.CommandText = sql1
  1230. da.SelectCommand = cmd
  1231. If sql1 <> "" Then
  1232. da.Fill(dt2)
  1233. End If
  1234. For y = 0 To dt2.Rows.Count - 1
  1235. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  1236. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & bb
  1237. 'xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  1238. 'xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  1239. ' xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  1240. If my_type = "--回鼓--" Then
  1241. If dt2.Rows(y).Item("类别") = "反毛" Then
  1242. xlSheet2.Cells(yy + 1 + y, 6) = "313.FM"
  1243. xlSheet2.Cells(yy + 1 + y, 7) = "二层皮"
  1244. Else
  1245. xlSheet2.Cells(yy + 1 + y, 6) = "313.PU"
  1246. xlSheet2.Cells(yy + 1 + y, 7) = "贴膜皮"
  1247. End If
  1248. xlSheet2.Cells(yy + 1 + y, 23) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1249. If dt2.Rows(y).Item("出库重") = 0 Then
  1250. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  1251. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1252. Else
  1253. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  1254. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1255. End If
  1256. ElseIf my_type = "--改色--" Then
  1257. If dt2.Rows(y).Item("类别") = "反毛" Then
  1258. xlSheet2.Cells(yy + 1 + y, 6) = "313.FM"
  1259. xlSheet2.Cells(yy + 1 + y, 7) = "二层皮"
  1260. Else
  1261. xlSheet2.Cells(yy + 1 + y, 6) = "313.PU"
  1262. xlSheet2.Cells(yy + 1 + y, 7) = "贴膜皮"
  1263. End If
  1264. xlSheet2.Cells(yy + 1 + y, 23) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1265. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  1266. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1267. ElseIf my_type = "--套染--" Then
  1268. If dt2.Rows(y).Item("类别") = "反毛" Then
  1269. xlSheet2.Cells(yy + 1 + y, 6) = "313.FM"
  1270. xlSheet2.Cells(yy + 1 + y, 7) = "二层皮"
  1271. Else
  1272. xlSheet2.Cells(yy + 1 + y, 6) = "313.PU"
  1273. xlSheet2.Cells(yy + 1 + y, 7) = "贴膜皮"
  1274. End If
  1275. xlSheet2.Cells(yy + 1 + y, 23) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1276. If dt2.Rows(y).Item("出库重") = 0 Then
  1277. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  1278. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1279. Else
  1280. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  1281. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1282. End If
  1283. ElseIf my_type = "--蓝皮下鼓(已磨皮)--" Then
  1284. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  1285. ' xlSheet2.Cells(yy + 1 + y, 6) = "112.FM"
  1286. ' xlSheet2.Cells(yy + 1 + y, 7) = "二层皮"
  1287. 'Else
  1288. ' xlSheet2.Cells(yy + 1 + y, 6) = "112.PU"
  1289. ' xlSheet2.Cells(yy + 1 + y, 7) = "贴膜皮"
  1290. 'End If
  1291. 'xlSheet2.Cells(yy + 1 + y, 23) = "112 " & dt2.Rows(y).Item("皮源1") '批号
  1292. 'xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  1293. '' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1294. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  1295. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  1296. ' xlSheet2.Cells(yy + 1 + y, 6) = "112.FM"
  1297. ' xlSheet2.Cells(yy + 1 + y, 7) = "二层皮"
  1298. 'Else
  1299. ' xlSheet2.Cells(yy + 1 + y, 6) = "112.PU"
  1300. ' xlSheet2.Cells(yy + 1 + y, 7) = "贴膜皮"
  1301. 'End If
  1302. 'xlSheet2.Cells(yy + 1 + y, 23) = "112 " & dt2.Rows(y).Item("皮源1") '批号
  1303. 'xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  1304. '' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1305. End If
  1306. xlSheet2.Cells(yy + 1 + y, 28) = "'--" & dt2.Rows(y).Item("日期") & my_type
  1307. xlSheet2.Cells(yy + 1 + y, 55) = dt2.Rows(y).Item("鼓号") & my_type '备注
  1308. ' xlSheet2.Cells(yy + 1 + y, 32) = dt2.Rows(y).Item("日期")
  1309. xlSheet2.Cells(yy + 1 + y, 35) = "'313"
  1310. xlSheet2.Cells(yy + 1 + y, 36) = "涂饰在制品"
  1311. xlSheet2.Cells(yy + 1 + y, 53) = dt2.Rows(y).Item("类别")
  1312. xlSheet2.Cells(yy + 1 + y, 52) = "'" & dt2.Rows(y).Item("客户")
  1313. ' xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("技术员")
  1314. xlSheet2.Cells(yy + 1 + y, 54) = dt2.Rows(y).Item("皮源")
  1315. xlSheet2.Cells(yy + 1 + y, 56) = dt2.Rows(y).Item("颜色")
  1316. xlSheet2.Cells(yy + 1 + y, 57) = dt2.Rows(y).Item("厚度")
  1317. xlSheet2.Cells(yy + 1 + y, 58) = dt2.Rows(y).Item("卡号")
  1318. xlSheet2.Cells(yy + 1 + y, 61) = dt2.Rows(y).Item("选级")
  1319. ' xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  1320. xlSheet2.Cells(yy + 1 + y, 60) = dt2.Rows(y).Item("出库卡")
  1321. my_total_no = yy + 1 + y
  1322. serial = serial + 1
  1323. Next
  1324. yy = yy + dt2.Rows.Count
  1325. aa = aa + 1
  1326. my_x = my_x + 1
  1327. Next
  1328. bb = bb + 1
  1329. final_no = x
  1330. Next
  1331. sql = "SELECT rt_TM240630.date, rt_TM240630.no, rt_TM240630.card, rt_TM240630.type, rt_TM240630.word, rt_TM240630.cust, rt_TM240630.color,
  1332. rt_TM240630.weight_ini, rt_TM240630.tech, rt_TM240630.source, rt_TM240630.thick, rt_TM240630.word1, CAST(rt_TM240630.weight / 2 AS numeric(10, 1))
  1333. AS weight, rt_TM240630.commentB, rt_TM240630.commentC, rt_TM240630.commentD, rt_TM240630.commentE, rt_TM240630.serial, rt_TM240630.comment,CASE WHEN rt_tm240630.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN rt_tm240630.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN rt_tm240630.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (rt_tm240630.source LIKE N'%巴西%' OR rt_tm240630.source LIKE N'%bx%' or rt_tm240630.source LIKE N'%南美%') THEN N'巴西 二层' WHEN rt_tm240630.source LIKE N'%智利%' THEN N'智利 二层' WHEN rt_tm240630.source LIKE N'%德国%' THEN N'德国 二层' WHEN rt_tm240630.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN rt_tm240630.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN rt_tm240630.source LIKE N'%法国%' THEN N'法国 二层' WHEN rt_tm240630.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN rt_tm240630.source LIKE N'%APP%' THEN N'美国 二层' WHEN rt_tm240630.source LIKE N'%日本%' THEN N'日本 二层' WHEN rt_tm240630.source LIKE N'%美国%' THEN N'美国 二层' WHEN rt_tm240630.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN rt_tm240630.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN rt_tm240630.source LIKE N'%英国%' THEN N'英国 二层' WHEN rt_tm240630.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN rt_tm240630.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN rt_tm240630.source LIKE N'%南非%' THEN N'南非 二层' WHEN rt_tm240630.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN rt_tm240630.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源,
  1334. rt_TM240630.source1, rt_TM240630.code, z.date_buff
  1335. FROM rt_TM240630 LEFT OUTER JOIN
  1336. (SELECT card AS card_buff, MIN(date) AS date_buff
  1337. FROM Rt_buff_daily
  1338. GROUP BY card) AS z ON rt_TM240630.card = z.card_buff
  1339. WHERE (rt_TM240630.commentE LIKE N'%水场%' and rt_TM240630.date='2024/7/31') AND (z.date_buff < '2024/9/1') AND (z.date_buff > '2024/7/31')" '----240630期初
  1340. dt = New DataTable
  1341. cmd.CommandText = sql
  1342. da.SelectCommand = cmd
  1343. da.Fill(dt)
  1344. Dim final_no1 As Integer
  1345. final_no1 = final_no
  1346. For dd As Integer = 0 To dt.Rows.Count - 1
  1347. Dim serial1 As Integer = 1
  1348. xlSheet.Cells(dd + final_no1 + 3, 1) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  1349. xlSheet.Cells(dd + final_no1 + 3, 2) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  1350. xlSheet.Cells(dd + final_no1 + 3, 3) = "'曾添梅"
  1351. xlSheet.Cells(dd + final_no1 + 3, 4) = "'" & my_no & bb
  1352. xlSheet.Cells(dd + final_no1 + 3, 5) = "'zhang"
  1353. xlSheet.Cells(dd + final_no1 + 3, 6) = "'1"
  1354. xlSheet.Cells(dd + final_no1 + 3, 7) = "'2"
  1355. xlSheet.Cells(dd + final_no1 + 3, 8) = "'165701"
  1356. xlSheet.Cells(dd + final_no1 + 3, 9) = "'622-R"
  1357. xlSheet.Cells(dd + final_no1 + 3, 10) = "'煎板、真空、挤水-R"
  1358. xlSheet.Cells(dd + final_no1 + 3, 12) = "'103"
  1359. xlSheet.Cells(dd + final_no1 + 3, 13) = "'曾添梅"
  1360. xlSheet.Cells(dd + final_no1 + 3, 14) = "'103"
  1361. xlSheet.Cells(dd + final_no1 + 3, 15) = "'曾添梅"
  1362. xlSheet2.Cells(yy + 1 + dd, 2) = "'" & serial1 '行号
  1363. xlSheet2.Cells(yy + 1 + dd, 3) = "'" & my_no & bb
  1364. If dt.Rows(dd).Item("type") = "反绒" Then
  1365. xlSheet2.Cells(yy + 1 + dd, 6) = "313.FM"
  1366. xlSheet2.Cells(yy + 1 + dd, 7) = "二层皮"
  1367. xlSheet2.Cells(yy + 1 + dd, 23) = "313 " & dt.Rows(dd).Item("皮源") '批号
  1368. Else
  1369. xlSheet2.Cells(yy + 1 + dd, 6) = "313.PU"
  1370. xlSheet2.Cells(yy + 1 + dd, 7) = "贴膜皮"
  1371. xlSheet2.Cells(yy + 1 + dd, 23) = "313 " & dt.Rows(dd).Item("皮源") '批号
  1372. End If
  1373. xlSheet2.Cells(yy + 1 + dd, 24) = dt.Rows(dd).Item("weight")
  1374. xlSheet2.Cells(yy + 1 + dd, 28) = "'-240731盘点-" & dt.Rows(dd).Item("date_buff") & " 磨皮--"
  1375. ' xlSheet2.Cells(yy + 1 + dd, 47) = dt.Rows(dd).Item("date_buff")
  1376. xlSheet2.Cells(yy + 1 + dd, 35) = "'313"
  1377. xlSheet2.Cells(yy + 1 + dd, 36) = "'涂饰在制品"
  1378. xlSheet2.Cells(yy + 1 + dd, 53) = dt.Rows(dd).Item("type")
  1379. xlSheet2.Cells(yy + 1 + dd, 52) = "'" & dt.Rows(dd).Item("cust")
  1380. xlSheet2.Cells(yy + 1 + dd, 61) = dt.Rows(dd).Item("tech")
  1381. xlSheet2.Cells(yy + 1 + dd, 54) = dt.Rows(dd).Item("source")
  1382. xlSheet2.Cells(yy + 1 + dd, 56) = dt.Rows(dd).Item("color")
  1383. xlSheet2.Cells(yy + 1 + dd, 57) = dt.Rows(dd).Item("thick")
  1384. xlSheet2.Cells(yy + 1 + dd, 58) = dt.Rows(dd).Item("card")
  1385. final_no += 1
  1386. bb = bb + 1
  1387. Next
  1388. my_total_no = my_total_no + dt.Rows.Count
  1389. 'For dd As Integer = 0 To dt.Rows.Count - 1
  1390. xlSheet2.Range("A2:A" & my_total_no).FillDown()
  1391. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  1392. xlSheet2.Range("D2:D" & my_total_no).FillDown()
  1393. xlSheet2.Range("I2:I" & my_total_no).FillDown()
  1394. xlSheet2.Range("J2:J" & my_total_no).FillDown()
  1395. xlSheet2.Range("K2:V" & my_total_no).FillDown()
  1396. ' xlSheet.Range("A2:A" & final_no).FillDown()
  1397. xlSheet.Range("R2:V" & final_no).FillDown()
  1398. MsgBox("")
  1399. End Sub
  1400. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  1401. Dim aa As String
  1402. Dim bb As String
  1403. Dim my_card As String = ""
  1404. Dim my_date As Date
  1405. aa = TextBox11.Text
  1406. bb = aa
  1407. If aa = "" Then
  1408. MsgBox("请输入起始单号")
  1409. Exit Sub
  1410. End If
  1411. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  1412. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  1413. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  1414. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  1415. Dim file_name As String = ""
  1416. Dim file_name1 As String = ""
  1417. Dim my_weight As Double = 0
  1418. Dim a As Integer = 0
  1419. Dim my_count As Integer = 0
  1420. Dim my_x As Integer = 0
  1421. xlApp = CreateObject("Excel.Application")
  1422. xlApp.Visible = True
  1423. xlApp.DisplayAlerts = False
  1424. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\313入库(蓝皮下鼓及水场在制).xls",, True)
  1425. xlBook.Activate()
  1426. Dim dt2 As New DataTable
  1427. For i = 1 To xlApp.Worksheets.Count
  1428. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  1429. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  1430. xlSheet.Activate()
  1431. Exit For
  1432. End If
  1433. Next
  1434. Dim my_no As String = "CPRK0"
  1435. Dim yy As Integer = 1
  1436. Dim x As Integer = 0
  1437. 'sql = "" ''----下鼓
  1438. 'Dim dt_out As DataTable
  1439. 'cmd.CommandText = sql
  1440. 'dt_out = New DataTable
  1441. 'da.SelectCommand = cmd
  1442. 'da.Fill(dt_out)
  1443. Dim my_total_no As Integer = 0
  1444. Dim dt_retan As New DataTable
  1445. sql = "SELECT date FROM RT_RETAN_RECORD_D
  1446. WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  1447. cmd.CommandText = sql
  1448. da.SelectCommand = cmd
  1449. da.Fill(dt_retan)
  1450. Dim final_no As Integer
  1451. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  1452. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  1453. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  1454. xlSheet.Cells(x + 2, 3) = "'曾添梅"
  1455. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  1456. xlSheet.Cells(x + 2, 5) = "'zhang"
  1457. xlSheet.Cells(x + 2, 6) = "'1"
  1458. xlSheet.Cells(x + 2, 7) = "'2"
  1459. xlSheet.Cells(x + 2, 8) = "'165701"
  1460. 'If x = 1 Or x = 2 Then
  1461. ' xlSheet.Cells(x + 2, 9) = "'607-R"
  1462. ' xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  1463. 'Else
  1464. ' xlSheet.Cells(x + 2, 9) = "'621-R"
  1465. ' xlSheet.Cells(x + 2, 10) = "'染色-R"
  1466. 'End If
  1467. xlSheet.Cells(x + 2, 11) = "'103"
  1468. xlSheet.Cells(x + 2, 12) = "'曾添梅"
  1469. xlSheet.Cells(x + 2, 13) = "'103"
  1470. xlSheet.Cells(x + 2, 14) = "'曾添梅"
  1471. xlSheet.Cells(x + 2, 15) = "'85"
  1472. For i = 1 To xlApp.Worksheets.Count
  1473. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  1474. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  1475. xlSheet2.Activate()
  1476. Exit For
  1477. End If
  1478. Next
  1479. sql = "SELECT CARD as 卡号, card2 as 卡号1,鼓号, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本, cast(SUM(chem) / AVG(投鼓重) / 6 as numeric(10,2)) AS 每尺化工 FROM (SELECT TOP (100) PERCENT p.CARD,p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' wHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when header is null and source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep,case when header is null then '中鼓' else '大鼓' end as '鼓号' FROM RT_RETAN_RECORD_D WHERE date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  1480. GROUP BY p.type, p.CARD, p.CARD1,p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT ) AS s GROUP BY CARD, card2, 类别, type, 下鼓重, 鼓号, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 代码"
  1481. Dim sql1 As String
  1482. Dim my_type As String
  1483. Dim serial As Integer = 1
  1484. For xx As Integer = 1 To 5
  1485. Select Case xx
  1486. Case 1
  1487. sql1 = "SELECT y.卡号, y.鼓号, y.类别, y.类别1, y.生产重, y.下鼓重, y.单价, y.code, y.选级, y.出库卡, y.客户, y.颜色, y.皮源, y.日期, y.date_buff, y.厚度, y.技术员, y.皮源1, y.代码,
  1488. y.出库重, y.化工成本, y.每尺化工, rt_TM240630.card
  1489. FROM (SELECT s.CARD AS 卡号, s.鼓号, s.类别, s.type AS 类别1, CASE WHEN AVG(下鼓重) IS NULL THEN AVG(挑级仓出库重) ELSE AVG(下鼓重) END AS 生产重,
  1490. CAST(AVG(s.下鼓重) AS numeric(10, 1)) AS 下鼓重, CAST(AVG(s.price) AS numeric(10, 2)) AS 单价, s.code, s.选级, s.card_shaving AS 出库卡,
  1491. s.CUST AS 客户, s.COLOR AS 颜色, s.source AS 皮源, s.DATE AS 日期, zz.date_buff, s.厚度, s.dd AS 技术员, s.皮源1, s.代码,
  1492. CASE WHEN AVG(挑级仓出库重) IS NULL THEN 0 ELSE AVG(挑级仓出库重) END AS 出库重, SUM(s.chem) AS 化工成本, CAST(SUM(s.chem)
  1493. / AVG(s.投鼓重) / 6 AS numeric(10, 2)) AS 每尺化工
  1494. FROM (SELECT TOP (100) PERCENT p.CARD, p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4,
  1495. 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1)
  1496. = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2,
  1497. CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  1498. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  1499. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  1500. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR,
  1501. p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码,
  1502. CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  1503. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  1504. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  1505. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  1506. CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  1507. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  1508. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%'
  1509. THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  1510. p.source LIKE N'%bx%' OR
  1511. p.source LIKE N'%南美%')
  1512. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE
  1513. N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN
  1514. p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层'
  1515. WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%'
  1516. THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source
  1517. LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层'
  1518. WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1,
  1519. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU'
  1520. WHEN (p.source LIKE N'%巴西%' OR
  1521. p.source LIKE N'%bx%' OR
  1522. p.source LIKE N'%南美%')
  1523. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source LIKE N'%西班牙%' THEN
  1524. N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE'
  1525. WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN
  1526. p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source
  1527. LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE
  1528. N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重,
  1529. CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重,
  1530. RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  1531. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  1532. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  1533. FROM RT_SYS_CHEM_OUT INNER JOIN
  1534. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  1535. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4,
  1536. source, TOTAL, class, type, DATE1, CASE WHEN header IS NULL AND
  1537. source LIKE N'%干%' THEN WEIGHT * 1.7 - w2 - w3 - w4 ELSE WEIGHT - w2 - w3 - w4 END AS WEIGHT, P, COMa, COMb, COMc, dd,
  1538. ee, ff, gg, hh, Dep, CASE WHEN header IS NULL THEN '中鼓' ELSE '大鼓' END AS 鼓号
  1539. FROM RT_RETAN_RECORD_D
  1540. WHERE (date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "')) as p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  1541. rt_wetblue_name RIGHT OUTER JOIN
  1542. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  1543. GROUP BY p.type, p.CARD, p.CARD1, p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name,
  1544. rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd,
  1545. RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT) AS s LEFT OUTER JOIN
  1546. (SELECT card AS card_buff, MIN(date) AS date_buff
  1547. FROM Rt_buff_daily GROUP BY card) AS zz ON s.CARD = zz.card_buff
  1548. GROUP BY s.CARD, s.card2, s.类别, s.type, s.下鼓重, s.鼓号, s.code, s.选级, s.card1, s.card_shaving, s.CUST, s.COLOR, s.source, s.编码, s.皮源, s.DATE, s.厚度,
  1549. s.dd, s.备注, s.皮源1, s.代码, zz.date_buff
  1550. HAVING (zz.date_buff IS NOT NULL) AND (AVG(s.挑级仓出库重) IS NOT NULL) AND (s.type = N'打底') AND (s.source NOT LIKE N'%干%')) AS y LEFT OUTER JOIN (SELECT date, no, card, type, word, cust, color, weight_ini, tech, source, thick, word1, weight, commentB, commentC, commentD, commentE, serial,
  1551. comment, source1, code
  1552. FROM rt_TM240630 AS rt_TM240630_1
  1553. WHERE (date = '2024/07/31')) AS rt_tm240630 ON y.卡号 = rt_TM240630.card WHERE (rt_TM240630.card IS NULL)"
  1554. my_type = "--蓝皮下鼓--"
  1555. Case 2
  1556. sql1 = ""
  1557. 'sql1 = sql + " having (source like N'%干%' or source like N'%蓝皮完%' ) and (source not like N'%C级%') and (type<>N'回鼓') order by date"
  1558. 'my_type = "--改色--"
  1559. Case 3
  1560. sql1 = ""
  1561. 'sql1 = sql + " having (type=N'套染' or source like N'%C级%') and (source not like N'%brf%') order by date"
  1562. 'my_type = "--套染--"
  1563. Case 4
  1564. sql1 = ""
  1565. 'sql1 = sql + " having type='回鼓' order by date"
  1566. 'my_type = "--回鼓--"
  1567. Case 5
  1568. sql1 = sql + " having (avg(挑级仓出库重) is null) and 类别<>'其他' and type=N'打底' and source not like N'%干%' and source not like N'%brf%' order by date "
  1569. my_type = "--蓝皮下鼓无对应--"
  1570. 'Case 6
  1571. ' sql1 = sql + " having 类别=N'其他' order by date"
  1572. ' my_type = "--合鼓--"
  1573. End Select
  1574. dt2 = New DataTable
  1575. cmd.CommandText = sql1
  1576. da.SelectCommand = cmd
  1577. If sql1 <> "" Then
  1578. da.Fill(dt2)
  1579. End If
  1580. For y = 0 To dt2.Rows.Count - 1
  1581. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  1582. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & bb
  1583. ' xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  1584. If my_type = "--回鼓--" Then
  1585. 'If dt2.Rows(y).Item("出库重") = 0 Then
  1586. ' xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1587. ' ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1588. 'Else
  1589. ' xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  1590. ' ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1591. 'End If
  1592. 'xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1593. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  1594. ' xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1595. ' xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1596. 'Else
  1597. ' xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1598. ' xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1599. 'End If
  1600. ElseIf my_type = "--改色--" Then
  1601. 'xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1602. '' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1603. 'xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1604. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  1605. ' xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1606. ' xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1607. 'Else
  1608. ' xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1609. ' xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1610. 'End If
  1611. ElseIf my_type = "--套染--" Then
  1612. 'If dt2.Rows(y).Item("出库重") = 0 Then
  1613. ' xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1614. ' ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1615. ' xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1616. 'Else
  1617. ' xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  1618. ' ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1619. ' xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1620. 'End If
  1621. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  1622. ' xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1623. ' xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1624. 'Else
  1625. ' xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1626. ' xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1627. 'End If
  1628. ElseIf my_type = "--蓝皮下鼓--" Then
  1629. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  1630. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1631. If dt2.Rows(y).Item("类别") = "反毛" Then
  1632. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1633. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1634. Else
  1635. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1636. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1637. End If
  1638. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  1639. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  1640. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1641. If dt2.Rows(y).Item("类别") = "反毛" Then
  1642. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  1643. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1644. Else
  1645. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  1646. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  1647. End If
  1648. End If
  1649. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1650. xlSheet2.Cells(yy + 1 + y, 18) = dt2.Rows(y).Item("鼓号") & my_type & dt2.Rows(y).Item("日期") & " 磨皮" '备注
  1651. ' xlSheet2.Cells(yy + 1 + y, 22) = dt2.Rows(y).Item("日期")
  1652. xlSheet2.Cells(yy + 1 + y, 25) = "'313"
  1653. xlSheet2.Cells(yy + 1 + y, 26) = "'涂饰在制品"
  1654. xlSheet.Cells(x + 2, 9) = "'621-R"
  1655. xlSheet.Cells(x + 2, 10) = "'染色-R"
  1656. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  1657. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("客户")
  1658. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("技术员")
  1659. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("皮源")
  1660. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("颜色")
  1661. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  1662. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("卡号")
  1663. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  1664. xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  1665. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("出库卡")
  1666. my_total_no = yy + 1 + y
  1667. serial = serial + 1
  1668. Next
  1669. yy = yy + dt2.Rows.Count
  1670. aa = aa + 1
  1671. my_x = my_x + 1
  1672. Next
  1673. bb = bb + 1
  1674. final_no = x
  1675. Next
  1676. sql = "SELECT TOP (200) rt_TM240630.date, rt_TM240630.no, rt_TM240630.card, rt_TM240630.type, rt_TM240630.word, rt_TM240630.cust, rt_TM240630.color,
  1677. rt_TM240630.weight_ini, rt_TM240630.tech, rt_TM240630.source, rt_TM240630.thick, rt_TM240630.word1, CAST(rt_TM240630.weight / 2 AS numeric(10, 1))
  1678. AS weight, rt_TM240630.commentB, rt_TM240630.commentC, rt_TM240630.commentD, rt_TM240630.commentE, rt_TM240630.serial, rt_TM240630.comment, CASE WHEN rt_TM240630.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN rt_TM240630.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN rt_TM240630.source LIKE N'%澳%'
  1679. THEN N'澳大利亚 二层' WHEN (rt_TM240630.source LIKE N'%巴西%' OR
  1680. rt_TM240630.source LIKE N'%bx%' OR
  1681. rt_TM240630.source LIKE N'%南美%')
  1682. THEN N'巴西 二层' WHEN rt_TM240630.source LIKE N'%智利%' THEN N'智利 二层' WHEN rt_TM240630.source LIKE N'%德国%' THEN N'德国 二层' WHEN rt_TM240630.source LIKE
  1683. N'%西班牙%' THEN N'西班牙 二层' WHEN rt_TM240630.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN rt_TM240630.source LIKE N'%法国%' THEN N'法国 二层' WHEN
  1684. rt_TM240630.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN rt_TM240630.source LIKE N'%APP%' THEN N'美国 二层' WHEN rt_TM240630.source LIKE N'%日本%' THEN N'日本 二层'
  1685. WHEN rt_TM240630.source LIKE N'%美国%' THEN N'美国 二层' WHEN rt_TM240630.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN rt_TM240630.source LIKE N'%小皮%'
  1686. THEN N'小皮 二层' WHEN rt_TM240630.source LIKE N'%英国%' THEN N'英国 二层' WHEN rt_TM240630.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN rt_TM240630.source
  1687. LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN rt_TM240630.source LIKE N'%南非%' THEN N'南非 二层' WHEN rt_TM240630.source LIKE N'%孟加拉%' THEN N'孟加拉 二层'
  1688. WHEN rt_TM240630.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1,
  1689. rt_TM240630.source1, rt_TM240630.code, z.date_buff
  1690. FROM rt_TM240630 LEFT OUTER JOIN
  1691. (SELECT card AS card_buff, MIN(date) AS date_buff
  1692. FROM Rt_buff_daily
  1693. GROUP BY card) AS z ON rt_TM240630.card = z.card_buff
  1694. WHERE (rt_TM240630.commentE LIKE N'%水场%') AND (z.date_buff > '2024/7/31') and (z.date_buff < '2024/9/1') and rt_TM240630.date='2024/7/31'" '----240630期初
  1695. dt = New DataTable
  1696. cmd.CommandText = sql
  1697. da.SelectCommand = cmd
  1698. da.Fill(dt)
  1699. Dim final_no1 As Integer
  1700. final_no1 = final_no
  1701. For dd As Integer = 0 To dt.Rows.Count - 1
  1702. Dim serial1 As Integer = 1
  1703. xlSheet.Cells(dd + final_no1 + 3, 1) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  1704. xlSheet.Cells(dd + final_no1 + 3, 2) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  1705. xlSheet.Cells(dd + final_no1 + 3, 3) = "'曾添梅"
  1706. xlSheet.Cells(dd + final_no1 + 3, 4) = "'" & my_no & bb
  1707. xlSheet.Cells(dd + final_no1 + 3, 5) = "'zhang"
  1708. xlSheet.Cells(dd + final_no1 + 3, 6) = "'1"
  1709. xlSheet.Cells(dd + final_no1 + 3, 7) = "'2"
  1710. xlSheet.Cells(dd + final_no1 + 3, 8) = "'165701"
  1711. xlSheet.Cells(dd + final_no1 + 3, 9) = "'621-R"
  1712. xlSheet.Cells(dd + final_no1 + 3, 10) = "'染色-R"
  1713. xlSheet.Cells(dd + final_no1 + 3, 11) = "'103"
  1714. xlSheet.Cells(dd + final_no1 + 3, 12) = "'曾添梅"
  1715. xlSheet.Cells(dd + final_no1 + 3, 13) = "'103"
  1716. xlSheet.Cells(dd + final_no1 + 3, 14) = "'曾添梅"
  1717. xlSheet2.Cells(yy + 1 + dd, 2) = "'" & serial1 '行号
  1718. xlSheet2.Cells(yy + 1 + dd, 3) = "'" & my_no & bb
  1719. If dt.Rows(dd).Item("type") = "反绒" Then
  1720. xlSheet2.Cells(yy + 1 + dd, 5) = "313.FM"
  1721. xlSheet2.Cells(yy + 1 + dd, 6) = "二层皮"
  1722. xlSheet2.Cells(yy + 1 + dd, 17) = "313 " & dt.Rows(dd).Item("皮源1") '批号
  1723. Else
  1724. xlSheet2.Cells(yy + 1 + dd, 5) = "313.PU"
  1725. xlSheet2.Cells(yy + 1 + dd, 6) = "贴膜皮"
  1726. xlSheet2.Cells(yy + 1 + dd, 17) = "313 " & dt.Rows(dd).Item("皮源1") '批号
  1727. End If
  1728. xlSheet2.Cells(yy + 1 + dd, 14) = dt.Rows(dd).Item("weight")
  1729. xlSheet2.Cells(yy + 1 + dd, 18) = "'-240731盘点-" & dt.Rows(dd).Item("date_buff") & " 磨皮--"
  1730. xlSheet2.Cells(yy + 1 + dd, 47) = dt.Rows(dd).Item("date_buff")
  1731. xlSheet2.Cells(yy + 1 + dd, 25) = "'313"
  1732. xlSheet2.Cells(yy + 1 + dd, 26) = "涂饰在制品"
  1733. xlSheet2.Cells(yy + 1 + dd, 38) = dt.Rows(dd).Item("type")
  1734. xlSheet2.Cells(yy + 1 + dd, 39) = "'" & dt.Rows(dd).Item("cust")
  1735. xlSheet2.Cells(yy + 1 + dd, 40) = dt.Rows(dd).Item("tech")
  1736. xlSheet2.Cells(yy + 1 + dd, 41) = dt.Rows(dd).Item("source")
  1737. xlSheet2.Cells(yy + 1 + dd, 42) = dt.Rows(dd).Item("color")
  1738. xlSheet2.Cells(yy + 1 + dd, 43) = dt.Rows(dd).Item("thick")
  1739. xlSheet2.Cells(yy + 1 + dd, 44) = dt.Rows(dd).Item("card")
  1740. final_no += 1
  1741. bb = bb + 1
  1742. Next
  1743. my_total_no = my_total_no + dt.Rows.Count
  1744. 'For dd As Integer = 0 To dt.Rows.Count - 1
  1745. xlSheet2.Range("A2:A" & my_total_no).FillDown()
  1746. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  1747. xlSheet2.Range("D2:D" & my_total_no).FillDown()
  1748. xlSheet2.Range("J2:J" & my_total_no).FillDown()
  1749. xlSheet2.Range("K2:L" & my_total_no).FillDown()
  1750. ' xlSheet.Range("A2:A" & final_no).FillDown()
  1751. xlSheet.Range("o2:o" & final_no).FillDown()
  1752. xlSheet2.Range("A2:A" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1753. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  1754. xlSheet2.Range("D2:D" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1755. xlSheet2.Range("I2:I" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1756. xlSheet2.Range("J2:J" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1757. xlSheet2.Range("L2:L" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1758. xlSheet2.Range("M2:M" & xlSheet2.UsedRange.Rows.Count).FillDown()
  1759. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  1760. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  1761. MsgBox("")
  1762. End Sub
  1763. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  1764. Dim aa As String
  1765. Dim bb As String
  1766. Dim my_card As String = ""
  1767. Dim my_date As Date
  1768. aa = TextBox9.Text
  1769. bb = aa
  1770. If aa = "" Then
  1771. MsgBox("请输入起始单号")
  1772. Exit Sub
  1773. End If
  1774. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  1775. Dim xlApp1 As Microsoft.Office.Interop.Excel.Application
  1776. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  1777. Dim xlBook1 As Microsoft.Office.Interop.Excel.Workbook
  1778. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  1779. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  1780. Dim xlSheet_1 As Microsoft.Office.Interop.Excel.Worksheet
  1781. Dim xlSheet2_2 As Microsoft.Office.Interop.Excel.Worksheet
  1782. Dim file_name As String = ""
  1783. Dim file_name1 As String = ""
  1784. Dim my_weight As Double = 0
  1785. Dim a As Integer = 0
  1786. Dim my_count As Integer = 0
  1787. Dim my_x As Integer = 0
  1788. xlApp = CreateObject("Excel.Application")
  1789. xlApp.Visible = True
  1790. xlApp.DisplayAlerts = False
  1791. xlApp1 = CreateObject("Excel.Application")
  1792. xlApp1.Visible = True
  1793. xlApp1.DisplayAlerts = False
  1794. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\水场调拨至313.xls",, True)
  1795. xlBook.Activate()
  1796. Dim dt2 As New DataTable
  1797. For i = 1 To xlApp.Worksheets.Count
  1798. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  1799. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  1800. xlSheet.Activate()
  1801. Exit For
  1802. End If
  1803. Next
  1804. Dim my_no As String = "CHG"
  1805. Dim yy As Integer = 1
  1806. Dim x As Integer = 0
  1807. Dim my_total_no As Integer = 0
  1808. Dim dt_retan As New DataTable
  1809. sql = "SELECT date FROM RT_RETAN_RECORD_D
  1810. WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  1811. cmd.CommandText = sql
  1812. da.SelectCommand = cmd
  1813. da.Fill(dt_retan)
  1814. Dim final_no As Integer
  1815. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  1816. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  1817. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  1818. xlSheet.Cells(x + 2, 3) = "'曾添梅"
  1819. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  1820. xlSheet.Cells(x + 2, 5) = "'zhang"
  1821. xlSheet.Cells(x + 2, 6) = "'41"
  1822. ' xlSheet.Cells(x + 2, 7) = "'2"
  1823. xlSheet.Cells(x + 2, 7) = "'215378"
  1824. ' xlSheet.Cells(x + 2, 9) = "'622-R"
  1825. ' xlSheet.Cells(x + 2, 10) = "'煎板、真空、挤水-R"
  1826. xlSheet.Cells(x + 2, 8) = "'103"
  1827. xlSheet.Cells(x + 2, 9) = "'曾添梅"
  1828. xlSheet.Cells(x + 2, 10) = "'103"
  1829. xlSheet.Cells(x + 2, 11) = "'曾添梅"
  1830. xlSheet.Cells(x + 2, 12) = "'1"
  1831. xlSheet.Cells(x + 2, 18) = "'01"
  1832. xlSheet.Cells(x + 2, 19) = "'成本调拨"
  1833. xlSheet.Cells(x + 2, 20) = "'433"
  1834. ' xlSheet.Cells(x + 2, 15) = "'85"
  1835. For i = 1 To xlApp.Worksheets.Count
  1836. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  1837. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  1838. xlSheet2.Activate()
  1839. Exit For
  1840. End If
  1841. Next
  1842. sql = "SELECT CARD as 卡号, card2 as 卡号1,鼓号, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本 FROM (SELECT TOP (100) PERCENT p.CARD,p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' OR p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' wHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when header is null and source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep,case when header is null then '中鼓' else '大鼓' end as '鼓号' FROM RT_RETAN_RECORD_D WHERE date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  1843. GROUP BY p.type, p.CARD, p.CARD1,p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT ) AS s GROUP BY CARD, card2, 类别, type, 下鼓重, 鼓号, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 代码"
  1844. Dim sql1 As String
  1845. Dim my_type As String
  1846. Dim serial As Integer = 1
  1847. For xx As Integer = 1 To 5
  1848. Select Case xx
  1849. Case 1
  1850. sql1 = "SELECT s.CARD AS 卡号, s.鼓号, s.类别, s.type AS 类别1, CASE WHEN AVG(下鼓重) IS NULL THEN AVG(挑级仓出库重) ELSE AVG(下鼓重) END AS 生产重, CAST(AVG(s.下鼓重) AS numeric(10, 1)) AS 下鼓重, CAST(AVG(s.price) AS numeric(10, 2)) AS 单价, s.code, s.选级, s.card_shaving AS 出库卡, s.CUST AS 客户, s.COLOR AS 颜色, s.source AS 皮源, s.DATE AS 日期,zz.date_buff, s.厚度, s.dd AS 技术员, s.皮源1, s.代码, CASE WHEN AVG(挑级仓出库重) IS NULL THEN 0 ELSE AVG(挑级仓出库重) END AS 出库重, SUM(s.chem) AS 化工成本, CAST(SUM(s.chem) / AVG(s.投鼓重) / 6 AS numeric(10, 2)) AS 每尺化工 FROM (SELECT TOP (100) PERCENT p.CARD, p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' OR p.source LIKE N'%南美%') THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' OR p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, CASE WHEN header IS NULL AND source LIKE N'%干%' THEN WEIGHT * 1.7 - w2 - w3 - w4 ELSE WEIGHT - w2 - w3 - w4 END AS WEIGHT, P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep, CASE WHEN header IS NULL THEN '中鼓' ELSE '大鼓' END AS 鼓号 FROM RT_RETAN_RECORD_D WHERE (date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "')) AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1 GROUP BY p.type, p.CARD, p.CARD1, p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT) AS s LEFT OUTER JOIN (SELECT card AS card_buff, min(date) AS date_buff FROM Rt_buff_daily GROUP BY card) AS zz ON s.CARD = zz.card_buff GROUP BY s.CARD, s.card2, s.类别, s.type, s.下鼓重, s.鼓号, s.code, s.选级, s.card1, s.card_shaving, s.CUST, s.COLOR, s.source, s.编码, s.皮源, s.DATE, s.厚度, s.dd, s.备注, s.皮源1, s.代码, zz.date_buff HAVING (AVG(s.挑级仓出库重) IS NOT NULL) AND (s.type = N'打底') AND (zz.date_buff IS not NULL) and (source not like N'%干%')"
  1851. sql1 = "SELECT y.卡号, y.鼓号, y.类别, y.类别1, y.生产重, y.下鼓重, y.单价, y.code, y.选级, y.出库卡, y.客户, y.颜色, y.皮源, y.日期, y.date_buff, y.厚度, y.技术员, y.皮源1, y.代码,
  1852. y.出库重, y.化工成本, rt_TM240630.card
  1853. FROM (SELECT s.CARD AS 卡号, s.鼓号, s.类别, s.type AS 类别1, CASE WHEN AVG(下鼓重) IS NULL THEN AVG(挑级仓出库重) ELSE AVG(下鼓重) END AS 生产重,
  1854. CAST(AVG(s.下鼓重) AS numeric(10, 1)) AS 下鼓重, CAST(AVG(s.price) AS numeric(10, 2)) AS 单价, s.code, s.选级, s.card_shaving AS 出库卡,
  1855. s.CUST AS 客户, s.COLOR AS 颜色, s.source AS 皮源, s.DATE AS 日期, zz.date_buff, s.厚度, s.dd AS 技术员, s.皮源1, s.代码,
  1856. CASE WHEN AVG(挑级仓出库重) IS NULL THEN 0 ELSE AVG(挑级仓出库重) END AS 出库重, SUM(s.chem) AS 化工成本
  1857. FROM (SELECT TOP (100) PERCENT p.CARD, p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4,
  1858. 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1)
  1859. = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2,
  1860. CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  1861. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  1862. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  1863. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR,
  1864. p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码,
  1865. CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  1866. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  1867. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  1868. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  1869. CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  1870. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  1871. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%'
  1872. THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  1873. p.source LIKE N'%bx%' OR
  1874. p.source LIKE N'%南美%')
  1875. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE
  1876. N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN
  1877. p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层'
  1878. WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%'
  1879. THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source
  1880. LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层'
  1881. WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1,
  1882. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU'
  1883. WHEN (p.source LIKE N'%巴西%' OR
  1884. p.source LIKE N'%bx%' OR
  1885. p.source LIKE N'%南美%')
  1886. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source LIKE N'%西班牙%' THEN
  1887. N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE'
  1888. WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN
  1889. p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source
  1890. LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE
  1891. N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重,
  1892. CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重,
  1893. RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  1894. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  1895. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  1896. FROM RT_SYS_CHEM_OUT INNER JOIN
  1897. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  1898. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4,
  1899. source, TOTAL, class, type, DATE1, CASE WHEN header IS NULL AND
  1900. source LIKE N'%干%' THEN WEIGHT * 1.7 - w2 - w3 - w4 ELSE WEIGHT - w2 - w3 - w4 END AS WEIGHT, P, COMa, COMb, COMc, dd,
  1901. ee, ff, gg, hh, Dep, CASE WHEN header IS NULL THEN '中鼓' ELSE '大鼓' END AS 鼓号
  1902. FROM RT_RETAN_RECORD_D
  1903. WHERE (date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "')) as p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  1904. rt_wetblue_name RIGHT OUTER JOIN
  1905. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  1906. GROUP BY p.type, p.CARD, p.CARD1, p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name,
  1907. rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd,
  1908. RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT) AS s LEFT OUTER JOIN
  1909. (SELECT card AS card_buff, MIN(date) AS date_buff
  1910. FROM Rt_buff_daily GROUP BY card) AS zz ON s.CARD = zz.card_buff
  1911. GROUP BY s.CARD, s.card2, s.类别, s.type, s.下鼓重, s.鼓号, s.code, s.选级, s.card1, s.card_shaving, s.CUST, s.COLOR, s.source, s.编码, s.皮源, s.DATE, s.厚度,
  1912. s.dd, s.备注, s.皮源1, s.代码, zz.date_buff
  1913. HAVING (zz.date_buff IS NOT NULL) AND (AVG(s.挑级仓出库重) IS NOT NULL) AND (s.type = N'打底') AND (s.source NOT LIKE N'%干%')) AS y LEFT OUTER JOIN (SELECT date, no, card, type, word, cust, color, weight_ini, tech, source, thick, word1, weight, commentB, commentC, commentD, commentE, serial,
  1914. comment, source1, code
  1915. FROM rt_TM240630 AS rt_TM240630_1
  1916. WHERE (date = '2024/07/31')) AS rt_tm240630 ON y.卡号 = rt_TM240630.card WHERE (rt_TM240630.card IS NULL)"
  1917. my_type = "--蓝皮下鼓(已磨皮)--"
  1918. Case 2
  1919. sql1 = sql + " having (source like N'%干%' or source like N'%蓝皮完%' ) and (source not like N'%a级%') and (source not like N'%b级%') and (source not like N'%C级%') and (type<>N'回鼓') and NOT(color like N'黑色%' ) order by date"
  1920. my_type = "--改色--"
  1921. Case 3
  1922. sql1 = sql + " having (type=N'套染' or source like N'%A级%' or source like N'%B级%' or source like N'%C级%') and (source not like N'%brf%') order by date"
  1923. my_type = "--套染--"
  1924. Case 4
  1925. sql1 = sql + " having type='回鼓' order by date"
  1926. my_type = "--回鼓--"
  1927. Case 5
  1928. sql1 = sql + " having (avg(挑级仓出库重) is null) and 类别<>'其他' and type=N'打底' and source not like N'%干%' and source not like N'%brf%' order by date "
  1929. my_type = "--蓝皮下鼓无对应--"
  1930. 'Case 6
  1931. ' sql1 = sql + " having 类别=N'其他' order by date"
  1932. ' my_type = "--合鼓--"
  1933. End Select
  1934. dt2 = New DataTable
  1935. cmd.CommandText = sql1
  1936. da.SelectCommand = cmd
  1937. da.Fill(dt2)
  1938. For y = 0 To dt2.Rows.Count - 1
  1939. xlSheet2.Cells(yy + 1 + y, 3) = "'0" '行号
  1940. xlSheet2.Cells(yy + 1 + y, 5) = "'" & serial '行号
  1941. xlSheet2.Cells(yy + 1 + y, 6) = "'" & my_no & bb
  1942. xlSheet2.Cells(yy + 1 + y, 7) = "'41"
  1943. If my_type = "--回鼓--" Then
  1944. If dt2.Rows(y).Item("类别") = "反毛" Then
  1945. xlSheet2.Cells(yy + 1 + y, 8) = "'313.FM"
  1946. xlSheet2.Cells(yy + 1 + y, 9) = "'二层皮"
  1947. Else
  1948. xlSheet2.Cells(yy + 1 + y, 8) = "'313.PU"
  1949. xlSheet2.Cells(yy + 1 + y, 9) = "'贴膜皮"
  1950. End If
  1951. xlSheet2.Cells(yy + 1 + y, 21) = "'313 " & dt2.Rows(y).Item("皮源1") '批号
  1952. If dt2.Rows(y).Item("出库重") = 0 Then
  1953. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  1954. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1955. Else
  1956. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  1957. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1958. End If
  1959. ElseIf my_type = "--改色--" Then
  1960. If dt2.Rows(y).Item("类别") = "反毛" Then
  1961. xlSheet2.Cells(yy + 1 + y, 8) = "'313.FM"
  1962. xlSheet2.Cells(yy + 1 + y, 9) = "'二层皮"
  1963. Else
  1964. xlSheet2.Cells(yy + 1 + y, 8) = "'313.PU"
  1965. xlSheet2.Cells(yy + 1 + y, 9) = "'贴膜皮"
  1966. End If
  1967. xlSheet2.Cells(yy + 1 + y, 21) = "'313 " & dt2.Rows(y).Item("皮源1") '批号
  1968. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  1969. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1970. ElseIf my_type = "--套染--" Then
  1971. If dt2.Rows(y).Item("类别") = "反毛" Then
  1972. xlSheet2.Cells(yy + 1 + y, 8) = "'313.FM"
  1973. xlSheet2.Cells(yy + 1 + y, 9) = "'二层皮"
  1974. Else
  1975. xlSheet2.Cells(yy + 1 + y, 8) = "'313.PU"
  1976. xlSheet2.Cells(yy + 1 + y, 9) = "'贴膜皮"
  1977. End If
  1978. xlSheet2.Cells(yy + 1 + y, 21) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  1979. If dt2.Rows(y).Item("出库重") = 0 Then
  1980. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  1981. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  1982. Else
  1983. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  1984. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1985. End If
  1986. ElseIf my_type = "--蓝皮下鼓(已磨皮)--" Then
  1987. If dt2.Rows(y).Item("类别") = "反毛" Then
  1988. xlSheet2.Cells(yy + 1 + y, 8) = "'112.FM"
  1989. xlSheet2.Cells(yy + 1 + y, 9) = "'二层皮"
  1990. Else
  1991. xlSheet2.Cells(yy + 1 + y, 8) = "'112.PU"
  1992. xlSheet2.Cells(yy + 1 + y, 9) = "'贴膜皮"
  1993. End If
  1994. xlSheet2.Cells(yy + 1 + y, 21) = "'112 " & dt2.Rows(y).Item("皮源1") '批号
  1995. xlSheet2.Cells(yy + 1 + y, 23) = dt2.Rows(y).Item("出库重")
  1996. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("出库重")
  1997. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  1998. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  1999. If dt2.Rows(y).Item("类别") = "反毛" Then
  2000. xlSheet2.Cells(yy + 1 + y, 8) = "'112.FM"
  2001. xlSheet2.Cells(yy + 1 + y, 9) = "二层皮"
  2002. Else
  2003. xlSheet2.Cells(yy + 1 + y, 8) = "'112.PU"
  2004. xlSheet2.Cells(yy + 1 + y, 9) = "贴膜皮"
  2005. End If
  2006. xlSheet2.Cells(yy + 1 + y, 21) = "'112 " & dt2.Rows(y).Item("皮源1") '批号
  2007. xlSheet2.Cells(yy + 1 + y, 24) = dt2.Rows(y).Item("下鼓重")
  2008. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  2009. End If
  2010. xlSheet2.Cells(yy + 1 + y, 30) = "'--" & dt2.Rows(y).Item("日期") & " 磨皮--"
  2011. xlSheet2.Cells(yy + 1 + y, 58) = dt2.Rows(y).Item("鼓号") & my_type '备注
  2012. ' xlSheet2.Cells(yy + 1 + y, 32) = dt2.Rows(y).Item("日期")
  2013. Select Case xx
  2014. Case 1
  2015. xlSheet2.Cells(yy + 1 + y, 36) = "'213A-R.01"
  2016. xlSheet2.Cells(yy + 1 + y, 37) = "'染色仓/蓝皮下鼓"
  2017. Case 2
  2018. xlSheet2.Cells(yy + 1 + y, 36) = "'213A-R.04"
  2019. xlSheet2.Cells(yy + 1 + y, 37) = "'染色仓/皮胚改色"
  2020. Case 3
  2021. xlSheet2.Cells(yy + 1 + y, 36) = "'213A-R.02"
  2022. xlSheet2.Cells(yy + 1 + y, 37) = "'染色仓/皮胚套染"
  2023. Case 4
  2024. xlSheet2.Cells(yy + 1 + y, 36) = "'213A-R.03"
  2025. xlSheet2.Cells(yy + 1 + y, 37) = "'染色仓/皮胚回鼓"
  2026. Case 5
  2027. xlSheet2.Cells(yy + 1 + y, 36) = "'213A-R.01"
  2028. xlSheet2.Cells(yy + 1 + y, 37) = "'染色仓/蓝皮下鼓"
  2029. End Select
  2030. xlSheet2.Cells(yy + 1 + y, 40) = "'313"
  2031. xlSheet2.Cells(yy + 1 + y, 41) = "'涂饰在制品"
  2032. xlSheet2.Cells(yy + 1 + y, 57) = dt2.Rows(y).Item("类别")
  2033. xlSheet2.Cells(yy + 1 + y, 56) = "'" & dt2.Rows(y).Item("客户")
  2034. xlSheet2.Cells(yy + 1 + y, 66) = dt2.Rows(y).Item("技术员")
  2035. xlSheet2.Cells(yy + 1 + y, 67) = dt2.Rows(y).Item("皮源")
  2036. xlSheet2.Cells(yy + 1 + y, 61) = dt2.Rows(y).Item("颜色")
  2037. xlSheet2.Cells(yy + 1 + y, 62) = dt2.Rows(y).Item("厚度")
  2038. xlSheet2.Cells(yy + 1 + y, 59) = dt2.Rows(y).Item("卡号")
  2039. xlSheet2.Cells(yy + 1 + y, 63) = dt2.Rows(y).Item("选级")
  2040. ' xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  2041. xlSheet2.Cells(yy + 1 + y, 68) = dt2.Rows(y).Item("出库卡")
  2042. my_total_no = yy + 1 + y
  2043. serial = serial + 1
  2044. Next
  2045. yy = yy + dt2.Rows.Count
  2046. aa = aa + 1
  2047. my_x = my_x + 1
  2048. Next
  2049. bb = bb + 1
  2050. final_no = x
  2051. Next
  2052. sql = "SELECT TOP (200) rt_TM240630.date, rt_TM240630.no, rt_TM240630.card, rt_TM240630.type, rt_TM240630.word, rt_TM240630.cust, rt_TM240630.color,
  2053. rt_TM240630.weight_ini, rt_TM240630.tech, rt_TM240630.source, rt_TM240630.thick, rt_TM240630.word1, CAST(rt_TM240630.weight / 2 AS numeric(10, 1))
  2054. AS weight, rt_TM240630.commentB, rt_TM240630.commentC, rt_TM240630.commentD, rt_TM240630.commentE, rt_TM240630.serial, rt_TM240630.comment,
  2055. rt_TM240630.source1, rt_TM240630.code, z.date_buff
  2056. FROM rt_TM240630 LEFT OUTER JOIN
  2057. (SELECT card AS card_buff, MIN(date) AS date_buff
  2058. FROM Rt_buff_daily
  2059. GROUP BY card) AS z ON rt_TM240630.card = z.card_buff
  2060. WHERE (rt_TM240630.commentE LIKE N'%水场%') AND (z.date_buff < '2024/8/1')" '----240630期初
  2061. dt = New DataTable
  2062. cmd.CommandText = sql
  2063. da.SelectCommand = cmd
  2064. da.Fill(dt)
  2065. Dim final_no1 As Integer
  2066. final_no1 = final_no
  2067. For dd As Integer = 0 To dt.Rows.Count - 1
  2068. Dim serial1 As Integer = 1
  2069. xlSheet.Cells(dd + final_no1 + 3, 1) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  2070. xlSheet.Cells(dd + final_no1 + 3, 2) = String.Format("{0:d}", dt.Rows(dd).Item("date_buff"))
  2071. xlSheet.Cells(dd + final_no1 + 3, 3) = "'曾添梅"
  2072. xlSheet.Cells(dd + final_no1 + 3, 4) = "'" & my_no & bb
  2073. xlSheet.Cells(dd + final_no1 + 3, 5) = "'zhang"
  2074. xlSheet.Cells(dd + final_no1 + 3, 6) = "'41"
  2075. xlSheet.Cells(dd + final_no1 + 3, 7) = "'215378"
  2076. ' xlSheet.Cells(dd + final_no1 + 3, 8) = "'165701"
  2077. 'xlSheet.Cells(dd + final_no1 + 3, 9) = "'622-R"
  2078. 'xlSheet.Cells(dd + final_no1 + 3, 10) = "'煎板、真空、挤水-R"
  2079. xlSheet.Cells(dd + final_no1 + 3, 8) = "'103"
  2080. xlSheet.Cells(dd + final_no1 + 3, 9) = "'曾添梅"
  2081. xlSheet.Cells(dd + final_no1 + 3, 10) = "'103"
  2082. xlSheet.Cells(dd + final_no1 + 3, 11) = "'曾添梅"
  2083. xlSheet.Cells(dd + final_no1 + 3, 12) = "'1"
  2084. xlSheet.Cells(dd + final_no1 + 3, 18) = "'01"
  2085. xlSheet.Cells(dd + final_no1 + 3, 19) = "'成本调拨"
  2086. xlSheet.Cells(dd + final_no1 + 3, 20) = "'433"
  2087. xlSheet2.Cells(yy + 1 + dd, 3) = "'0" '行号
  2088. xlSheet2.Cells(yy + 1 + dd, 5) = "'" & serial1 '行号
  2089. xlSheet2.Cells(yy + 1 + dd, 6) = "'" & my_no & bb
  2090. xlSheet2.Cells(yy + 1 + dd, 7) = "'41"
  2091. If dt.Rows(dd).Item("type") = "反绒" Then
  2092. xlSheet2.Cells(yy + 1 + dd, 8) = "313.FM"
  2093. xlSheet2.Cells(yy + 1 + dd, 9) = "二层皮"
  2094. xlSheet2.Cells(yy + 1 + dd, 21) = "313 " & dt.Rows(dd).Item("code") '批号
  2095. Else
  2096. xlSheet2.Cells(yy + 1 + dd, 8) = "313.PU"
  2097. xlSheet2.Cells(yy + 1 + dd, 9) = "贴膜皮"
  2098. xlSheet2.Cells(yy + 1 + dd, 21) = "313 " & dt.Rows(dd).Item("code") '批号
  2099. End If
  2100. xlSheet2.Cells(yy + 1 + dd, 23) = "'kg"
  2101. xlSheet2.Cells(yy + 1 + dd, 24) = dt.Rows(dd).Item("weight")
  2102. xlSheet2.Cells(yy + 1 + dd, 30) = "'-240630盘点-" & dt.Rows(dd).Item("date_buff") & " 磨皮--"
  2103. ' xlSheet2.Cells(yy + 1 + dd, 32) = dt.Rows(dd).Item("date_buff")
  2104. xlSheet2.Cells(yy + 1 + dd, 36) = "'213A-R.01"
  2105. xlSheet2.Cells(yy + 1 + dd, 37) = "染色仓/蓝皮下鼓"
  2106. xlSheet2.Cells(yy + 1 + dd, 40) = "'313"
  2107. xlSheet2.Cells(yy + 1 + dd, 41) = "'涂饰在制品"
  2108. xlSheet2.Cells(yy + 1 + dd, 56) = "'" & dt.Rows(dd).Item("cust")
  2109. xlSheet2.Cells(yy + 1 + dd, 57) = dt.Rows(dd).Item("type")
  2110. xlSheet2.Cells(yy + 1 + dd, 66) = dt.Rows(dd).Item("tech")
  2111. xlSheet2.Cells(yy + 1 + dd, 67) = dt.Rows(dd).Item("source")
  2112. xlSheet2.Cells(yy + 1 + dd, 61) = dt.Rows(dd).Item("color")
  2113. xlSheet2.Cells(yy + 1 + dd, 62) = dt.Rows(dd).Item("thick")
  2114. xlSheet2.Cells(yy + 1 + dd, 59) = dt.Rows(dd).Item("card")
  2115. final_no += 1
  2116. bb = bb + 1
  2117. Next
  2118. my_total_no = my_total_no + dt.Rows.Count
  2119. 'For dd As Integer = 0 To dt.Rows.Count - 1
  2120. xlSheet2.Range("A2:A" & my_total_no).FillDown()
  2121. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  2122. xlSheet2.Range("D2:D" & my_total_no).FillDown()
  2123. xlSheet2.Range("I2:I" & my_total_no).FillDown()
  2124. xlSheet2.Range("J2:J" & my_total_no).FillDown()
  2125. xlSheet2.Range("K2:V" & my_total_no).FillDown()
  2126. ' xlSheet.Range("A2:A" & final_no).FillDown()
  2127. xlSheet.Range("R2:V" & final_no).FillDown()
  2128. 'xlBook1 = xlApp.Workbooks.Open("D:\K3\k3表格模板\313涂饰在制品入库.xls",, True)
  2129. 'xlBook1.Activate()
  2130. 'For i = 1 To xlApp.Worksheets.Count
  2131. ' If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  2132. ' xlSheet = xlApp.Workbooks(1).Worksheets(i)
  2133. ' xlSheet.Activate()
  2134. ' Exit For
  2135. ' End If
  2136. 'Next
  2137. MsgBox("")
  2138. End Sub
  2139. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
  2140. Dim aa As String
  2141. Dim bb As String
  2142. Dim my_card As String = ""
  2143. Dim my_date As Date
  2144. aa = TextBox8.Text
  2145. bb = aa
  2146. If aa = "" Then
  2147. MsgBox("请输入起始单号")
  2148. Exit Sub
  2149. End If
  2150. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  2151. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  2152. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  2153. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  2154. Dim file_name As String = ""
  2155. Dim file_name1 As String = ""
  2156. Dim my_weight As Double = 0
  2157. Dim a As Integer = 0
  2158. Dim my_count As Integer = 0
  2159. Dim my_x As Integer = 0
  2160. xlApp = CreateObject("Excel.Application")
  2161. xlApp.Visible = True
  2162. xlApp.DisplayAlerts = False
  2163. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  2164. xlBook.Activate()
  2165. Dim dt2 As New DataTable
  2166. For i = 1 To xlApp.Worksheets.Count
  2167. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  2168. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  2169. xlSheet.Activate()
  2170. Exit For
  2171. End If
  2172. Next
  2173. Dim my_no As String = "CPRK0"
  2174. Dim yy As Integer = 1
  2175. Dim x As Integer = 0
  2176. 'sql = "" ''----下鼓
  2177. 'Dim dt_out As DataTable
  2178. 'cmd.CommandText = sql
  2179. 'dt_out = New DataTable
  2180. 'da.SelectCommand = cmd
  2181. 'da.Fill(dt_out)
  2182. Dim my_total_no As Integer = 0
  2183. Dim dt_retan As New DataTable
  2184. sql = "SELECT date FROM RT_RETAN_RECORD_D
  2185. WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  2186. cmd.CommandText = sql
  2187. da.SelectCommand = cmd
  2188. da.Fill(dt_retan)
  2189. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  2190. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  2191. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  2192. xlSheet.Cells(x + 2, 3) = "'郑笔成"
  2193. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  2194. xlSheet.Cells(x + 2, 5) = "'zhang"
  2195. xlSheet.Cells(x + 2, 6) = "'1"
  2196. xlSheet.Cells(x + 2, 7) = "'2"
  2197. xlSheet.Cells(x + 2, 8) = "'165701"
  2198. 'If x = 1 Or x = 2 Then
  2199. ' xlSheet.Cells(x + 2, 9) = "'607-R"
  2200. ' xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  2201. 'Else
  2202. ' xlSheet.Cells(x + 2, 9) = "'621-R"
  2203. ' xlSheet.Cells(x + 2, 10) = "'染色-R"
  2204. 'End If
  2205. xlSheet.Cells(x + 2, 11) = "'103"
  2206. xlSheet.Cells(x + 2, 12) = "'曾添梅"
  2207. xlSheet.Cells(x + 2, 13) = "'103"
  2208. xlSheet.Cells(x + 2, 14) = "'曾添梅"
  2209. xlSheet.Cells(x + 2, 15) = "'85"
  2210. For i = 1 To xlApp.Worksheets.Count
  2211. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  2212. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  2213. xlSheet2.Activate()
  2214. Exit For
  2215. End If
  2216. Next
  2217. sql = "SELECT r.卡号, r.卡号1, r.鼓号, r.类别, r.类别1, r.下鼓重, r.单价, r.code, r.选级, r.出库卡, r.客户, r.颜色, r.皮源, r.日期, r.厚度, r.技术员, r.皮源1, r.代码, r.出库重,
  2218. r.化工成本, r.weight, CASE WHEN weight IS NULL then N'本期' else N'前期' END AS 期别, RT_313_bal_price.bal_p,
  2219. CASE WHEN weight IS NULL THEN 单价 ELSE bal_p END AS 单价1
  2220. FROM (SELECT TOP (100) PERCENT s.CARD AS 卡号, s.card2 AS 卡号1, s.鼓号, s.类别, s.type AS 类别1, CAST(AVG(s.下鼓重) AS numeric(10, 1)) AS 下鼓重,
  2221. CAST(AVG(s.price) AS numeric(10, 2)) AS 单价, s.code, s.选级, s.card_shaving AS 出库卡, s.CUST AS 客户, s.COLOR AS 颜色, s.source AS 皮源,
  2222. s.DATE AS 日期, s.厚度, s.dd AS 技术员, s.皮源1, s.代码, CASE WHEN AVG(挑级仓出库重) IS NULL THEN 0 ELSE avg(挑级仓出库重)
  2223. END AS 出库重, SUM(s.chem) AS 化工成本, rt_TM240731.weight
  2224. FROM (SELECT TOP (100) PERCENT p.CARD, p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  2225. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3,
  2226. 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2,
  2227. CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price,
  2228. CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight,
  2229. CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code,
  2230. CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1,
  2231. rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  2232. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  2233. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1)
  2234. = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  2235. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL
  2236. THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND
  2237. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  2238. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'313 无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'313 阿根廷 二层' WHEN p.source
  2239. LIKE N'%澳%' THEN N'313 澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  2240. p.source LIKE N'%bx%' OR
  2241. p.source LIKE N'%南美%') AND (NOT (p.source LIKE N'%巴西美国%'))
  2242. THEN N'313 巴西 二层' WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%智利%' THEN N'313 智利 二层' WHEN p.source LIKE N'%德国%' THEN N'313 德国 二层' WHEN
  2243. p.source LIKE N'%西班牙%' THEN N'313 西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'313 欧洲 二层' WHEN p.source LIKE N'%法国%'
  2244. THEN N'313 法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'313 爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'313 美国 二层'
  2245. WHEN p.source LIKE N'%日本%' THEN N'313 日本 二层' WHEN p.source LIKE N'%美国%' THEN N'313 美国 二层' WHEN p.source LIKE N'%新西兰%'
  2246. THEN N'313 新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'313 小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'313 英国 二层'
  2247. WHEN p.source LIKE N'%墨西哥%' THEN N'313 墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'313 乌拉圭 二层' WHEN p.source
  2248. LIKE N'%南非%' THEN N'313 南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'313 孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN
  2249. N'313 泰国 二层' ELSE N'313 杂皮 二层' END AS 皮源1,
  2250. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN
  2251. N'AU' WHEN (p.source LIKE N'%巴西%' OR
  2252. p.source LIKE N'%bx%' OR
  2253. p.source LIKE N'%南美%')
  2254. THEN N'BR' WHEN p.source LIKE N'%意大利%' THEN N'IT' WHEN p.source LIKE N'%韩国%' THEN N'KO' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source LIKE N'%西班牙%'
  2255. THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%'
  2256. THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%'
  2257. THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%'
  2258. THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%'
  2259. THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码,
  2260. rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight)
  2261. / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME,
  2262. rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  2263. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  2264. FROM RT_SYS_CHEM_OUT INNER JOIN
  2265. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  2266. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4,
  2267. A4, source, TOTAL, class, type, DATE1, CASE WHEN header IS NULL AND
  2268. source LIKE N'%干%' THEN WEIGHT * 1.7 - w2 - w3 - w4 ELSE WEIGHT - w2 - w3 - w4 END AS WEIGHT, P, COMa, COMb,
  2269. COMc, dd, ee, ff, gg, hh, Dep, CASE WHEN header IS NULL THEN N'中鼓' ELSE N'大鼓' END AS 鼓号
  2270. FROM RT_RETAN_RECORD_D
  2271. WHERE (date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "')) AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  2272. rt_wetblue_name RIGHT OUTER JOIN
  2273. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  2274. GROUP BY p.type, p.CARD, p.CARD1, p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name,
  2275. rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd,
  2276. RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT)
  2277. AS s LEFT OUTER JOIN
  2278. rt_TM240731 ON s.CARD = rt_TM240731.card
  2279. GROUP BY s.CARD, s.card2, s.类别, s.type, s.下鼓重, s.鼓号, s.code, s.选级, s.card1, s.card_shaving, s.CUST, s.COLOR, s.source, s.编码, s.皮源, s.DATE,
  2280. s.厚度, s.dd, s.备注, s.皮源1, s.代码, rt_TM240731.weight) AS r LEFT OUTER JOIN
  2281. RT_313_bal_price ON r.类别 = RT_313_bal_price.name AND r.皮源1 = RT_313_bal_price.lot
  2282. GROUP BY r.卡号, r.卡号1, r.鼓号, r.类别, r.类别1, r.下鼓重, r.单价, r.code, r.选级, r.出库卡, r.客户, r.颜色, r.皮源, r.日期, r.厚度, r.技术员, r.皮源1, r.代码, r.出库重,
  2283. r.化工成本, r.weight, RT_313_bal_price.bal_p"
  2284. Dim sql1 As String
  2285. Dim my_type As String
  2286. Dim serial As Integer = 1
  2287. For xx As Integer = 1 To 5
  2288. Select Case xx
  2289. Case 1
  2290. sql1 = sql + " having (出库重<>0) and 类别1 =N'打底' and 皮源 not like N'%干%' "
  2291. my_type = "--蓝皮下鼓--"
  2292. 'sql1 = "SELECT zz.卡号, zz.卡号1, zz.鼓号, zz.类别, zz.类别1, zz.下鼓重, zz.单价, zz.code, zz.选级, zz.出库卡, zz.客户, zz.颜色, zz.皮源, zz.日期, zz.厚度, zz.技术员, zz.皮源1, zz.代码, zz.出库重, zz.化工成本, rt_TM240731.weight FROM (" + sql1 + ") AS zz LEFT OUTER JOIN rt_TM240731 ON zz.卡号 = rt_TM240731.card WHERE (rt_TM240731.weight IS NULL)"
  2293. Case 2
  2294. sql1 = sql + " having (皮源 like N'%干%' or 皮源 like N'%蓝皮完%' ) and (皮源 not like N'%a级%') and (皮源 not like N'%b级%') and (皮源 not like N'%C级%') and (类别1<>N'回鼓') "
  2295. my_type = "--改色--"
  2296. Case 3
  2297. sql1 = sql + " having (类别1=N'套染' or 皮源 like N'%A级%' or 皮源 like N'%B级%' or 皮源 like N'%C级%') and (皮源 not like N'%brf%') "
  2298. my_type = "--套染--"
  2299. Case 4
  2300. sql1 = sql + " having 类别1='回鼓' "
  2301. my_type = "--回鼓--"
  2302. Case 5
  2303. sql1 = sql + " having (出库重 =0) and 类别<>'其他' and 类别1=N'打底' and 皮源 not like N'%干%' and 皮源 not like N'%brf%' "
  2304. my_type = "--蓝皮下鼓无对应--"
  2305. 'Case 6
  2306. ' sql1 = sql + " having 类别=N'其他' order by date"
  2307. ' my_type = "--合鼓--"
  2308. End Select
  2309. dt2 = New DataTable
  2310. cmd.CommandText = sql1
  2311. da.SelectCommand = cmd
  2312. da.Fill(dt2)
  2313. For y = 0 To dt2.Rows.Count - 1
  2314. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  2315. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & bb
  2316. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("单价")
  2317. If my_type = "--回鼓--" Then
  2318. If dt2.Rows(y).Item("出库重") = 0 Then
  2319. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  2320. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价1")
  2321. Else
  2322. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  2323. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价1")
  2324. End If
  2325. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  2326. If dt2.Rows(y).Item("类别") = "反毛" Then
  2327. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  2328. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  2329. Else
  2330. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  2331. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  2332. End If
  2333. ElseIf my_type = "--改色--" Then
  2334. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  2335. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价1")
  2336. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  2337. If dt2.Rows(y).Item("类别") = "反毛" Then
  2338. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  2339. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  2340. Else
  2341. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  2342. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  2343. End If
  2344. ElseIf my_type = "--套染--" Then
  2345. If dt2.Rows(y).Item("出库重") = 0 Then
  2346. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  2347. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价1")
  2348. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  2349. Else
  2350. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  2351. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价1")
  2352. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  2353. End If
  2354. If dt2.Rows(y).Item("类别") = "反毛" Then
  2355. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  2356. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  2357. Else
  2358. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  2359. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  2360. End If
  2361. ElseIf my_type = "--蓝皮下鼓--" Then
  2362. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  2363. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("单价")
  2364. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  2365. If dt2.Rows(y).Item("类别") = "反毛" Then
  2366. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  2367. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  2368. Else
  2369. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  2370. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  2371. End If
  2372. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  2373. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  2374. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  2375. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  2376. If dt2.Rows(y).Item("类别") = "反毛" Then
  2377. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  2378. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  2379. Else
  2380. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  2381. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  2382. End If
  2383. End If
  2384. xlSheet2.Cells(yy + 1 + y, 18) = dt2.Rows(y).Item("鼓号") & my_type & dt2.Rows(y).Item("期别") '备注
  2385. xlSheet2.Cells(yy + 1 + y, 22) = dt2.Rows(y).Item("日期")
  2386. Select Case xx
  2387. Case 1
  2388. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  2389. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  2390. xlSheet.Cells(x + 2, 9) = "'607-R"
  2391. xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  2392. Case 2
  2393. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.04"
  2394. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚改色"
  2395. xlSheet.Cells(x + 2, 9) = "'621-R"
  2396. xlSheet.Cells(x + 2, 10) = "'染色-R"
  2397. 'xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  2398. 'xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  2399. Case 3
  2400. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.02"
  2401. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚套染"
  2402. xlSheet.Cells(x + 2, 9) = "'621-R"
  2403. xlSheet.Cells(x + 2, 10) = "'染色-R"
  2404. Case 4
  2405. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.03"
  2406. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚回鼓"
  2407. xlSheet.Cells(x + 2, 9) = "'621-R"
  2408. xlSheet.Cells(x + 2, 10) = "'染色-R"
  2409. Case 5
  2410. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  2411. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  2412. xlSheet.Cells(x + 2, 9) = "'607-R"
  2413. xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  2414. 'Case 6
  2415. ' xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.08"
  2416. ' xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/合鼓中和"
  2417. End Select
  2418. 'If dt_out.Rows(x).Item("type") = "打底" And IsDBNull(dt_out.Rows(x).Item("card_shaving")) And dt_out.Rows(x).Item("类别") <> "其他" Then
  2419. 'ElseIf dt_out.Rows(x).Item("type") = "打底" And Not (IsDBNull(dt_out.Rows(x).Item("card_shaving"))) Then
  2420. 'ElseIf dt_out.Rows(x).Item("type") = "套染" Then
  2421. 'ElseIf dt_out.Rows(x).Item("type") = "回鼓" Or dt_out.Rows(x).Item("type") = "套色" Then
  2422. 'ElseIf dt_out.Rows(x).Item("类别") = "其他" Then
  2423. 'End If
  2424. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  2425. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("客户")
  2426. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("技术员")
  2427. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("皮源")
  2428. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("颜色")
  2429. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  2430. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("卡号")
  2431. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  2432. xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  2433. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("出库卡")
  2434. my_total_no = yy + 1 + y
  2435. serial = serial + 1
  2436. Next
  2437. yy = yy + dt2.Rows.Count
  2438. aa = aa + 1
  2439. my_x = my_x + 1
  2440. Next
  2441. bb = bb + 1
  2442. Next
  2443. xlSheet2.Range("A2:A" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2444. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  2445. xlSheet2.Range("D2:D" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2446. xlSheet2.Range("I2:I" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2447. xlSheet2.Range("J2:J" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2448. xlSheet2.Range("L2:L" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2449. xlSheet2.Range("M2:M" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2450. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  2451. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  2452. MsgBox("")
  2453. End Sub
  2454. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
  2455. Dim aa As String
  2456. Dim bb As String
  2457. Dim my_card As String = ""
  2458. Dim my_date As Date
  2459. aa = TextBox13.Text
  2460. bb = aa
  2461. If aa = "" Then
  2462. MsgBox("请输入起始单号")
  2463. Exit Sub
  2464. End If
  2465. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  2466. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  2467. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  2468. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  2469. Dim file_name As String = ""
  2470. Dim file_name1 As String = ""
  2471. Dim my_weight As Double = 0
  2472. Dim a As Integer = 0
  2473. Dim my_count As Integer = 0
  2474. Dim my_x As Integer = 0
  2475. xlApp = CreateObject("Excel.Application")
  2476. xlApp.Visible = True
  2477. xlApp.DisplayAlerts = False
  2478. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\313入库-削匀皮.xls",, True)
  2479. xlBook.Activate()
  2480. Dim dt2 As New DataTable
  2481. For i = 1 To xlApp.Worksheets.Count
  2482. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  2483. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  2484. xlSheet.Activate()
  2485. Exit For
  2486. End If
  2487. Next
  2488. Dim my_no As String = "CPRK0"
  2489. Dim yy As Integer = 1
  2490. Dim x As Integer = 0
  2491. 'sql = "" ''----下鼓
  2492. 'Dim dt_out As DataTable
  2493. 'cmd.CommandText = sql
  2494. 'dt_out = New DataTable
  2495. 'da.SelectCommand = cmd
  2496. 'da.Fill(dt_out)
  2497. Dim my_total_no As Integer = 0
  2498. Dim dt_retan As New DataTable
  2499. sql = "SELECT date FROM rt_shaving_out
  2500. WHERE date BETWEEN '" & String.Format("{0:d}", dtp_begin.Value) & "' and '" & String.Format("{0:d}", dtp_end.Value) & "' group by date"
  2501. cmd.CommandText = sql
  2502. da.SelectCommand = cmd
  2503. da.Fill(dt_retan)
  2504. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  2505. xlSheet.Cells(x + 2, 1) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  2506. xlSheet.Cells(x + 2, 2) = String.Format("{0:d}", dt_retan.Rows(x).Item("date"))
  2507. xlSheet.Cells(x + 2, 3) = "'曾添梅"
  2508. xlSheet.Cells(x + 2, 4) = "'" & my_no & bb
  2509. xlSheet.Cells(x + 2, 5) = "'zhang"
  2510. xlSheet.Cells(x + 2, 6) = "'1"
  2511. xlSheet.Cells(x + 2, 7) = "'2"
  2512. xlSheet.Cells(x + 2, 8) = "'165701"
  2513. xlSheet.Cells(x + 2, 9) = "'607-R"
  2514. xlSheet.Cells(x + 2, 10) = "'挑选等级-R"
  2515. xlSheet.Cells(x + 2, 11) = "'103"
  2516. xlSheet.Cells(x + 2, 12) = "'曾添梅"
  2517. xlSheet.Cells(x + 2, 13) = "'103"
  2518. xlSheet.Cells(x + 2, 14) = "'曾添梅"
  2519. xlSheet.Cells(x + 2, 15) = "'85"
  2520. For i = 1 To xlApp.Worksheets.Count
  2521. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  2522. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  2523. xlSheet2.Activate()
  2524. Exit For
  2525. End If
  2526. Next
  2527. sql = "SELECT CARD as 卡号, card2 as 卡号1,鼓号, 类别, type as 类别1, cast(AVG(下鼓重) as numeric(10,1)) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源, DATE as 日期, 厚度, dd as 技术员, 皮源1, 代码, case when AVG(挑级仓出库重) is null then 0 else AVG(挑级仓出库重) end AS 出库重, SUM(chem) AS 化工成本 FROM (SELECT TOP (100) PERCENT p.CARD,p.鼓号, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10) + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1) = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1) = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' or p.source LIKE N'%南美%') THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%意大利%' THEN N'意大利 二层' WHEN p.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1, CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR p.source LIKE N'%bx%' OR p.source LIKE N'%南美%') THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' wHEN p.source LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice, RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem FROM RT_SYS_CHEM_OUT INNER JOIN rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, case when header is null and source like N'%干%' then WEIGHT*1.7-w2-w3-w4 else WEIGHT-w2-w3-w4 end as WEIGHT , P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep,case when header is null then '中鼓' else '大鼓' end as 鼓号 FROM RT_RETAN_RECORD_D WHERE date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN rt_wetblue_name RIGHT OUTER JOIN rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON p.CARD = rt_shaving_out.card1
  2528. GROUP BY p.type, p.CARD, p.CARD1,p.鼓号, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT ) AS s GROUP BY CARD, card2, 类别, type, 下鼓重, 鼓号, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 代码"
  2529. Dim sql1 As String
  2530. sql1 = "SELECT rt_shaving_out.date, rt_shaving_out.code, rt_shaving_out.name, rt_shaving_out.lot, rt_shaving_out.weight, rt_shaving_out.price, rt_shaving_out.amount,
  2531. rt_shaving_out.p, rt_shaving_out.card, rt_shaving_out.card1, rt_shaving_out.id, RT_RETAN_RECORD1.source,
  2532. CASE WHEN RT_RETAN_RECORD1.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%阿根廷%' THEN N'阿根廷 二层'
  2533. WHEN RT_RETAN_RECORD1.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (RT_RETAN_RECORD1.source LIKE N'%巴西%' OR
  2534. RT_RETAN_RECORD1.source LIKE N'%bx%' OR
  2535. RT_RETAN_RECORD1.source LIKE N'%南美%')
  2536. THEN N'巴西 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%智利%' THEN N'智利 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%德国%' THEN N'德国 二层'
  2537. WHEN RT_RETAN_RECORD1.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN
  2538. RT_RETAN_RECORD1.source LIKE N'%法国%' THEN N'法国 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN RT_RETAN_RECORD1.source
  2539. LIKE N'%APP%' THEN N'美国 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%日本%' THEN N'日本 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%美国%'
  2540. THEN N'美国 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%小皮%' THEN
  2541. N'小皮 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%英国%' THEN N'英国 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%墨西哥%' THEN N'墨西哥 二层'
  2542. WHEN RT_RETAN_RECORD1.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%意大利%' THEN N'意大利 二层'
  2543. WHEN RT_RETAN_RECORD1.source LIKE N'%韩国%' THEN N'韩国 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%南非%' THEN N'南非 二层' WHEN RT_RETAN_RECORD1.source
  2544. LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN RT_RETAN_RECORD1.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1,
  2545. rt_shaving_out.cust, rt_shaving_out.color, rt_shaving_out.thick, RT_RETAN_RECORD1.spec
  2546. FROM rt_shaving_out LEFT OUTER JOIN
  2547. (SELECT MIN(date) AS date, source, card,spec
  2548. FROM RT_RETAN_RECORD
  2549. GROUP BY card, source,spec) AS RT_RETAN_RECORD1 ON rt_shaving_out.card1 = RT_RETAN_RECORD1.card
  2550. WHERE (rt_shaving_out.date = '" & String.Format("{0:d}", dt_retan.Rows(x).Item("date")) & "')"
  2551. Dim my_type As String
  2552. my_type = "--蓝皮下鼓--"
  2553. Dim serial As Integer = 1
  2554. 'For xx As Integer = 1 To 5
  2555. ' Select Case xx
  2556. ' Case 1
  2557. ' sql1 = ""
  2558. ' 'sql1 = sql + " having (avg(挑级仓出库重)) is not null and type =N'打底' order by date"
  2559. ' 'my_type = "--蓝皮下鼓--"
  2560. ' Case 2
  2561. ' sql1 = sql + " having (source like N'%干%' or source like N'%蓝皮完%' ) and (source not like N'%a级%') and (source not like N'%b级%') and (source not like N'%C级%') and (type<>N'回鼓') and NOT(color like N'黑色%' ) order by date"
  2562. ' my_type = "--改色--"
  2563. ' Case 3
  2564. ' sql1 = sql + " having (type=N'套染' or source like N'%A级%' or source like N'%B级%' or source like N'%C级%') and (source not like N'%brf%') order by date"
  2565. ' my_type = "--套染--"
  2566. ' Case 4
  2567. ' sql1 = sql + " having type='回鼓' order by date"
  2568. ' my_type = "--回鼓--"
  2569. ' Case 5
  2570. ' sql1 = ""
  2571. ' 'sql1 = sql + " having (avg(挑级仓出库重) is null) and 类别<>'其他' and type=N'打底' and source not like N'%干%' and source not like N'%brf%' order by date "
  2572. ' 'my_type = "--蓝皮下鼓无对应--"
  2573. ' 'Case 6
  2574. ' ' sql1 = sql + " having 类别=N'其他' order by date"
  2575. ' ' my_type = "--合鼓--"
  2576. ' End Select
  2577. cmd.Connection = conn
  2578. dt2 = New DataTable
  2579. cmd.CommandText = sql1
  2580. da.SelectCommand = cmd
  2581. If sql1 <> "" Then
  2582. da.Fill(dt2)
  2583. End If
  2584. For y = 0 To dt2.Rows.Count - 1
  2585. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  2586. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & bb
  2587. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("price")
  2588. If my_type = "--蓝皮下鼓--" Then
  2589. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("weight")
  2590. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("amount")
  2591. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("皮源1") '批号
  2592. If dt2.Rows(y).Item("spec") = "反绒" Then
  2593. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM"
  2594. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  2595. Else
  2596. xlSheet2.Cells(yy + 1 + y, 5) = "313.PU"
  2597. xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  2598. End If
  2599. ElseIf my_type = "--蓝皮下鼓无对应--" Then
  2600. 'xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("下鼓重")
  2601. 'xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("下鼓重") * dt2.Rows(y).Item("单价")
  2602. 'xlSheet2.Cells(yy + 1 + y, 17) = "112 " & dt2.Rows(y).Item("皮源1") '批号
  2603. 'If dt2.Rows(y).Item("类别") = "反毛" Then
  2604. ' xlSheet2.Cells(yy + 1 + y, 5) = "112.FM"
  2605. ' xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  2606. 'Else
  2607. ' xlSheet2.Cells(yy + 1 + y, 5) = "112.PU"
  2608. ' xlSheet2.Cells(yy + 1 + y, 6) = "贴膜皮"
  2609. 'End If
  2610. End If
  2611. xlSheet2.Cells(yy + 1 + y, 18) = my_type '备注
  2612. ' xlSheet2.Cells(yy + 1 + y, 22) = dt2.Rows(y).Item("日期")
  2613. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  2614. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  2615. ' xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  2616. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("cust")
  2617. 'xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("技术员")
  2618. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("皮源1")
  2619. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("color")
  2620. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("thick")
  2621. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("card1")
  2622. ' xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  2623. 'xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  2624. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("card")
  2625. my_total_no = yy + 1 + y
  2626. serial = serial + 1
  2627. Next
  2628. yy = yy + dt2.Rows.Count
  2629. aa = aa + 1
  2630. my_x = my_x + 1
  2631. bb = bb + 1
  2632. Next
  2633. xlSheet2.Range("A2:A" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2634. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  2635. xlSheet2.Range("D2:D" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2636. xlSheet2.Range("I2:I" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2637. xlSheet2.Range("J2:J" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2638. xlSheet2.Range("L2:L" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2639. xlSheet2.Range("M2:M" & xlSheet2.UsedRange.Rows.Count).FillDown()
  2640. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  2641. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  2642. MsgBox("")
  2643. End Sub
  2644. End Class