166760a03da4945d2cf5251d30faed882b41064e.svn-base 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. package xin.glue.ui.G.G02;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.Map;
  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.PosGenericDao;
  9. import com.posdata.glue.dao.vo.PosParameter;
  10. import com.posdata.glue.dao.vo.PosRow;
  11. import com.posdata.glue.dao.vo.PosRowSet;
  12. /**
  13. * 转炉实绩录入信息
  14. *
  15. * BOF实绩查询后,按CHARGE_NO执行更新或插入操作
  16. * 铁合金、辅料、废料数据更新或插入
  17. *
  18. * @author 梅贵平
  19. * @date 2008-9-1
  20. */
  21. public class XinChemEdit extends PosActivity
  22. {
  23. public String runActivity(PosContext context)
  24. {
  25. logger.logInfo( "XinChemEdit start" );
  26. PosGenericDao dao = this.getDao("mesdao");
  27. PosParameter param = null;
  28. PosRowSet rowset = null;
  29. param = new PosParameter();
  30. rowset = dao.find("UIG020090_CHMNM.select", param);
  31. context.put("ChemNM", rowset);//返回成分代码
  32. ///get request data
  33. String[]CHARGE_NO = (String[])context.get("CHARGE_NO");//炉次号
  34. String[]sProcCd = (String[])context.get("SUBPROC");
  35. String[] proc = sProcCd[0].split("\\|"); //proc : B,C,L,R,J => BOF,CAS,LF,RH,CCM
  36. for(int i=0;i<proc.length;i++){
  37. if(proc[i].equals("1")){
  38. chemGrid(context,proc[i],CHARGE_NO[0],"C" + "chmResult");//proc[i] = '1' 氩后样
  39. }else
  40. chemGrid(context,proc[i],CHARGE_NO[0],proc[i] + "chmResult");
  41. }
  42. return PosBizControlConstants.SUCCESS;
  43. }
  44. //result_vo: BchmResult|CchmResult|LchmResult|RchmResult|JchmResult
  45. private void chemGrid(PosContext context,String sProcCd,String CHARGE_NO,String result_vo){
  46. PosParameter param = new PosParameter();
  47. String[][] CHEM_EDIT_DATA = new String[50][100];
  48. param = new PosParameter();
  49. param.setWhereClauseParameter(0, sProcCd);
  50. param.setWhereClauseParameter(1, sProcCd);
  51. param.setWhereClauseParameter(2, CHARGE_NO);
  52. param.setWhereClauseParameter(3, sProcCd);
  53. param.setWhereClauseParameter(4, sProcCd);
  54. param.setWhereClauseParameter(5, CHARGE_NO);
  55. PosRowSet chemCdVo = getDao("mesdao").find("UIG020COMM_CHEM_CD.select", param);
  56. int i = 0;
  57. int j = 0;
  58. int ii= 0;
  59. while(chemCdVo.hasNext())
  60. {
  61. PosRow chemCdROW = chemCdVo.next();
  62. String sCHEM_CD = (String)chemCdROW.getAttribute("CHEM_CD");
  63. String sCHEM_AIM = (String)chemCdROW.getAttribute("SPEC_CHEM_VAL");
  64. String sCHEM_MIN = (String)chemCdROW.getAttribute("FAC_CHEM_VAL");
  65. String sCHEM_MAX = (String)chemCdROW.getAttribute("TAFAC_CHEM_VAL");
  66. System.out.println("------------>" + (String)chemCdROW.getAttribute("CHEM_CD") + "---" + (String)chemCdROW.getAttribute("CHEM_AIM"));
  67. System.out.println("------------" + i +"-----------***");
  68. CHEM_EDIT_DATA[0][i] = sCHEM_CD;
  69. CHEM_EDIT_DATA[3][i] = sCHEM_AIM;
  70. CHEM_EDIT_DATA[1][i] = sCHEM_MIN;
  71. CHEM_EDIT_DATA[2][i] = sCHEM_MAX;
  72. i++;
  73. }
  74. System.out.println("--------->" + i + "----" + CHEM_EDIT_DATA[0].length + "----" + CHEM_EDIT_DATA[1].length + "----" + CHEM_EDIT_DATA[2].length + "----" + CHEM_EDIT_DATA[3].length);
  75. param = new PosParameter();
  76. param.setWhereClauseParameter(0,CHARGE_NO);
  77. PosRowSet chemSpeCdVo = getDao("mesdao").find("UIG020COMM_CHEM_SPE.select", param);
  78. int tag = 0;
  79. String[] ordArray = new String[10];
  80. while(chemSpeCdVo.hasNext()){
  81. PosRow row = chemSpeCdVo.next();
  82. String ordNo = (String)row.getAttribute("ORD_NO");
  83. String chemCd =(String)row.getAttribute("CHEM_CD");
  84. String chemValue =(String)row.getAttribute("CHEM_VALUE");
  85. if(ordArray[0] == null||(!ordArray[tag-1].equals(ordNo))){
  86. ordArray[tag] = ordNo;
  87. tag++;
  88. }
  89. for ( int m = 0; m < i; m++ ) {
  90. if (chemCd.equals(CHEM_EDIT_DATA[0][m])) {
  91. System.out.println("--------->" + chemCd + "----" + chemValue);
  92. CHEM_EDIT_DATA[tag + 3][m] = chemValue;
  93. break;
  94. }
  95. }
  96. }
  97. PosParameter param1 = new PosParameter();
  98. param1.setWhereClauseParameter(0, sProcCd);
  99. param1.setWhereClauseParameter(1, sProcCd);
  100. param1.setWhereClauseParameter(2, CHARGE_NO);
  101. PosRowSet chemVo = getDao("mesdao").find("UIG020COMM_CHEM.select", param1);
  102. while(chemVo.hasNext()) {
  103. PosRow chemROW = chemVo.next();
  104. String sCHEM_SEQ = (String)chemROW.getAttribute("CHEM_SEQ");
  105. String sCHEM_R_CD = (String)chemROW.getAttribute("CHEM_CD");
  106. String sCHEM_VAL = (String)chemROW.getAttribute("CHEM_VAL");
  107. if(sCHEM_R_CD.equals("S")&&sCHEM_R_CD.equals(CHEM_EDIT_DATA[0][5]))System.out.println("-------------***********************----youasdfasdfasdfas");
  108. int temp = Integer.parseInt(sCHEM_SEQ);
  109. ii = temp + 3 + tag +1;
  110. if(j < ii)j = ii;
  111. for ( int m = 0; m < i; m++ ) {
  112. if (sCHEM_R_CD.equals(CHEM_EDIT_DATA[0][m])) {
  113. System.out.println("--------->" + sCHEM_R_CD + "----" + sCHEM_VAL);
  114. CHEM_EDIT_DATA[ii][m] = sCHEM_VAL;
  115. break;
  116. }
  117. }
  118. }
  119. System.out.println("000000000000000000" + i + "*******" + ii + "@@@@" + j);
  120. for(int tg = 0 ; tg < j+1 ; tg++){
  121. if(tg == 0)CHEM_EDIT_DATA[0][i] = "xm".toString();
  122. else if(tg == 1)CHEM_EDIT_DATA[1][i] = "炼钢内控".toString();
  123. else if(tg == 2)CHEM_EDIT_DATA[2][i] = "炼钢放行".toString();
  124. else if(tg == 3)CHEM_EDIT_DATA[3][i] = "成品放行".toString();
  125. else if(tag != 0&& tag + 3 >= tg){
  126. // for(int t = 0 ; t < tag ; t++){
  127. CHEM_EDIT_DATA[tg][i] = ordArray[tag+3 -tg];
  128. System.out.println(ordArray[tag+3-tg]);
  129. // }
  130. }
  131. else CHEM_EDIT_DATA[tg][i] = ("第" + (tg-3-tag) + "次").toString();
  132. }
  133. i++;
  134. System.out.println("000000000000000000" + i + "*******" + ii + "@@@@" + j);
  135. for(int a = 0 ; a< j+1; a++){
  136. for(int b = 0 ; b<i;b++){
  137. System.out.print(CHEM_EDIT_DATA[a][b] + "-");
  138. }
  139. System.out.println("\n");
  140. }
  141. ArrayList list = new ArrayList();
  142. for (int idx = 1; idx < j+1; idx++ )
  143. {
  144. Map temp = new HashMap(50);
  145. list.add(temp);
  146. for ( int idy = 0; idy < i; idy++ )
  147. {
  148. temp.put(CHEM_EDIT_DATA[0][idy],CHEM_EDIT_DATA[idx][idy]);
  149. }
  150. }
  151. context.put(result_vo,list);
  152. }
  153. }