dd97a93419e0deeba1f925c50aca16f280228733.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. package QCM.JHY01.JHY0102;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import org.apache.commons.lang.StringUtils;
  5. import org.apache.ibatis.session.SqlSession;
  6. import CoreFS.SA01.CoreIComponent;
  7. import CoreFS.SA06.CoreReturnObject;
  8. import QCM.COMMUNAL.QCM02.SqlJoint;
  9. import UIB.COM.XmlSqlParsersFactory;
  10. public class QuerryJhyElements extends CoreIComponent{
  11. CoreReturnObject cro = new CoreReturnObject();
  12. SqlSession SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  13. QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  14. public String StrSky(String begintime,String endtime){
  15. String sql = "select (to_date('"+endtime+"','yyyy-MM-dd') - to_date('"+begintime+"','yyyy-MM-dd')) SKY from dual";
  16. HashMap list = mapper.queryOne(sql);
  17. Double ble = Double.parseDouble(list.get("SKY").toString());
  18. String tstr="FALSE";
  19. if(ble>=0 && ble <=30 ){
  20. tstr="TRUE";
  21. }
  22. return tstr;
  23. }
  24. /**
  25. * 根据条件查询成分检验实绩
  26. * @param gradeName
  27. * @param heatNo
  28. * @return1
  29. */
  30. public CoreReturnObject QueryElement() {
  31. try{
  32. //查询分组
  33. StringBuffer sqlucomm = new StringBuffer();
  34. sqlucomm.append("select distinct upper(CHEM_CODE) CHEM_CODE,");
  35. sqlucomm.append(" (select q.dsp_seq from qcm_base_chem q where q.chem_code = t.chem_code) dsp_seq ");
  36. sqlucomm.append(" FROM QCM_JHY_INSP_ELEMENTS t where t.chem_code <> 'Ce' order by dsp_seq asc");
  37. //cro=this.getDao("testDao").ExcuteQuery(sqlucomm.toString());
  38. List<HashMap> listEle= mapper.query(sqlucomm.toString());
  39. cro.setResult(listEle);
  40. }catch(Exception ex){
  41. cro.setV_errCode(-1);
  42. cro.setV_errMsg("获取成分出错"+ex.getMessage());
  43. SqlSession.rollback();
  44. }
  45. SqlSession.close();
  46. return cro;
  47. }
  48. /**
  49. * 根据条件查询成分检验实绩
  50. * @param gradeName
  51. * @param heatNo
  52. * @return
  53. */
  54. public CoreReturnObject QueryNew(String steelName,String heatNo,String STARTTIME,String ENDTIME) {
  55. //sqlId : WebRoot/WEB-INF/QUERY/QCM/JHY/QCM_JHY_QueryNew
  56. //cro=this.getDao("testDao").ExcuteQuery(XmlSqlParsersFactory.getSql(sqlId));
  57. try{
  58. if (!SqlJoint.IsNullOrSpace(STARTTIME) && !SqlJoint.IsNullOrSpace(ENDTIME)) {
  59. String sky=StrSky(STARTTIME,ENDTIME);
  60. if(sky.equals("FALSE")){
  61. SqlSession.close();
  62. cro.setV_errCode(-1);
  63. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  64. return cro;
  65. }
  66. }
  67. String AS="AS";
  68. String sql =" select * from ( "
  69. +" select t.assay_no 成分化验号,t.HEAT_NO 炉号, t.STEEL_CODE 牌号, decode(t.ASSAY_TYPE,'L','熔炼成分','P','成品成分') 类型,"
  70. + " t.chem_code, round(t.CHEM_VALUE, 5) CHEM_VALUE "
  71. +" from QCM_JHY_INSP_ELEMENTS t where 1=1 "
  72. +" and CREATE_TIME >= "
  73. +" to_date(concat('"+STARTTIME+"', ' 00:00:00'), 'yyyy-MM-dd HH24:mi:ss') "
  74. +" and CREATE_TIME <= "
  75. +" to_date(concat('"+ENDTIME+"', ' 23:59:59'), 'yyyy-MM-dd HH24:mi:ss') ";
  76. if(StringUtils.isNotBlank(steelName)){
  77. sql+=" and lower(STEEL_NAME)=lower('"+steelName+"')";
  78. }
  79. if(StringUtils.isNotBlank(heatNo)){
  80. sql+=" and lower(HEAT_NO)=lower('"+heatNo+"') ";
  81. }
  82. sql +=" ) t pivot ( "
  83. +" max(chem_value) for chem_code in ( "
  84. +" 'C' C,'Si' Si,'Mn' Mn,'P' P,'S' S,'Cr' Cr,'Ni' Ni,'Cu' Cu,'Nb' Nb,'V' V,'Ti' Ti,'Als' Als, "
  85. +" 'Alt' Alt,'Mo' Mo,'N' N,'B' B,'As' As "+'"'+AS+'"'+",'Sn' Sn,'Pb' Pb,'Sb' Sb,'Bi' Bi,'Ca' Ca,'O' O,'H' H,'W' W, "
  86. +" 'Zr' Zr,'La' La,'Co' Co,'CE' CE,'CE1' CE1,'CE2' CE2,'CE3' CE3,'Ceq' Ceq,'Ceq2' Ceq2,'Ceq3' Ceq3, "
  87. +" 'CEV' CEV,'I' I,'J' J,'Pcm' Pcm,'Psr' Psr,'X' X,'Com1' Com1,'Com2' Com2,'Com3' Com3,'Com4' Com4, "
  88. +" 'Com5' Com5,'Com6' Com6,'Com7' Com7,'Com8' Com8,'Com9' Com9,'Com10' Com10,'Com11' Com11, "
  89. +" 'Com12' Com12,'Com13' Com13,'Com14' Com14,'Com15' Com15,'Com16' Com16,'Com17' Com17,'Com18' Com18, "
  90. +" 'Com19' Com19,'Com20' Com20,'Com21' Com21,'Com22' Com22,'Com23' Com23,'Al' Al,'Com24' Com24, "
  91. +" 'Com25' Com25,'Com26' Com26,'Com27' Com27,'Com28' Com28,'Com29' Com29,'Com30' Com30,'Mg' Mg, "
  92. +" 'Fe' Fe,'Zn' Zn,'Alsol' Alsol,'CE4' CE4,'Cd' Cd,'Cdl' Cdl,'Se' Se,'UCS' UCS) "
  93. +" ) ORDER BY 成分化验号 DESC";
  94. List<HashMap> listEle= mapper.query(sql.toString());
  95. cro.setResult(listEle);
  96. }catch(Exception ex){
  97. cro.setV_errCode(-1);
  98. cro.setV_errMsg("获取成分出错"+ex.getMessage());
  99. SqlSession.rollback();
  100. }
  101. SqlSession.close();
  102. return cro;
  103. }
  104. /**
  105. * 根据条件查询成分检验实绩
  106. * @param gradeName
  107. * @param heatNo
  108. * @return
  109. */
  110. public CoreReturnObject Query(String steelName,String heatNo,String STARTTIME,String ENDTIME) {
  111. //查询分组
  112. StringBuffer sqlucomm = new StringBuffer();
  113. sqlucomm.append("select BATCH_NO,HEAT_NO,ASSAY_NO,STEEL_CODE,ASSAY_TYPE FROM QCM_JHY_INSP_ELEMENTS WHERE 1=1");
  114. if(!"".equals(steelName)){
  115. sqlucomm.append(" and lower(STEEL_NAME)=lower('"+steelName+"') ");
  116. }
  117. if(!"".equals(heatNo)){
  118. sqlucomm.append(" and lower(HEAT_NO)=lower('"+heatNo+"') ");
  119. }
  120. if (STARTTIME!=null && !"".equals(STARTTIME)) {
  121. sqlucomm.append(" and CREATE_TIME>=to_date(concat('"+STARTTIME+"',' 00:00:00'),'yyyy-MM-dd HH24:mi:ss')");
  122. }
  123. if (ENDTIME!=null && !"".equals(ENDTIME)) {
  124. sqlucomm.append(" and CREATE_TIME<=to_date(concat('"+ENDTIME+"',' 23:59:59'),'yyyy-MM-dd HH24:mi:ss') ");
  125. }
  126. sqlucomm.append(" GROUP BY BATCH_NO,HEAT_NO,ASSAY_NO,STEEL_CODE,ASSAY_TYPE");
  127. cro=this.getDao("testDao").ExcuteQuery(sqlucomm.toString());
  128. Object group=(Object)cro.getResult();
  129. sqlucomm.setLength(0);
  130. //查询分条元素数据
  131. sqlucomm.append("select ASSAY_NO,STEEL_CODE,STEEL_NAME,ASSAY_TYPE,CHEM_CODE,");
  132. sqlucomm.append("CHEM_NAME,round(CHEM_VALUE,5) CHEM_VALUE FROM QCM_JHY_INSP_ELEMENTS WHERE 1=1");
  133. if(!"".equals(steelName)){
  134. sqlucomm.append(" and lower(STEEL_NAME)=lower('"+steelName+"') ");
  135. }
  136. if(!"".equals(heatNo)){
  137. sqlucomm.append(" and lower(HEAT_NO)=lower('"+heatNo+"') ");
  138. }
  139. if (STARTTIME!=null && !"".equals(STARTTIME)) {
  140. sqlucomm.append(" and CREATE_TIME>=to_date(concat('"+STARTTIME+"',' 00:00:00'),'yyyy-MM-dd HH24:mi:ss')");
  141. }
  142. if (ENDTIME!=null && !"".equals(ENDTIME)) {
  143. sqlucomm.append(" and CREATE_TIME<=to_date(concat('"+ENDTIME+"',' 23:59:59'),'yyyy-MM-dd HH24:mi:ss') ");
  144. }
  145. cro=this.getDao("testDao").ExcuteQuery(sqlucomm.toString());
  146. Object elements=(Object)cro.getResult();
  147. HashMap<String, Object> result=new HashMap<String, Object>();
  148. result.put("group", group);
  149. result.put("result", elements);
  150. cro.setResult(result);
  151. return cro;
  152. }
  153. }