SendManager.cs 47 KB

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