ProduceManage.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. using System;
  2. using System.Data;
  3. using System.Collections;
  4. using Core.Mes.ServerFrameWork;
  5. using Core.Mes.IBaseInterface;
  6. namespace Core.XgMes.Server.JGKC.RollManager
  7. {
  8. /// <summary>
  9. /// ProduceManage 的摘要说明。
  10. /// </summary>
  11. public class ProduceManage : Core.Mes.ServerFrameWork.IComponent
  12. {
  13. public ProduceManage()
  14. {
  15. //
  16. // TODO: 在此处添加构造函数逻辑
  17. //
  18. }
  19. public override int maxValue
  20. {
  21. get
  22. {
  23. return 100;
  24. }
  25. }
  26. public override int minValue
  27. {
  28. get
  29. {
  30. return 50;
  31. }
  32. }
  33. public ReturnObject Plan_XF_Qery(string _Where)
  34. {
  35. try
  36. {
  37. string err = "";
  38. string Sql = " SELECT 'FALSE' FLAG,a.OLD_SAMPL_NO,a.WORKORDER_ID,a.ORD_NO,A.STL_GRD FROM kcj3_zy_plan_main A " +
  39. " WHERE a.XF_FLAG = '1' and a.ISVALID <> '0' "+ _Where;
  40. DataSet ds = DBManager.ExecuteQuery(Sql, out err);
  41. ds.Tables[0].TableName = "XF-1";
  42. string StrSQL_Detail = "";
  43. /*StrSQL_Detail = " SELECT a.OLD_SAMPL_NO,A.ORD_NO,A.STL_GRD,B.COIL_THK,B.COIL_WTH,B.COIL_LEN, " +
  44. " B.COIL_NUM,B.WORKORDER_ID,B.DETAIL_TIME " +
  45. " FROM kcj3_zy_plan_main a,KCJ3_ZY_PLAN_DETAIL b "+
  46. " WHERE a.WORKORDER_ID = b.Workorder_Id "+
  47. " and b.old_sampl_no like '%'||a.old_sampl_no||'%' "+
  48. " and a.XF_FLAG = '1' and a.ISVALID <> '0' and b.isvalid <> '0' "+
  49. _Where +
  50. " group by a.OLD_SAMPL_NO,a.ord_no,a.stl_grd,B.COIL_THK,B.COIL_WTH,B.COIL_LEN, " +
  51. " b.coil_num,b.workorder_id,a.OLD_SAMPL_NO,b.DETAIL_TIME "+
  52. " order by b.DETAIL_TIME ";
  53. DataSet ds_Detail = DBManager.ExecuteQuery(StrSQL_Detail, out err);*/
  54. //2024年1.10日修改为多选时带信息
  55. StrSQL_Detail = " SELECT a.OLD_SAMPL_NO,'' COIL_NO_ID,A.ORD_NO,A.STL_GRD,B.COIL_THK,B.COIL_WTH,B.COIL_LEN, " +
  56. " B.COIL_NUM,round(to_number(B.COIL_THK)*to_number(B.COIL_WTH)*to_number(B.COIL_LEN)*(case when REGEXP_LIKE(B.COIL_NUM, '^[0-9]$') then to_number(B.COIL_NUM) else 0 end)*0.00000000785,3) WEIGHT," +
  57. " B.WORKORDER_ID,B.DETAIL_TIME,'' BC,'' BZ " +
  58. " FROM kcj3_zy_plan_main a,KCJ3_ZY_PLAN_DETAIL b " +
  59. " WHERE a.WORKORDER_ID = b.Workorder_Id " +
  60. " and b.old_sampl_no like '%'||a.old_sampl_no||'%' " +
  61. " and a.XF_FLAG = '1' and a.ISVALID <> '0' and b.isvalid <> '0' " +
  62. _Where +
  63. " group by a.OLD_SAMPL_NO,a.ord_no,a.stl_grd,B.COIL_THK,B.COIL_WTH,B.COIL_LEN, " +
  64. " b.coil_num,b.workorder_id,a.OLD_SAMPL_NO,b.DETAIL_TIME " +
  65. " order by b.DETAIL_TIME ";
  66. DataSet ds_Detail = DBManager.ExecuteQuery(StrSQL_Detail, out err);
  67. ds_Detail.Tables[0].TableName = "XF-2";
  68. ds.Tables.Add(ds_Detail.Tables[0].Copy());
  69. /*ds.Relations.Add("ReltnXF",
  70. new System.Data.DataColumn[] {ds.Tables["dtXF_Main"].Columns["OLD_SAMPL_NO"], ds.Tables["dtXF_Main"].Columns["WORKORDER_ID"]},
  71. new System.Data.DataColumn[] {ds.Tables["dtXF_Detail"].Columns["OLD_SAMPL_NO"], ds.Tables["dtXF_Detail"].Columns["WORKORDER_ID"]});*/
  72. ds.Relations.Add("Relation1",
  73. new System.Data.DataColumn[] { ds.Tables["XF-1"].Columns["OLD_SAMPL_NO"], ds.Tables["XF-1"].Columns["WORKORDER_ID"], ds.Tables["XF-1"].Columns["ORD_NO"], ds.Tables["XF-1"].Columns["STL_GRD"] },
  74. new System.Data.DataColumn[] { ds.Tables["XF-2"].Columns["OLD_SAMPL_NO"], ds.Tables["XF-2"].Columns["WORKORDER_ID"], ds.Tables["XF-2"].Columns["ORD_NO"], ds.Tables["XF-2"].Columns["STL_GRD"] });
  75. return new ReturnObject(ds, err);
  76. }
  77. catch(Exception ex)
  78. {
  79. System.Diagnostics.Debug.WriteLine(ex.ToString());
  80. return new ReturnObject(null,10004,ex.ToString());
  81. }
  82. }
  83. public ReturnObject Procdute_Query(string _Where)
  84. {
  85. try
  86. {
  87. string strOut="";
  88. string Sql="SELECT 'FALSE' FLAG,A.COIL_NO_ID,A.OLD_SAMPL_NO,A.SLAB_NO,A.ORD_NO,B.BUTTRESS,"+
  89. "A.ORD_SEQ,A.STL_GRD,A.ZSLAB_PLY,A.ZSLAB_WIDTH,A.TURNOFFCOLLECT_LOG,"+
  90. "A.ZSLAB_LENGTH,ZSLAB_NUM,A.STOVENO,A.BAHCT_NUMBER,"+
  91. "ROUND(A.ZSLAB_WEIGHT,3)ZSLAB_WEIGHT,A.TOT_DEC_GRD,SX_BIAOZHUN,SERIAL_NUMBER,"+
  92. " (SELECT NAME_ FROM KCJ_BASEDATA WHERE ID_ = A.ord_use_cd)ord_use_cd," +
  93. " A.DEVLMT_DTIME,(SELECT NAME_ FROM KCJ_BASEDATA WHERE ID_=A.STOCKTYPE)STOCKTYPE,(SELECT NAME_ FROM KCJ_BASEDATA WHERE ID_=A.GYLX)GYLX," +
  94. "A.SHIP_INVNO,TRANS_CAR_NO,(SELECT NAME_ FROM SCM_BASE_INFO C WHERE C.ID_= A.PCLASSORDER)PCLASSORDER,"+
  95. "(SELECT NAME_ FROM SCM_BASE_INFO D WHERE D.ID_=A.PCLASSTEAM)PCLASSTEAM,A.CREATETIME,A.CREATOR,DECODE(A.ISFJH,'1','是','0','否')ISFJH FROM KCJ3_ZY_TASKDETAIL_ZW A ,KCJ3_STUFFBUTTRESSLIST_ZW B " +
  96. "WHERE A.OLD_SAMPL_NO=B.OLD_SAMPL_NO " + _Where + " ORDER BY A.WORKORDER_ID, A.SCID DESC";
  97. DataSet ds=this.DBManager.ExecuteQuery(Sql,out strOut);
  98. if(ds!=null&&ds.Tables.Count==1)
  99. {
  100. ds.Tables[0].TableName="KCJ3_ZY_TASKDETAIL";
  101. return new ReturnObject(ds,strOut);
  102. }
  103. return new ReturnObject(null);
  104. }
  105. catch(Exception ex)
  106. {
  107. System.Diagnostics.Debug.WriteLine(ex.ToString());
  108. return new ReturnObject(null,10004,ex.ToString());
  109. }
  110. }
  111. public ReturnObject Press_Set(ArrayList _Ship_Invno,ArrayList _OtherInfo)
  112. {
  113. try
  114. {
  115. string err = "";
  116. Oracle.DataAccess.Client.OracleParameter pShi_Invno = new Oracle.DataAccess.Client.OracleParameter("vSHIP_INVNO", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  117. Oracle.DataAccess.Client.OracleParameter pOtherInfo = new Oracle.DataAccess.Client.OracleParameter("vOtherInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  118. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  119. pShi_Invno.Direction = ParameterDirection.Input;
  120. pOtherInfo.Direction = ParameterDirection.Input;
  121. pSuccessFlag.Direction = ParameterDirection.Output;
  122. pShi_Invno.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  123. pOtherInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  124. pShi_Invno.Value = _Ship_Invno.ToArray(typeof(string));
  125. pOtherInfo.Value = _OtherInfo.ToArray(typeof(string));
  126. int []OSizeInf = new int[_Ship_Invno.Count];
  127. for(int i =0;i< _Ship_Invno.Count;i++)
  128. {
  129. OSizeInf[i ] = 200;
  130. }
  131. pShi_Invno.Size = _Ship_Invno.Count;
  132. pShi_Invno.ArrayBindSize = OSizeInf;
  133. int []NOSizeInf = new int[_OtherInfo.Count];
  134. for(int i =0;i< _OtherInfo.Count;i++)
  135. {
  136. NOSizeInf[i ] = 200;
  137. }
  138. pOtherInfo.Size = _OtherInfo.Count;
  139. pOtherInfo.ArrayBindSize = NOSizeInf;
  140. pSuccessFlag.Size = 400;
  141. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.PRODUE_ADD", CommandType.StoredProcedure,
  142. new Oracle.DataAccess.Client.OracleParameter[]
  143. {pShi_Invno,pOtherInfo,pSuccessFlag}, out err);
  144. if(Common.CheckNullStr(pSuccessFlag.Value).Length>0 | Common.CheckNullStr(err).Length>0)
  145. {
  146. return new ReturnObject(null,1,pSuccessFlag.Value.ToString()+err);
  147. }
  148. else
  149. {
  150. return new ReturnObject('1');
  151. }
  152. }
  153. catch(System.Exception ex)
  154. {
  155. System.Diagnostics.Debug.WriteLine(ex.ToString());
  156. return new ReturnObject(null,ex.ToString());
  157. }
  158. }
  159. public ReturnObject UnPack_Add(ArrayList _OtherInfo)
  160. {
  161. try
  162. {
  163. string err = "";
  164. Oracle.DataAccess.Client.OracleParameter pOtherInfo = new Oracle.DataAccess.Client.OracleParameter("vOtherInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  165. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  166. pOtherInfo.Direction = ParameterDirection.Input;
  167. pSuccessFlag.Direction = ParameterDirection.Output;
  168. pOtherInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  169. pOtherInfo.Value = _OtherInfo.ToArray(typeof(string));
  170. int[] NOSizeInf = new int[_OtherInfo.Count];
  171. for (int i = 0; i < _OtherInfo.Count; i++)
  172. {
  173. NOSizeInf[i] = 200;
  174. }
  175. pOtherInfo.Size = _OtherInfo.Count;
  176. pOtherInfo.ArrayBindSize = NOSizeInf;
  177. pSuccessFlag.Size = 400;
  178. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.UnPack_ADD", CommandType.StoredProcedure,
  179. new Oracle.DataAccess.Client.OracleParameter[] { pOtherInfo, pSuccessFlag }, out err);
  180. if (Common.CheckNullStr(pSuccessFlag.Value).Length > 0 | Common.CheckNullStr(err).Length > 0)
  181. {
  182. return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
  183. }
  184. else
  185. {
  186. return new ReturnObject('1');
  187. }
  188. }
  189. catch (System.Exception ex)
  190. {
  191. System.Diagnostics.Debug.WriteLine(ex.ToString());
  192. return new ReturnObject(null, ex.ToString());
  193. }
  194. }
  195. public ReturnObject Press_Del(ArrayList _Ship_Invno)
  196. {
  197. try
  198. {
  199. string err = "";
  200. Oracle.DataAccess.Client.OracleParameter pShi_Invno = new Oracle.DataAccess.Client.OracleParameter("vSHIP_INVNO", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  201. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  202. pShi_Invno.Direction = ParameterDirection.Input;
  203. pSuccessFlag.Direction = ParameterDirection.Output;
  204. pShi_Invno.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  205. pShi_Invno.Value = _Ship_Invno.ToArray(typeof(string));
  206. int []OSizeInf = new int[_Ship_Invno.Count];
  207. for(int i =0;i< _Ship_Invno.Count;i++)
  208. {
  209. OSizeInf[i ] = 200;
  210. }
  211. pShi_Invno.Size = _Ship_Invno.Count;
  212. pShi_Invno.ArrayBindSize = OSizeInf;
  213. pSuccessFlag.Size = 400;
  214. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.PROCDE_DEL", CommandType.StoredProcedure,
  215. new Oracle.DataAccess.Client.OracleParameter[]
  216. {pShi_Invno,pSuccessFlag}, out err);
  217. if(Common.CheckNullStr(pSuccessFlag.Value).Length>0 | Common.CheckNullStr(err).Length>0)
  218. {
  219. return new ReturnObject(null,1,pSuccessFlag.Value.ToString()+err);
  220. }
  221. else
  222. {
  223. return new ReturnObject('1');
  224. }
  225. }
  226. catch(System.Exception ex)
  227. {
  228. System.Diagnostics.Debug.WriteLine(ex.ToString());
  229. return new ReturnObject(null,ex.ToString());
  230. }
  231. }
  232. public ReturnObject Press_QUEREN(ArrayList _Ship_Invno)
  233. {
  234. try
  235. {
  236. string err = "";
  237. Oracle.DataAccess.Client.OracleParameter pShi_Invno = new Oracle.DataAccess.Client.OracleParameter("vSHIP_INVNO", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  238. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  239. pShi_Invno.Direction = ParameterDirection.Input;
  240. pSuccessFlag.Direction = ParameterDirection.Output;
  241. pShi_Invno.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  242. pShi_Invno.Value = _Ship_Invno.ToArray(typeof(string));
  243. int []OSizeInf = new int[_Ship_Invno.Count];
  244. for(int i =0;i< _Ship_Invno.Count;i++)
  245. {
  246. OSizeInf[i ] = 200;
  247. }
  248. pShi_Invno.Size = _Ship_Invno.Count;
  249. pShi_Invno.ArrayBindSize = OSizeInf;
  250. pSuccessFlag.Size = 400;
  251. ((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.QUENREN", CommandType.StoredProcedure,
  252. new Oracle.DataAccess.Client.OracleParameter[]
  253. {pShi_Invno,pSuccessFlag}, out err);
  254. if(Common.CheckNullStr(pSuccessFlag.Value).Length>0 | Common.CheckNullStr(err).Length>0)
  255. {
  256. return new ReturnObject(null,1,pSuccessFlag.Value.ToString()+err);
  257. }
  258. else
  259. {
  260. return new ReturnObject('1');
  261. }
  262. }
  263. catch(System.Exception ex)
  264. {
  265. System.Diagnostics.Debug.WriteLine(ex.ToString());
  266. return new ReturnObject(null,ex.ToString());
  267. }
  268. }
  269. public ReturnObject Press_QUERENDEL(ArrayList _Ship_Invno)
  270. {
  271. try
  272. {
  273. string err = "";
  274. Oracle.DataAccess.Client.OracleParameter pShi_Invno = new Oracle.DataAccess.Client.OracleParameter("vSHIP_INVNO", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  275. Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
  276. pShi_Invno.Direction = ParameterDirection.Input;
  277. pSuccessFlag.Direction = ParameterDirection.Output;
  278. pShi_Invno.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
  279. pShi_Invno.Value = _Ship_Invno.ToArray(typeof(string));
  280. int[] OSizeInf = new int[_Ship_Invno.Count];
  281. for (int i = 0; i < _Ship_Invno.Count; i++)
  282. {
  283. OSizeInf[i] = 200;
  284. }
  285. pShi_Invno.Size = _Ship_Invno.Count;
  286. pShi_Invno.ArrayBindSize = OSizeInf;
  287. pSuccessFlag.Size = 400;
  288. ((STMes.DBManager)DBManagerList["ODPDB"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.QUENRENDEL", CommandType.StoredProcedure,
  289. new Oracle.DataAccess.Client.OracleParameter[] { pShi_Invno, pSuccessFlag }, out err);
  290. if (Common.CheckNullStr(pSuccessFlag.Value).Length > 0 | Common.CheckNullStr(err).Length > 0)
  291. {
  292. return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
  293. }
  294. else
  295. {
  296. return new ReturnObject('1');
  297. }
  298. }
  299. catch (System.Exception ex)
  300. {
  301. System.Diagnostics.Debug.WriteLine(ex.ToString());
  302. return new ReturnObject(null, ex.ToString());
  303. }
  304. }
  305. }
  306. }