c76db9c7f97e4f99071f19e6a99e29822b73e365.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. package xin.glue.ui.G.G01;
  2. import java.math.BigDecimal;
  3. import java.util.ArrayList;
  4. import java.util.Iterator;
  5. import com.posdata.glue.dao.PosGenericDao;
  6. import com.posdata.glue.dao.vo.PosParameter;
  7. import com.posdata.glue.dao.vo.PosRow;
  8. import com.posdata.glue.dao.vo.PosRowSet;
  9. public class XTBGCOMM {
  10. private static PosGenericDao dao;
  11. private PosParameter param;
  12. private PosRowSet rowset;
  13. private PosRow row;
  14. public XTBGCOMM(PosGenericDao dao){
  15. this.dao = dao;
  16. }
  17. //检查是否有记录
  18. static public boolean chekRecord(PosGenericDao dao,String parameters,String strSql) {
  19. PosParameter param = new PosParameter();
  20. param.setWhereClauseParameter(0, parameters);
  21. PosRowSet rowSet = dao.findByQueryStatement(strSql,param);
  22. if(rowSet.hasNext())return true;
  23. else return false;
  24. }
  25. static public boolean chekRecord(String parameters,String strSql) {
  26. PosParameter param = new PosParameter();
  27. param.setWhereClauseParameter(0, parameters);
  28. PosRowSet rowSet = dao.findByQueryStatement(strSql,param);
  29. if(rowSet.hasNext())return true;
  30. else return false;
  31. }
  32. static public boolean chekRecord(PosGenericDao dao,ArrayList paramlist,String strSql) {
  33. PosParameter param = new PosParameter();
  34. int n = 0;
  35. for(Iterator i=paramlist.iterator();i.hasNext();n++){
  36. param.setWhereClauseParameter(n, i.next());
  37. }
  38. PosRowSet rowSet = dao.find(strSql,param);
  39. if(rowSet.hasNext())return true;
  40. else return false;
  41. }
  42. //修改炉次计划信息的进程与状态
  43. public void specChargeProcUpt(String materialNo,String materialStat,String procCd){
  44. //spec_charge
  45. param = new PosParameter();
  46. param.setWhereClauseParameter(0, procCd);
  47. param.setWhereClauseParameter(1, materialStat);
  48. param.setWhereClauseParameter(2, materialNo);
  49. dao.update("XTBGCOMM_SPEC_CHARGE_PROC_UPT_01", param);
  50. //charge_idx
  51. param = new PosParameter();
  52. param.setWhereClauseParameter(0, materialStat);
  53. param.setWhereClauseParameter(1, materialNo);
  54. dao.update("XTBGCOMM_SPEC_CHARGE_PROC_UPT_02", param);
  55. }
  56. //修改板坯计划信息的进程与状态
  57. public void specSlabProcUpt(String materialNo,String materialStat){
  58. //SPEC_SLAB
  59. param = new PosParameter();
  60. param.setWhereClauseParameter(0, materialStat);
  61. param.setWhereClauseParameter(1, materialNo);
  62. dao.update("XTBGCOMM_SPEC_SLAB_PROC_UPT_01", param);
  63. //SLAB_D
  64. param = new PosParameter();
  65. param.setWhereClauseParameter(0, materialStat);
  66. param.setWhereClauseParameter(1, materialNo);
  67. dao.update("XTBGCOMM_SPEC_SLAB_PROC_UPT_02", param);
  68. }
  69. //修改炉次的进程与状态
  70. public void chargeProcUpt(String materialNo,String materialStat,String procCd,String regPgmId){
  71. //charge_comm
  72. param = new PosParameter();
  73. param.setWhereClauseParameter(0, materialStat);
  74. param.setWhereClauseParameter(1, procCd);
  75. param.setWhereClauseParameter(2, regPgmId);
  76. param.setWhereClauseParameter(3, materialNo);
  77. dao.update("XTBGCOMM_CHARGE_PROC_UPT_01", param);
  78. //charge_comm_d
  79. param = new PosParameter();
  80. param.setWhereClauseParameter(0, materialStat);
  81. param.setWhereClauseParameter(1, procCd);
  82. param.setWhereClauseParameter(2, regPgmId);
  83. param.setWhereClauseParameter(3, materialNo);
  84. dao.update("XTBGCOMM_CHARGE_PROC_UPT_02", param);
  85. }
  86. //修改板坯进程与状态
  87. public void slabProcUpt(String materialNo,String materialStat,String procCd,String regPgmId){
  88. //slab_comm
  89. param = new PosParameter();
  90. param.setWhereClauseParameter(0, materialStat);
  91. param.setWhereClauseParameter(1, procCd);
  92. param.setWhereClauseParameter(2, regPgmId);
  93. param.setWhereClauseParameter(3, materialNo);
  94. dao.update("XTBGCOMM_SLAB_PROC_UPT_01", param);
  95. }
  96. public void steelEventUpt( String chargeNo //
  97. ,String procCd //
  98. ,String eventCd //
  99. ,BigDecimal treatTemp
  100. ,BigDecimal eventQty
  101. ,String treatDtime //
  102. ,String chargeStat //
  103. ,String stlGrd //
  104. ,BigDecimal castEdtChargeCnt
  105. ,BigDecimal castChargeSeq
  106. ){
  107. ArrayList paramlist = new ArrayList();
  108. paramlist.add(chargeNo);
  109. paramlist.add(procCd);
  110. paramlist.add(eventCd);
  111. dao.update("NIG020200_BOF_STAT_DTIME.update");
  112. // 通过电文信息中的 炉次号 工序号 机号 查询 炼钢进程信息表 BG03_STLMAKE_PROG
  113. // 如果没有返回记录 则当前炼钢进程刚发生 在炼钢进程信息表中增加一条记录,否则修改记录
  114. if(XTBGCOMM.chekRecord(dao, paramlist, "NIG020200_SMS_PROG.select")){
  115. // steel making progress table update
  116. param = new PosParameter();
  117. param.setWhereClauseParameter(0, treatTemp);
  118. param.setWhereClauseParameter(1, eventQty);
  119. param.setWhereClauseParameter(2, treatDtime);
  120. param.setWhereClauseParameter(3, chargeStat);
  121. param.setWhereClauseParameter(4, chargeNo);
  122. param.setWhereClauseParameter(5, procCd);
  123. param.setWhereClauseParameter(6, eventCd );
  124. dao.update("NIG020200_STLMAKE_PROG.update", param);
  125. }else{
  126. // steel making progress table update
  127. param = new PosParameter();
  128. param.setValueParamter(0, chargeNo);
  129. param.setValueParamter(1, procCd);
  130. param.setValueParamter(2, eventCd);
  131. param.setValueParamter(3, treatTemp);
  132. param.setValueParamter(4, eventQty);
  133. param.setValueParamter(5, treatDtime);
  134. param.setValueParamter(6, chargeStat);
  135. dao.insert("NIG020200_STLMAKE_PROG.insert", param);
  136. // Steel making tracking table update
  137. // in tbg03_sms_tracking table each charge only has one eventCd,so before updating shoud set null
  138. param = new PosParameter();
  139. param.setWhereClauseParameter(0, chargeNo);
  140. param.setWhereClauseParameter(1, eventCd);
  141. rowset = dao.find("NIG020200_SMS_TRACK.select", param);
  142. while(rowset.hasNext()) {
  143. row = rowset.next();
  144. String treatCd = (String)row.getAttribute("TREAT_CD");
  145. param = new PosParameter();
  146. param.setWhereClauseParameter(0, treatCd);
  147. dao.update("NIG020200_TRACK_SAME.update", param);
  148. }
  149. //// Steel making tracking table update
  150. param = new PosParameter();
  151. param.setValueParamter(0, eventCd);
  152. param.setValueParamter(1, chargeNo);
  153. param.setValueParamter(2, stlGrd);
  154. param.setValueParamter(3, castEdtChargeCnt);
  155. param.setValueParamter(4, castChargeSeq);
  156. param.setValueParamter(5, treatDtime);
  157. param.setValueParamter(6, treatTemp);
  158. param.setValueParamter(7, eventQty);
  159. param.setValueParamter(8, procCd);
  160. dao.update("NIG020200_SMS_TRACK.update", param);
  161. }
  162. }
  163. }