SapMaterialCode.cs 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using Curtain.DataAccess;
  5. /// <summary>
  6. /// SapFinishMenge 的摘要说明
  7. /// </summary>
  8. public class SapMaterialCode
  9. {
  10. /// <summary>
  11. /// 更新物料主数据
  12. /// </summary>
  13. /// <param name="today"></param>
  14. /// <returns></returns>
  15. public static string SyncSapMaterialCode()
  16. {
  17. try
  18. {
  19. string ZTYPE;
  20. string ZMSG;
  21. int result = 0;
  22. DataTable dtResult = SapApi.ZMMFM054(out ZTYPE, out ZMSG, "TimeInterval", "", "");
  23. if (dtResult != null && dtResult.Rows.Count > 0)
  24. {
  25. using (IDataAccess conn = DataAccess.Create())
  26. {
  27. // 开启事务
  28. conn.BeginTransaction();
  29. string sqlStr = @"SELECT * FROM TP_PC_SAPBOMDETAIL ";
  30. List<CDAParameter> sqlPara = new List<CDAParameter>();
  31. DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
  32. string sqlString = "";
  33. foreach (DataRow row in dtResult.Rows)
  34. {
  35. DataRow[] drs = dt.Select("MATNR='" + row["MATNR"] + "' AND WERKS = '" + 5200 + "'");
  36. if (drs != null && drs.Length > 0)
  37. {
  38. //修改
  39. sqlString = @"
  40. update TP_PC_SAPBOMDETAIL set
  41. MAKTX=@MAKTX@
  42. ,MATKL=@MATKL@
  43. ,WGBEZ=@WGBEZ@
  44. ,MEINS=@MEINS@
  45. ,LABOR=@LABOR@
  46. ,LGFSB=@LGFSB@
  47. ,MTART=@MTART@
  48. ,LVORM=@LVORM@
  49. ,BSTRF=@BSTRF@
  50. ,PRDHA=@PRDHA@
  51. ,VTEXT=@VTEXT@
  52. ,BSTME=@BSTME@
  53. ,VOLUM=@VOLUM@
  54. ,BESKZ=@BESKZ@
  55. ,SOBSL=@SOBSL@
  56. ,LGPRO=@LGPRO@
  57. ,MTPOSMARA=@MTPOSMARA@
  58. ,GROES=@GROES@
  59. ,STPRS=@STPRS@
  60. ,UMREZ=@UMREZ@
  61. ,PEINH=@PEINH@
  62. ,XCHAR=@XCHAR@
  63. ,ZGG=@ZGG@
  64. ,ZYS=@ZYS@
  65. ,ZCSJ=@ZCSJ@
  66. ,VRKME=@VRKME@
  67. ,ERSDA=@ERSDA@
  68. ,MAABC=@MAABC@
  69. ,BRGEW=@BRGEW@
  70. ,NTGEW=@NTGEW@
  71. ,VOLEH=@VOLEH@
  72. ,ZWLFL=@ZWLFL@
  73. ,ZWXGG=@ZWXGG@
  74. ,ZWXMZ=@ZWXMZ@
  75. ,ZWXJZ=@ZWXJZ@
  76. ,ZEWSL=@ZEWSL@
  77. ,ZEWDW=@ZEWDW@
  78. ,ZMEINS=@ZMEINS@
  79. ,ZZXBZ=@ZZXBZ@
  80. ,ZWYM=@ZWYM@
  81. ,ZNMAE=@ZNMAE@
  82. ,ZMYYSL=@ZMYYSL@
  83. ,ZCPCCBZQ=@ZCPCCBZQ@
  84. ,ZCPCCBZH=@ZCPCCBZH@
  85. ,ZBY1=@ZBY1@
  86. ,ZBY2=@ZBY2@
  87. ,ZBY3=@ZBY3@
  88. ,ZBY4=@ZBY4@
  89. ,ZBY5=@ZBY5@
  90. ,ZBY6=@ZBY6@
  91. ,ZWLJC=@ZWLJC@
  92. ,ACCOUNTID=@ACCOUNTID@
  93. ,VALUEFLAG =@VALUEFLAG@
  94. where MATNR=@MATNR@ and WERKS=@WERKS@";
  95. }
  96. else
  97. {
  98. //添加
  99. sqlString = @"
  100. INSERT INTO TP_PC_SAPBOMDETAIL (
  101. MATNR
  102. ,WERKS
  103. ,MAKTX
  104. ,MATKL
  105. ,WGBEZ
  106. ,MEINS
  107. ,LABOR
  108. ,LGFSB
  109. ,MTART
  110. ,LVORM
  111. ,BSTRF
  112. ,PRDHA
  113. ,VTEXT
  114. ,BSTME
  115. ,VOLUM
  116. ,BESKZ
  117. ,SOBSL
  118. ,LGPRO
  119. ,MTPOSMARA
  120. ,GROES
  121. ,STPRS
  122. ,UMREZ
  123. ,PEINH
  124. ,XCHAR
  125. ,ZGG
  126. ,ZYS
  127. ,ZCSJ
  128. ,VRKME
  129. ,ERSDA
  130. ,MAABC
  131. ,BRGEW
  132. ,NTGEW
  133. ,VOLEH
  134. ,ZWLFL
  135. ,ZWXGG
  136. ,ZWXMZ
  137. ,ZWXJZ
  138. ,ZEWSL
  139. ,ZEWDW
  140. ,ZMEINS
  141. ,ZZXBZ
  142. ,ZWYM
  143. ,ZNMAE
  144. ,ZMYYSL
  145. ,ZCPCCBZQ
  146. ,ZCPCCBZH
  147. ,ZBY1
  148. ,ZBY2
  149. ,ZBY3
  150. ,ZBY4
  151. ,ZBY5
  152. ,ZBY6
  153. ,ACCOUNTID
  154. ,VALUEFLAG
  155. ,CREATEUSERID
  156. ,UPDATEUSERID
  157. ,ZWLJC
  158. ) values(
  159. @MATNR@
  160. ,@WERKS@
  161. ,@MAKTX@
  162. ,@MATKL@
  163. ,@WGBEZ@
  164. ,@MEINS@
  165. ,@LABOR@
  166. ,@LGFSB@
  167. ,@MTART@
  168. ,@LVORM@
  169. ,@BSTRF@
  170. ,@PRDHA@
  171. ,@VTEXT@
  172. ,@BSTME@
  173. ,@VOLUM@
  174. ,@BESKZ@
  175. ,@SOBSL@
  176. ,@LGPRO@
  177. ,@MTPOSMARA@
  178. ,@GROES@
  179. ,@STPRS@
  180. ,@UMREZ@
  181. ,@PEINH@
  182. ,@XCHAR@
  183. ,@ZGG@
  184. ,@ZYS@
  185. ,@ZCSJ@
  186. ,@VRKME@
  187. ,@ERSDA@
  188. ,@MAABC@
  189. ,@BRGEW@
  190. ,@NTGEW@
  191. ,@VOLEH@
  192. ,@ZWLFL@
  193. ,@ZWXGG@
  194. ,@ZWXMZ@
  195. ,@ZWXJZ@
  196. ,@ZEWSL@
  197. ,@ZEWDW@
  198. ,@ZMEINS@
  199. ,@ZZXBZ@
  200. ,@ZWYM@
  201. ,@ZNMAE@
  202. ,@ZMYYSL@
  203. ,@ZCPCCBZQ@
  204. ,@ZCPCCBZH@
  205. ,@ZBY1@
  206. ,@ZBY2@
  207. ,@ZBY3@
  208. ,@ZBY4@
  209. ,@ZBY5@
  210. ,@ZBY6@
  211. ,@ACCOUNTID@
  212. ,@VALUEFLAG@
  213. ,@CREATEUSERID@
  214. ,@UPDATEUSERID@
  215. ,@ZWLJC@
  216. )";
  217. }
  218. result += conn.ExecuteNonQuery(sqlString,
  219. new CDAParameter("MATNR", row["MATNR"]),
  220. new CDAParameter("WERKS", "5200"),
  221. new CDAParameter("MAKTX", row["MAKTX"]),
  222. new CDAParameter("MATKL", row["MATKL"]),
  223. new CDAParameter("WGBEZ", row["WGBEZ"]),
  224. new CDAParameter("MEINS", row["MEINS"]),
  225. new CDAParameter("LABOR", row["LABOR"]),
  226. new CDAParameter("LGFSB", row["LGFSB"]),
  227. new CDAParameter("MTART", row["MTART"]),
  228. new CDAParameter("LVORM", row["LVORM"]),
  229. new CDAParameter("BSTRF", row["BSTRF"]),
  230. new CDAParameter("PRDHA", row["PRDHA"]),
  231. new CDAParameter("VTEXT", row["VTEXT"]),
  232. new CDAParameter("BSTME", row["BSTME"]),
  233. new CDAParameter("VOLUM", row["VOLUM"]),
  234. new CDAParameter("BESKZ", row["BESKZ"]),
  235. new CDAParameter("SOBSL", row["SOBSL"]),
  236. new CDAParameter("LGPRO", row["LGPRO"]),
  237. new CDAParameter("MTPOSMARA", row["MTPOS_MARA"]),
  238. new CDAParameter("GROES", row["GROES"]),
  239. new CDAParameter("STPRS", row["STPRS"]),
  240. new CDAParameter("UMREZ", row["UMREZ"]),
  241. new CDAParameter("PEINH", row["PEINH"]),
  242. new CDAParameter("XCHAR", row["XCHAR"]),
  243. new CDAParameter("ZGG", row["ZGG"]),
  244. new CDAParameter("ZYS", row["ZYS"]),
  245. new CDAParameter("ZCSJ", row["ZCSJ"]),
  246. new CDAParameter("VRKME", row["VRKME"]),
  247. new CDAParameter("ERSDA", row["ERSDA"]),
  248. new CDAParameter("MAABC", row["MAABC"]),
  249. new CDAParameter("BRGEW", row["BRGEW"]),
  250. new CDAParameter("NTGEW", row["NTGEW"]),
  251. new CDAParameter("VOLEH", row["VOLEH"]),
  252. new CDAParameter("ZWLFL", row["ZWLFL"]),
  253. new CDAParameter("ZWXGG", row["ZWXGG"]),
  254. new CDAParameter("ZWXMZ", row["ZWXMZ"]),
  255. new CDAParameter("ZWXJZ", row["ZWXJZ"]),
  256. new CDAParameter("ZEWSL", row["ZEWSL"]),
  257. new CDAParameter("ZEWDW", row["ZEWDW"]),
  258. new CDAParameter("ZMEINS", row["ZMEINS"]),
  259. new CDAParameter("ZZXBZ", row["ZZXBZ"]),
  260. new CDAParameter("ZWYM", row["ZWYM"]),
  261. new CDAParameter("ZNMAE", row["ZNMAE"]),
  262. new CDAParameter("ZMYYSL", row["ZMYYSL"]),
  263. new CDAParameter("ZCPCCBZQ", row["ZCPCC_BZQ"]),
  264. new CDAParameter("ZCPCCBZH", row["ZCPCC_BZH"]),
  265. new CDAParameter("ZBY1", row["ZBY1"]),
  266. new CDAParameter("ZBY2", row["ZBY2"]),
  267. new CDAParameter("ZBY3", row["ZBY3"]),
  268. new CDAParameter("ZBY4", row["ZBY4"]),
  269. new CDAParameter("ZBY5", row["ZBY5"]),
  270. new CDAParameter("ZBY6", row["ZBY6"]),
  271. new CDAParameter("ACCOUNTID", 1),
  272. new CDAParameter("VALUEFLAG", 1),
  273. new CDAParameter("CREATEUSERID",1), //HttpContext.Current.Session["userId"]),
  274. new CDAParameter("UPDATEUSERID", 1), //HttpContext.Current.Session["userId"]),
  275. new CDAParameter("ZWLJC", row["ZEXTN1"])
  276. );
  277. }
  278. if (result > 0)
  279. {
  280. conn.Commit();
  281. }
  282. else
  283. {
  284. conn.Rollback();
  285. }
  286. }
  287. }
  288. return "操作成功:" + result;
  289. }
  290. catch (Exception e)
  291. {
  292. return "操作失败:" + e.Message;
  293. }
  294. }
  295. }