e2e4a7423e925ba1c1510be962748e2b719a14c9.svn-base 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package xin.glue.nui.B.B02;
  2. import java.sql.CallableStatement;
  3. import java.sql.Types;
  4. import com.posdata.glue.PosException;
  5. import com.posdata.glue.biz.activity.PosActivity;
  6. import com.posdata.glue.biz.constants.PosBizControlConstants;
  7. import com.posdata.glue.context.PosContext;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRowSet;
  10. import com.posdata.glue.msg.PosMessage;
  11. public class XinSaveL2QLTY extends PosActivity
  12. {
  13. private PosParameter param;
  14. private PosMessage message;
  15. private String QLTY_CD;
  16. private Number QLTY_VAL_WK;
  17. private String QLTY_UNIT_WK;
  18. private String QLTY_TYPE_WK;
  19. private PosRowSet rowset;
  20. private int changeRows;
  21. private CallableStatement cStmt;
  22. public XinSaveL2QLTY()
  23. {
  24. param = null;
  25. message = null;
  26. QLTY_CD = null;
  27. QLTY_VAL_WK = null;
  28. QLTY_UNIT_WK = null;
  29. QLTY_TYPE_WK = null;
  30. rowset = null;
  31. cStmt = null;
  32. changeRows = 0;
  33. }
  34. public String runActivity(PosContext context)
  35. {
  36. message = context.getMessage();
  37. String SMP_NO = (String)message.get("SMP_NO");
  38. String SMP_CUT_LOC = (String)message.get("SMP_CUT_LOC");
  39. String COIL_NO = (String)message.get("COIL_NO");
  40. String QLTY_RECE_DTIME = (String)message.get("QLTY_SEND_DTIME");
  41. for(int i=1;i<=20;i++)
  42. {
  43. QLTY_CD = (String)message.get("QLTY_CD"+Integer.toString(i));
  44. QLTY_VAL_WK = (Number)message.get("QLTY_VAL_WK"+Integer.toString(i));
  45. QLTY_UNIT_WK = (String)message.get("QLTY_UNIT_WK"+Integer.toString(i));
  46. QLTY_TYPE_WK = (String)message.get("QLTY_TYPE_WK"+Integer.toString(i));
  47. if(null != QLTY_CD&&!"".equals(QLTY_CD))
  48. {
  49. param = new PosParameter();
  50. param.setWhereClauseParameter(0, SMP_NO);
  51. param.setWhereClauseParameter(1, SMP_CUT_LOC);
  52. param.setWhereClauseParameter(2, QLTY_CD);
  53. rowset = this.getDao("mesdao").find("NIB027070_01.select",param);
  54. if(rowset.hasNext())
  55. {
  56. param = new PosParameter();
  57. if(null != QLTY_VAL_WK&&!"".equals(QLTY_VAL_WK))
  58. {
  59. param.setWhereClauseParameter(0, QLTY_VAL_WK.toString());
  60. }
  61. else
  62. {
  63. param.setWhereClauseParameter(0, "");
  64. }
  65. param.setWhereClauseParameter(1, QLTY_UNIT_WK);
  66. param.setWhereClauseParameter(2, QLTY_TYPE_WK);
  67. param.setWhereClauseParameter(3, SMP_NO);
  68. param.setWhereClauseParameter(4, SMP_CUT_LOC);
  69. param.setWhereClauseParameter(5, QLTY_CD);
  70. this.getDao("mesdao").update("NIB027070_01.update", param);
  71. }
  72. else
  73. {
  74. param = new PosParameter();
  75. param.setValueParamter(0, SMP_NO);
  76. param.setValueParamter(1, SMP_CUT_LOC);
  77. param.setValueParamter(2, QLTY_CD);
  78. if(null != QLTY_VAL_WK&&!QLTY_VAL_WK.equals(""))
  79. {
  80. param.setValueParamter(3, QLTY_VAL_WK.toString());
  81. }
  82. else
  83. {
  84. param.setValueParamter(3, "");
  85. }
  86. param.setValueParamter(4, QLTY_UNIT_WK);
  87. param.setValueParamter(5, QLTY_TYPE_WK);
  88. this.getDao("mesdao").insert("NIB027070_01.insert", param);
  89. }
  90. changeRows++;
  91. }
  92. }
  93. if(changeRows>0)
  94. {
  95. try
  96. {
  97. cStmt = this.getDao("mesdao").getCallableStatement("NIB027071");
  98. cStmt.setString(1, SMP_NO);
  99. cStmt.setString(2, SMP_CUT_LOC);
  100. cStmt.registerOutParameter(3, Types.VARCHAR);
  101. cStmt.registerOutParameter(4, Types.VARCHAR);
  102. cStmt.execute();
  103. }
  104. catch (Exception ex)
  105. {
  106. logger.logFatal("Can not execute PL/SQL",ex);
  107. throw new PosException("Can not execute PL/SQL",ex);
  108. }
  109. finally
  110. {
  111. try
  112. {
  113. if(cStmt != null)
  114. {
  115. cStmt.close();
  116. }
  117. }
  118. catch (Exception ex)
  119. {
  120. logger.logFatal("Can not Close CallableStatement Query ID [callTest]",ex);
  121. }
  122. }
  123. }
  124. return PosBizControlConstants.SUCCESS;
  125. }
  126. }