Ingen beskrivning
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

FrmTienMei_spray_mill.vb 108KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289
  1. Imports System.Data.SqlClient
  2. Imports System.Net
  3. Public Class FrmTienMei_spray_mill
  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. Private dateTimePicker1 As DateTimePicker
  10. Dim p() As String
  11. Dim my_cust As String = ""
  12. Dim colorArray(10) As Color
  13. Dim sql_retan As String = ""
  14. Dim sql_retan_re As String = ""
  15. Dim sql_spray As String = ""
  16. Dim sql_buff As String = ""
  17. Dim dt_retan As DataTable
  18. Dim dt_retan_re As DataTable
  19. Dim dt_spray As DataTable
  20. Dim dt_buff As DataTable
  21. Private Sub FrmTienMei_spray_mill_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  22. conn.ConnectionString = connstring
  23. conn.Open()
  24. cmd.Connection = conn
  25. colorArray(0) = Color.FromName("beige")
  26. colorArray(1) = Color.FromName("azure")
  27. colorArray(2) = Color.FromName("Aquamarine")
  28. colorArray(3) = Color.FromName("gainsboro")
  29. colorArray(4) = Color.FromName("LightBlue")
  30. colorArray(5) = Color.FromName("LightSalmon")
  31. dt = New DataTable
  32. sql = "SELECT date1 AS 日期, card AS 卡号, Expr1/2 AS 公斤
  33. FROM (SELECT date1, card, COUNT(*) AS times, AVG(weight) AS Expr1, AVG(weight1) AS Expr2
  34. FROM (SELECT TOP (100) PERCENT serial, local, month, date1, dep, card, card1, cust, color, word, weight, weight1,
  35. price, commentB, comment, commentC, weight2, p, date1 AS Expr1, p2, date2, g, weight3, p3,
  36. commentd, [11], [22], [33], [44]
  37. FROM rt_mill_spray_daily
  38. WHERE (date1 BETWEEN '2024/6/1' AND '2024/6/30')) AS p
  39. GROUP BY card, date1) AS q
  40. ORDER BY 日期 DESC"
  41. cmd.CommandText = sql
  42. da.SelectCommand = cmd
  43. da.Fill(dt)
  44. dgv1.DataSource = dt
  45. dgv1.Columns(0).Width = 80
  46. dgv1.Columns(1).Width = 120
  47. sql = "SELECT top(1) date1 AS 日期, card AS 卡号, Expr1 AS 重量
  48. FROM (SELECT date1, card, COUNT(*) AS times, AVG(weight) AS Expr1, AVG(weight1) AS Expr2
  49. FROM (SELECT TOP (100) PERCENT serial, local, month, date1, dep, card, card1, cust, color, word, weight, weight1,
  50. price, commentB, comment, commentC, weight2, p, date1 AS Expr1, p2, date2, g, weight3, p3,
  51. commentd, [11], [22], [33], [44]
  52. FROM rt_mill_spray_daily
  53. WHERE (date1 BETWEEN '2024/6/1' AND '2024/6/30')) AS p
  54. GROUP BY card, date1) AS q
  55. ORDER BY 日期 DESC"
  56. cmd.CommandText = sql
  57. DateTimePicker3.Value = cmd.ExecuteScalar.ToString
  58. sql = "select sum(expr1) as 重量 from (SELECT card, count(*) as times,AVG(weight) AS Expr1, AVG(weight1) AS Expr2
  59. FROM (SELECT TOP (100) PERCENT serial, local, month, date, dep, card, card1, cust, color, word, weight, weight1, price,
  60. commentB, comment, commentC, weight2, p, date1, p2, date2, g, weight3, p3, commentd, [11], [22], [33], [44]
  61. FROM rt_mill_spray_daily
  62. WHERE (date1 BETWEEN '2024/6/1' AND '2024/6/30')
  63. ORDER BY date1 DESC, card) AS p group by card ) as q"
  64. cmd.CommandText = sql
  65. TextBox1.Text = cmd.ExecuteScalar
  66. TextBox2.Text = cmd.ExecuteScalar / 2
  67. dt = New DataTable
  68. sql = "SELECT dep as 交货单位, wh as 收货仓库,left(code,3) as 物料, cast(SUM(qty) as numeric(10,1)) AS 数量 FROM rt_TienMei_In where dep is not null GROUP BY dep, wh,left(code,3)"
  69. cmd.CommandText = sql
  70. da.SelectCommand = cmd
  71. da.Fill(dt)
  72. dgvk3.DataSource = dt
  73. dgvk3.Columns(0).Width = 100
  74. dgvk3.Columns(1).Width = 100
  75. dgvk3.Columns(2).Width = 65
  76. sql = "select card as 卡号, cast(avg(weight) as numeric(10,0)) as 数量 ,count(*) as 次数 FROM rt_clean_daily WHERE (date BETWEEN '2024/6/1' AND '2024/6/30') group by card order by count(*) desc" '-扫灰
  77. cmd.CommandText = sql
  78. dt = New DataTable
  79. da.SelectCommand = cmd
  80. da.Fill(dt)
  81. dgv_buff.DataSource = dt
  82. dgv_buff.Columns(0).Width = 120
  83. dgv_buff.Columns(1).Width = 65
  84. dgv_buff.Columns(2).Width = 65
  85. sql = "select sum(weight) FROM rt_clean_daily WHERE (date BETWEEN '2024/6/1' AND '2024/6/30')"
  86. cmd.CommandText = sql
  87. TextBox4.Text = cmd.ExecuteScalar
  88. sql = "select sum(weight1) FROM rt_clean_daily WHERE (date BETWEEN '2024/6/1' AND '2024/6/30')"
  89. cmd.CommandText = sql
  90. TextBox3.Text = cmd.ExecuteScalar
  91. sql = "select sum(weight) from ( select card, avg(weight) as weight,count(*) as count FROM rt_clean_daily
  92. WHERE (date BETWEEN '2024/6/1' AND '2024/6/30') and card is not null group by card) as p"
  93. cmd.CommandText = sql
  94. TextBox6.Text = cmd.ExecuteScalar
  95. TextBox7.Text = cmd.ExecuteScalar / 2
  96. sql = "SELECT CARD as 卡号, card2 as 卡号1, 类别, type as 类别1, AVG(下鼓重) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving as 出库卡, CUST as 客户, COLOR as 颜色, source as 皮源,
  97. DATE as 日期, 厚度, dd as 技术员, 皮源1, 皮源代码, AVG(挑级仓出库重) AS 出库重, SUM(chem) AS 化工成本, cast(SUM(chem)
  98. / AVG(投鼓重) / 6 as numeric(10,2)) AS 每尺化工
  99. FROM (SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  100. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  101. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type,
  102. AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  103. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  104. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  105. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  106. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1,
  107. rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  108. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  109. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  110. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  111. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  112. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  113. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  114. CASE WHEN rt_shaving_out.card1 IS NULL AND
  115. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  116. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  117. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层'
  118. WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  119. p.source LIKE N'%bx%')
  120. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层'
  121. WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN
  122. p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source
  123. LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%'
  124. THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN
  125. N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层'
  126. WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN
  127. p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  128. END AS 皮源1,
  129. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source
  130. LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  131. p.source LIKE N'%bx%')
  132. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source
  133. LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN
  134. N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE
  135. N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ'
  136. WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%'
  137. THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source
  138. LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 皮源代码,
  139. rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight)
  140. / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1,
  141. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  142. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  143. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  144. FROM RT_SYS_CHEM_OUT INNER JOIN
  145. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  146. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2,
  147. W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff,
  148. gg, hh, Dep
  149. FROM RT_RETAN_RECORD_D
  150. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (COMa NOT LIKE N'%叠皮%') AND
  151. (WEIGHT IS NOT NULL)) AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  152. rt_wetblue_name RIGHT OUTER JOIN
  153. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON
  154. p.CARD = rt_shaving_out.card1
  155. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code,
  156. rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source,
  157. rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE,
  158. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT
  159. ORDER BY p.CARD) AS s
  160. GROUP BY CARD, card2, 类别, type, 下鼓重, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd,
  161. 备注, 皮源1, 皮源代码
  162. HAVING (type = N'打底') and card_shaving is not null" ''----蓝皮下鼓
  163. cmd.CommandText = sql
  164. dt_retan = New DataTable
  165. da.SelectCommand = cmd
  166. da.Fill(dt_retan)
  167. dgv_retan.DataSource = dt_retan
  168. dgv_retan.Columns(0).Width = 120
  169. dgv_retan.Columns(1).Width = 100
  170. dgv_retan.Columns(2).Width = 70
  171. dgv_retan.Columns(3).Width = 70
  172. ' dgv_retan.Columns(4).Width = 75
  173. dgv_retan.Columns(5).Width = 75
  174. dgv_retan.Columns(6).Width = 120
  175. dgv_retan.Columns(7).Width = 70
  176. dgv_retan.Columns(8).Width = 100
  177. dgv_retan.Columns(9).Width = 80
  178. dgv_retan.Columns(10).Width = 80
  179. dgv_retan.Columns(11).Width = 80
  180. dgv_retan.Columns(12).Width = 100
  181. dgv_retan.Columns(13).Width = 70
  182. dgv_retan.Columns(14).Width = 80
  183. dgv_retan.Columns(15).Width = 80
  184. ' dgv_retan.Columns(16).Width = 90
  185. dgv_retan.Columns(17).Width = 80
  186. sql = "SELECT CARD, card2, 类别, type, AVG(下鼓重) AS 下鼓重, AVG(price) AS price, code, 选级, card_shaving, CUST, COLOR, source,
  187. DATE, 厚度, dd, 皮源1, 皮源代码, AVG(挑级仓出库重) AS 出库重, SUM(chem) AS 化工成本, SUM(chem)
  188. / AVG(投鼓重) / 6 AS 每尺化工
  189. FROM (SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  190. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  191. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type,
  192. AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  193. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  194. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  195. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  196. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1,
  197. rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  198. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  199. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  200. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  201. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  202. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  203. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  204. CASE WHEN rt_shaving_out.card1 IS NULL AND
  205. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  206. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  207. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层'
  208. WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  209. p.source LIKE N'%bx%')
  210. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层'
  211. WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN
  212. p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source
  213. LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%'
  214. THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN
  215. N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层'
  216. WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN
  217. p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  218. END AS 皮源1,
  219. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source
  220. LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  221. p.source LIKE N'%bx%')
  222. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source
  223. LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN
  224. N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE
  225. N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ'
  226. WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%'
  227. THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source
  228. LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 皮源代码,
  229. rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight)
  230. / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1,
  231. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  232. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  233. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  234. FROM RT_SYS_CHEM_OUT INNER JOIN
  235. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  236. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2,
  237. W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff,
  238. gg, hh, Dep
  239. FROM RT_RETAN_RECORD_D
  240. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (COMa NOT LIKE N'%叠皮%') AND
  241. (WEIGHT IS NOT NULL)) AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  242. rt_wetblue_name RIGHT OUTER JOIN
  243. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON
  244. p.CARD = rt_shaving_out.card1
  245. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code,
  246. rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source,
  247. rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE,
  248. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT
  249. ORDER BY p.CARD) AS s
  250. GROUP BY CARD, card2, 类别, type, 下鼓重, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd,
  251. 备注, 皮源1, 皮源代码
  252. HAVING (type = N'打底') and card_shaving is null" '---改色
  253. cmd.CommandText = sql
  254. dt = New DataTable
  255. da.SelectCommand = cmd
  256. da.Fill(dt)
  257. DGV_change.DataSource = dt_retan
  258. DGV_change.Columns(0).Width = 100
  259. DGV_change.Columns(1).Width = 100
  260. DGV_change.Columns(2).Width = 100
  261. sql = "select sum(weight) from (SELECT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.card, 4, 10) + 'F' ELSE substring(p.card, 4, 10)
  262. + 'P' END AS card1, CASE WHEN AVG(p.WEIGHT) IS NULL THEN 0 ELSE AVG(p.WEIGHT) END AS weight, COUNT(*)
  263. AS count, RT_RETAN_RECORD.color, RT_RETAN_RECORD.source,
  264. CASE WHEN RT_RETAN_RECORD.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN RT_RETAN_RECORD.source LIKE
  265. N'%阿根廷%' THEN N'阿根廷 二层' WHEN RT_RETAN_RECORD.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (RT_RETAN_RECORD.source
  266. LIKE N'%巴西%' OR
  267. RT_RETAN_RECORD.source LIKE N'%bx%')
  268. THEN N'巴西 二层' WHEN RT_RETAN_RECORD.source LIKE N'%智利%' THEN N'智利 二层' WHEN RT_RETAN_RECORD.source
  269. LIKE N'%德国%' THEN N'德国 二层' WHEN RT_RETAN_RECORD.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN RT_RETAN_RECORD.source
  270. LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN RT_RETAN_RECORD.source LIKE N'%法国%' THEN N'法国 二层' WHEN RT_RETAN_RECORD.source
  271. LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN RT_RETAN_RECORD.source LIKE N'%APP%' THEN N'美国 二层' WHEN RT_RETAN_RECORD.source
  272. LIKE N'%日本%' THEN N'日本 二层' WHEN RT_RETAN_RECORD.source LIKE N'%美国%' THEN N'美国 二层' WHEN RT_RETAN_RECORD.source
  273. LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN RT_RETAN_RECORD.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN RT_RETAN_RECORD.source
  274. LIKE N'%英国%' THEN N'英国 二层' WHEN RT_RETAN_RECORD.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN RT_RETAN_RECORD.source
  275. LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN RT_RETAN_RECORD.source LIKE N'%南非%' THEN N'南非 二层' WHEN RT_RETAN_RECORD.source
  276. LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN RT_RETAN_RECORD.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  277. END AS 皮源,
  278. CASE WHEN RT_RETAN_RECORD.source LIKE N'%无铬鞣%' THEN N'CT' WHEN RT_RETAN_RECORD.source LIKE N'%阿根廷%'
  279. THEN N'AR' WHEN RT_RETAN_RECORD.source LIKE N'%澳%' THEN N'AU' WHEN (RT_RETAN_RECORD.source LIKE N'%巴西%'
  280. OR
  281. RT_RETAN_RECORD.source LIKE N'%bx%')
  282. THEN N'BR' WHEN RT_RETAN_RECORD.source LIKE N'%智利%' THEN N'CL' WHEN RT_RETAN_RECORD.source LIKE N'%德国%'
  283. THEN N'DE' WHEN RT_RETAN_RECORD.source LIKE N'%西班牙%' THEN N'ES' WHEN RT_RETAN_RECORD.source LIKE N'%欧洲%'
  284. THEN N'EU' WHEN RT_RETAN_RECORD.source LIKE N'%法国%' THEN N'FR' WHEN RT_RETAN_RECORD.source LIKE N'%爱尔兰%'
  285. THEN N'IE' WHEN RT_RETAN_RECORD.source LIKE N'%日本%' THEN N'JP' WHEN RT_RETAN_RECORD.source LIKE N'%越南APP%'
  286. THEN N'US' WHEN RT_RETAN_RECORD.source LIKE N'%美国%' THEN N'US' WHEN RT_RETAN_RECORD.source LIKE N'%新西兰%'
  287. THEN N'NZ' WHEN RT_RETAN_RECORD.source LIKE N'%小皮%' THEN N'SS' WHEN RT_RETAN_RECORD.source LIKE N'%英国%'
  288. THEN N'UK' WHEN RT_RETAN_RECORD.source LIKE N'%墨西哥%' THEN N'MX' WHEN RT_RETAN_RECORD.source LIKE N'%乌拉圭%'
  289. THEN N'UY' WHEN RT_RETAN_RECORD.source LIKE N'%南非%' THEN N'ZA' WHEN RT_RETAN_RECORD.source LIKE N'%孟加拉%'
  290. THEN N'BD' WHEN RT_RETAN_RECORD.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 皮源代码
  291. FROM (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3,
  292. W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep
  293. FROM RT_RETAN_RECORD_D
  294. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (type = N'打底') AND (COMa NOT LIKE N'%叠皮%'))
  295. AS p LEFT OUTER JOIN
  296. RT_RETAN_RECORD ON p.CARD = RT_RETAN_RECORD.card
  297. GROUP BY p.CARD, RT_RETAN_RECORD.color, RT_RETAN_RECORD.source
  298. ) as r"
  299. cmd.CommandText = sql
  300. TextBox9.Text = cmd.ExecuteScalar
  301. TextBox10.Text = cmd.ExecuteScalar / 2
  302. sql = "SELECT CARD, card2, 类别, type, AVG(下鼓重) AS 下鼓重, AVG(price) AS price, AVG(weight) AS weight, code, 选级, card1,
  303. card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd, 备注, 皮源1, 皮源代码, AVG(挑级仓出库重)
  304. AS 出库重, AVG(投鼓重) AS 投鼓重, SUM(chem) AS 化工成本, SUM(chem) / AVG(投鼓重) / 6 AS 每尺化工
  305. FROM (SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  306. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  307. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type,
  308. AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  309. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  310. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  311. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  312. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1,
  313. rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  314. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  315. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  316. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  317. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  318. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  319. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  320. CASE WHEN rt_shaving_out.card1 IS NULL AND
  321. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  322. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  323. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层'
  324. WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  325. p.source LIKE N'%bx%')
  326. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层'
  327. WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN
  328. p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source
  329. LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%'
  330. THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN
  331. N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层'
  332. WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN
  333. p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  334. END AS 皮源1,
  335. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source
  336. LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  337. p.source LIKE N'%bx%')
  338. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source
  339. LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN
  340. N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE
  341. N'%越南APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ'
  342. WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%'
  343. THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source
  344. LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 皮源代码,
  345. rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight)
  346. / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1,
  347. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  348. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  349. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  350. FROM RT_SYS_CHEM_OUT INNER JOIN
  351. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  352. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2,
  353. W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff,
  354. gg, hh, Dep
  355. FROM RT_RETAN_RECORD_D
  356. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (COMa NOT LIKE N'%叠皮%') AND
  357. (WEIGHT IS NOT NULL)) AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  358. rt_wetblue_name RIGHT OUTER JOIN
  359. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON
  360. p.CARD = rt_shaving_out.card1
  361. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code,
  362. rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source,
  363. rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE,
  364. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT
  365. ORDER BY p.CARD) AS s
  366. GROUP BY CARD, card2, 类别, type, 下鼓重, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd,
  367. 备注, 皮源1, 皮源代码
  368. HAVING (type = N'套染')"
  369. cmd.CommandText = sql
  370. dt_retan_re = New DataTable
  371. da.SelectCommand = cmd
  372. da.Fill(dt_retan_re)
  373. dgv_re_retan.DataSource = dt_retan_re
  374. sql = "SELECT SUM(weight) AS Expr1
  375. FROM (SELECT AVG(weight) AS weight, CARD
  376. FROM (SELECT TOP (100) PERCENT p.CARD, p.CUST, p.COLOR, RT_RETAN_RECORD_D_1.DATE,
  377. RT_RETAN_RECORD_D_1.class, RT_RETAN_RECORD_D_1.type, RT_RETAN_RECORD_D_1.dd,
  378. p.weight
  379. FROM (SELECT CARD, CUST, COLOR, COMa, AVG(WEIGHT) AS weight
  380. FROM RT_RETAN_RECORD_D
  381. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (COMa NOT LIKE '%叠%')
  382. GROUP BY CARD, CUST, COLOR, COMa
  383. HAVING (COUNT(*) > 1)) AS p INNER JOIN
  384. RT_RETAN_RECORD_D AS RT_RETAN_RECORD_D_1 ON
  385. p.CARD = RT_RETAN_RECORD_D_1.CARD
  386. ORDER BY p.CARD, RT_RETAN_RECORD_D_1.DATE) AS r
  387. GROUP BY CARD) AS s "
  388. sql = "select card,avg(weight),count(*) from (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3, W4, P4, A4,
  389. source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep
  390. FROM RT_RETAN_RECORD_D
  391. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') and type=N'打底' and coma not like N'%叠皮%' ) as p group by card order by count(*) desc"
  392. sql = "select sum(weight) from (SELECT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.card, 4, 10) + 'F' ELSE substring(p.card, 4, 10)
  393. + 'P' END AS card1, CASE WHEN AVG(p.WEIGHT) IS NULL THEN 0 ELSE AVG(p.WEIGHT) END AS weight, COUNT(*)
  394. AS count, RT_RETAN_RECORD.color, RT_RETAN_RECORD.source,
  395. CASE WHEN RT_RETAN_RECORD.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN RT_RETAN_RECORD.source LIKE
  396. N'%阿根廷%' THEN N'阿根廷 二层' WHEN RT_RETAN_RECORD.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (RT_RETAN_RECORD.source
  397. LIKE N'%巴西%' OR RT_RETAN_RECORD.source LIKE N'%bx%')
  398. THEN N'巴西 二层' WHEN RT_RETAN_RECORD.source LIKE N'%智利%' THEN N'智利 二层' WHEN RT_RETAN_RECORD.source
  399. LIKE N'%德国%' THEN N'德国 二层' WHEN RT_RETAN_RECORD.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN RT_RETAN_RECORD.source
  400. LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN RT_RETAN_RECORD.source LIKE N'%法国%' THEN N'法国 二层' WHEN RT_RETAN_RECORD.source
  401. LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN RT_RETAN_RECORD.source LIKE N'%APP%' THEN N'美国 二层' WHEN RT_RETAN_RECORD.source
  402. LIKE N'%日本%' THEN N'日本 二层' WHEN RT_RETAN_RECORD.source LIKE N'%美国%' THEN N'美国 二层' WHEN RT_RETAN_RECORD.source
  403. LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN RT_RETAN_RECORD.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN RT_RETAN_RECORD.source
  404. LIKE N'%英国%' THEN N'英国 二层' WHEN RT_RETAN_RECORD.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN RT_RETAN_RECORD.source
  405. LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN RT_RETAN_RECORD.source LIKE N'%南非%' THEN N'南非 二层' WHEN RT_RETAN_RECORD.source
  406. LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN RT_RETAN_RECORD.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  407. END AS 皮源,
  408. CASE WHEN RT_RETAN_RECORD.source LIKE N'%无铬鞣%' THEN N'CT' WHEN RT_RETAN_RECORD.source LIKE N'%阿根廷%'
  409. THEN N'AR' WHEN RT_RETAN_RECORD.source LIKE N'%澳%' THEN N'AU' WHEN (RT_RETAN_RECORD.source LIKE N'%巴西%'
  410. OR
  411. RT_RETAN_RECORD.source LIKE N'%bx%')
  412. THEN N'BR' WHEN RT_RETAN_RECORD.source LIKE N'%智利%' THEN N'CL' WHEN RT_RETAN_RECORD.source LIKE N'%德国%'
  413. THEN N'DE' WHEN RT_RETAN_RECORD.source LIKE N'%西班牙%' THEN N'ES' WHEN RT_RETAN_RECORD.source LIKE N'%欧洲%'
  414. THEN N'EU' WHEN RT_RETAN_RECORD.source LIKE N'%法国%' THEN N'FR' WHEN RT_RETAN_RECORD.source LIKE N'%爱尔兰%'
  415. THEN N'IE' WHEN RT_RETAN_RECORD.source LIKE N'%日本%' THEN N'JP' WHEN RT_RETAN_RECORD.source LIKE N'%越南APP%'
  416. THEN N'US' WHEN RT_RETAN_RECORD.source LIKE N'%美国%' THEN N'US' WHEN RT_RETAN_RECORD.source LIKE N'%新西兰%'
  417. THEN N'NZ' WHEN RT_RETAN_RECORD.source LIKE N'%小皮%' THEN N'SS' WHEN RT_RETAN_RECORD.source LIKE N'%英国%'
  418. THEN N'UK' WHEN RT_RETAN_RECORD.source LIKE N'%墨西哥%' THEN N'MX' WHEN RT_RETAN_RECORD.source LIKE N'%乌拉圭%'
  419. THEN N'UY' WHEN RT_RETAN_RECORD.source LIKE N'%南非%' THEN N'ZA' WHEN RT_RETAN_RECORD.source LIKE N'%孟加拉%'
  420. THEN N'BD' WHEN RT_RETAN_RECORD.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 皮源代码
  421. FROM (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3, A3,
  422. W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep
  423. FROM RT_RETAN_RECORD_D
  424. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (type = N'套染' or type = N'回鼓') AND (COMa NOT LIKE N'%叠皮%'))
  425. AS p LEFT OUTER JOIN
  426. RT_RETAN_RECORD ON p.CARD = RT_RETAN_RECORD.card
  427. GROUP BY p.CARD, RT_RETAN_RECORD.color, RT_RETAN_RECORD.source
  428. ) as r "
  429. cmd.CommandText = sql
  430. TextBox11.Text = cmd.ExecuteScalar
  431. TextBox12.Text = cmd.ExecuteScalar / 2
  432. End Sub
  433. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '下鼓
  434. Dim aa As String
  435. Dim my_card As String = ""
  436. Dim my_date As Date
  437. aa = TextBox8.Text
  438. If aa = "" Then
  439. MsgBox("请输入起始单号")
  440. Exit Sub
  441. End If
  442. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  443. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  444. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  445. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  446. Dim file_name As String = ""
  447. Dim file_name1 As String = ""
  448. Dim my_weight As Double = 0
  449. Dim a As Integer = 0
  450. Dim my_count As Integer = 0
  451. Dim my_x As Integer = 0
  452. xlApp = CreateObject("Excel.Application")
  453. xlApp.Visible = True
  454. xlApp.DisplayAlerts = False
  455. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  456. xlBook.Activate()
  457. Dim dt2 As New DataTable
  458. For i = 1 To xlApp.Worksheets.Count
  459. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  460. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  461. xlSheet.Activate()
  462. Exit For
  463. End If
  464. Next
  465. Dim my_no As String = "CPRK"
  466. Dim yy As Integer = 1
  467. Dim x As Integer = 0
  468. For x = 0 To dt_retan.Rows.Count - 1 '-----------loop
  469. If (my_card = dt_retan.Rows(x).Item("下号") And my_date = dt_retan.Rows(x).Item("日期")) Then GoTo OK :
  470. xlSheet.Cells(my_x + 2, 1) = dt_retan.Rows(x).Item("日期")
  471. xlSheet.Cells(my_x + 2, 2) = dt_retan.Rows(x).Item("日期")
  472. xlSheet.Cells(my_x + 2, 3) = "'郑笔成"
  473. xlSheet.Cells(my_x + 2, 4) = "'" & my_no & aa
  474. xlSheet.Cells(my_x + 2, 5) = "'zhang"
  475. xlSheet.Cells(my_x + 2, 6) = "'1"
  476. xlSheet.Cells(my_x + 2, 7) = "'2"
  477. xlSheet.Cells(my_x + 2, 8) = "'165701"
  478. xlSheet.Cells(my_x + 2, 9) = "'607-R"
  479. xlSheet.Cells(my_x + 2, 10) = "'挑选等级-R"
  480. xlSheet.Cells(my_x + 2, 11) = "'103"
  481. xlSheet.Cells(my_x + 2, 12) = "'曾添梅"
  482. xlSheet.Cells(my_x + 2, 13) = "'103"
  483. xlSheet.Cells(my_x + 2, 14) = "'曾添梅"
  484. xlSheet.Cells(my_x + 2, 15) = "'85"
  485. For i = 1 To xlApp.Worksheets.Count
  486. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  487. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  488. xlSheet2.Activate()
  489. Exit For
  490. End If
  491. Next
  492. sql = "SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  493. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  494. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT)
  495. / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  496. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT)
  497. / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  498. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  499. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS Expr3, p.CUST,
  500. p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  501. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  502. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1)
  503. = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  504. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1)
  505. IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND
  506. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  507. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  508. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN
  509. p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  510. p.source LIKE N'%bx%')
  511. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN
  512. p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%'
  513. THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层'
  514. WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE
  515. N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN
  516. N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层'
  517. WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source
  518. LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1,
  519. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%'
  520. THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  521. p.source LIKE N'%bx%')
  522. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source LIKE N'%西班牙%'
  523. THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%'
  524. THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%APP%' THEN N'US' WHEN p.source LIKE
  525. N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source
  526. LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN
  527. p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN
  528. N'TH' ELSE N'XX' END AS 皮源代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL
  529. THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重
  530. FROM rt_wetblue_name RIGHT OUTER JOIN
  531. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) RIGHT OUTER JOIN
  532. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3,
  533. A3, W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep
  534. FROM RT_RETAN_RECORD_D
  535. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (COMa NOT LIKE N'%叠皮%') AND (WEIGHT IS NOT NULL) and card=N'" & dt_retan.Rows(x).Item("卡号") & "'And date=N'" & dt_retan.Rows(x).Item("日期") & "') AS p
  536. ON rt_shaving_out.card1 = p.CARD
  537. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name,
  538. rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name,
  539. p.DATE, p.dd
  540. ORDER BY p.CARD"
  541. dt2 = New DataTable
  542. cmd.CommandText = sql
  543. da.SelectCommand = cmd
  544. da.Fill(dt2)
  545. Dim serial As Integer = 1
  546. For y = 0 To dt2.Rows.Count - 1
  547. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  548. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & aa
  549. xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  550. xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  551. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  552. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("投鼓重")
  553. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("price")
  554. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("投鼓重") * dt2.Rows(y).Item("price")
  555. xlSheet2.Cells(yy + 1 + y, 17) = dt2.Rows(y).Item("card2")
  556. xlSheet2.Cells(yy + 1 + y, 17) = dt2.Rows(y).Item("type")
  557. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R"
  558. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/赤湖"
  559. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  560. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("cust")
  561. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("dd")
  562. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("source")
  563. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("color")
  564. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  565. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("card")
  566. serial = serial + 1
  567. Next
  568. yy = yy + dt2.Rows.Count
  569. aa = aa + 1
  570. my_x = my_x + 1
  571. my_card = dt_retan.Rows(x).Item("卡号")
  572. my_date = dt_retan.Rows(x).Item("日期")
  573. OK:
  574. Next
  575. xlSheet2.Range("A2:A" & x + 1).FillDown()
  576. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  577. xlSheet2.Range("D2:D" & x + 1).FillDown()
  578. xlSheet2.Range("J2:J" & x + 1).FillDown()
  579. xlSheet2.Range("L2:L" & x + 1).FillDown()
  580. xlSheet2.Range("M2:M" & x + 1).FillDown()
  581. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  582. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  583. MsgBox("")
  584. End Sub
  585. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click '---在制品导入k3
  586. Dim aa As String
  587. Dim my_card As String = ""
  588. Dim my_date As Date
  589. aa = TextBox8.Text
  590. If aa = "" Then
  591. MsgBox("请输入起始单号")
  592. Exit Sub
  593. End If
  594. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  595. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  596. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  597. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  598. Dim file_name As String = ""
  599. Dim file_name1 As String = ""
  600. Dim my_weight As Double = 0
  601. Dim a As Integer = 0
  602. Dim my_count As Integer = 0
  603. Dim my_x As Integer = 0
  604. xlApp = CreateObject("Excel.Application")
  605. xlApp.Visible = True
  606. xlApp.DisplayAlerts = False
  607. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  608. xlBook.Activate()
  609. Dim dt2 As New DataTable
  610. For i = 1 To xlApp.Worksheets.Count
  611. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  612. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  613. xlSheet.Activate()
  614. Exit For
  615. End If
  616. Next
  617. Dim my_no As String = "CPRK"
  618. Dim yy As Integer = 1
  619. Dim x As Integer = 0
  620. Dim dt_inprocess As New DataTable
  621. sql = "select * from rt_tm_in_0601"
  622. cmd.CommandText = sql
  623. da.SelectCommand = cmd
  624. da.Fill(dt_inprocess)
  625. For x = 0 To dt_inprocess.Rows.Count - 1 '-----------loop
  626. xlSheet.Cells(my_x + 2, 1) = "2024/06/01"
  627. xlSheet.Cells(my_x + 2, 2) = "2024/06/01"
  628. xlSheet.Cells(my_x + 2, 3) = "'曾添梅"
  629. xlSheet.Cells(my_x + 2, 4) = "'" & my_no & aa
  630. xlSheet.Cells(my_x + 2, 5) = "'zhang"
  631. xlSheet.Cells(my_x + 2, 6) = "'1"
  632. xlSheet.Cells(my_x + 2, 7) = "'2"
  633. xlSheet.Cells(my_x + 2, 8) = "'165701"
  634. xlSheet.Cells(my_x + 2, 9) = "'607-R"
  635. xlSheet.Cells(my_x + 2, 10) = "'挑选等级-R"
  636. xlSheet.Cells(my_x + 2, 11) = "'103"
  637. xlSheet.Cells(my_x + 2, 12) = "'曾添梅"
  638. xlSheet.Cells(my_x + 2, 13) = "'103"
  639. xlSheet.Cells(my_x + 2, 14) = "'曾添梅"
  640. xlSheet.Cells(my_x + 2, 15) = "'85"
  641. For i = 1 To xlApp.Worksheets.Count
  642. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  643. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  644. xlSheet2.Activate()
  645. Exit For
  646. End If
  647. Next
  648. sql = "SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  649. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  650. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type, AVG(p.WEIGHT)
  651. / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  652. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.WEIGHT)
  653. / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  654. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  655. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1, rt_shaving_out.card AS Expr3, p.CUST,
  656. p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  657. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  658. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE, CASE WHEN substring(rt_shaving_out.code, 13, 1)
  659. = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1) = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  660. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1) = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1)
  661. IS NULL THEN '1.24' END AS 厚度, p.dd, CASE WHEN rt_shaving_out.card1 IS NULL AND
  662. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  663. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  664. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层' WHEN
  665. p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  666. p.source LIKE N'%bx%')
  667. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层' WHEN
  668. p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN p.source LIKE N'%法国%'
  669. THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source LIKE N'%APP%' THEN N'美国 二层'
  670. WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%' THEN N'美国 二层' WHEN p.source LIKE
  671. N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN
  672. N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层' WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层'
  673. WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source
  674. LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层' END AS 皮源1,
  675. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source LIKE N'%澳%'
  676. THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  677. p.source LIKE N'%bx%')
  678. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source LIKE N'%西班牙%'
  679. THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN N'FR' WHEN p.source LIKE N'%爱尔兰%'
  680. THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE N'%APP%' THEN N'US' WHEN p.source LIKE
  681. N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ' WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source
  682. LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%' THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN
  683. p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN
  684. N'TH' ELSE N'XX' END AS 皮源代码, rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL
  685. THEN AVG(p.weight) / 2 ELSE rt_shaving_out.weight END AS 投鼓重
  686. FROM rt_wetblue_name RIGHT OUTER JOIN
  687. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) RIGHT OUTER JOIN
  688. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2, W3, P3,
  689. A3, W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff, gg, hh, Dep
  690. FROM RT_RETAN_RECORD_D
  691. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (COMa NOT LIKE N'%叠皮%') AND (WEIGHT IS NOT NULL) and card=N'" & dt_retan.Rows(x).Item("卡号") & "'And date=N'" & dt_retan.Rows(x).Item("日期") & "') AS p
  692. ON rt_shaving_out.card1 = p.CARD
  693. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code, rt_shaving_out.name,
  694. rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source, rt_wetblue_name.code, rt_wetblue_name.name,
  695. p.DATE, p.dd
  696. ORDER BY p.CARD"
  697. dt2 = New DataTable
  698. cmd.CommandText = sql
  699. da.SelectCommand = cmd
  700. da.Fill(dt2)
  701. Dim serial As Integer = 1
  702. For y = 0 To dt2.Rows.Count - 1
  703. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  704. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & aa
  705. xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  706. xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  707. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  708. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("投鼓重")
  709. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("price")
  710. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("投鼓重") * dt2.Rows(y).Item("price")
  711. xlSheet2.Cells(yy + 1 + y, 17) = dt2.Rows(y).Item("card2")
  712. xlSheet2.Cells(yy + 1 + y, 17) = dt2.Rows(y).Item("type")
  713. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R"
  714. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/赤湖"
  715. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  716. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("cust")
  717. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("dd")
  718. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("source")
  719. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("color")
  720. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  721. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("card")
  722. serial = serial + 1
  723. Next
  724. yy = yy + dt2.Rows.Count
  725. aa = aa + 1
  726. my_x = my_x + 1
  727. my_card = dt_retan.Rows(x).Item("卡号")
  728. my_date = dt_retan.Rows(x).Item("日期")
  729. Next
  730. xlSheet2.Range("A2:A" & x + 1).FillDown()
  731. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  732. xlSheet2.Range("D2:D" & x + 1).FillDown()
  733. xlSheet2.Range("J2:J" & x + 1).FillDown()
  734. xlSheet2.Range("L2:L" & x + 1).FillDown()
  735. xlSheet2.Range("M2:M" & x + 1).FillDown()
  736. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  737. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  738. MsgBox("")
  739. End Sub
  740. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  741. Dim aa As String
  742. Dim my_card As String = ""
  743. Dim my_date As Date
  744. aa = TextBox8.Text
  745. If aa = "" Then
  746. MsgBox("请输入起始单号")
  747. Exit Sub
  748. End If
  749. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  750. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  751. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  752. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  753. Dim file_name As String = ""
  754. Dim file_name1 As String = ""
  755. Dim my_weight As Double = 0
  756. Dim a As Integer = 0
  757. Dim my_count As Integer = 0
  758. Dim my_x As Integer = 0
  759. xlApp = CreateObject("Excel.Application")
  760. xlApp.Visible = True
  761. xlApp.DisplayAlerts = False
  762. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  763. xlBook.Activate()
  764. Dim dt2 As New DataTable
  765. For i = 1 To xlApp.Worksheets.Count
  766. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  767. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  768. xlSheet.Activate()
  769. Exit For
  770. End If
  771. Next
  772. Dim my_no As String = "CPRK"
  773. Dim yy As Integer = 1
  774. Dim x As Integer = 0
  775. sql = "SELECT CARD as 卡号, card2 as 卡号1, 类别, type , AVG(下鼓重) AS 下鼓重, cast(AVG(price) as numeric(10,2)) AS 单价, code, 选级, card_shaving, CUST as 客户, COLOR as 颜色, source as 皮源,
  776. DATE as 日期, 厚度, dd as 技术员, 皮源1, 皮源代码, AVG(挑级仓出库重) AS 出库重, SUM(chem) AS 化工成本, cast(SUM(chem)
  777. / AVG(投鼓重) / 6 as numeric(10,2)) AS 每尺化工
  778. FROM (SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  779. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  780. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type,
  781. AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  782. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  783. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  784. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  785. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1,
  786. rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  787. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  788. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  789. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  790. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  791. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  792. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  793. CASE WHEN rt_shaving_out.card1 IS NULL AND
  794. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  795. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  796. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层'
  797. WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  798. p.source LIKE N'%bx%')
  799. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层'
  800. WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN
  801. p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source
  802. LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%'
  803. THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN
  804. N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层'
  805. WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN
  806. p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  807. END AS 皮源1,
  808. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source
  809. LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  810. p.source LIKE N'%bx%')
  811. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source
  812. LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN
  813. N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE
  814. N'%APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ'
  815. WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%'
  816. THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source
  817. LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 皮源代码,
  818. rt_shaving_out.weight AS 挑级仓出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight)
  819. / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1,
  820. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  821. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  822. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  823. FROM RT_SYS_CHEM_OUT INNER JOIN
  824. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  825. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2,
  826. W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff,
  827. gg, hh, Dep
  828. FROM RT_RETAN_RECORD_D
  829. WHERE (DATE BETWEEN '2024/7/1' AND '2024/7/31') AND (COMa NOT LIKE N'%叠皮%') AND
  830. (WEIGHT IS NOT NULL)) AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  831. rt_wetblue_name RIGHT OUTER JOIN
  832. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON
  833. p.CARD = rt_shaving_out.card1
  834. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code,
  835. rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source,
  836. rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE,
  837. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT
  838. ORDER BY p.CARD) AS s
  839. GROUP BY CARD, card2, 类别, type, 下鼓重, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd,
  840. 备注, 皮源1, 皮源代码" ''----下鼓
  841. Dim dt_out As DataTable
  842. cmd.CommandText = sql
  843. dt_out = New DataTable
  844. da.SelectCommand = cmd
  845. da.Fill(dt_out)
  846. For x = 0 To dt_out.Rows.Count - 1 '-----------loop
  847. If (my_card = dt_out.Rows(x).Item("卡号") And my_date = dt_out.Rows(x).Item("日期")) Then GoTo OK :
  848. xlSheet.Cells(my_x + 2, 1) = dt_out.Rows(x).Item("日期")
  849. xlSheet.Cells(my_x + 2, 2) = dt_out.Rows(x).Item("日期")
  850. xlSheet.Cells(my_x + 2, 3) = "'郑笔成"
  851. xlSheet.Cells(my_x + 2, 4) = "'" & my_no & aa
  852. xlSheet.Cells(my_x + 2, 5) = "'zhang"
  853. xlSheet.Cells(my_x + 2, 6) = "'1"
  854. xlSheet.Cells(my_x + 2, 7) = "'2"
  855. xlSheet.Cells(my_x + 2, 8) = "'165701"
  856. If dt_out.Rows(x).Item("type") = "打底" And Not (IsDBNull(dt_out.Rows(x).Item("card_shaving"))) Then
  857. xlSheet.Cells(my_x + 2, 9) = "'607-R"
  858. xlSheet.Cells(my_x + 2, 10) = "'挑选等级-R"
  859. Else
  860. xlSheet.Cells(my_x + 2, 9) = "'621-R"
  861. xlSheet.Cells(my_x + 2, 10) = "'染色-R"
  862. End If
  863. xlSheet.Cells(my_x + 2, 11) = "'103"
  864. xlSheet.Cells(my_x + 2, 12) = "'曾添梅"
  865. xlSheet.Cells(my_x + 2, 13) = "'103"
  866. xlSheet.Cells(my_x + 2, 14) = "'曾添梅"
  867. xlSheet.Cells(my_x + 2, 15) = "'85"
  868. For i = 1 To xlApp.Worksheets.Count
  869. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  870. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  871. xlSheet2.Activate()
  872. Exit For
  873. End If
  874. Next
  875. sql = "SELECT CARD, card2, 类别, type, AVG(下鼓重) AS 下鼓重, AVG(price) AS price, code, 选级, card_shaving, CUST, COLOR, source,
  876. DATE, 厚度, dd, 皮源1, 皮源代码, case when AVG(出库重) is null then AVG(下鼓重) else AVG(出库重) end AS 出库重, SUM(chem) AS 化工成本, SUM(chem)
  877. / AVG(投鼓重) / 6 AS 每尺化工
  878. FROM (SELECT TOP (100) PERCENT p.CARD, CASE WHEN substring(p.CARD, 3, 1) = 'F' THEN substring(p.CARD, 4, 10)
  879. + 'F' ELSE substring(p.CARD, 4, 10) + 'P' END AS card2, CASE WHEN substring(p.card, 3, 1)
  880. = 'P' THEN N'贴膜' WHEN substring(p.card, 3, 1) = 'F' THEN '反毛' ELSE '其他' END AS 类别, p.type,
  881. AVG(p.WEIGHT) / 2 AS 下鼓重, COUNT(*) AS Expr2, CASE WHEN rt_shaving_out.price IS NULL
  882. THEN 30 ELSE rt_shaving_out.price END AS price, CASE WHEN rt_shaving_out.weight IS NULL
  883. THEN AVG(p.WEIGHT) / 2 ELSE rt_shaving_out.weight END AS weight, CASE WHEN rt_shaving_out.code IS NULL
  884. THEN '212F.XX.2.1' ELSE rt_shaving_out.code END AS code, CASE WHEN rt_shaving_out.name IS NULL
  885. THEN N'D级' ELSE rt_shaving_out.name END AS 选级, rt_shaving_out.card1,
  886. rt_shaving_out.card AS card_shaving, p.CUST, p.COLOR, p.source, CASE WHEN rt_wetblue_name.code IS NULL
  887. THEN '212F.XX' ELSE rt_wetblue_name.code END AS 编码, CASE WHEN rt_wetblue_name.name IS NULL
  888. THEN N'杂皮 二层' ELSE rt_wetblue_name.name END AS 皮源, p.DATE,
  889. CASE WHEN substring(rt_shaving_out.code, 13, 1) = '1' THEN '1.02' WHEN substring(rt_shaving_out.code, 13, 1)
  890. = '2' THEN '1.24' WHEN substring(rt_shaving_out.code, 13, 1)
  891. = '3' THEN '1.46' WHEN substring(rt_shaving_out.code, 13, 1)
  892. = '4' THEN '1.68' WHEN substring(rt_shaving_out.code, 13, 1) IS NULL THEN '1.24' END AS 厚度, p.dd,
  893. CASE WHEN rt_shaving_out.card1 IS NULL AND
  894. p.type = N'套染' THEN N'套染' WHEN rt_shaving_out.price IS NULL AND
  895. p.type = N'打底' THEN N'回鼓' ELSE N'打底' END AS 备注,
  896. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'无铬鞣 二层' WHEN p.source LIKE N'%阿根廷%' THEN N'阿根廷 二层'
  897. WHEN p.source LIKE N'%澳%' THEN N'澳大利亚 二层' WHEN (p.source LIKE N'%巴西%' OR
  898. p.source LIKE N'%bx%')
  899. THEN N'巴西 二层' WHEN p.source LIKE N'%智利%' THEN N'智利 二层' WHEN p.source LIKE N'%德国%' THEN N'德国 二层'
  900. WHEN p.source LIKE N'%西班牙%' THEN N'西班牙 二层' WHEN p.source LIKE N'%欧洲%' THEN N'欧洲 二层' WHEN
  901. p.source LIKE N'%法国%' THEN N'法国 二层' WHEN p.source LIKE N'%爱尔兰%' THEN N'爱尔兰 二层' WHEN p.source
  902. LIKE N'%APP%' THEN N'美国 二层' WHEN p.source LIKE N'%日本%' THEN N'日本 二层' WHEN p.source LIKE N'%美国%'
  903. THEN N'美国 二层' WHEN p.source LIKE N'%新西兰%' THEN N'新西兰 二层' WHEN p.source LIKE N'%小皮%' THEN
  904. N'小皮 二层' WHEN p.source LIKE N'%英国%' THEN N'英国 二层' WHEN p.source LIKE N'%墨西哥%' THEN N'墨西哥 二层'
  905. WHEN p.source LIKE N'%乌拉圭%' THEN N'乌拉圭 二层' WHEN p.source LIKE N'%南非%' THEN N'南非 二层' WHEN
  906. p.source LIKE N'%孟加拉%' THEN N'孟加拉 二层' WHEN p.source LIKE N'%泰国%' THEN N'泰国 二层' ELSE N'杂皮 二层'
  907. END AS 皮源1,
  908. CASE WHEN p.source LIKE N'%无铬鞣%' THEN N'CT' WHEN p.source LIKE N'%阿根廷%' THEN N'AR' WHEN p.source
  909. LIKE N'%澳%' THEN N'AU' WHEN (p.source LIKE N'%巴西%' OR
  910. p.source LIKE N'%bx%')
  911. THEN N'BR' WHEN p.source LIKE N'%智利%' THEN N'CL' WHEN p.source LIKE N'%德国%' THEN N'DE' WHEN p.source
  912. LIKE N'%西班牙%' THEN N'ES' WHEN p.source LIKE N'%欧洲%' THEN N'EU' WHEN p.source LIKE N'%法国%' THEN
  913. N'FR' WHEN p.source LIKE N'%爱尔兰%' THEN N'IE' WHEN p.source LIKE N'%日本%' THEN N'JP' WHEN p.source LIKE
  914. N'%APP%' THEN N'US' WHEN p.source LIKE N'%美国%' THEN N'US' WHEN p.source LIKE N'%新西兰%' THEN N'NZ'
  915. WHEN p.source LIKE N'%小皮%' THEN N'SS' WHEN p.source LIKE N'%英国%' THEN N'UK' WHEN p.source LIKE N'%墨西哥%'
  916. THEN N'MX' WHEN p.source LIKE N'%乌拉圭%' THEN N'UY' WHEN p.source LIKE N'%南非%' THEN N'ZA' WHEN p.source
  917. LIKE N'%孟加拉%' THEN N'BD' WHEN p.source LIKE N'%泰国%' THEN N'TH' ELSE N'XX' END AS 皮源代码,
  918. rt_shaving_out.weight AS 出库重, CASE WHEN rt_shaving_out.weight IS NULL THEN AVG(p.weight)
  919. / 2 ELSE rt_shaving_out.weight END AS 投鼓重, RT_SYS_CHEM_OUT.CODE AS Expr1,
  920. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1 AS chemprice,
  921. RT_SYS_CHEM_OUT.WEIGHT AS chemweight, CASE WHEN rt_chem_price_li.price1 IS NULL
  922. THEN 0 ELSE rt_chem_price_li.price1 * rt_sys_chem_out.weight END AS chem
  923. FROM RT_SYS_CHEM_OUT INNER JOIN
  924. rt_chem_price_li ON RT_SYS_CHEM_OUT.CODE = rt_chem_price_li.code RIGHT OUTER JOIN
  925. (SELECT NO, AREA, MONTH, HEADER, HEADER2, DATE, CARD, CARD1, CUST, COLOR, W1, P1, A1, W2, P2, A2,
  926. W3, P3, A3, W4, P4, A4, source, TOTAL, class, type, DATE1, WEIGHT, P, COMa, COMb, COMc, dd, ee, ff,
  927. gg, hh, Dep
  928. FROM RT_RETAN_RECORD_D
  929. WHERE (DATE BETWEEN '2024/6/1' AND '2024/6/30') AND (COMa NOT LIKE N'%叠皮%') AND
  930. (WEIGHT IS NOT NULL) and card=N'" & dt_out.Rows(x).Item("卡号") & "'And date=N'" & dt_out.Rows(x).Item("日期") & "') AS p ON RT_SYS_CHEM_OUT.CARD = p.CARD LEFT OUTER JOIN
  931. rt_wetblue_name RIGHT OUTER JOIN
  932. rt_shaving_out ON LEFT(rt_wetblue_name.code, 7) = LEFT(rt_shaving_out.code, 7) ON
  933. p.CARD = rt_shaving_out.card1
  934. GROUP BY p.type, p.CARD, p.CARD1, rt_shaving_out.price, rt_shaving_out.weight, rt_shaving_out.code,
  935. rt_shaving_out.name, rt_shaving_out.card1, rt_shaving_out.card, p.CUST, p.COLOR, p.source,
  936. rt_wetblue_name.code, rt_wetblue_name.name, p.DATE, p.dd, RT_SYS_CHEM_OUT.CODE,
  937. RT_SYS_CHEM_OUT.NAME, rt_chem_price_li.price1, RT_SYS_CHEM_OUT.WEIGHT
  938. ORDER BY p.CARD) AS s
  939. GROUP BY CARD, card2, 类别, type, 下鼓重, code, 选级, card1, card_shaving, CUST, COLOR, source, 编码, 皮源, DATE, 厚度, dd,
  940. 备注, 皮源1, 皮源代码
  941. "
  942. dt2 = New DataTable
  943. cmd.CommandText = sql
  944. da.SelectCommand = cmd
  945. da.Fill(dt2)
  946. Dim serial As Integer = 1
  947. For y = 0 To dt2.Rows.Count - 1
  948. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  949. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & aa
  950. 'xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  951. 'xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  952. xlSheet2.Cells(yy + 1 + y, 5) = "112.FM"
  953. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  954. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  955. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("price")
  956. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("price")
  957. xlSheet2.Cells(yy + 1 + y, 17) = "112 " & dt2.Rows(y).Item("皮源1") '批号
  958. xlSheet2.Cells(yy + 1 + y, 18) = dt2.Rows(y).Item("type") '备注
  959. If dt_out.Rows(x).Item("type") = "打底" And IsDBNull(dt_out.Rows(x).Item("card_shaving")) And dt_out.Rows(x).Item("类别") <> "其他" Then
  960. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.04"
  961. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚改色"
  962. ElseIf dt_out.Rows(x).Item("type") = "打底" And Not (IsDBNull(dt_out.Rows(x).Item("card_shaving"))) Then
  963. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.01"
  964. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  965. ElseIf dt_out.Rows(x).Item("type") = "套染" Then
  966. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.02"
  967. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚套染"
  968. ElseIf dt_out.Rows(x).Item("type") = "回鼓" Or dt_out.Rows(x).Item("type") = "套色" Then
  969. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.03"
  970. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚回鼓"
  971. ElseIf dt_out.Rows(x).Item("类别") = "其他" Then
  972. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.08"
  973. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/合鼓中和"
  974. End If
  975. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  976. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("cust")
  977. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("dd")
  978. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("source")
  979. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("color")
  980. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  981. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("card")
  982. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  983. xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  984. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("card_shaving")
  985. serial = serial + 1
  986. Next
  987. yy = yy + dt2.Rows.Count
  988. aa = aa + 1
  989. my_x = my_x + 1
  990. my_card = dt_out.Rows(x).Item("卡号")
  991. my_date = dt_out.Rows(x).Item("日期")
  992. OK:
  993. Next
  994. xlSheet2.Range("A2:A" & x + 1).FillDown()
  995. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  996. xlSheet2.Range("D2:D" & x + 1).FillDown()
  997. xlSheet2.Range("J2:J" & x + 1).FillDown()
  998. xlSheet2.Range("L2:L" & x + 1).FillDown()
  999. xlSheet2.Range("M2:M" & x + 1).FillDown()
  1000. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  1001. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  1002. MsgBox("")
  1003. End Sub
  1004. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  1005. Dim dt As New DataTable
  1006. Dim file_name As String = ""
  1007. Dim a As Integer = 0
  1008. Dim my_count As Integer = 0
  1009. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
  1010. file_name = OpenFileDialog1.FileName
  1011. End If
  1012. Dim filepath As String = "k3/在制品"
  1013. Dim sourceFileName As String = file_name
  1014. Dim address2 As String = "ftp://" & my_ip & ":7788/" & filepath & "/" & OpenFileDialog1.SafeFileName
  1015. Dim address3() As String
  1016. address3 = Split(address2, "ftp://" & my_ip & ":7788/")
  1017. Dim add4 As String
  1018. add4 = "d:\k3\在制品\" & OpenFileDialog1.SafeFileName
  1019. Dim userName As String = "matchy3c"
  1020. Dim password As String = "Lafayette11"
  1021. Dim showUI As Boolean = True
  1022. Dim connectionTimeout As Integer = 500
  1023. Dim client As WebClient = New WebClient
  1024. client.Credentials = New NetworkCredential(userName, password)
  1025. client.Proxy = GlobalProxySelection.GetEmptyWebProxy()
  1026. client.UploadFile(address2, sourceFileName)
  1027. sql = "delete from rt_finish_stock" '-------
  1028. cmd.CommandText = sql
  1029. cmd.ExecuteNonQuery()
  1030. sql = "Select * FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=Yes;IMEX=1;Database=" & add4 & "')...[即时库存$]"
  1031. cmd.CommandText = sql
  1032. da.SelectCommand = cmd
  1033. da.Fill(dt)
  1034. dgv1.DataSource = dt
  1035. dt.Columns.Add("filename")
  1036. For x As Integer = 0 To dt.Rows.Count - 1
  1037. dt.Rows(x).Item("filename") = file_name
  1038. Next
  1039. Dim my_sqlbulk As New SqlBulkCopy(conn)
  1040. my_sqlbulk.DestinationTableName = "dbo.rt_finish_stock"
  1041. my_sqlbulk.WriteToServer(dt)
  1042. MsgBox("导入完成!")
  1043. End Sub
  1044. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  1045. Dim aa As String
  1046. Dim my_card As String = ""
  1047. Dim my_date As Date
  1048. aa = TextBox8.Text
  1049. If aa = "" Then
  1050. MsgBox("请输入起始单号")
  1051. Exit Sub
  1052. End If
  1053. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  1054. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  1055. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  1056. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  1057. Dim file_name As String = ""
  1058. Dim file_name1 As String = ""
  1059. Dim my_weight As Double = 0
  1060. Dim a As Integer = 0
  1061. Dim my_count As Integer = 0
  1062. Dim my_x As Integer = 0
  1063. xlApp = CreateObject("Excel.Application")
  1064. xlApp.Visible = True
  1065. xlApp.DisplayAlerts = False
  1066. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  1067. xlBook.Activate()
  1068. Dim dt2 As New DataTable
  1069. For i = 1 To xlApp.Worksheets.Count
  1070. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  1071. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  1072. xlSheet.Activate()
  1073. Exit For
  1074. End If
  1075. Next
  1076. Dim my_no As String = "CPRK"
  1077. Dim yy As Integer = 1
  1078. Dim x As Integer = 0
  1079. sql = "SELECT rt_clean_thismonth_temp.card, rt_clean_thismonth_temp.weight, rt_retan_temp.类别, rt_retan_temp.type,
  1080. rt_retan_temp.下鼓重, rt_retan_temp.皮源1, rt_retan_temp.皮源代码
  1081. FROM rt_clean_thismonth_temp LEFT OUTER JOIN
  1082. rt_retan_temp ON rt_clean_thismonth_temp.card = rt_retan_temp.CARD" ''----扫灰
  1083. Dim dt_out As DataTable
  1084. cmd.CommandText = sql
  1085. dt_out = New DataTable
  1086. da.SelectCommand = cmd
  1087. da.Fill(dt_out)
  1088. For x = 0 To dt_out.Rows.Count - 1 '-----------loop
  1089. If (my_card = dt_out.Rows(x).Item("卡号") And my_date = dt_out.Rows(x).Item("日期")) Then GoTo OK :
  1090. xlSheet.Cells(my_x + 2, 1) = dt_out.Rows(x).Item("日期")
  1091. xlSheet.Cells(my_x + 2, 2) = dt_out.Rows(x).Item("日期")
  1092. xlSheet.Cells(my_x + 2, 3) = "'郑笔成"
  1093. xlSheet.Cells(my_x + 2, 4) = "'" & my_no & aa
  1094. xlSheet.Cells(my_x + 2, 5) = "'zhang"
  1095. xlSheet.Cells(my_x + 2, 6) = "'1"
  1096. xlSheet.Cells(my_x + 2, 7) = "'2"
  1097. xlSheet.Cells(my_x + 2, 8) = "'165701"
  1098. If dt_out.Rows(x).Item("type") = "打底" And IsDBNull(dt_out.Rows(x).Item("card_shaving")) Then
  1099. xlSheet.Cells(my_x + 2, 9) = "'607-R"
  1100. xlSheet.Cells(my_x + 2, 10) = "'挑选等级-R"
  1101. ElseIf dt_out.Rows(x).Item("type") = "打底" And Not (IsDBNull(dt_out.Rows(x).Item("card_shaving"))) Then
  1102. ElseIf dt_out.Rows(x).Item("type") = "套染" Then
  1103. xlSheet.Cells(my_x + 2, 9) = "'607-R"
  1104. xlSheet.Cells(my_x + 2, 10) = "'挑选等级-R"
  1105. Else
  1106. xlSheet.Cells(my_x + 2, 9) = "'607-R"
  1107. xlSheet.Cells(my_x + 2, 10) = "'挑选等级-R"
  1108. End If
  1109. xlSheet.Cells(my_x + 2, 11) = "'103"
  1110. xlSheet.Cells(my_x + 2, 12) = "'曾添梅"
  1111. xlSheet.Cells(my_x + 2, 13) = "'103"
  1112. xlSheet.Cells(my_x + 2, 14) = "'曾添梅"
  1113. xlSheet.Cells(my_x + 2, 15) = "'85"
  1114. For i = 1 To xlApp.Worksheets.Count
  1115. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  1116. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  1117. xlSheet2.Activate()
  1118. Exit For
  1119. End If
  1120. Next
  1121. sql = ""
  1122. dt2 = New DataTable
  1123. cmd.CommandText = sql
  1124. da.SelectCommand = cmd
  1125. da.Fill(dt2)
  1126. Dim serial As Integer = 1
  1127. For y = 0 To dt2.Rows.Count - 1
  1128. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  1129. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & aa
  1130. xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  1131. xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  1132. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("出库重")
  1133. xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("price")
  1134. xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("price")
  1135. xlSheet2.Cells(yy + 1 + y, 17) = dt2.Rows(y).Item("card2")
  1136. xlSheet2.Cells(yy + 1 + y, 18) = dt2.Rows(y).Item("type")
  1137. If dt_out.Rows(x).Item("type") = "打底" And IsDBNull(dt_out.Rows(x).Item("card_shaving")) And dt_out.Rows(x).Item("类别") <> "其他" Then
  1138. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.4"
  1139. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚改色"
  1140. ElseIf dt_out.Rows(x).Item("type") = "打底" And Not (IsDBNull(dt_out.Rows(x).Item("card_shaving"))) Then
  1141. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.1"
  1142. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/蓝皮下鼓"
  1143. ElseIf dt_out.Rows(x).Item("type") = "套染" Then
  1144. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.2"
  1145. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚套染"
  1146. ElseIf dt_out.Rows(x).Item("type") = "回鼓" Or dt_out.Rows(x).Item("type") = "套色" Then
  1147. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.3"
  1148. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/皮胚回鼓"
  1149. ElseIf dt_out.Rows(x).Item("类别") = "其他" Then
  1150. xlSheet2.Cells(yy + 1 + y, 25) = "'213A-R.8"
  1151. xlSheet2.Cells(yy + 1 + y, 26) = "染色仓/合鼓中和"
  1152. End If
  1153. xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  1154. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("cust")
  1155. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("dd")
  1156. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("source")
  1157. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("color")
  1158. xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  1159. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("card")
  1160. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("选级")
  1161. xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  1162. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("card_shaving")
  1163. serial = serial + 1
  1164. Next
  1165. yy = yy + dt2.Rows.Count
  1166. aa = aa + 1
  1167. my_x = my_x + 1
  1168. my_card = dt_out.Rows(x).Item("卡号")
  1169. my_date = dt_out.Rows(x).Item("日期")
  1170. OK:
  1171. Next
  1172. xlSheet2.Range("A2:A" & x + 1).FillDown()
  1173. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  1174. xlSheet2.Range("D2:D" & x + 1).FillDown()
  1175. xlSheet2.Range("J2:J" & x + 1).FillDown()
  1176. xlSheet2.Range("L2:L" & x + 1).FillDown()
  1177. xlSheet2.Range("M2:M" & x + 1).FillDown()
  1178. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  1179. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  1180. MsgBox("")
  1181. End Sub
  1182. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click '0601
  1183. Dim aa As String
  1184. Dim my_card As String = ""
  1185. Dim my_date As Date
  1186. aa = TextBox8.Text
  1187. If aa = "" Then
  1188. MsgBox("请输入起始单号")
  1189. Exit Sub
  1190. End If
  1191. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  1192. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  1193. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  1194. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  1195. Dim file_name As String = ""
  1196. Dim file_name1 As String = ""
  1197. Dim my_weight As Double = 0
  1198. Dim a As Integer = 0
  1199. Dim my_count As Integer = 0
  1200. Dim my_x As Integer = 0
  1201. xlApp = CreateObject("Excel.Application")
  1202. xlApp.Visible = True
  1203. xlApp.DisplayAlerts = False
  1204. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  1205. xlBook.Activate()
  1206. Dim dt2 As New DataTable
  1207. For i = 1 To xlApp.Worksheets.Count
  1208. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  1209. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  1210. xlSheet.Activate()
  1211. Exit For
  1212. End If
  1213. Next
  1214. Dim my_no As String = "CPRK"
  1215. Dim yy As Integer = 1
  1216. Dim x As Integer = 0
  1217. Dim dt_in As New DataTable
  1218. sql = "SELECT date, dep, wh, code, name, code_1, qty, lot, p1, p2, code1, name1, id
  1219. FROM rt_TM_IN_0601 where right(lot,1)<>'P' order by id " ''----0601
  1220. Dim dt_out As DataTable
  1221. cmd.CommandText = sql
  1222. dt_in = New DataTable
  1223. da.SelectCommand = cmd
  1224. da.Fill(dt_in)
  1225. For x = 0 To dt_in.Rows.Count - 1 '-----------loop
  1226. xlSheet.Cells(my_x + 2, 1) = "2024/06/01"
  1227. xlSheet.Cells(my_x + 2, 2) = "2024/06/01"
  1228. xlSheet.Cells(my_x + 2, 3) = "'曾添梅"
  1229. xlSheet.Cells(my_x + 2, 4) = "'" & my_no & aa
  1230. xlSheet.Cells(my_x + 2, 5) = "'zhang"
  1231. xlSheet.Cells(my_x + 2, 6) = "'1"
  1232. xlSheet.Cells(my_x + 2, 7) = "'2"
  1233. xlSheet.Cells(my_x + 2, 8) = "'165701"
  1234. xlSheet.Cells(my_x + 2, 9) = "'621-R"
  1235. xlSheet.Cells(my_x + 2, 10) = "'染色-R"
  1236. xlSheet.Cells(my_x + 2, 11) = "'103"
  1237. xlSheet.Cells(my_x + 2, 12) = "'曾添梅"
  1238. xlSheet.Cells(my_x + 2, 13) = "'103"
  1239. xlSheet.Cells(my_x + 2, 14) = "'曾添梅"
  1240. xlSheet.Cells(my_x + 2, 15) = "'85"
  1241. For i = 1 To xlApp.Worksheets.Count
  1242. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  1243. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  1244. xlSheet2.Activate()
  1245. Exit For
  1246. End If
  1247. Next
  1248. sql = "SELECT r.date, r.dep, r.wh, r.code, r.name, r.code_1, r.qty, r.lot, r.p1, r.p2, r.code1, r.name1, r.id, r.card, RT_RETAN_RECORD.source,
  1249. RT_RETAN_RECORD.color, RT_RETAN_RECORD.tech, RT_RETAN_RECORD.cust, RT_RETAN_RECORD.wb_weight,
  1250. RT_RETAN_RECORD.date AS Expr1
  1251. FROM (SELECT date, dep, wh, code, name, code_1, qty, lot, p1, p2, code1, name1, id, 'BR' + RIGHT(lot, 1) + SUBSTRING(lot, 1,
  1252. LEN(lot) - 1) AS card
  1253. FROM rt_TM_IN_0601 where id='" & dt_in.Rows(x).Item("id") & "' and right(lot,1)<>'P' ) AS r LEFT OUTER JOIN
  1254. RT_RETAN_RECORD ON r.card = RT_RETAN_RECORD.card"
  1255. dt2 = New DataTable
  1256. cmd.CommandText = sql
  1257. da.SelectCommand = cmd
  1258. da.Fill(dt2)
  1259. Dim serial As Integer = 1
  1260. For y = 0 To dt2.Rows.Count - 1
  1261. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  1262. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & aa
  1263. 'xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  1264. 'xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  1265. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("qty")
  1266. ' xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("price")
  1267. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("price")
  1268. xlSheet2.Cells(yy + 1 + y, 18) = "'2024/6/1新编码" '备注
  1269. If dt2.Rows(y).Item("wh") = "涂饰在制品" Then
  1270. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM" '物料
  1271. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1272. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("code_1") '批号
  1273. xlSheet2.Cells(yy + 1 + y, 25) = "'213F-R" '收货仓库
  1274. xlSheet2.Cells(yy + 1 + y, 26) = "喷台仓/赤湖"
  1275. Else
  1276. xlSheet2.Cells(yy + 1 + y, 5) = "517A.FM"
  1277. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1278. xlSheet2.Cells(yy + 1 + y, 17) = "517 " & dt2.Rows(y).Item("code_1") '批号
  1279. xlSheet2.Cells(yy + 1 + y, 25) = "'517" '收货仓库
  1280. xlSheet2.Cells(yy + 1 + y, 26) = "成品仓"
  1281. End If
  1282. 'xlSheet2.Cells(yy + 1 + y, 25) = "'213E-R"
  1283. 'xlSheet2.Cells(yy + 1 + y, 26) = "磨革、扫灰仓/赤湖"
  1284. ' xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  1285. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("cust")
  1286. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("tech")
  1287. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("source")
  1288. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("color")
  1289. ' xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  1290. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("card")
  1291. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("expr1")
  1292. ' xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  1293. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("wb_weight")
  1294. serial = serial + 1
  1295. Next
  1296. yy = yy + dt2.Rows.Count
  1297. aa = aa + 1
  1298. my_x = my_x + 1
  1299. 'my_card = dt_in.Rows(x).Item("卡号")
  1300. 'my_date = dt_in.Rows(x).Item("日期")
  1301. Next
  1302. xlSheet2.Range("A2:A" & x + 1).FillDown()
  1303. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  1304. xlSheet2.Range("D2:D" & x + 1).FillDown()
  1305. xlSheet2.Range("J2:J" & x + 1).FillDown()
  1306. xlSheet2.Range("L2:L" & x + 1).FillDown()
  1307. xlSheet2.Range("M2:M" & x + 1).FillDown()
  1308. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  1309. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  1310. MsgBox("")
  1311. End Sub
  1312. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click '--0630
  1313. Dim aa As String
  1314. Dim my_card As String = ""
  1315. Dim my_date As Date
  1316. aa = TextBox8.Text
  1317. If aa = "" Then
  1318. MsgBox("请输入起始单号")
  1319. Exit Sub
  1320. End If
  1321. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  1322. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  1323. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  1324. Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet
  1325. Dim file_name As String = ""
  1326. Dim file_name1 As String = ""
  1327. Dim my_weight As Double = 0
  1328. Dim a As Integer = 0
  1329. Dim my_count As Integer = 0
  1330. Dim my_x As Integer = 0
  1331. xlApp = CreateObject("Excel.Application")
  1332. xlApp.Visible = True
  1333. xlApp.DisplayAlerts = False
  1334. xlBook = xlApp.Workbooks.Open("D:\K3\k3表格模板\下鼓染色入库.xls",, True)
  1335. xlBook.Activate()
  1336. Dim dt2 As New DataTable
  1337. For i = 1 To xlApp.Worksheets.Count
  1338. If xlApp.Workbooks(1).Worksheets(i).name = "Page1" Then
  1339. xlSheet = xlApp.Workbooks(1).Worksheets(i)
  1340. xlSheet.Activate()
  1341. Exit For
  1342. End If
  1343. Next
  1344. Dim my_no As String = "CPRK"
  1345. Dim yy As Integer = 1
  1346. Dim x As Integer = 0
  1347. Dim dt_in As New DataTable
  1348. sql = "SELECT date, cust, color, card, pattern, sf, comment, type, source, size, lot, wh,id FROM rt_finish_stock_0630 ORDER BY id " ''----0630成品
  1349. Dim dt_out As DataTable
  1350. cmd.CommandText = sql
  1351. dt_in = New DataTable
  1352. da.SelectCommand = cmd
  1353. da.Fill(dt_in)
  1354. For x = 0 To dt_in.Rows.Count - 1 '-----------loop
  1355. xlSheet.Cells(my_x + 2, 1) = "2024/07/01"
  1356. xlSheet.Cells(my_x + 2, 2) = "2024/07/01"
  1357. xlSheet.Cells(my_x + 2, 3) = "'吴小男"
  1358. xlSheet.Cells(my_x + 2, 4) = "'" & my_no & aa
  1359. xlSheet.Cells(my_x + 2, 5) = "'zhang"
  1360. xlSheet.Cells(my_x + 2, 6) = "'1"
  1361. xlSheet.Cells(my_x + 2, 7) = "'2"
  1362. xlSheet.Cells(my_x + 2, 8) = "'165701"
  1363. If dt_in.Rows(x).Item("type").value = "贴膜" Then
  1364. xlSheet.Cells(my_x + 2, 9) = "'653P-R"
  1365. xlSheet.Cells(my_x + 2, 10) = "'燥干-R"
  1366. Else
  1367. xlSheet.Cells(my_x + 2, 9) = "'655P-R"
  1368. xlSheet.Cells(my_x + 2, 10) = "'修剪、成检、量尺、包装-R"
  1369. End If
  1370. xlSheet.Cells(my_x + 2, 11) = "'120"
  1371. xlSheet.Cells(my_x + 2, 12) = "'吴小男"
  1372. xlSheet.Cells(my_x + 2, 13) = "'120"
  1373. xlSheet.Cells(my_x + 2, 14) = "'吴小男"
  1374. xlSheet.Cells(my_x + 2, 15) = "'120"
  1375. For i = 1 To xlApp.Worksheets.Count
  1376. If xlApp.Workbooks(1).Worksheets(i).name = "Page2" Then
  1377. xlSheet2 = xlApp.Workbooks(1).Worksheets(i)
  1378. xlSheet2.Activate()
  1379. Exit For
  1380. End If
  1381. Next
  1382. sql = "SELECT r.date, r.dep, r.wh, r.code, r.name, r.code_1, r.qty, r.lot, r.p1, r.p2, r.code1, r.name1, r.id, r.card, RT_RETAN_RECORD.source,
  1383. RT_RETAN_RECORD.color, RT_RETAN_RECORD.tech, RT_RETAN_RECORD.cust, RT_RETAN_RECORD.wb_weight,
  1384. RT_RETAN_RECORD.date AS Expr1
  1385. FROM (SELECT date, dep, wh, code, name, code_1, qty, lot, p1, p2, code1, name1, id, 'BR' + RIGHT(lot, 1) + SUBSTRING(lot, 1,
  1386. LEN(lot) - 1) AS card
  1387. FROM rt_TM_IN_0601 where id='" & dt_in.Rows(x).Item("id") & "' and right(lot,1)<>'P' ) AS r LEFT OUTER JOIN
  1388. RT_RETAN_RECORD ON r.card = RT_RETAN_RECORD.card"
  1389. dt2 = New DataTable
  1390. cmd.CommandText = sql
  1391. da.SelectCommand = cmd
  1392. da.Fill(dt2)
  1393. Dim serial As Integer = 1
  1394. For y = 0 To dt2.Rows.Count - 1
  1395. xlSheet2.Cells(yy + 1 + y, 2) = "'" & serial '行号
  1396. xlSheet2.Cells(yy + 1 + y, 3) = "'" & my_no & aa
  1397. 'xlSheet2.Cells(yy + 1 + y, 5) = "112." & dt2.Rows(y).Item("皮源代码")
  1398. 'xlSheet2.Cells(yy + 1 + y, 6) = dt2.Rows(y).Item("皮源1")
  1399. xlSheet2.Cells(yy + 1 + y, 14) = dt2.Rows(y).Item("qty")
  1400. ' xlSheet2.Cells(yy + 1 + y, 15) = dt2.Rows(y).Item("price")
  1401. ' xlSheet2.Cells(yy + 1 + y, 16) = dt2.Rows(y).Item("出库重") * dt2.Rows(y).Item("price")
  1402. xlSheet2.Cells(yy + 1 + y, 18) = "'2024/6/1新编码" '备注
  1403. If dt2.Rows(y).Item("wh") = "涂饰在制品" Then
  1404. xlSheet2.Cells(yy + 1 + y, 5) = "313.FM" '物料
  1405. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1406. xlSheet2.Cells(yy + 1 + y, 17) = "313 " & dt2.Rows(y).Item("code_1") '批号
  1407. xlSheet2.Cells(yy + 1 + y, 25) = "'213F-R" '收货仓库
  1408. xlSheet2.Cells(yy + 1 + y, 26) = "喷台仓/赤湖"
  1409. Else
  1410. xlSheet2.Cells(yy + 1 + y, 5) = "517A.FM"
  1411. xlSheet2.Cells(yy + 1 + y, 6) = "二层皮"
  1412. xlSheet2.Cells(yy + 1 + y, 17) = "517 " & dt2.Rows(y).Item("code_1") '批号
  1413. xlSheet2.Cells(yy + 1 + y, 25) = "'517" '收货仓库
  1414. xlSheet2.Cells(yy + 1 + y, 26) = "成品仓"
  1415. End If
  1416. 'xlSheet2.Cells(yy + 1 + y, 25) = "'213E-R"
  1417. 'xlSheet2.Cells(yy + 1 + y, 26) = "磨革、扫灰仓/赤湖"
  1418. ' xlSheet2.Cells(yy + 1 + y, 38) = dt2.Rows(y).Item("类别")
  1419. xlSheet2.Cells(yy + 1 + y, 39) = "'" & dt2.Rows(y).Item("cust")
  1420. xlSheet2.Cells(yy + 1 + y, 40) = dt2.Rows(y).Item("tech")
  1421. xlSheet2.Cells(yy + 1 + y, 41) = dt2.Rows(y).Item("source")
  1422. xlSheet2.Cells(yy + 1 + y, 42) = dt2.Rows(y).Item("color")
  1423. ' xlSheet2.Cells(yy + 1 + y, 43) = dt2.Rows(y).Item("厚度")
  1424. xlSheet2.Cells(yy + 1 + y, 44) = dt2.Rows(y).Item("card")
  1425. xlSheet2.Cells(yy + 1 + y, 45) = dt2.Rows(y).Item("expr1")
  1426. ' xlSheet2.Cells(yy + 1 + y, 46) = dt2.Rows(y).Item("化工成本")
  1427. xlSheet2.Cells(yy + 1 + y, 47) = dt2.Rows(y).Item("wb_weight")
  1428. serial = serial + 1
  1429. Next
  1430. yy = yy + dt2.Rows.Count
  1431. aa = aa + 1
  1432. my_x = my_x + 1
  1433. 'my_card = dt_in.Rows(x).Item("卡号")
  1434. 'my_date = dt_in.Rows(x).Item("日期")
  1435. Next
  1436. xlSheet2.Range("A2:A" & x + 1).FillDown()
  1437. 'xlSheet2.Range("B2:B" & x + 1).FillDown()
  1438. xlSheet2.Range("D2:D" & x + 1).FillDown()
  1439. xlSheet2.Range("J2:J" & x + 1).FillDown()
  1440. xlSheet2.Range("L2:L" & x + 1).FillDown()
  1441. xlSheet2.Range("M2:M" & x + 1).FillDown()
  1442. 'xlSheet2.Range("O2:O" & x + 1).FillDown()
  1443. 'xlSheet2.Range("P2:P" & x + 1).FillDown()
  1444. MsgBox("")
  1445. End Sub
  1446. End Class