ef89330e114fdd34a86c76a16162fdf55ee3e77b.svn-base 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package xin.glue.ui.J.J01;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.PrintStream;
  4. import java.sql.CallableStatement;
  5. import java.sql.Connection;
  6. import java.sql.Statement;
  7. import java.text.SimpleDateFormat;
  8. import java.util.ArrayList;
  9. import java.util.Calendar;
  10. import org.apache.commons.lang.StringUtils;
  11. import xin.glue.ui.common.ProduceFactory;
  12. import com.posdata.glue.biz.activity.PosActivity;
  13. import com.posdata.glue.biz.constants.PosBizControlConstants;
  14. import com.posdata.glue.context.PosContext;
  15. import com.posdata.glue.dao.vo.PosParameter;
  16. import com.posdata.glue.dao.vo.PosRow;
  17. import com.posdata.glue.dao.vo.PosRowSet;
  18. public class ModifyShipProgStatusOfCoils extends PosActivity {
  19. public String runActivity(PosContext context) {
  20. //UPDATE TBH02_COIL_COMM
  21. String[] pShipProgCd = (String[]) context.get("SHIP_PROG_CD" ); //SET SHIP_PROG_CD = :1
  22. String[] pCoilNo = (String[]) context.get("COIL_NO" ); //WHERE COIL_NO = :2
  23. // 车辆号
  24. String[] TRANS_CAR_NO = (String[]) context.get("TRANS_CAR_NO" );
  25. String[] COIL_WGT = (String[]) context.get("COIL_WGT" );
  26. //草支垫重量
  27. String[] CZD = (String[]) context.get("CZD");
  28. //钢卷实际规格厚度
  29. String[] COIL_THK = (String[]) context.get("COIL_THK" );
  30. // 运输指示号
  31. String[] pDlivDirNo = (String[]) context.get("DLIV_DIRNO");
  32. // 钢种牌号
  33. String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD");
  34. // 发货时间
  35. String[] TRNF_DTIME = (String[]) context.get("TRNF_DTIME");
  36. // 收货单位
  37. String[] ORD_NM = (String[]) context.get("ORD_NM");
  38. // 到站点
  39. String[] DEST_PCD_DESC = (String[]) context.get("DEST_PCD_DESC");
  40. // 合同单位
  41. String[] CUST_NM = (String[]) context.get("CUST_NM");
  42. // 运输公司
  43. String[] SHIP_COMP_CD = (String[]) context.get("SHIP_COMP_CD");
  44. // 运输公司
  45. String[] SHIP_COMP_NM = (String[]) context.get("SHIP_COMP_NM");
  46. // 钢卷号
  47. String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO");
  48. // 产品名称
  49. String[] SM_CFNM = (String[]) context.get("SM_CFNM");
  50. String[] ORD_CD = (String[]) context.get("ORD_CD");
  51. String[] DLIV_TP = (String[]) context.get("DlivType");
  52. String[] ORD_NO = (String[]) context.get("ORD_NO");
  53. // 登录人
  54. String[] REG_ID = (String[]) context.get("REG_ID");
  55. int iCnt = 0;
  56. if (pDlivDirNo != null) {
  57. iCnt = pDlivDirNo.length;
  58. }
  59. CallableStatement cstm = null;
  60. for (int i = 0; i < iCnt; i++) {
  61. try {
  62. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  63. String trnFTime = TRNF_DTIME[i];
  64. if(StringUtils.isEmpty(trnFTime) || "-".equals(trnFTime))
  65. trnFTime = sdf.format(Calendar.getInstance().getTime());
  66. Double COIL_WGT_double = 0.0;
  67. if(COIL_WGT[i] != null) {
  68. COIL_WGT_double = Double.valueOf(COIL_WGT[i]);
  69. }
  70. cstm = getDao("mesdao").getCallableStatement("UIJ010060_04.CALL");
  71. cstm.setString(1, "1");
  72. cstm.setString(2,OLD_SAMPL_NO[i]);
  73. cstm.setString(3, pDlivDirNo[i]);
  74. cstm.setString(4, SPEC_STL_GRD[i]);
  75. cstm.setString(5, TRANS_CAR_NO[i]);
  76. cstm.setString(6, COIL_WGT_double.toString());
  77. cstm.setString(7, trnFTime);
  78. cstm.setString(8, CZD[0]);
  79. cstm.setString(9, "0");
  80. cstm.setString(10, "H");
  81. cstm.setString(11, REG_ID[0]);
  82. cstm.execute();
  83. //调用存货异动点存储过程
  84. /*ProduceFactory PD= new ProduceFactory();
  85. PD.ErpDataCover("HCOIL",OLD_SAMPL_NO[i],"69A","1","O",REG_ID[0],"热轧发货");*/
  86. logger.logInfo(pDlivDirNo[i] + "明细数据发送到铁前数据库成功执行UIJ010060_01.CALL-------------------");
  87. } catch (Exception ex) {
  88. //System.out.println(pDlivDirNo[i] + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL**********");
  89. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  90. ex.printStackTrace(new PrintStream(baos));
  91. String exception = baos.toString();
  92. String errStr = "\n异常原因:" + exception;
  93. logger.logInfo(pDlivDirNo[i] + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL;" + errStr);
  94. //ex.printStackTrace();
  95. }
  96. }
  97. if (cstm != null) {
  98. try {
  99. cstm.close();
  100. } catch (Exception e) {
  101. }
  102. }
  103. int Cnt = 0;
  104. if( pCoilNo != null ) {
  105. Cnt = pCoilNo.length;
  106. }
  107. logger.logInfo("iCnt = ["+ Cnt +"]");
  108. PosParameter param = null;
  109. for( int i = 0; i < Cnt; i++ ) {
  110. param = new PosParameter();
  111. param.setValueParamter( 0, pShipProgCd[i] );
  112. param.setValueParamter( 1, TRANS_CAR_NO[i] );
  113. param.setValueParamter( 2, COIL_WGT[i] );
  114. param.setValueParamter( 3, CZD[0] );
  115. param.setValueParamter( 4, pCoilNo[i] );
  116. getDao("mesdao").update("UIJ010060.ModifyShipProgStatusOfCoils.Save", param);
  117. }
  118. return PosBizControlConstants.SUCCESS;
  119. }
  120. }