c2267561ca06a6c7d005b6e89d106486cc74cca2.svn-base 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package xin.glue.ui.G.G04;
  2. import java.sql.CallableStatement;
  3. import java.util.ArrayList;
  4. import com.posdata.glue.biz.activity.PosActivity;
  5. import com.posdata.glue.biz.constants.PosBizControlConstants;
  6. import com.posdata.glue.context.PosContext;
  7. import com.posdata.glue.dao.PosGenericDao;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRow;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. public class XinSaveSlabRecutCancel extends PosActivity {
  12. public String runActivity(PosContext context) {
  13. String[] REG_ID = (String[])context.get("REG_ID");
  14. String[] SLAB_NO = (String[])context.get("NEW_SLAB_NO");
  15. ArrayList<String> SUB_SLAB_NO = new ArrayList<String>();
  16. CallableStatement cstm = null;
  17. PosParameter param = new PosParameter();
  18. PosRowSet rowset = null;
  19. PosRow row = null;
  20. PosGenericDao dao = getDao("mesdao");
  21. String OR_SLAB_NO = "",sql = "";;
  22. sql = "SELECT T.* FROM TBG02_SLAB_INCISE T WHERE T.SLAB_NO = ?";
  23. param = new PosParameter();
  24. param.setWhereClauseParameter(0, SLAB_NO[0]);
  25. rowset = dao.findByQueryStatement(sql, param);
  26. if(rowset.hasNext()){
  27. row = rowset.next();
  28. OR_SLAB_NO = (String)row.getAttribute("OR_SLAB_NO");
  29. }else{
  30. context.put("MESSAGES", " 未分切不允许撤销! ");
  31. return PosBizControlConstants.SUCCESS;
  32. }
  33. /*找母坯删除子坯数据*/
  34. sql = "SELECT T.* FROM TBG02_SLAB_INCISE T WHERE T.OR_SLAB_NO = ?";
  35. param = new PosParameter();
  36. param.setWhereClauseParameter(0, OR_SLAB_NO);
  37. rowset = dao.findByQueryStatement(sql, param);
  38. while(rowset.hasNext()){
  39. row = rowset.next();
  40. /*记录子坯号*/
  41. SUB_SLAB_NO.add((String)row.getAttribute("SLAB_NO"));
  42. }
  43. for(int j = 0;j < SUB_SLAB_NO.size();j++){
  44. /*子坯财务数据上抛*/
  45. try
  46. {
  47. cstm = dao.getCallableStatement("UPLOAD_DATA.CAL");
  48. cstm.setString(1, SUB_SLAB_NO.get(j));
  49. cstm.setString(2, "11AD");
  50. cstm.setString(3, "D");
  51. cstm.setString(4, "板坯利库撤销");
  52. cstm.setString(5, REG_ID[0]);
  53. cstm.registerOutParameter(6, java.sql.Types.VARCHAR);
  54. cstm.execute();
  55. String err = cstm.getString(6);
  56. System.out.println(err);
  57. }catch(Exception ex){
  58. ex.printStackTrace();
  59. }finally{
  60. if(cstm != null){
  61. try{
  62. cstm.close();
  63. }catch(Exception e){
  64. e.printStackTrace();
  65. }
  66. }
  67. }
  68. param = new PosParameter();
  69. param.setWhereClauseParameter(0, SUB_SLAB_NO.get(j));
  70. dao.delete("UIG040070_SLAB_INCISE.delete", param);
  71. //删除子坯
  72. param = new PosParameter();
  73. param.setWhereClauseParameter(0, SUB_SLAB_NO.get(j));
  74. dao.delete("UIG040070_SLAB_COMM.delete", param);
  75. //删除D表
  76. param = new PosParameter();
  77. param.setWhereClauseParameter(0, SUB_SLAB_NO.get(j));
  78. dao.delete("UIG040070_SLAB_COMM_D.delete", param);
  79. /*清空子坯跺位*/
  80. param = new PosParameter();
  81. param.setWhereClauseParameter(0, SUB_SLAB_NO.get(j));
  82. this.getDao("mesdao").update("UIG040070_SLAB_COMM.update", param);
  83. }
  84. /*母板坯恢复前再上抛母坯*/
  85. try
  86. {
  87. cstm = dao.getCallableStatement("UPLOAD_DATA.CAL");
  88. cstm.setString(1, OR_SLAB_NO);
  89. cstm.setString(2, "11AD");
  90. cstm.setString(3, "D");
  91. cstm.setString(4, "板坯利库撤销");
  92. cstm.setString(5, REG_ID[0]);
  93. cstm.registerOutParameter(6, java.sql.Types.VARCHAR);
  94. cstm.execute();
  95. String err = cstm.getString(6);
  96. System.out.println(err);
  97. }catch(Exception ex){
  98. ex.printStackTrace();
  99. }
  100. finally{
  101. if(cstm != null){
  102. try{
  103. cstm.close();
  104. }catch(Exception e){
  105. e.printStackTrace();
  106. }
  107. }
  108. }
  109. //恢复母板坯
  110. param = new PosParameter();
  111. param.setWhereClauseParameter(0, OR_SLAB_NO);
  112. this.getDao("mesdao").update("UIG040070_SLAB_END_1.update",param);
  113. context.put("MESSAGES", " 操作成功! ");
  114. return PosBizControlConstants.SUCCESS;
  115. }
  116. }