1147d14723af38e18caf9d0d864a10bb5c179f92.svn-base 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830
  1. using System;
  2. using System.Data;
  3. using Core.Mes.ServerFrameWork;
  4. using Core.Mes.IBaseInterface;
  5. using System.Collections;
  6. using Core.XgMes.Server.StorageCommon;
  7. namespace Core.XgMes.Server.JGKC.SteelPlateManager
  8. {
  9. public class SendManager : Core.Mes.ServerFrameWork.IComponent
  10. {
  11. //获取排车信息
  12. public ReturnObject GetAskPlanData(string where, string strlx)
  13. {
  14. try
  15. {
  16. string PSql = "";
  17. if (strlx == "1")
  18. {
  19. PSql = " SELECT T1.ASKPLAN_ID,T1.PACTNO,C.BUYERNAME BUYERCODE,T1.INCEPTCORPCODE ICODE,B.INCEPTCORPNAME INCEPTCORPCODE,TO_CHAR(T1.INCEPTDATE,'YY-MM-DD')INCEPTDATE,T1.WEIGHT,T1.TRANSNO,T1.REMARK "
  20. + " FROM KCJ_PLAN T1,SEL_INCEPTCORPINFO B,SEL_BUYERBASEINFO C WHERE T1.INCEPTCORPCODE=B.INCEPTCORPCODE(+) AND T1.BUYERCODE =C.BUYERCODE(+) "
  21. + " AND T1.ISVALID='1' AND T1.PL='0' " + where;
  22. }
  23. else
  24. {
  25. PSql = " SELECT T1.ASKPLAN_ID,T1.PACTNO,C.BUYERNAME BUYERCODE,T1.INCEPTCORPCODE ICODE,B.INCEPTCORPNAME INCEPTCORPCODE,TO_CHAR(T1.INCEPTDATE,'YY-MM-DD')INCEPTDATE,T1.WEIGHT,T1.TRANSNO,T1.REMARK "
  26. + " FROM KCJ_PLAN T1,SEL_INCEPTCORPINFO B,SEL_BUYERBASEINFO C WHERE T1.INCEPTCORPCODE=B.INCEPTCORPCODE(+) AND T1.BUYERCODE=C.BUYERCODE(+) "
  27. + " AND T1.ISVALID='1' AND T1.PL='1' " + where;
  28. }
  29. string err = "";
  30. System.Data.DataSet rtndst = new DataSet();
  31. System.Data.DataSet tmpdst = this.DBManager.ExecuteQuery(PSql, out err);
  32. if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
  33. {
  34. tmpdst.Tables[0].TableName = "SEL_ASKVEHICLEPLAN_C";
  35. return new ReturnObject(tmpdst);
  36. }
  37. else
  38. {
  39. return new ReturnObject(null);
  40. }
  41. }
  42. catch (System.Exception ex)
  43. {
  44. System.Diagnostics.Debug.WriteLine(ex.ToString());
  45. return new ReturnObject(null);
  46. }
  47. }
  48. //获得发运明细
  49. public ReturnObject GetSendListData(string where,string strlx)
  50. {
  51. try
  52. {
  53. string sql = "";
  54. if (strlx == "1")
  55. {
  56. sql = "SELECT B.INCEPTCORPNAME,C.BUTTRESS,C.CONDOLENUMBER,C.SERIALNUMBER,E.NAME_ CLASSORDER,"
  57. + "F.NAME_ CLASSTEAM,C.TRAINWAGON,C.PLANVEHICLEID,C.PACTNO,C.ORDERFORMNUMBER,C.ROLLNO,C.PLANNO,C.STEELTYPE,"
  58. + "C.PLY,C.WIDTH,C.LENGTH,C.WEIGHT,H.NAME_ DETERMINANTRESULT,'' CUTSIDE,''STANDROLL,"
  59. + "''DETECTMAR,G.NAME_ ROLE,"
  60. + "C.STOVENO,"
  61. + "C.ID,K.NAME_ USE,L.NAME_ STANDARDNO,C.PICKSTORAGEMAN,"
  62. + "TO_CHAR(C.PICKSTORAGETIME,'YYYY-MM-DD HH24:MI:SS') PICKSTORAGETIME,C.LISTNUMBER,"
  63. + "C.REMARK,DECODE(C.ISVALID,'1','√',NULL) ISVALID,C.ADDWEIGHT "
  64. + "FROM KCJ_PLAN A,SEL_INCEPTCORPINFO B,KCJ_TURNOFFSENDLIST_ZW C,"
  65. + "SCM_BASE_INFO E,SCM_BASE_INFO F,SCM_BASE_INFO G,SCM_BASE_INFO H,"
  66. + "SCM_BASE_INFO K,SCM_BASE_INFO L "
  67. + " "
  68. + "WHERE A.INCEPTCORPCODE=B.INCEPTCORPCODE(+) "
  69. + "AND A.ASKPLAN_ID(+)=C.PLANVEHICLEID AND C.ISVALID<>'0' "
  70. + "AND C.CLASSORDER=E.ID_(+) AND C.CLASSTEAM=F.ID_(+) AND C.ROLE=G.ID_(+) AND C.DETERMINANTRESULT=H.ID_(+) "
  71. + "AND C.USE=K.ID_(+) AND C.STANDARDNO=L.ID_(+) "
  72. + "AND C.LISTNUMBER NOT LIKE 'XB%'"
  73. + where;
  74. }
  75. else
  76. {
  77. sql = "SELECT B.INCEPTCORPNAME,C.BUTTRESS,C.CONDOLENUMBER,C.SERIALNUMBER,E.NAME_ CLASSORDER,"
  78. + "F.NAME_ CLASSTEAM,C.TRAINWAGON,C.PLANVEHICLEID,C.PACTNO,C.ORDERFORMNUMBER,C.ROLLNO,C.PLANNO,C.STEELTYPE,"
  79. + "C.PLY,C.WIDTH,C.LENGTH,C.WEIGHT,H.NAME_ DETERMINANTRESULT,'' CUTSIDE,''STANDROLL,"
  80. + "''DETECTMAR,G.NAME_ ROLE,"
  81. + "C.STOVENO,"
  82. + "C.ID,K.NAME_ USE,L.NAME_ STANDARDNO,C.PICKSTORAGEMAN,"
  83. + "TO_CHAR(C.PICKSTORAGETIME,'YYYY-MM-DD HH24:MI:SS') PICKSTORAGETIME,C.LISTNUMBER,"
  84. + "C.REMARK,DECODE(C.ISVALID,'1','√',NULL) ISVALID,C.ADDWEIGHT "
  85. + "FROM KCJ_PLAN A,SEL_INCEPTCORPINFO B,KCJ_TURNOFFSENDLIST_ZW C,"
  86. + "SCM_BASE_INFO E,SCM_BASE_INFO F,SCM_BASE_INFO G,SCM_BASE_INFO H,"
  87. + "SCM_BASE_INFO K,SCM_BASE_INFO L "
  88. + " "
  89. + "WHERE A.INCEPTCORPCODE=B.INCEPTCORPCODE(+) "
  90. + "AND A.ASKPLAN_ID(+)=C.PLANVEHICLEID AND C.ISVALID<>'0' "
  91. + "AND C.CLASSORDER=E.ID_(+) AND C.CLASSTEAM=F.ID_(+) AND C.ROLE=G.ID_(+) AND C.DETERMINANTRESULT=H.ID_(+) "
  92. + "AND C.USE=K.ID_(+) AND C.STANDARDNO=L.ID_(+) "
  93. + "AND C.LISTNUMBER NOT LIKE 'BP%'"
  94. + where;
  95. }
  96. string err = "";
  97. System.Data.DataSet dst = this.DBManager.ExecuteQuery(sql, out err);
  98. if (dst != null && dst.Tables.Count == 1 && dst.Tables[0].Rows.Count > 0)
  99. {
  100. dst.Tables[0].TableName = "KCJ_TURNOFFSENDLIST";
  101. return new ReturnObject(dst);
  102. }
  103. else
  104. {
  105. return new ReturnObject(null);
  106. }
  107. }
  108. catch (System.Exception ex)
  109. {
  110. System.Diagnostics.Debug.WriteLine(ex.ToString());
  111. return new ReturnObject(null);
  112. }
  113. }
  114. //获得库存的可发资源
  115. public ReturnObject GetCanSendList(string where, string strlx,string strlxx)
  116. {
  117. try
  118. {
  119. string err = "";
  120. string sql = "";
  121. if (strlxx == "YL")
  122. {
  123. if (strlx == "1")
  124. {
  125. sql = "SELECT 'FALSE' FLAG,SUBSTR(A.ORDERNO,1,LENGTH(A.ORDERNO)-3)PACTNO,C.PACTINDEX PLANNUMBER,"
  126. + "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
  127. + "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
  128. + "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
  129. + "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
  130. + "L.NAME_ DETECTMARBOOKIN"
  131. + ",B.REMARK,"
  132. + "A.DETECTMARBOOKIN KDETECT "
  133. + "FROM KCJ_STORAGELIST_ZW A,KCJ_STORAGEBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E,"
  134. + "SCM_BASE_INFO F,SCM_BASE_INFO I,"
  135. + "SCM_BASE_INFO L "
  136. + "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501002' AND C.SENDSTATUS=E.ID_(+) "
  137. + "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
  138. + "AND A.FACEQUALITY=I.ID_(+) "
  139. + "AND A.DETECTMARBOOKIN=L.ID_(+) "
  140. + "AND (B.BILLETID LIKE 'H%' OR B.BILLETID LIKE 'Z%') "
  141. + where
  142. + "";
  143. }
  144. else
  145. {
  146. sql = "SELECT 'FALSE' FLAG,SUBSTR(A.ORDERNO,1,LENGTH(A.ORDERNO)-3)PACTNO,C.PACTINDEX PLANNUMBER,"
  147. + "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
  148. + "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
  149. + "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
  150. + "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
  151. + "L.NAME_ DETECTMARBOOKIN "
  152. + ",B.REMARK,"
  153. + "A.DETECTMARBOOKIN KDETECT "
  154. + "FROM KCJ_STORAGELIST_ZW A,KCJ_STORAGEBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E, "
  155. + "SCM_BASE_INFO F,SCM_BASE_INFO I,"
  156. + "SCM_BASE_INFO L "
  157. + "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501002' AND C.SENDSTATUS=E.ID_(+) "
  158. + "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
  159. + "AND A.FACEQUALITY=I.ID_(+) "
  160. + "AND A.DETECTMARBOOKIN=L.ID_(+) "
  161. + "AND (B.BILLETID LIKE 'E%' OR B.BILLETID LIKE 'Y%' OR B.BILLETID LIKE 'B%') "
  162. + where;
  163. }
  164. }
  165. else
  166. {
  167. if (strlx == "1")
  168. {
  169. sql = "SELECT 'FALSE' FLAG,C.PACTNO,C.PACTINDEX PLANNUMBER,"
  170. + "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
  171. + "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
  172. + "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
  173. + "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
  174. + "L.NAME_ DETECTMARBOOKIN"
  175. + ",B.REMARK,"
  176. + "A.DETECTMARBOOKIN KDETECT "
  177. + "FROM KCJ_TURNOFFLIST_ZW A,KCJ_TURNOFFBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E,"
  178. + "SCM_BASE_INFO F,SCM_BASE_INFO I,"
  179. + "SCM_BASE_INFO L "
  180. + "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501602' AND C.SENDSTATUS=E.ID_(+) "
  181. + "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
  182. + "AND A.FACEQUALITY=I.ID_(+) "
  183. + "AND A.DETECTMARBOOKIN=L.ID_(+) "
  184. + "AND (B.BILLETID LIKE 'H%' OR B.BILLETID LIKE 'Z%') "
  185. + where
  186. + "";
  187. }
  188. else
  189. {
  190. sql = "SELECT 'FALSE' FLAG,C.PACTNO,C.PACTINDEX PLANNUMBER,"
  191. + "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
  192. + "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
  193. + "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
  194. + "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
  195. + "L.NAME_ DETECTMARBOOKIN "
  196. + ",B.REMARK,"
  197. + "A.DETECTMARBOOKIN KDETECT "
  198. + "FROM KCJ_TURNOFFLIST_ZW A,KCJ_TURNOFFBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E, "
  199. + "SCM_BASE_INFO F,SCM_BASE_INFO I,"
  200. + "SCM_BASE_INFO L "
  201. + "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501602' AND C.SENDSTATUS=E.ID_(+) "
  202. + "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
  203. + "AND A.FACEQUALITY=I.ID_(+) "
  204. + "AND A.DETECTMARBOOKIN=L.ID_(+) "
  205. + "AND (B.BILLETID LIKE 'E%' OR B.BILLETID LIKE 'Y%' OR B.BILLETID LIKE 'B%') "
  206. + where;
  207. }
  208. }
  209. System.Data.DataSet rtndst = this.DBManager.ExecuteQuery(sql, out err);
  210. if (rtndst != null && rtndst.Tables.Count == 1 && rtndst.Tables[0].Rows.Count > 0)
  211. {
  212. rtndst.Tables[0].TableName = "KCJ_TURNOFFBUTTRESSLIST_VIEW";
  213. return new ReturnObject(rtndst);
  214. }
  215. else
  216. {
  217. return new ReturnObject(null);
  218. }
  219. }
  220. catch (System.Exception ex)
  221. {
  222. System.Diagnostics.Debug.WriteLine(ex.ToString());
  223. return new ReturnObject(null, 10000, ex.ToString());
  224. }
  225. }
  226. /// <summary>
  227. ///根据明细号获取发运信息
  228. /// </summary>
  229. /// <param name="ListCoding"></param>
  230. /// <returns></returns>
  231. public ReturnObject GetListData(string ListCoding,string strlx)
  232. {
  233. try
  234. {
  235. string sql = "SELECT A.PLANVEHICLEID,A.TRAINWAGON,A.CERTIFICATENO,A.PACTNO,D.BUYERNAME CUSTOMER,C.INCEPTCORPNAME,"
  236. + "A.PICKSTORAGETIME,A.CLASSORDER,A.CLASSTEAM,A.PICKSTORAGEMAN "
  237. + "FROM KCJ_TURNOFFSENDLIST_ZW A,SEL_PACTDETAIL B,SEL_INCEPTCORPINFO C,SEL_BUYERBASEINFO D WHERE B.BUYERCODE=D.BUYERCODE(+) AND B.INCEPTCORPCODE=C.INCEPTCORPCODE(+) AND A.ORDERFORMNUMBER=B.ORDERNO(+) AND A.LISTNUMBER='" + ListCoding + "' "
  238. + "AND A.ISVALID<>'0' AND ROWNUM=1";
  239. string err = "";
  240. System.Data.DataSet rtndst = this.DBManager.ExecuteQuery(sql, out err);
  241. if (rtndst != null && rtndst.Tables.Count == 1 && rtndst.Tables[0].Rows.Count > 0)
  242. {
  243. return new ReturnObject(rtndst);
  244. }
  245. return new ReturnObject(null);
  246. }
  247. catch (System.Exception ex)
  248. {
  249. System.Diagnostics.Debug.WriteLine(ex.ToString());
  250. return new ReturnObject(null);
  251. }
  252. }
  253. /// <summary>
  254. /// 获取明细编码
  255. /// </summary>
  256. /// <param name="type"></param>
  257. /// <param name="Year"></param>
  258. /// <returns></returns>
  259. public ReturnObject GetListCoding(string type, string Year)
  260. {
  261. try
  262. {
  263. string err = "";
  264. Oracle.DataAccess.Client.OracleParameter ptype = new Oracle.DataAccess.Client.OracleParameter("vtype", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  265. Oracle.DataAccess.Client.OracleParameter pYear = new Oracle.DataAccess.Client.OracleParameter("vYear", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  266. Oracle.DataAccess.Client.OracleParameter pListCoding = new Oracle.DataAccess.Client.OracleParameter("vListCoding", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  267. ptype.Direction = ParameterDirection.Input;
  268. pYear.Direction = ParameterDirection.Input;
  269. pListCoding.Direction = ParameterDirection.Output;
  270. ptype.Value = type;
  271. pYear.Value = Year;
  272. pListCoding.Size = 400;
  273. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJZW_GetListCoding", CommandType.StoredProcedure,
  274. new Oracle.DataAccess.Client.OracleParameter[] { ptype, pYear, pListCoding }, out err);
  275. return new ReturnObject(FixDBManager.CheckNullStr(pListCoding.Value));
  276. }
  277. catch (System.Exception ex)
  278. {
  279. System.Diagnostics.Debug.WriteLine(ex.ToString());
  280. return new ReturnObject(null);
  281. }
  282. }
  283. /// <summary>
  284. /// 获取板块合同号
  285. /// </summary>
  286. /// <param name="BiletID"></param>
  287. /// <returns></returns>
  288. public ReturnObject GetListOrderData(string BiletID,string strlx)
  289. {
  290. try
  291. {
  292. string sql = "";
  293. if (strlx == "YL")
  294. {
  295. sql = "SELECT SUBSTR(F.ORDERNO,1,LENGTH(F.ORDERNO)-3) FROM KCJ_STORAGELIST_ZW F WHERE BILLETID='" + BiletID + "'"
  296. + " AND ROWNUM=1";
  297. }
  298. else
  299. {
  300. sql = "SELECT SUBSTR(F.ORDERNO,1,LENGTH(F.ORDERNO)-3) FROM KCJ_TURNOFFLIST_ZW F WHERE BILLETID='" + BiletID + "'"
  301. + " AND ROWNUM=1";
  302. }
  303. string err = "";
  304. System.Data.DataSet rtndst = this.DBManager.ExecuteQuery(sql, out err);
  305. if (rtndst != null && rtndst.Tables.Count == 1 && rtndst.Tables[0].Rows.Count > 0)
  306. {
  307. return new ReturnObject(rtndst);
  308. }
  309. return new ReturnObject(null);
  310. }
  311. catch (System.Exception ex)
  312. {
  313. System.Diagnostics.Debug.WriteLine(ex.ToString());
  314. return new ReturnObject(null);
  315. }
  316. }
  317. private string[] GetPrintDataSqlYL(string ListCoding)
  318. {
  319. string Sql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  320. + "A.ORDERBUYER ROLLNO,TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
  321. + "A.ADDWEIGHT WEIGHT,A.SERIALNUMBER,"//SUBSTR(A.SERIALNUMBER,INSTR(A.SERIALNUMBER,'.',1)+1,LENGTH(A.SERIALNUMBER)-INSTR(A.SERIALNUMBER,'.',1))
  322. + " '' PICKSTORAGETIME,(SELECT NAME_ FROM SCM_BASE_INFO WHERE ID_=A.CLIPTYPEPROCESS) CUTSIDE "
  323. + "FROM KCJ_TURNOFFSENDLIST_ZW A,KCJ_STORAGELIST_ZW B WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.SERIALNUMBER=B.BILLETID "
  324. + "AND A.LISTNUMBER='" + ListCoding + "' ORDER BY A.STEELTYPE,A.ORDERBUYER";
  325. //双定
  326. string SSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  327. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  328. + "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
  329. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  330. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  331. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102203' AND A.LISTNUMBER='" + ListCoding + "' "
  332. + "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.LENGTH,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
  333. //定长
  334. string CSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  335. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  336. + "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.LENGTH) SPET,"
  337. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  338. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  339. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102201' AND A.LISTNUMBER='" + ListCoding + "' "
  340. + "GROUP BY A.STEELTYPE,A.PLY,A.LENGTH,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
  341. //定宽
  342. string KSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  343. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  344. + "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH) SPET,"
  345. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  346. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  347. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102202' OR A.ROLE='102206') AND A.LISTNUMBER='" + ListCoding + "' "
  348. + "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
  349. //非定
  350. string FSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  351. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  352. + "TO_CHAR(A.PLY)||'非' SPET,"
  353. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  354. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  355. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102204' OR A.ROLE='102205') AND A.LISTNUMBER='" + ListCoding + "' "
  356. + "GROUP BY A.STEELTYPE,A.PLY,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
  357. Sql = string.Format(Sql, " ");
  358. SSql = string.Format(SSql, " ");
  359. KSql = string.Format(KSql, " ");
  360. CSql = string.Format(CSql, " ");
  361. FSql = string.Format(FSql, " ");
  362. //zw 2008-04-07
  363. string[] rtnSql = new string[] { Sql, SSql, KSql, CSql, FSql };//,FSql
  364. return rtnSql;
  365. }
  366. //获取板材加工打印明细的数据
  367. public ReturnObject GetPrintData(string ListCoding, string strlx, string strRole, string strllx)
  368. {
  369. try
  370. {
  371. System.Data.DataSet rtndst = new DataSet();
  372. string tmpRollNO = "";
  373. int tmpCount = 0;
  374. System.Decimal tmpWeight = 0;
  375. string SendType = "";
  376. string JBFlag = "";
  377. string err = "";
  378. string sql = "SELECT SENDTYPE FROM KCJ_TURNOFFSENDLIST_ZW WHERE ISVALID<>'0' AND LISTNUMBER='" + ListCoding + "'";
  379. System.Data.DataSet tmpdst = this.DBManager.ExecuteQuery(sql, out err);
  380. if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
  381. {
  382. SendType = FixDBManager.CheckNullStr(tmpdst.Tables[0].Rows[0][0]);
  383. }
  384. else
  385. {
  386. return new ReturnObject(null);
  387. }
  388. tmpdst = null;
  389. #region "形成打印头"
  390. string Top = GetPrintTopSql(SendType, ListCoding);
  391. tmpdst = this.DBManager.ExecuteQuery(Top, out err);
  392. if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
  393. {
  394. tmpdst.Tables[0].TableName = "TOP";
  395. rtndst.Merge(tmpdst.Copy());
  396. }
  397. else
  398. {
  399. return new ReturnObject(null);
  400. }
  401. #endregion
  402. #region "形成打印数据源"
  403. string[] DataSql = new string[10];
  404. if (strllx=="YL")
  405. {
  406. DataSql = GetPrintDataSqlYL(ListCoding);
  407. }
  408. else
  409. {
  410. DataSql = GetPrintDataSql(ListCoding);
  411. }
  412. for (int idx = 0; idx < DataSql.Length; idx++)
  413. {
  414. tmpdst = null;
  415. tmpdst = this.DBManager.ExecuteQuery(DataSql[idx], out err);
  416. if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
  417. {
  418. tmpdst.Tables[0].TableName = "DATA";
  419. rtndst.Merge(tmpdst.Copy());
  420. if (idx == 0)
  421. {
  422. for (int i = 0; i < rtndst.Tables["DATA"].Rows.Count; i++)
  423. {
  424. if (tmpRollNO != "" && tmpRollNO != FixDBManager.CheckNullStr(rtndst.Tables["DATA"].Rows[i]["ROLLNO"]))
  425. {
  426. System.Data.DataRow nrow = rtndst.Tables["DATA"].NewRow();
  427. nrow["SERIALNUMBER"] = "小计:";
  428. if (strlx == "3")
  429. {
  430. nrow["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 卷";
  431. }
  432. else
  433. {
  434. nrow["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 张";
  435. }
  436. nrow["WEIGHT"] = tmpWeight;
  437. rtndst.Tables["DATA"].Rows.InsertAt(nrow, i);
  438. i = i + 1;
  439. tmpRollNO = FixDBManager.CheckNullStr(rtndst.Tables["DATA"].Rows[i]["ROLLNO"]);
  440. tmpCount = 1;
  441. tmpWeight = FixDBManager.CheckNullDecimal(rtndst.Tables["DATA"].Rows[i]["WEIGHT"]);
  442. }
  443. else
  444. {
  445. tmpRollNO = FixDBManager.CheckNullStr(rtndst.Tables["DATA"].Rows[i]["ROLLNO"]);
  446. tmpCount = tmpCount + 1;
  447. tmpWeight = tmpWeight + FixDBManager.CheckNullDecimal(rtndst.Tables["DATA"].Rows[i]["WEIGHT"]);
  448. }
  449. }
  450. System.Data.DataRow nrow1 = rtndst.Tables["DATA"].NewRow();
  451. nrow1["SERIALNUMBER"] = "小计:";
  452. if (strlx == "3")
  453. {
  454. nrow1["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 卷";
  455. }
  456. else
  457. {
  458. nrow1["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 张";
  459. }
  460. nrow1["WEIGHT"] = tmpWeight;
  461. rtndst.Tables["DATA"].Rows.InsertAt(nrow1, rtndst.Tables["DATA"].Rows.Count);
  462. System.Data.DataRow nrow2 = rtndst.Tables["DATA"].NewRow();
  463. nrow2["STEELTYPE"] = "按规格";
  464. nrow2["SERIALNUMBER"] = "分类统计";
  465. rtndst.Tables["DATA"].Rows.Add(nrow2);
  466. }
  467. }
  468. else
  469. {
  470. if (idx == 0)
  471. return new ReturnObject(null);
  472. }
  473. }
  474. #endregion
  475. if (rtndst.Tables.Count == 2)
  476. return new ReturnObject(rtndst);
  477. return new ReturnObject(null);
  478. }
  479. catch (System.Exception ex)
  480. {
  481. System.Diagnostics.Debug.WriteLine(ex.ToString());
  482. return new ReturnObject(null);
  483. }
  484. }
  485. private string[] GetPrintDataSql(string ListCoding)
  486. {
  487. string Sql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  488. + "A.ROLLNO ROLLNO,TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
  489. + "A.ADDWEIGHT WEIGHT,A.SERIALNUMBER,"//SUBSTR(A.SERIALNUMBER,INSTR(A.SERIALNUMBER,'.',1)+1,LENGTH(A.SERIALNUMBER)-INSTR(A.SERIALNUMBER,'.',1))
  490. + " TO_CHAR(A.PICKSTORAGETIME,'YY-MM-DD')PICKSTORAGETIME,(SELECT NAME_ FROM SCM_BASE_INFO WHERE ID_=C.SENDSTATUS) CUTSIDE "
  491. + "FROM KCJ_TURNOFFSENDLIST_ZW A,KCJ_TURNOFFLIST_ZW B ,SEL_PACTDETAIL C WHERE A.ISVALID<>'0' AND A.ORDERFORMNUMBER=C.ORDERNO(+) AND A.SERIALNUMBER=B.BILLETID "
  492. + "AND A.LISTNUMBER='" + ListCoding + "' ORDER BY A.STEELTYPE,A.ORDERBUYER,A.CREATTIME ASC ";
  493. //双定
  494. string SSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  495. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  496. + "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
  497. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  498. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  499. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102203' AND A.LISTNUMBER='" + ListCoding + "' "
  500. + "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.LENGTH,A.DETERMINANTRESULT,A.FACEQUALITY";
  501. //定长
  502. string CSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  503. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  504. + "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.LENGTH) SPET,"
  505. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  506. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  507. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102201' AND A.LISTNUMBER='" + ListCoding + "' "
  508. + "GROUP BY A.STEELTYPE,A.PLY,A.LENGTH,A.DETERMINANTRESULT,A.FACEQUALITY";
  509. //定宽
  510. string KSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  511. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  512. + "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH) SPET,"
  513. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  514. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  515. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102202' OR A.ROLE='102206') AND A.LISTNUMBER='" + ListCoding + "' "
  516. + "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.DETERMINANTRESULT,A.FACEQUALITY";
  517. //非定
  518. string FSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
  519. + "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
  520. + "TO_CHAR(A.PLY)||'非' SPET,"
  521. + "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
  522. + "FROM KCJ_TURNOFFSENDLIST_ZW A "
  523. + "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102204' OR A.ROLE='102205') AND A.LISTNUMBER='" + ListCoding + "' "
  524. + "GROUP BY A.STEELTYPE,A.PLY,A.DETERMINANTRESULT,A.FACEQUALITY";
  525. Sql = string.Format(Sql, " ");
  526. SSql = string.Format(SSql, " ");
  527. KSql = string.Format(KSql, " ");
  528. CSql = string.Format(CSql, " ");
  529. FSql = string.Format(FSql, " ");
  530. string[] rtnSql = new string[] { Sql, SSql, KSql, CSql, FSql };//,FSql
  531. return rtnSql;
  532. }
  533. private string GetPrintTopSql(string SendType, string ListCoding)
  534. {
  535. //正式
  536. string sql = "SELECT T1.*,T2.QUANTITY,T2.WEIGHT FROM "
  537. + "("
  538. + "SELECT (substr(a.orderformnumber,1,length(a.orderformnumber)-3))PACTNO,CASE WHEN A.ORDERFORMNUMBER LIKE '17%' THEN '新钢贸易(北京)有限公司' ELSE B.BUYERCODE END BUYERCODE,C.ASKPLAN_ID ASKPLAN_ID,D.STATIONNAME,"
  539. +" CASE WHEN (SELECT COUNT(1) FROM SEL_INCEPTCORPINFO WHERE INCEPTCORPCODE=A.inceptcorpcode)>0 THEN "
  540. +" (SELECT INCEPTCORPNAME FROM SEL_INCEPTCORPINFO WHERE INCEPTCORPCODE=A.inceptcorpcode) "
  541. +" WHEN (SELECT COUNT(1) FROM tbz00_customer WHERE CUST_CD=A.inceptcorpcode)>0 THEN "
  542. +" (SELECT CUST_NM FROM tbz00_customer WHERE CUST_CD=A.inceptcorpcode) "
  543. + " END INCEPTCORPNAME,"
  544. +"TO_CHAR(A.PICKSTORAGETIME,'YYYY-MM-DD') PICKSTORAGETIME,"
  545. + "A.TRAINWAGON,F.BUYERNAME,A.LISTNUMBER,A.REMARK,NULL CREATOR "
  546. + "FROM KCJ_TURNOFFSENDLIST_ZW A,SEL_PACTDETAIL B,KCJ_PLAN C,SEL_STATIONINFO D,SEL_INCEPTCORPINFO E,SEL_BUYERBASEINFO F "
  547. + "WHERE A.PLANVEHICLEID=C.ASKPLAN_ID AND A.ORDERFORMNUMBER=B.ORDERNO(+) AND B.STATIONCODE=D.STATIONCODE(+) "
  548. + "AND B.BUYERCODE=F.BUYERCODE(+) AND A.ISVALID<>'0' AND A.LISTNUMBER='" + ListCoding + "' AND ROWNUM=1 "
  549. + ") T1 "
  550. + "LEFT JOIN "
  551. + "("
  552. + "SELECT COUNT(SERIALNUMBER) QUANTITY,SUM(ADDWEIGHT) WEIGHT,LISTNUMBER FROM KCJ_TURNOFFSENDLIST_ZW "
  553. + "WHERE ISVALID<>'0' AND DUMMYSENDFLAG<>'1' GROUP BY LISTNUMBER "
  554. + ") T2 ON T1.LISTNUMBER=T2.LISTNUMBER";
  555. return sql;
  556. }
  557. //提交发运新增
  558. public ReturnObject CommitAddSendList(System.Collections.ArrayList Billets, System.Collections.ArrayList SendInfo, string SendType)
  559. {
  560. try
  561. {
  562. string err = "";
  563. Oracle.DataAccess.Client.OracleParameter pBillets = new Oracle.DataAccess.Client.OracleParameter("vBillets", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  564. Oracle.DataAccess.Client.OracleParameter pSendInfo = new Oracle.DataAccess.Client.OracleParameter("vSendInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  565. Oracle.DataAccess.Client.OracleParameter pSendType = new Oracle.DataAccess.Client.OracleParameter("vSendType", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  566. Oracle.DataAccess.Client.OracleParameter pFaileInfo = new Oracle.DataAccess.Client.OracleParameter("vFaileInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  567. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  568. pBillets.Direction = ParameterDirection.Input;
  569. pSendInfo.Direction = ParameterDirection.Input;
  570. pSendType.Direction = ParameterDirection.Input;
  571. pFaileInfo.Direction = ParameterDirection.Output;
  572. pSuccessFlag.Direction = ParameterDirection.Output;
  573. pBillets.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  574. pSendInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  575. pFaileInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  576. pBillets.Value = Billets.ToArray(typeof(string));
  577. pSendInfo.Value = SendInfo.ToArray(typeof(string));
  578. pSendType.Value = SendType;
  579. int[] OSizeInf = new int[Billets.Count];
  580. for (int i = 0; i < Billets.Count; i++)
  581. {
  582. OSizeInf[i] = 200;
  583. }
  584. pBillets.Size = Billets.Count;
  585. pBillets.ArrayBindSize = OSizeInf;
  586. int[] NSizeInf = new int[SendInfo.Count];
  587. for (int i = 0; i < SendInfo.Count; i++)
  588. {
  589. NSizeInf[i] = 200;
  590. }
  591. pSendInfo.Size = SendInfo.Count;
  592. pSendInfo.ArrayBindSize = NSizeInf;
  593. int OutSize = 200;
  594. int[] OutSizeInf = new int[OutSize];
  595. for (int i = 0; i < OutSize; i++)
  596. {
  597. OutSizeInf[i] = 2000;
  598. }
  599. pFaileInfo.Size = OutSize;
  600. pFaileInfo.ArrayBindSize = OutSizeInf;
  601. pSuccessFlag.Size = 400;
  602. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.ADDSENDLIST_P", CommandType.StoredProcedure,
  603. new Oracle.DataAccess.Client.OracleParameter[] { pBillets, pSendInfo, pFaileInfo, pSuccessFlag }, out err);
  604. if (FixDBManager.CheckNullStr(pSuccessFlag.Value).Length > 0 | FixDBManager.CheckNullStr(err).Length > 0)
  605. {
  606. return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
  607. }
  608. else
  609. {
  610. Oracle.DataAccess.Types.OracleString[] FaileInfo = (Oracle.DataAccess.Types.OracleString[])pFaileInfo.Value;
  611. System.Collections.ArrayList rtnList = new ArrayList();
  612. if (FaileInfo.Length > 0)
  613. {
  614. for (int i = 0; i < FaileInfo.Length; i++)
  615. {
  616. rtnList.Add(FaileInfo[i].Value);
  617. }
  618. }
  619. if (rtnList.Count > 0)
  620. {
  621. return new ReturnObject(rtnList);
  622. }
  623. else
  624. {
  625. return new ReturnObject('1');
  626. }
  627. }
  628. }
  629. catch (System.Exception ex)
  630. {
  631. System.Diagnostics.Debug.WriteLine(ex.ToString());
  632. return new ReturnObject(null);
  633. }
  634. }
  635. public ReturnObject DelSendList(System.Collections.ArrayList Billets, System.Collections.ArrayList SendInfo, string strlx)
  636. {
  637. try
  638. {
  639. string err = "";
  640. Oracle.DataAccess.Client.OracleParameter pBillets = new Oracle.DataAccess.Client.OracleParameter("vBillets", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  641. Oracle.DataAccess.Client.OracleParameter pSendInfo = new Oracle.DataAccess.Client.OracleParameter("vSendInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  642. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  643. pBillets.Direction = ParameterDirection.Input;
  644. pSendInfo.Direction = ParameterDirection.Input;
  645. pSuccessFlag.Direction = ParameterDirection.Output;
  646. pBillets.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  647. pSendInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  648. pBillets.Value = Billets.ToArray(typeof(string));
  649. pSendInfo.Value = SendInfo.ToArray(typeof(string));
  650. int[] OSizeInf = new int[Billets.Count];
  651. for (int i = 0; i < Billets.Count; i++)
  652. {
  653. OSizeInf[i] = 200;
  654. }
  655. pBillets.Size = Billets.Count;
  656. pBillets.ArrayBindSize = OSizeInf;
  657. int[] NSizeInf = new int[SendInfo.Count];
  658. for (int i = 0; i < SendInfo.Count; i++)
  659. {
  660. NSizeInf[i] = 200;
  661. }
  662. pSendInfo.Size = SendInfo.Count;
  663. pSendInfo.ArrayBindSize = NSizeInf;
  664. pSuccessFlag.Size = 400;
  665. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.DELSENDLIST_P", CommandType.StoredProcedure,
  666. new Oracle.DataAccess.Client.OracleParameter[] { pBillets, pSendInfo, pSuccessFlag }, out err);
  667. if (FixDBManager.CheckNullStr(pSuccessFlag.Value).Length > 0 | FixDBManager.CheckNullStr(err).Length > 0)
  668. {
  669. return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
  670. }
  671. else
  672. {
  673. return new ReturnObject('1');
  674. }
  675. }
  676. catch (System.Exception ex)
  677. {
  678. System.Diagnostics.Debug.WriteLine(ex.ToString());
  679. return new ReturnObject(null);
  680. }
  681. }
  682. public ReturnObject addDJ(ArrayList arbilletid, ArrayList ar)
  683. {
  684. try
  685. {
  686. string err = "";
  687. Oracle.DataAccess.Client.OracleParameter pScids = new Oracle.DataAccess.Client.OracleParameter("vScids", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  688. Oracle.DataAccess.Client.OracleParameter pOtherInfo = new Oracle.DataAccess.Client.OracleParameter("vOtherInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  689. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  690. pScids.Direction = ParameterDirection.Input;
  691. pOtherInfo.Direction = ParameterDirection.Input;
  692. pSuccessFlag.Direction = ParameterDirection.Output;
  693. pScids.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  694. pOtherInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  695. pScids.Value = arbilletid.ToArray(typeof(string));
  696. pOtherInfo.Value = ar.ToArray(typeof(string));
  697. int[] OSizeInf = new int[arbilletid.Count];
  698. for (int i = 0; i < arbilletid.Count; i++)
  699. {
  700. OSizeInf[i] = 200;
  701. }
  702. pScids.Size = arbilletid.Count;
  703. pScids.ArrayBindSize = OSizeInf;
  704. int[] NOSizeInf = new int[ar.Count];
  705. for (int i = 0; i < ar.Count; i++)
  706. {
  707. NOSizeInf[i] = 200;
  708. }
  709. pOtherInfo.Size = ar.Count;
  710. pOtherInfo.ArrayBindSize = NOSizeInf;
  711. pSuccessFlag.Size = 400;
  712. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.KCJ_PACTNO_ADD", CommandType.StoredProcedure,
  713. new Oracle.DataAccess.Client.OracleParameter[] { pScids, pOtherInfo, pSuccessFlag }, out err);
  714. if (Common.CheckNullStr(pSuccessFlag.Value).Length > 0 | Common.CheckNullStr(err).Length > 0)
  715. {
  716. return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
  717. }
  718. else
  719. {
  720. return new ReturnObject('1');
  721. }
  722. }
  723. catch (System.Exception ex)
  724. {
  725. System.Diagnostics.Debug.WriteLine(ex.ToString());
  726. return new ReturnObject(null, ex.ToString());
  727. }
  728. }
  729. }
  730. }