package QCM.QCM03.QCM0301; import CoreFS.SA01.CoreIComponent; import CoreFS.SA06.CoreReturnObject; import QCM.COMMUNAL.QCM02.SqlJoint; import QCM.COMMUNAL.VO.*; import QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl; import QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.ibatis.session.SqlSession; import org.apache.log4j.Logger; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; public class QcmJhyElementsServiceImpl extends CoreIComponent { private Logger logger = Logger.getLogger(this.getClass().getName()); CoreReturnObject cro = new CoreReturnObject(); SqlSession SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class); //QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl(); public String StrSky(String begintime,String endtime){ String sql = "select (to_date('"+endtime+"','yyyy-MM-dd') - to_date('"+begintime+"','yyyy-MM-dd')) SKY from dual"; HashMap list = mapper.queryOne(sql); Double ble = Double.parseDouble(list.get("SKY").toString()); String tstr="FALSE"; if(ble>=0 && ble <=30 ){ tstr="TRUE"; } return tstr; } /** * 查询待判信息(检验委托提供)轧钢 */ public CoreReturnObject getRejudgeInfo(String begintime, String endtime, String batch_no, String BOARD_NO, String design_key, String psc_desc, String type, String prodline, String status) { try { String swhere = " 1=1"; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(batch_no)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //时间 if (status.equals("0")) { swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')"; } else if (status.equals("1")) { swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')"; } } if (!SqlJoint.IsNullOrSpace(batch_no)) { //炉号 swhere += " and o.batch_no = '" + batch_no + "'"; } if (!SqlJoint.IsNullOrSpace(BOARD_NO)) { //板坯号 swhere += " and m.BOARD_NO = '" + BOARD_NO + "'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and o.design_key like '%" + design_key + "%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and o.psc_desc like '%" + psc_desc + "%'"; } if (!SqlJoint.IsNullOrSpace(type)) { //卷板 if (type.equals("0")) { swhere += " and o.pline_code in ('LT1','SZ1','RZ1')"; } //中厚板 else if (type.equals("1")) { swhere += " and o.pline_code in ('ZB1','HB1')"; } //线棒 else if (type.equals("2")) { swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')"; } } if (prodline.equals("中板线")) { swhere += " and o.pline_code in ('ZB1') "; } else if (prodline.equals("厚板线")) { swhere += " and o.pline_code in ('HB1') "; } else if (prodline.equals("热连轧")) { swhere += " and o.pline_code in ('RZ1') "; } else if (prodline.equals("酸轧")) { swhere += " and o.pline_code in ('SZ1') "; } else if (prodline.equals("连退")) { swhere += " and o.pline_code in ('LT1') "; } else if (prodline.equals("高棒")) { swhere += " and o.pline_code in ('GX1') "; } else if (prodline.equals("棒二")) { swhere += " and o.pline_code in ('BC2') "; } else if (prodline.equals("高线")) { swhere += " and o.pline_code in ('GX2') "; } String sql = "SELECT O.BATCH_NO,o.heat_no, " + " m.BOARD_NO, " + " m.grade_name, " + " o.design_key, " + " o.smp_no, " + " o.steel_name, " + " o.prod_name, " + " o.std_name, " + " o.delivery_state_desc, " + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, " + " o.width, " + " o.length, " + " m.pline_name, " + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME," +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, " + " (select case when max(a.Smp_Type_Code) = '3' then '件件取样' when max(a.Smp_Type_Code) = '4' then '按母板取样' when max(a.Smp_Type_Code) = '1' then '复样' " + " when max(a.Smp_Type_Code) = '0' and max(o.CERT_INST_CODE) in ('IC003', 'IC004','IC001', 'IC010', '5000') then " + " '初样' else '认证样' end from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" + " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" + " from qcm_jhy_insp_physics t\n" + " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time," //+ " m.CREATE_TIME, " + " O.INSPECTION_LOT, " + " (select decode( max(a.Smp_Type_Code),'1','复样','0','初样') from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code " + " from QCM_JHY_SAMPLE_R_ORD o " + " inner join QCM_JHY_SAMPLE_CONSIGN_M m " + " on m.smp_no = o.smp_no " + " and o.judge_status = '0' " + " and m.smp_catg = 'A' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' " + swhere1 + ") where " + swhere + " ORDER BY M.CREATE_TIME DESC"; List listEle = mapper.query(sql); cro.setResult(listEle); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息出错" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 特殊要求工艺处理录入接口 */ public CoreReturnObject ApplyJudgeInput(String SLAB_NO,String JRYQ ,String ZZYQ,String QYYQ ,String RCLYQ,String LGPDYQ,String CPPDYQ) throws Exception{ try{ if(SqlJoint.IsNullOrSpace(SLAB_NO)) { throw new Exception("请选择要特殊要求工艺录入的板坯号!"); } JSONObject jsobj1 = new JSONObject(); jsobj1.put("SLAB_NO",SLAB_NO); jsobj1.put("JRYQ",JRYQ); jsobj1.put("ZZYQ",ZZYQ); jsobj1.put("QYYQ",QYYQ); jsobj1.put("RCLYQ",RCLYQ); jsobj1.put("LGPDYQ",LGPDYQ); jsobj1.put("CPPDYQ",CPPDYQ); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url,"ApplyJudgeInput",JSON.toJSONString(jsobj1)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("特殊要求工艺录入失败!"); } SqlSession.commit(); }catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("特殊要求工艺录入出错" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 特殊放行审核接口 */ public CoreReturnObject ApplyJudgeCheck(String SLAB_NO,String FLAG ,String OPTMAN) throws Exception{ try{ if(SqlJoint.IsNullOrSpace(SLAB_NO)) { throw new Exception("请选择要审核的板坯号!"); } if(SqlJoint.IsNullOrSpace(FLAG) || FLAG=="") { throw new Exception("审核标志不能为空"); } JSONObject jsobj1 = new JSONObject(); jsobj1.put("SLAB_NO",SLAB_NO); jsobj1.put("FLAG",FLAG); jsobj1.put("OPTMAN",OPTMAN); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url,"ApplyJudgeCheck",JSON.toJSONString(jsobj1)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("特殊放行审核失败!"); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(OPTMAN); qjog.setOperate_type("特殊放行审核"); qjog.setParams(SLAB_NO); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); }catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("特殊放行审核出错" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 特殊放行申报接口 */ public CoreReturnObject doApplyJudge(String OPTTYPE,String PROD_TYPE,String TSLX,String PROD_LINE,String SLAB_NO,String OPTMAN) throws Exception{ try{ if(SqlJoint.IsNullOrSpace(SLAB_NO)) { throw new Exception("请选择要特殊放行的板坯号!"); } if(SqlJoint.IsNullOrSpace(PROD_LINE)) { throw new Exception("请选择要特殊放行的产线!"); } if(SqlJoint.IsNullOrSpace(PROD_TYPE)) { throw new Exception("请选择要特殊放行的板坯类型!"); } JSONObject jsobj1 = new JSONObject(); jsobj1.put("OPTTYPE",OPTTYPE); jsobj1.put("PROD_TYPE",PROD_TYPE); jsobj1.put("TSLX",TSLX); jsobj1.put("PROD_LINE",PROD_LINE); jsobj1.put("SLAB_NO",SLAB_NO); jsobj1.put("OPTMAN",OPTMAN); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url,"doApplyJudge",JSON.toJSONString(jsobj1)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("特殊放行申报失败!"); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(OPTMAN); qjog.setOperate_type(OPTTYPE=="2"?"撤销特殊放行申报":"特殊放行申报"); qjog.setParams(SLAB_NO); qjog.setProd_line(PROD_LINE); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); }catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("特殊放行申报出错" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 特殊放行申报查询接口 */ public CoreReturnObject GetApplyJudgeInfo(String begintime,String endtime,String slab_no,String prod_line) throws Exception{ try{ JSONObject jsobj1 = new JSONObject(); if(SqlJoint.IsNullOrSpace(begintime) || SqlJoint.IsNullOrSpace(endtime)){ begintime = ""; endtime = ""; } if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } if(SqlJoint.IsNullOrSpace(slab_no)){ slab_no= ""; } if(SqlJoint.IsNullOrSpace(prod_line)){ prod_line= ""; } if(begintime.equals("") && endtime.equals("") && slab_no.equals("")&&prod_line.equals("")){ throw new Exception("请输入查询条件!"); } jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME", endtime); jsobj1.put("SLAB_NO", slab_no); jsobj1.put("PROD_LINE", prod_line); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "GetApplyJudgeInfo", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("HEATNO", ja.getJSONObject(i).getString("HEATNO")); lists.put("BILLETNO", ja.getJSONObject(i).getString("BILLETNO")); lists.put("LGPH", ja.getJSONObject(i).getString("LGPH")); lists.put("RATIFFLAG", ja.getJSONObject(i).getString("RATIFFLAG")); lists.put("RATIFYRECODER", ja.getJSONObject(i).getString("RATIFYRECODER")); lists.put("RATIFYTIME", ja.getJSONObject(i).getString("RATIFYTIME")); lists.put("THICK", ja.getJSONObject(i).getString("THICK")); lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH")); lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH")); lists.put("LF", ja.getJSONObject(i).getString("LF")); lists.put("RH", ja.getJSONObject(i).getString("RH")); lists.put("HL", ja.getJSONObject(i).getString("HL")); lists.put("PACTNO", ja.getJSONObject(i).getString("PACTNO")); lists.put("ORDERNO", ja.getJSONObject(i).getString("ORDERNO")); lists.put("STEELCODE", ja.getJSONObject(i).getString("STEELCODE")); lists.put("PACTINDEX", ja.getJSONObject(i).getString("PACTINDEX")); lists.put("CP_THICK", ja.getJSONObject(i).getString("CP_THICK")); lists.put("CP_WIDTH", ja.getJSONObject(i).getString("CP_WIDTH")); lists.put("CP_LENGTH", ja.getJSONObject(i).getString("CP_LENGTH")); lists.put("STANDROLLER", ja.getJSONObject(i).getString("STANDROLLER")); lists.put("CHECKORG", ja.getJSONObject(i).getString("CHECKORG")); lists.put("SENDBEGINDATE", ja.getJSONObject(i).getString("SENDBEGINDATE")); lists.put("TSYQ", ja.getJSONObject(i).getString("TSYQ")); lists.put("REMARK", ja.getJSONObject(i).getString("REMARK")); lists.put("CUTSTARTTIME", ja.getJSONObject(i).getString("CUTSTARTTIME")); lists.put("JRYQ", ja.getJSONObject(i).getString("JRYQ")); lists.put("ZJYQ", ja.getJSONObject(i).getString("ZJYQ")); lists.put("QYYQ", ja.getJSONObject(i).getString("QYYQ")); lists.put("RCLYQ", ja.getJSONObject(i).getString("RCLYQ")); lists.put("LGJUDGEYQ", ja.getJSONObject(i).getString("LGJUDGEYQ")); lists.put("CFPDYQ", ja.getJSONObject(i).getString("CFPDYQ")); listqjb.add(lists); } cro.setResult(listqjb); } }catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取特殊放行申报查询信息错误" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询炼钢库存 * @param begintime * @param endtime * @param slab_no * @param prod_line * @return * @throws Exception */ public CoreReturnObject GetStorageInfo(String begintime,String endtime,String slab_no,String prod_line) throws Exception{ try{ JSONObject jsobj1 = new JSONObject(); if(SqlJoint.IsNullOrSpace(begintime) || SqlJoint.IsNullOrSpace(endtime)){ begintime = ""; endtime = ""; } if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } if(SqlJoint.IsNullOrSpace(slab_no)){ slab_no= ""; } if(SqlJoint.IsNullOrSpace(prod_line)){ prod_line= ""; } if(begintime.equals("") && endtime.equals("") && slab_no.equals("")&&prod_line.equals("")){ throw new Exception("请输入查询条件!"); } jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME", endtime); jsobj1.put("SLAB_NO", slab_no); jsobj1.put("PROD_LINE", prod_line); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "GetStorageInfo", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("HEATNO", ja.getJSONObject(i).getString("HEATNO")); lists.put("BILLETNO", ja.getJSONObject(i).getString("BILLETNO")); lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL")); lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT")); lists.put("THICK", ja.getJSONObject(i).getString("THICK")); lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH")); lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH")); lists.put("SLAB_DETAIL", ja.getJSONObject(i).getString("SLAB_DETAIL")); lists.put("ISFX", ja.getJSONObject(i).getString("ISFX")); lists.put("PROD_WTH", ja.getJSONObject(i).getString("PROD_WTH")); lists.put("PROD_THK", ja.getJSONObject(i).getString("PROD_THK")); lists.put("ORDERNO", ja.getJSONObject(i).getString("ORDERNO")); lists.put("STEELCODE", ja.getJSONObject(i).getString("STEELCODE")); lists.put("PROD_NAME", ja.getJSONObject(i).getString("PROD_NAME")); lists.put("PROD_CODE", ja.getJSONObject(i).getString("PROD_CODE")); lists.put("TOTALJUDGETIME", ja.getJSONObject(i).getString("TOTALJUDGETIME")); lists.put("FACEJUDGETIME", ja.getJSONObject(i).getString("FACEJUDGETIME")); lists.put("PRODNAME", ja.getJSONObject(i).getString("PRODNAME")); lists.put("USEDSTAND", ja.getJSONObject(i).getString("USEDSTAND")); lists.put("STATUS", ja.getJSONObject(i).getString("STATUS")); lists.put("THEORYWEIGHT", ja.getJSONObject(i).getString("THEORYWEIGHT")); lists.put("CUTSTARTTIME", ja.getJSONObject(i).getString("CUTSTARTTIME")); lists.put("COMPREHENSIVERESULT", ja.getJSONObject(i).getString("COMPREHENSIVERESULT")); lists.put("CHEMRESULT_FX", ja.getJSONObject(i).getString("CHEMRESULT_FX")); lists.put("FACERESULT", ja.getJSONObject(i).getString("FACERESULT")); lists.put("CHEMJUDGEID", ja.getJSONObject(i).getString("CHEMJUDGEID")); lists.put("FACECHECKID", ja.getJSONObject(i).getString("FACECHECKID")); lists.put("COMPREHENSIVEID", ja.getJSONObject(i).getString("COMPREHENSIVEID")); lists.put("JUDGETIME", ja.getJSONObject(i).getString("JUDGETIME")); listqjb.add(lists); } cro.setResult(listqjb); } }catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取炼钢存库信息错误" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询成分炼钢待判信息 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgRejudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) { try { JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); if(!heatno.equals("")){ begintime = ""; endtime = ""; } if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME", endtime); jsobj1.put("HEAT_NO", heatno == null ? "" : heatno); jsobj1.put("PROD_LINE", prodline); jsobj1.put("PROD_TYPE", prod_type); jsobj1.put("JUDGE_TYPE", judge_type); jsobj1.put("ISJUDGE", "0"); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO")); lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO")); lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE")); lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME")); lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS")); lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT")); lists.put("THICK", ja.getJSONObject(i).getString("THICK")); lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH")); lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH")); lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME")); lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO")); lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK")); lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH")); lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL")); lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO")); String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO")); lists.put("MEMO", mome); lists.put("OLD_DESIGN_KEY", ja.getJSONObject(i).getString("ORG_ORDERNO")); listqjb.add(lists); } cro.setResult(listqjb); } } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询成分炼钢待判信息 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgZRejudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) { try { JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); if(!heatno.equals("")){ begintime = ""; endtime = ""; } if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME", endtime); jsobj1.put("HEAT_NO", heatno == null ? "" : heatno); jsobj1.put("PROD_LINE", prodline); jsobj1.put("PROD_TYPE", prod_type); jsobj1.put("JUDGE_TYPE", judge_type); jsobj1.put("ISJUDGE", "0"); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO")); lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO")); lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE")); lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME")); lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS")); lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT")); lists.put("THICK", ja.getJSONObject(i).getString("THICK")); lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH")); lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH")); lists.put("REMARK", ja.getJSONObject(i).get("SLAB_DETAIL")); lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME")); lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO")); lists.put("SURFACEID", ja.getJSONObject(i).getString("FACECHECKID")); lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK")); lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH")); lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL")); lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO")); lists.put("SURFACERESULT_DESC", ja.getJSONObject(i).getString("FACERESULT").equals("1") ? "合格" : (ja.getJSONObject(i).getString("FACERESULT").equals("2") ? "不合格" : (ja.getJSONObject(i).getString("FACERESULT").equals("3") ? "判次" : (ja.getJSONObject(i).getString("FACERESULT").equals("4") ? "判废" : (ja.getJSONObject(i).getString("FACERESULT").equals("9") ? "订单外合格" : ""))))); lists.put("R_CHEMID", ja.getJSONObject(i).getString("CHEMJUDGEID")); lists.put("R_CHEMRESULT_DESC", ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("1") ? "合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("2") ? "不合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("3") ? "判次" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("4") ? "判废" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("9") ? "订单外合格" : ""))))); //String sql = "select memo from qcm_ord_design_memo a where a.design_key = "+ja.getJSONObject(i).getString("ORDERNO"); lists.put("WAITJUDGE", ja.getJSONObject(i).getString("WAITJUDGE")); String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO")); lists.put("MEMO", mome); listqjb.add(lists); } cro.setResult(listqjb); } } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询成分炼钢待判信息 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgSRejudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) { try { JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); if(!heatno.equals("")){ begintime = ""; endtime = ""; } if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME", endtime); jsobj1.put("HEAT_NO", heatno == null ? "" : heatno); jsobj1.put("PROD_LINE", prodline); jsobj1.put("PROD_TYPE", prod_type); jsobj1.put("JUDGE_TYPE", judge_type); jsobj1.put("ISJUDGE", "0"); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO")); lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO")); lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE")); lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME")); lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS")); lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT")); lists.put("THICK", ja.getJSONObject(i).getString("THICK")); lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH")); lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH")); lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME")); lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO")); lists.put("SURFACE_ID", ja.getJSONObject(i).getString("FACECHECKID")); lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK")); lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH")); lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL")); lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO")); String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO")); lists.put("MEMO", mome); listqjb.add(lists); } cro.setResult(listqjb); } } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询炼钢待判信息 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgRejudgeInfobyMaterial_no(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) { try { JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME", endtime); jsobj1.put("HEAT_NO", heatno == null ? "" : heatno); jsobj1.put("PROD_LINE", prodline); jsobj1.put("PROD_TYPE", prod_type); jsobj1.put("JUDGE_TYPE", judge_type); jsobj1.put("ISJUDGE", "0"); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO")); lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO")); lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE")); lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME")); lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS")); lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT")); lists.put("THICK", ja.getJSONObject(i).getString("THICK")); lists.put("REMARK", ja.getJSONObject(i).get("SLAB_DETAIL")); lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH")); lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH")); lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME")); lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO")); lists.put("PLINE_CODE", ja.getJSONObject(i).getString("PROD_CODE")); lists.put("PLINE_NAME", ja.getJSONObject(i).getString("PROD_NAME")); lists.put("STD_NAME", ja.getJSONObject(i).getString("USEDSTAND")); lists.put("CHEMRESULT_LK", ja.getJSONObject(i).getString("CHEMRESULT_FX")); lists.put("FACERESULT", ja.getJSONObject(i).getString("FACERESULT")); lists.put("CHEMJUDGEID", ja.getJSONObject(i).getString("CHEMJUDGEID")); lists.put("FACECHECKID", ja.getJSONObject(i).getString("FACECHECKID")); lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK")); lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH")); lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL")); lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO")); listqjb.add(lists); } cro.setResult(listqjb); } } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 查询炼钢是否特殊放行 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgFx(String material_no) { try { JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("HEAT_NO", material_no); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "GetBilletInfoBySingleSlabNo", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("获取是否放行失败!"); } JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("chemresult_fx", ja.getJSONObject(i).getString("CHEMRESULT_FX")); listqjb.add(lists); } cro.setResult(listqjb); }else{ cro.setResult(null); } } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 查询炼钢成分判定信息 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgjudgeInfobyMaterial_no1(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) { try { JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME", endtime); jsobj1.put("HEAT_NO", heatno == null ? "" : heatno); jsobj1.put("PROD_LINE", prodline); jsobj1.put("PROD_TYPE", prod_type); jsobj1.put("JUDGE_TYPE", judge_type); jsobj1.put("ISJUDGE", "1"); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url, "GetBilletInfoByBilletNo", JSON.toJSONString(jsobj1)); if (result.contains("DATA")) { JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); lists.put("heat_no", ja.getJSONObject(i).getString("HEATNO")); lists.put("material_no", ja.getJSONObject(i).getString("BILLETNO")); lists.put("grade_name", ja.getJSONObject(i).getString("STEELCODE")); lists.put("prod_name", ja.getJSONObject(i).getString("PRODNAME")); lists.put("delivery_state_desc", ja.getJSONObject(i).getString("STATUS")); //lists.put("weight", ja.getJSONObject(i).getString("WEIGHT")); lists.put("thick", ja.getJSONObject(i).getString("THICK")); lists.put("length", ja.getJSONObject(i).getString("LENGTH")); lists.put("width", ja.getJSONObject(i).getString("WIDTH")); lists.put("judge_ttime", ja.getJSONObject(i).getString("CUTSTARTTIME")); lists.put("design_key", ja.getJSONObject(i).getString("ORDERNO")); lists.put("pline_code", ja.getJSONObject(i).getString("PROD_CODE")); lists.put("pline_name", ja.getJSONObject(i).getString("PROD_NAME")); lists.put("std_name", ja.getJSONObject(i).getString("USEDSTAND")); lists.put("weight", ja.getJSONObject(i).getString("WEIGHT")); lists.put("cic_id", ja.getJSONObject(i).getString("CHEMJUDGEID")); lists.put("prod_thick", ja.getJSONObject(i).getString("PROD_THK")); lists.put("prod_width", ja.getJSONObject(i).getString("PROD_WTH")); lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL")); lists.put("COMPREHENSIVEID", ja.getJSONObject(i).getString("COMPREHENSIVEID")); lists.put("FACECHECKID", ja.getJSONObject(i).getString("FACECHECKID")); lists.put("CHEMJUDGEID", ja.getJSONObject(i).getString("CHEMJUDGEID")); lists.put("THEORYWEIGHT", ja.getJSONObject(i).getString("THEORYWEIGHT")); lists.put("cic_result_desc", ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("1") ? "合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("2") ? "不合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("3") ? "判次" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("4") ? "判废" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("9") ? "订单外合格" : ""))))); lists.put("REMARK_ID", ja.getJSONObject(i).getString("REMARK_ID")); lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO")); /*List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '"+ja.getJSONObject(i).getString("CHEMJUDGEID")+"'"); if(qjc.size() >0){ lists.put("judge_name", qjc.get(0).getJudge_name()); }else{ cro.setResult(listqjb); return cro; }*/ lists.put("isfx", ja.getJSONObject(i).getString("ISFX")); lists.put("FXID", ja.getJSONObject(i).getString("FXID")); lists.put("WAITJUDGE", ja.getJSONObject(i).getString("WAITJUDGE")); String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO")); lists.put("MEMO", mome); listqjb.add(lists); } cro.setResult(listqjb); } } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 查询炼钢成分判定信息 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgjudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type,String isvalid) { try { if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String sql = "select heat_no,material_no,grade_name,prod_name,design_key,delivery_state_desc, " + " thick,length,width,judge_ttime,pline_code,pline_name,std_name, " + " cic_id,cic_result_desc,CIC_MEMO,judge_name,(select memo from qcm_ord_design_memo b where b.design_key = a.design_key) memo from qcm_judge_chemical a "; String swhere = " where 1=1"; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) { //时间 swhere += " and to_date(to_char(a.judge_ttime,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(heatno)) { //炉号 swhere += " and (a.heat_no like '" + heatno + "%' or a.material_no like '" + heatno + "%')"; } if (!SqlJoint.IsNullOrSpace(prodline)) { //板坯号 swhere += " and a.pline_code = '" + prodline + "'"; } if (!SqlJoint.IsNullOrSpace(prod_type)) { //销售订单号 swhere += " and a.prod_name like '%" + prod_type + "%'"; } swhere += " order by judge_ttime desc"; List qjc = mapper.query(sql + swhere); String material_no = ""; StringBuffer sqlucomm = new StringBuffer(); int j=0; for(HashMap list1 : qjc){ if(j>=900){ if(j% 900 == 0){ sqlucomm.append( ") or HEATNO in ('" + list1.get("MATERIAL_NO").toString()+"'") ; } } else { if(sqlucomm.length()== 0){ sqlucomm.append( "('" + list1.get("MATERIAL_NO").toString()+"'"); }else{ sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'"); } } j++; } if (sqlucomm.length()== 0) sqlucomm.append( "('')"); else sqlucomm.append( ")"); QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = (List) getLgjudgeInfobyMaterial_no1("", "", sqlucomm.toString(), prodline, prod_type, "").getResult(); for (HashMap list1 : qjc) { int x= 0; if (hashmap.size() != 0) { for (HashMap hs : hashmap) { if (list1.get("MATERIAL_NO").toString().equals(hs.get("material_no").toString())) { list1.put("PROD_THICK", hs.get("prod_thick") == null ? "" : hs.get("prod_thick").toString()); list1.put("PROD_WIDTH", hs.get("prod_width") == null ? "" : hs.get("prod_width").toString()); list1.put("DELIVERY_STATE_DESC", hs.get("delivery_state_desc") == null ? "" : hs.get("delivery_state_desc").toString()); list1.put("PLANSTEEL", hs.get("PLANSTEEL")==null?"":hs.get("PLANSTEEL").toString()); list1.put("SC_MEMO", hs.get("SC_MEMO")==null?"":hs.get("SC_MEMO").toString()); x++; } } } if(x==0){ list1.put("PROD_THICK", ""); list1.put("PROD_WIDTH", ""); list1.put("DELIVERY_STATE_DESC", ""); list1.put("PLANSTEEL", ""); list1.put("SC_MEMO", ""); } } List z = new ArrayList(); if(isvalid.equals("1")){ for (HashMap hs : hashmap) { z.add(hs.get("CHEMJUDGEID").toString()); } for(int s = 0;s listqjb = new ArrayList(); for (int i = 0; i < ja.size(); i++) { HashMap lists = new HashMap(); //炉号 lists.put("HEAT_NO", ja.getJSONObject(i).getString("CHARGE_NO")); //牌号 lists.put("STEEL_NAME", ja.getJSONObject(i).getString("STL_GRD")); //计划牌号 lists.put("PLAN_STEEL", ja.getJSONObject(i).getString("BEF_STL_GRD")); //工序代码 lists.put("CHEM_L2_PROC_CD", ja.getJSONObject(i).getString("CHEM_L2_PROC_CD")); //连铸机号 lists.put("ACT_CCM_RT", ja.getJSONObject(i).getString("ACT_CCM_RT")); //产品类型 lists.put("PLATE_TYPE", ja.getJSONObject(i).getString("PLATE_TYPE")); listqjb.add(lists); } cro.setResult(listqjb); } } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取炉次顺序信息错误" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 查询炼钢成分判定信息 */ @SuppressWarnings({"unused", "unchecked"}) public CoreReturnObject getLgZjudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type,String isvalid) { try { String swhere = ""; //String sqls = "select judgeid from zj_result_all@xgcx WHERE 1=1 and (BILLETID LIKE 'Z%' OR BILLETID LIKE 'Z%')"; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) { //生产时间 swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(heatno)) { //起始轧批号 swhere += " and (heat_no like '" + heatno + "%' or material_no like '" + heatno + "%')"; } if (!SqlJoint.IsNullOrSpace(prodline)) { //最后轧批号 swhere += "and pline_code = '" + prodline + "'"; } if (!SqlJoint.IsNullOrSpace(prod_type)) { //销售订单号 swhere += " and prod_name like '%" + prod_type + "%'"; } //swhere += "and UTM_ID in ("+sqls+")"; swhere += " order by MATERIAL_NO,JUDGE_TIME asc"; String sql = "select heat_no,UTM_ID,UTM_RESULT_DESC,sfu_result_desc,r_cic_result_desc,MATERIAL_NO,DESIGN_KEY,JUDGE_NAME,UTM_MEMO,JUDGE_TIME, " + "steel_name,FIX_REMARKS,CHECK_REMARKS,prod_name,std_name,pline_code,r_cic_id,sfu_id from QCM_JUDGE_ULTIMATE where 1=1 " + swhere + ""; List list = mapper.query(sql); String material_no = ""; StringBuffer sqlucomm = new StringBuffer(); int j=0; for(HashMap list1 : list){ if(j>=900){ if(j% 900 == 0){ sqlucomm.append( ") or HEATNO in ('" + list1.get("MATERIAL_NO").toString()+"'") ; }else{ sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'"); } } else { if(sqlucomm.length()== 0){ sqlucomm.append( "('" + list1.get("MATERIAL_NO").toString()+"'"); }else{ sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'"); } } j++; } if (sqlucomm.length()== 0) sqlucomm.append( "('')"); else sqlucomm.append( ")"); QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = (List) getLgjudgeInfobyMaterial_no1("", "", sqlucomm.toString(), prodline, prod_type, judge_type).getResult(); for (HashMap list1 : list) { if (hashmap.size() != 0) { int x = 0; for (HashMap hs : hashmap) { if (list1.get("MATERIAL_NO").toString().equals(hs.get("material_no").toString())) { list1.put("PROD_THICK", hs.get("prod_thick") == null ? "" : hs.get("prod_thick").toString()); list1.put("PROD_WIDTH", hs.get("prod_width") == null ? "" : hs.get("prod_width").toString()); list1.put("DELIVERY_STATE_DESC", hs.get("delivery_state_desc") == null ? "" : hs.get("delivery_state_desc").toString()); list1.put("THICK", hs.get("thick") == null ? "" : hs.get("thick").toString()); list1.put("LENGTH", hs.get("length") == null ? "" : hs.get("length").toString()); list1.put("WIDTH", hs.get("width") == null ? "" : hs.get("width").toString()); list1.put("WEIGHT", hs.get("weight") == null ? "" : hs.get("weight").toString()); list1.put("ISFX", hs.get("isfx") == null ? "" : hs.get("isfx").toString()); list1.put("PLANSTEEL", hs.get("PLANSTEEL")==null?"":hs.get("PLANSTEEL").toString()); list1.put("THEORYWEIGHT", hs.get("THEORYWEIGHT")==null?"":hs.get("THEORYWEIGHT").toString()); list1.put("MEMO", hs.get("MEMO")==null?"":hs.get("MEMO").toString()); list1.put("REMARK_ID", hs.get("REMARK_ID")==null?"":hs.get("REMARK_ID").toString()); list1.put("FXID", hs.get("FXID")==null?"":hs.get("FXID").toString()); list1.put("SC_MEMO", hs.get("SC_MEMO")==null?"":hs.get("SC_MEMO").toString()); list1.put("WAITJUDGE", hs.get("WAITJUDGE")==null?"":hs.get("WAITJUDGE").toString()); x++; } } if(x==0){ list1.put("PROD_THICK",""); list1.put("PROD_WIDTH", ""); list1.put("DELIVERY_STATE_DESC", ""); list1.put("THICK", ""); list1.put("LENGTH",""); list1.put("WIDTH", ""); list1.put("WEIGHT",""); list1.put("ISFX", ""); list1.put("PLANSTEEL", ""); list1.put("THEORYWEIGHT", ""); list1.put("MEMO", ""); list1.put("REMARK_ID", ""); list1.put("FXID", ""); list1.put("SC_MEMO", ""); list1.put("WAITJUDGE", ""); } } } List z = new ArrayList(); if(isvalid.equals("1")){ for (HashMap hs : hashmap) { z.add(hs.get("COMPREHENSIVEID").toString()); } for(int s = 0;s listqjb = new ArrayList(); for(int i = 0;i list = mapper.query(sql + swhere); String material_no = ""; StringBuffer sqlucomm = new StringBuffer(); int j=0; for(HashMap list1 : list){ if(j>=900){ if(j% 900 == 0){ sqlucomm.append( ") or HEATNO in ('" + list1.get("MATERIAL_NO").toString()+"'") ; } } else { if(sqlucomm.length()== 0){ sqlucomm.append( "('" + list1.get("MATERIAL_NO").toString()+"'"); }else{ sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'"); } } j++; } if (sqlucomm.length()== 0) sqlucomm.append( "('')"); else sqlucomm.append( ")"); QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = (List) getLgjudgeInfobyMaterial_no1("", "", sqlucomm.toString(), prodline, prod_type, "").getResult(); for (HashMap list1 : list) { if (hashmap.size() != 0) { int x = 0; for (HashMap hs : hashmap) { if (list1.get("MATERIAL_NO").toString().equals(hs.get("material_no").toString())) { list1.put("PROD_THICK", hs.get("prod_thick") == null ? "" : hs.get("prod_thick").toString()); list1.put("PROD_WIDTH", hs.get("prod_width") == null ? "" : hs.get("prod_width").toString()); list1.put("DELIVERY_STATE_DESC", hs.get("delivery_state_desc") == null ? "" : hs.get("delivery_state_desc").toString()); list1.put("THICK", hs.get("thick") == null ? "" : hs.get("thick").toString()); list1.put("LENGTH", hs.get("length") == null ? "" : hs.get("length").toString()); list1.put("WIDTH", hs.get("width") == null ? "" : hs.get("width").toString()); list1.put("WEIGHT", hs.get("weight") == null ? "" : hs.get("weight").toString()); list1.put("STD_NAME", hs.get("std_name") == null ? "" : hs.get("std_name").toString()); list1.put("PLANSTEEL", hs.get("PLANSTEEL")==null?"":hs.get("PLANSTEEL").toString()); list1.put("STEEL_NAME", hs.get("grade_name")==null?"":hs.get("grade_name").toString()); list1.put("THEORYWEIGHT", hs.get("THEORYWEIGHT")==null?"":hs.get("THEORYWEIGHT").toString()); list1.put("MEMO", hs.get("MEMO")==null?"":hs.get("MEMO").toString()); list1.put("SC_MEMO", hs.get("SC_MEMO")==null?"":hs.get("SC_MEMO").toString()); x++; } } if(x==0){ //if(isvalid.) list1.put("PROD_THICK", ""); list1.put("PROD_WIDTH", ""); list1.put("DELIVERY_STATE_DESC", ""); list1.put("THICK", ""); list1.put("LENGTH", ""); list1.put("WIDTH", ""); list1.put("WEIGHT", ""); list1.put("STD_NAME", ""); list1.put("PLANSTEEL", ""); list1.put("STEEL_NAME", ""); list1.put("THEORYWEIGHT", ""); list1.put("MEMO", ""); list1.put("SC_MEMO", ""); } } } List z = new ArrayList(); if(isvalid.equals("1")){ for (HashMap hs : hashmap) { z.add(hs.get("FACECHECKID").toString()); } for(int s = 0;s listqjb = new ArrayList(); for(int i = 0;i qjc = mapper.queryQcmJudgeSurfaces("select * from QCM_JUDGE_SURFACE where SURFACE_ID = '"+ja.getJSONObject(i).getString("FACECHECKID")+"'"); List qjf = mapper.queryQcmJudgeSurfaceFlaw("select * from qcm_judge_surface_flaw where surface_id = '"+ja.getJSONObject(i).getString("FACECHECKID")+"' and PRIMARY_FLAG = '1'"); if(qjf.size() > 0){ lists.put("FLAW_DESC", qjf.get(0).getFlaw_desc()); }else{ lists.put("FLAW_DESC", ""); } if(qjc.size() >0){ lists.put("JUDGE_NAME", qjc.get(0).getJudge_name()); lists.put("LEVEL_DESC", qjc.get(0).getLevel_desc()); lists.put("SF_MEMO", qjc.get(0).getSf_memo()); }else{ lists.put("JUDGE_NAME", ""); lists.put("LEVEL_DESC", ""); lists.put("SF_MEMO", ""); } listqjb.add(lists); } cro.setResult(listqjb); } }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取成分待判信息错误"+ex.getMessage()); SqlSession.rollback(); }*/ SqlSession.close(); return cro; } public static String callWebserviceASMX(String url, String method, String json) throws Exception { System.out.println("Start invoking...."); String str = ""; try { String endPoint = url; String soapaction = "http://dao.hnshituo.com/"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endPoint)); call.setOperation(method); call.setUseSOAPAction(true); call.setSOAPActionURI(soapaction + method); call.setOperationName(new QName(soapaction, method)); call.addParameter("arg0", org.apache.axis.encoding.XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); str = (String) call.invoke(new Object[]{json}); System.out.println(str); } catch (Exception e) { throw new Exception(e.getMessage()); } return str; } /** * 创建成分判定记录 * * @param listEle 成分检验信息 * @param sampleOrd 判定数据源 * @param pass 是否合格 * @return */ public QcmJudgeChemical CreateJudgeRecord(List listEle, QcmJhySampleROrd sampleOrd, boolean pass, String username) throws Exception { try { String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号 for (QcmJhyInspElements qcmJhyElements : listEle) { if (qcmJhyElements.getAssay_type().equals("L")) { if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) { semiAssaynos += "," + qcmJhyElements.getAssay_no(); } } else { if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) { proAssaynos += "," + qcmJhyElements.getAssay_no(); } } } List qjsd = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_M where smp_no = '" + sampleOrd.getSmp_no() + "'"); QcmJudgeChemical judge = new QcmJudgeChemical(); int count = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String date = sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist = mapper.QueryQcmJudgeChemicals("C" + date); if (qrlist != null && qrlist.size() > 0) { String s = qrlist.get(0).getCic_id(); count = Integer.parseInt(s.substring(s.length() - 4, s.length())); } count++; String cic_id = "C" + sdf.format(new Date()) + String.format("%04d", count); String memo = ""; if (username.equals("system")) { memo = "系统自动判定"; } else { memo = "人工判定"; } judge.setCic_id(cic_id); judge.setAssay_no_cp(proAssaynos.replaceFirst(",", "")); judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", "")); judge.setBatch_no(sampleOrd.getBatch_no()); judge.setHeat_no(sampleOrd.getHeat_no()); judge.setCic_memo(memo); judge.setCic_result_code(pass ? "1" : "2"); judge.setCic_result_desc(pass ? "合格" : "不合格"); judge.setDesign_key(sampleOrd.getDesign_key()); judge.setHeat_no(sampleOrd.getHeat_no()); judge.setInspection_lot(sampleOrd.getInspection_lot()); judge.setMaterial_no(sampleOrd.getMaterial_no()); judge.setDelivery_state_code(sampleOrd.getDelivery_state_code()); judge.setDelivery_state_desc(sampleOrd.getDelivery_state_desc()); judge.setThick(sampleOrd.getThick()); judge.setWidth(sampleOrd.getWidth()); judge.setLength(sampleOrd.getLength()); judge.setJudge_name(username); judge.setJudge_ttime(new Date()); judge.setGrade_code(qjsd.get(0).get("GRADE_CODE").toString()); judge.setGrade_name(qjsd.get(0).get("GRADE_NAME").toString()); judge.setPline_code(listEle.get(0).getPline_code()); judge.setPline_name(listEle.get(0).getPline_name()); judge.setPsc(sampleOrd.getPsc()); judge.setPsc_desc(sampleOrd.getPsc_desc()); judge.setSteel_code(sampleOrd.getSteel_code()); judge.setSteel_name(sampleOrd.getStd_name()); judge.setSmp_no(sampleOrd.getSmp_no()); judge.setStd_code(sampleOrd.getStd_code()); judge.setStd_name(sampleOrd.getStd_name()); return judge; } catch (Exception ex) { throw new Exception(ex.getMessage()); } } /** * 获取成分判定标准(交付/客户/内控) * * @param designKey * @param psc 产品码 * @param plineCode 产线编号 * @param mscPline 制程号 * @return */ public CoreReturnObject GetOrdJudgeStdCic(String designKey) { try { /*String sql = "select * from qcm_ord_design_std where design_key = '"+designKey+"' and psc = '"+psc+"'"; List _designStd=mapper.queryQCMOrdDesignStd(sql); if(SqlJoint.IsNullOrSpace(_designStd.get(0).getCic())){ cro.setV_errCode(-1); cro.setV_errMsg("成分索引号不能为空"); return cro; }*/ OrdJudgeStd stdCic = new OrdJudgeStd(); //交付标准. String condition = ""; String sql = "select * from QCM_ORD_DESIGN_STD_CIC where 1=1"; condition = " and SPECL_FL = '0'" + " and STD_TYPE_CODE = 'C' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'"; List listStdGB = mapper.queryQCMOrdDesignStdCic(sql + condition); stdCic.setListStdGB(listStdGB); //客户标准 condition = " and SPECL_FL = '1'" + " and STD_TYPE_CODE = 'C' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'"; List listStdKH = mapper.queryQCMOrdDesignStdCic(sql + condition); stdCic.setListStdKH(listStdKH); //内控标准 condition = "and SPECL_FL = '2'" + " and STD_TYPE_CODE = 'C' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'"; List listStdNK = mapper.queryQCMOrdDesignStdCic(sql + condition); stdCic.setListStdNK(listStdNK); cro.setResult(stdCic); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取数据出错" + ex.getMessage()); } return cro; } /** * 获取熔炼成分判定标准(交付/客户/内控) * * @param designKey * @param psc 产品码 * @param plineCode 产线编号 * @param mscPline 制程号 * @return */ public CoreReturnObject GetOrdJudgeStdCicLgR(String designKey, String grade_name, String prodline) { try { /*String sql = "select * from qcm_ord_design_std where design_key = '"+designKey+"' and psc = '"+psc+"'"; List _designStd=mapper.queryQCMOrdDesignStd(sql); if(SqlJoint.IsNullOrSpace(_designStd.get(0).getCic())){ cro.setV_errCode(-1); cro.setV_errMsg("成分索引号不能为空"); return cro; }*/ String pl = ""; if (prodline.equals("4001LG0")) { pl = "LG1"; } else { pl = "LG2"; } OrdJudgeStd stdCic = new OrdJudgeStd(); //交付标准. String condition = ""; String sql = "select * from QCM_ORD_DESIGN_STD_CIC where 1=1"; condition = " and SPECL_FL = '0'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " and pline_code = '" + pl + "'"; List listStdGB = mapper.queryQCMOrdDesignStdCic(sql + condition); stdCic.setListStdGB(listStdGB); //客户标准 condition = " and SPECL_FL = '1'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " and pline_code = '" + pl + "'"; List listStdKH = mapper.queryQCMOrdDesignStdCic(sql + condition); stdCic.setListStdKH(listStdKH); //内控标准 /*List listStdNK = new ArrayList(); sql = "select * from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '"+grade_name+"'"; List list = mapper.query(sql); if(list.size() > 0){ for(HashMap list1:list){ QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic(); cic.setChem_code(list1.get("ELEMENT")==null?"":list1.get("ELEMENT").toString()); cic.setChem_name(list1.get("ELEMENT")==null?"":list1.get("ELEMENT").toString()); cic.setStdmax(list1.get("MAX_VALUE")==null?null:list1.get("MAX_VALUE").toString()); cic.setStdmax_sign(list1.get("STDMAX_SIGN")==null?null:list1.get("STDMAX_SIGN").toString()); cic.setStdmin(list1.get("MIN_VALUE")==null?null:list1.get("MIN_VALUE").toString()); cic.setStdmin_sign(list1.get("STDMIN_SIGN")==null?null:list1.get("STDMIN_SIGN").toString()); cic.setIscheck(list1.get("ISCHECK")==null?"":list1.get("ISCHECK").toString()); cic.setIsjudge(list1.get("ISJUDGE")==null?"":list1.get("ISJUDGE").toString()); cic.setChem_formula(list1.get("CHEM_FORMULA")==null?"":list1.get("CHEM_FORMULA").toString()); cic.setChem_type(list1.get("CHEM_TYPE")==null?"":list1.get("CHEM_TYPE").toString()); listStdNK.add(cic); } } stdCic.setListStdNK(listStdNK);*/ condition = " and SPECL_FL = '2'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " ";//and pline_code = '"+pl+"' List listStdNK = mapper.queryQCMOrdDesignStdCic(sql + condition); if (listStdNK.size() == 0 || grade_name.startsWith("LQ")) { listStdNK = new ArrayList(); String sqls = "select * from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "'"; List list = mapper.query(sqls); if (list.size() > 0) { for (HashMap list1 : list) { QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic(); cic.setChem_code(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString()); cic.setChem_name(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString()); cic.setStdmax(list1.get("MAX_VALUE") == null ? null : list1.get("MAX_VALUE").toString()); cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString()); cic.setStdmin(list1.get("MIN_VALUE") == null ? null : list1.get("MIN_VALUE").toString()); cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString()); cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString()); cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString()); cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString()); cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString()); listStdNK.add(cic); } } } stdCic.setListStdNK(listStdNK); //炼钢放行 condition = " and SPECL_FL = '3'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " ";//and pline_code = '"+pl+"' List listStdLG = mapper.queryQCMOrdDesignStdCic(sql + condition); if (listStdLG.size() == 0 || grade_name.startsWith("LQ")) { listStdLG = new ArrayList(); String sqls = "select * from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' and VALIDFLAG = '1'"; List list = mapper.query(sqls); if (list.size() > 0) { for (HashMap list1 : list) { QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic(); cic.setChem_code(list1.get("CHEM_CODE") == null ? "" : list1.get("CHEM_CODE").toString()); cic.setChem_name(list1.get("CHEM_NAME") == null ? "" : list1.get("CHEM_NAME").toString()); cic.setStdmax(list1.get("STDMAX") == null ? null : list1.get("STDMAX").toString()); cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString()); cic.setStdmin(list1.get("STDMIN") == null ? null : list1.get("STDMIN").toString()); cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString()); cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString()); cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString()); cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString()); cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString()); listStdLG.add(cic); } } } stdCic.setListStdLG(listStdLG); /*List listStdLG = new ArrayList(); sql = "select * from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '"+grade_name+"' and VALIDFLAG = '1'"; list = mapper.query(sql); if(list.size() > 0){ for(HashMap list1:list){ QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic(); cic.setChem_code(list1.get("CHEM_CODE")==null?"":list1.get("CHEM_CODE").toString()); cic.setChem_name(list1.get("CHEM_NAME")==null?"":list1.get("CHEM_NAME").toString()); cic.setStdmax(list1.get("STDMAX")==null?null:list1.get("STDMAX").toString()); cic.setStdmax_sign(list1.get("STDMAX_SIGN")==null?null:list1.get("STDMAX_SIGN").toString()); cic.setStdmin(list1.get("STDMIN")==null?null:list1.get("STDMIN").toString()); cic.setStdmin_sign(list1.get("STDMIN_SIGN")==null?null:list1.get("STDMIN_SIGN").toString()); cic.setIscheck(list1.get("ISCHECK")==null?"":list1.get("ISCHECK").toString()); cic.setIsjudge(list1.get("ISJUDGE")==null?"":list1.get("ISJUDGE").toString()); cic.setChem_formula(list1.get("CHEM_FORMULA")==null?"":list1.get("CHEM_FORMULA").toString()); cic.setChem_type(list1.get("CHEM_TYPE")==null?"":list1.get("CHEM_TYPE").toString()); listStdLG.add(cic); } } stdCic.setListStdLG(listStdLG);*/ //炼钢牌号 cro.setResult(stdCic); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取数据出错" + ex.getMessage()); } return cro; } /** * 获取熔炼成分判定标准(交付/客户/内控) * * @param designKey * @param psc 产品码 * @param plineCode 产线编号 * @param mscPline 制程号 * @return */ public CoreReturnObject GetOrdJudgeStdCicR(String designKey, String grade_name) { try { /*String sql = "select * from qcm_ord_design_std where design_key = '"+designKey+"' and psc = '"+psc+"'"; List _designStd=mapper.queryQCMOrdDesignStd(sql); if(SqlJoint.IsNullOrSpace(_designStd.get(0).getCic())){ cro.setV_errCode(-1); cro.setV_errMsg("成分索引号不能为空"); return cro; }*/ OrdJudgeStd stdCic = new OrdJudgeStd(); //交付标准. String condition = ""; String sql = "select * from QCM_ORD_DESIGN_STD_CIC where 1=1"; condition = " and SPECL_FL = '0'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'" + "and chem_code not in (select chem_code from QCM_ORD_DESIGN_STD_CIC a where a.design_key = '"+SqlJoint.TrimSqlDangerMark(designKey)+"' and SPECL_FL = '1' and STD_TYPE_CODE = 'A') "; List listStdGB = mapper.queryQCMOrdDesignStdCic(sql + condition); stdCic.setListStdGB(listStdGB); //客户标准 condition = " and SPECL_FL = '1'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'"; List listStdKH = mapper.queryQCMOrdDesignStdCic(sql + condition); stdCic.setListStdKH(listStdKH); //内控标准 condition = " and SPECL_FL = '2'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + designKey + "' "; List listStdNK = mapper.queryQCMOrdDesignStdCic(sql + condition); if (listStdNK.size() == 0) { listStdNK = new ArrayList(); String sqls = "select * from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "'"; List list = mapper.query(sqls); if (list.size() > 0) { for (HashMap list1 : list) { QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic(); cic.setChem_code(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString()); cic.setChem_name(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString()); cic.setStdmax(list1.get("MAX_VALUE") == null ? null : list1.get("MAX_VALUE").toString()); cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString()); cic.setStdmin(list1.get("MIN_VALUE") == null ? null : list1.get("MIN_VALUE").toString()); cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString()); cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString()); cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString()); cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString()); cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString()); listStdNK.add(cic); } } } stdCic.setListStdNK(listStdNK); //炼钢放行 condition = " and SPECL_FL = '3'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + designKey + "' "; List listStdLG = mapper.queryQCMOrdDesignStdCic(sql + condition); if (listStdLG.size() == 0) { listStdLG = new ArrayList(); String sqls = "select * from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' and VALIDFLAG = '1'"; List list = mapper.query(sqls); if (list.size() > 0) { for (HashMap list1 : list) { QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic(); cic.setChem_code(list1.get("CHEM_CODE") == null ? "" : list1.get("CHEM_CODE").toString()); cic.setChem_name(list1.get("CHEM_NAME") == null ? "" : list1.get("CHEM_NAME").toString()); cic.setStdmax(list1.get("STDMAX") == null ? null : list1.get("STDMAX").toString()); cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString()); cic.setStdmin(list1.get("STDMIN") == null ? null : list1.get("STDMIN").toString()); cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString()); cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString()); cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString()); cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString()); cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString()); listStdLG.add(cic); } } } stdCic.setListStdLG(listStdLG); //炼钢牌号 cro.setResult(stdCic); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取数据出错" + ex.getMessage()); } return cro; } /** * 成分自动判定 */ @SuppressWarnings("unchecked") public CoreReturnObject JudgeByHuman(String smp_no, String username) throws Exception { boolean pass = true; String insepction_lot = ""; try { //获取未判定的数据 String condition = " and Judge_status='0' and d.smp_no = '" + smp_no + "'"; QcmJhySampleROrd qjsr=new QcmJhySampleROrd(); String memo = ""; List listOrd = mapper.GetSampleChemInfo(condition); if (listOrd.size() == 0) { throw new Exception("该产品已判或者未处于待判状态"); } QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD(); for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) { //获取取样编号 _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no()); _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no()); List listConsignD = mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no()); //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的 //根据取样编号查询检验实绩信息 QcmJhyInspElements _ele = new QcmJhyInspElements(); _ele.setSpecimen_no(listConsignD.get(0).getSpecimen_no()); CoreReturnObject cro = GetElementsInfo(_ele, qcmJhySampleROrd.getDesign_key()); List listEle = (List) cro.getResult(); if (listEle.size() < 1) { continue; } //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号 CoreReturnObject cicModel = this.GetOrdJudgeStdCic(qcmJhySampleROrd.getDesign_key()); OrdJudgeStd stdCic = (OrdJudgeStd) cicModel.getResult(); List list = new ArrayList(); //开始判定:内控>客户>交付 if (stdCic.getListStdNK().size() > 0) { pass = CompareResult(stdCic.getListStdNK(), listEle); UpdateData(listEle, qcmJhySampleROrd, pass, username); memo = CompareResults(memo, stdCic.getListStdNK(), listEle); list = CompareResultInfo(list, stdCic.getListStdNK(), listEle); } //判定客户、交付标准 if (stdCic.getListStdKH().size() > 0) { if (stdCic.getListStdKH() != null && pass) { pass = CompareResult(stdCic.getListStdKH(), listEle); memo = CompareResults(memo, stdCic.getListStdKH(), listEle); list = CompareResultInfo(list, stdCic.getListStdKH(), listEle); } if (pass) { pass = CompareResult(stdCic.getListStdGB(), listEle); memo = CompareResults(memo, stdCic.getListStdGB(), listEle); list = CompareResultInfo(list, stdCic.getListStdGB(), listEle); } qjsr = UpdateData(listEle, qcmJhySampleROrd, pass, username); } if (!pass) { //异常材处置 MaterialAbnormalTreatment(list, qcmJhySampleROrd.getInspection_lot(), username, memo,qjsr); } insepction_lot = qcmJhySampleROrd.getInspection_lot(); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(insepction_lot); qjl.setCreate_name("system"); qjl.setMaterial_type("1"); qjl.setProd_line(listOrd.get(0).getPline_code()); mapper.insertQcmJudgeLog(qjl); SqlSession.commit(); cro.setV_errCode(1); /*//调用熔炼成分判定 RlChemAutoJudgeByHuman RlChemAutoJudgeByHuman2(insepction_lot); if(pass){ //调用综合判定 QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); qjpc.ultimateJudgeAutoBySystemB(insepction_lot, username ); }*/ } catch (Exception ex) { SqlSession.rollback(); cro.setV_errCode(-1); cro.setV_errMsg("判定失败!" + ex.getMessage()); logger.info(new Date().toString() + " QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.JudgeByHuman:【" + smp_no + "," + username + "】" + ex); } SqlSession.close(); /*final String inspection_lot1 = insepction_lot; Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t2.start();*/ return cro; } @SuppressWarnings("unchecked") public CoreReturnObject JudgeByHuman1(String smp_no, String username, ArrayList assay_no) throws Exception { boolean pass = true; String insepction_lot = ""; try { //获取未判定的数据 String condition = " and Judge_status='0' and d.smp_no = '" + smp_no + "'"; QcmJhySampleROrd qjsr=new QcmJhySampleROrd(); String memo = ""; List listOrd = mapper.GetSampleChemInfo(condition); if (listOrd.size() == 0) { throw new Exception("该产品已判或者未处于待判状态"); } QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD(); for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) { //获取取样编号 _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no()); _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no()); List listConsignD = mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no()); //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的 //根据取样编号查询检验实绩信息 QcmJhyInspElements _ele = new QcmJhyInspElements(); _ele.setSpecimen_no(listConsignD.get(0).getSpecimen_no()); CoreReturnObject cro = GetElementsInfo1(assay_no); List listEle = (List) cro.getResult(); if (listEle.size() < 1) { continue; } //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号 CoreReturnObject cicModel = this.GetOrdJudgeStdCic(qcmJhySampleROrd.getDesign_key()); OrdJudgeStd stdCic = (OrdJudgeStd) cicModel.getResult(); List list = new ArrayList(); //开始判定:内控>客户>交付 if (stdCic.getListStdNK().size() > 0) { pass = CompareResult(stdCic.getListStdNK(), listEle); UpdateData(listEle, qcmJhySampleROrd, pass, username); memo = CompareResults(memo, stdCic.getListStdNK(), listEle); list = CompareResultInfo(list, stdCic.getListStdNK(), listEle); } //判定客户、交付标准 if (stdCic.getListStdKH().size() > 0 || stdCic.getListStdGB().size() > 0) { if (stdCic.getListStdKH() != null && pass) { pass = CompareResult(stdCic.getListStdKH(), listEle); memo = CompareResults(memo, stdCic.getListStdKH(), listEle); list = CompareResultInfo(list, stdCic.getListStdKH(), listEle); } if (stdCic.getListStdGB()!= null && pass) { pass = CompareResult(stdCic.getListStdGB(), listEle); memo = CompareResults(memo, stdCic.getListStdGB(), listEle); list = CompareResultInfo(list, stdCic.getListStdGB(), listEle); } qjsr = UpdateData(listEle, qcmJhySampleROrd, pass, username); } if (!pass) { //异常材处置 MaterialAbnormalTreatment(list, qcmJhySampleROrd.getInspection_lot(), username, memo,qjsr); } insepction_lot = qcmJhySampleROrd.getInspection_lot(); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(insepction_lot); qjl.setCreate_name("system"); qjl.setMaterial_type("1"); qjl.setProd_line(listOrd.get(0).getPline_code()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("成品成分判定"); qjog.setParams(smp_no); qjog.setBatchno(listOrd.get(0).getBatch_no()); qjog.setProd_line(listOrd.get(0).getPline_code()); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); cro.setV_errCode(1); /*//调用熔炼成分判定 RlChemAutoJudgeByHuman RlChemAutoJudgeByHuman2(insepction_lot); if(pass){ //调用综合判定 //调用综合判定 QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); qjpc.ultimateJudgeAutoBySystemB(insepction_lot, username ); }*/ } catch (Exception ex) { SqlSession.rollback(); cro.setV_errCode(-1); cro.setV_errMsg("判定失败!" + ex.getMessage()); logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.JudgeByHuman1:【" + smp_no + "," + username + "," + assay_no+ assay_no.toString() + "】" + ex); } SqlSession.close(); /*final String inspection_lot1 = insepction_lot; Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t2.start();*/ return cro; } /** * 熔炼成分人工判定 */ @SuppressWarnings("unchecked") public CoreReturnObject RlChemJudgeByHuman(String heat_no, String material_no, String design_key, String username, String grade_name, ArrayList assay_no) throws Exception { List hashmap = new ArrayList(); try { String sql = "select * from zj_result_all@xgcx where Billetid = '" + material_no + "'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where COIL_NO = '" + material_no + "'"; List list2 = mapper.query(sql); sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '" + material_no + "'"; List list3 = mapper.query(sql); if (list1.size() > 0 || list2.size() > 0 || list3.size() >0) { if (list1.size() > 0) { if (list1.get(0).get("R_CIC_IS_LOCK").toString().equals("1")) { throw new Exception("成分已锁定,不能判定!"); } } else if(list2.size() >0) { if (list2.get(0).get("R_CIC_IS_LOCK").toString().equals("1")) { throw new Exception("成分已锁定,不能判定!"); } }else{ if (list3.get(0).get("R_CIC_IS_LOCK").toString().equals("1")) { throw new Exception("成分已锁定,不能判定!"); } } } else { throw new Exception("找不到库存!"); } String memo = ""; QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD(); CoreReturnObject cro = GetElementsInfo1(assay_no); List listEle = (List) cro.getResult(); if (listEle.size() < 1) { throw new Exception("找不到实绩!"); } //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号 CoreReturnObject cicModel = this.GetOrdJudgeStdCicR(design_key, grade_name); OrdJudgeStd stdCic = (OrdJudgeStd) cicModel.getResult(); List list = new ArrayList(); //开始判定:内控>客户>交付 if (stdCic.getListStdNK().size() == 0 || stdCic.getListStdLG().size() == 0) { throw new Exception("无标准,无法判定"); } boolean pass = true; /*if(stdCic.getListStdNK().size()>0){ pass=CompareResult(stdCic.getListStdNK(),listEle); memo = CompareResults(memo,stdCic.getListStdNK(),listEle); list = CompareResultInfo(list,stdCic.getListStdNK(),listEle); }*/ //判定客户、交付标准 if (pass) { if (stdCic.getListStdKH() != null && pass) { pass = CompareResult(stdCic.getListStdKH(), listEle); memo = CompareResults(memo, stdCic.getListStdKH(), listEle); list = CompareResultInfo(list, stdCic.getListStdKH(), listEle); } if (pass) { pass = CompareResult(stdCic.getListStdGB(), listEle); memo = CompareResults(memo, stdCic.getListStdGB(), listEle); list = CompareResultInfo(list, stdCic.getListStdGB(), listEle); /*if (pass) { pass = CompareResult(stdCic.getListStdLG(), listEle); memo = CompareResults(memo, stdCic.getListStdLG(), listEle); list = CompareResultInfo(list, stdCic.getListStdLG(), listEle); }*/ } String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号 for (QcmJhyInspElements qcmJhyElements : listEle) { if (qcmJhyElements.getAssay_type().equals("L")) { if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) { semiAssaynos += "," + qcmJhyElements.getAssay_no(); } } else { if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) { proAssaynos += "," + qcmJhyElements.getAssay_no(); } } } QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); hashmap = qjms.doQueryMaterialInfoBX(material_no); if (hashmap.size() == 0) { hashmap = qjms.doQueryMaterialInfoJ(material_no); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoY(material_no); } } if (hashmap.size() == 0) { throw new Exception("找不到库存!"); } //String board_no = hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString(); /*List QJ = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking where material_no = '" + board_no + "' and unlock_type_code = '0'"); if (QJ.size() > 0) { pass = true; } List listfx = (List) getLgFx(hashmap.get(0).get("BOARD_NO").toString()).getResult(); if(listfx != null && listfx.size() >0 ){ if(listfx.get(0).get("chemresult_fx").toString().equals("1")){ pass = true; } }*/ for (HashMap listh : hashmap) { QcmJudgeChemical judge = new QcmJudgeChemical(); int count = 0; String type =""; if(material_no.startsWith("Z") || material_no.startsWith("H")){ type = "RB"; }else if(material_no.startsWith("R") || material_no.startsWith("L")){ type = "RJ"; }else if(material_no.startsWith("Y") && list3.size() >0){ type = "RY"; }else{ type = "RX"; } SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String date = sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist = mapper.QueryQcmJudgeChemicals(type + date); if (qrlist != null && qrlist.size() > 0) { String s = qrlist.get(0).getCic_id(); count = Integer.parseInt(s.substring(s.length() - 4, s.length())); } count++; String cic_id = type + sdf.format(new Date()) + String.format("%04d", count); String cic_memo = ""; if (username.equals("system")) { cic_memo = "系统自动判定"; } else { cic_memo = "人工判定"; } judge.setCic_id(cic_id); judge.setAssay_no_cp(proAssaynos.replaceFirst(",", "")); judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", "")); judge.setBatch_no(listh.get("BATCHNO") == null ? "" : listh.get("BATCHNO").toString()); judge.setHeat_no(heat_no); judge.setCic_memo(cic_memo); judge.setCic_result_code(pass ? "1" : "2"); judge.setCic_result_desc(pass ? "合格" : "不合格"); judge.setDesign_key(design_key); judge.setHeat_no(heat_no); judge.setInspection_lot(""); judge.setMaterial_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString()); judge.setDelivery_state_code(listh.get("DELIVERY_STATE_CODE") == null ? "" : listh.get("DELIVERY_STATE_CODE").toString()); judge.setDelivery_state_desc(listh.get("DELIVERY_STATE_DESC") == null ? "" : listh.get("DELIVERY_STATE_DESC").toString()); judge.setThick(listh.get("THICK") == null ? "" : listh.get("THICK").toString()); judge.setWidth(listh.get("WIDTH") == null ? "" : listh.get("WIDTH").toString()); judge.setLength(listh.get("LENGTH") == null ? "" : listh.get("LENGTH").toString()); judge.setJudge_name(username); judge.setJudge_ttime(new Date()); //judge.setGrade_code(listh.get("GRADE_CODE")==null?"":listh.get("GRADE_CODE").toString()); judge.setGrade_name(listh.get("GRADE_NAME") == null ? "" : listh.get("GRADE_NAME").toString()); judge.setPline_code(listh.get("PLINE_CODE") == null ? "" : listh.get("PLINE_CODE").toString()); judge.setPline_name(listh.get("PLINE_NAME") == null ? "" : listh.get("PLINE_NAME").toString()); judge.setPsc(listh.get("PSC") == null ? "" : listh.get("PSC").toString()); judge.setPsc_desc(listh.get("PSC_DESC") == null ? "" : listh.get("PSC_DESC").toString()); judge.setSteel_code(listh.get("STEEL_CODE") == null ? "" : listh.get("STEEL_CODE").toString()); judge.setSteel_name(listh.get("STEEL_NAME") == null ? "" : listh.get("STEEL_NAME").toString()); judge.setSmp_no(""); judge.setProd_code(listh.get("PROD_CODE") == null ? "" : listh.get("PROD_CODE").toString()); judge.setProd_name(listh.get("PROD_NAME") == null ? "" : listh.get("PROD_NAME").toString()); judge.setBoard_no(listh.get("BOARD_NO") == null ? "" : listh.get("BOARD_NO").toString()); judge.setStd_code(listh.get("STD_CODE") == null ? "" : listh.get("STD_CODE").toString()); judge.setStd_name(listh.get("STD_NAME") == null ? "" : listh.get("STD_NAME").toString()); //插入成分判定表 mapper.insertqcmjudgechemcial(judge); //修改库存判定结果 sql = "select * from zj_result_all@xgcx where Billetid = '" + listh.get("MATERIAL_NO").toString() + "'"; list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where COIL_NO = '" + listh.get("MATERIAL_NO").toString() + "'"; list2 = mapper.query(sql); sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '" + listh.get("MATERIAL_NO").toString() + "'"; list3 = mapper.query(sql); String chemresult_desc = ""; String chemresult = ""; String cic_is_lock = ""; if (pass) { chemresult_desc = "合格"; chemresult = "1"; cic_is_lock = "0"; } else { chemresult_desc = "不合格"; chemresult = "2"; cic_is_lock = "1"; } if (list1.size() > 0 || list2.size() > 0 || list3.size() > 0) { if (list1.size() > 0) { ZjResultAll zra = new ZjResultAll(); zra.setBilletid(listh.get("MATERIAL_NO").toString()); zra.setR_chemid(cic_id); zra.setR_chemresult_desc(chemresult_desc); zra.setR_chemresult(chemresult); zra.setR_cic_is_lock(cic_is_lock); mapper.UpdateJugeResultB(zra); } else if (list2.size() > 0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(listh.get("MATERIAL_NO").toString()); zra.setR_chemid(cic_id); zra.setR_chemresult_desc(chemresult_desc); zra.setR_chemresult(chemresult); zra.setR_cic_is_lock(cic_is_lock); mapper.UpdateJugeResultJ(zra); }else{ QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult(); zra.setCoil_no(listh.get("MATERIAL_NO").toString()); zra.setR_chemid(cic_id); zra.setR_chemresult_desc(chemresult_desc); zra.setR_chemresult(chemresult); zra.setR_cic_is_lock(cic_is_lock); mapper.UpdateJugeResultY(zra); } } else { throw new Exception("未找到库存信息!"); } if (!pass) { //异常材处置 QCMJudgeLocking qjb = new QCMJudgeLocking(); if (list1.size() > 0 || list2.size() > 0 || list3.size() > 0) { if (list1.size() > 0) { for (HashMap listx : list1) { count = 0; String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if (qjl.size() > 0) { count = qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq = count; qjb.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_type_code("C"); qjb.setLock_type_desc("成分判定"); qjb.setLock_id(cic_id); qjb.setLock_seq(lock_seq); qjb.setLock_memo(memo); qjb.setBoard_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_name(username.equals("system") ? "系统自动判定" : username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ? "" : hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC") == null ? "" : hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE") == null ? "" : hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME") == null ? "" : hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ? "" : hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ? "" : hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); //插入异常锁定表 mapper.insertQCMJudgeLocking(qjb); List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for (ArrayList listz : list) { QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjr.setType_code("C"); qjr.setRecord_id(qjc.get(0).getCic_id()); qjr.setSeq(seq1); qjr.setPhy_code_s(listz.get(0).toString()); qjr.setPhy_name_s(listz.get(1).toString().equals("") ? listz.get(0).toString() : listz.get(1).toString()); qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString()); qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString()); qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString()); qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString()); qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString()); qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } } } else if(list2.size() >0) { for (HashMap listv : list2) { count = 0; String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if (qjl.size() > 0) { count = qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq = count; qjb.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_type_code("C"); qjb.setLock_type_desc("成分判定"); qjb.setLock_seq(lock_seq); qjb.setLock_memo(memo); qjb.setLock_id(cic_id); qjb.setBoard_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_name(username.equals("system") ? "系统自动判定" : username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ? "" : hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC") == null ? "" : hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE") == null ? "" : hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME") == null ? "" : hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ? "" : hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ? "" : hashmap.get(0).get("STEEL_NAME").toString()); //插入异常锁定表 mapper.insertQCMJudgeLocking(qjb); List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for (ArrayList listz : list) { QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjr.setType_code("C"); qjr.setRecord_id(qjc.get(0).getCic_id()); qjr.setSeq(seq1); qjr.setPhy_code_s(listz.get(0).toString()); qjr.setPhy_name_s(listz.get(1).toString().equals("") ? listz.get(0).toString() : listz.get(1).toString()); qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString()); qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString()); qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString()); qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString()); qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString()); qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } } }else { for (HashMap listv : list3) { count = 0; String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if (qjl.size() > 0) { count = qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq = count; qjb.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_type_code("C"); qjb.setLock_type_desc("成分判定"); qjb.setLock_seq(lock_seq); qjb.setLock_memo(memo); qjb.setLock_id(cic_id); qjb.setBoard_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_name(username.equals("system") ? "系统自动判定" : username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ? "" : hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC") == null ? "" : hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE") == null ? "" : hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME") == null ? "" : hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ? "" : hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ? "" : hashmap.get(0).get("STEEL_NAME").toString()); //插入异常锁定表 mapper.insertQCMJudgeLocking(qjb); List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for (ArrayList listz : list) { QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjr.setType_code("C"); qjr.setRecord_id(qjc.get(0).getCic_id()); qjr.setSeq(seq1); qjr.setPhy_code_s(listz.get(0).toString()); qjr.setPhy_name_s(listz.get(1).toString().equals("") ? listz.get(0).toString() : listz.get(1).toString()); qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString()); qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString()); qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString()); qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString()); qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString()); qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } } } } } //发送熔炼成分实绩 List chemresult1 = mapper.queryQcmJhyInspElements("select * from qcm_jhy_insp_elements t where t.assay_type = 'L' and t.heat_no = '"+hashmap.get(0).get("HEAT_NO").toString()+"'"); if(chemresult1.size() > 0){ QcmJudgeUltimateSendinfo qjus = new QcmJudgeUltimateSendinfo(); qjus.setMaterial_no(material_no); qjus.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjus.setResult_type("C"); qjus.setJudge_id(cic_id); qjus.setCreate_name("system"); mapper.insertQcmJudgeUltimateSendinfo(qjus); } } //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { hashmap = qjms.doQueryMaterialInfoJ(material_no); if (hashmap.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, pass ? "1" : "2", null, null, null, null, null, null,""); } } } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("轧钢熔炼成分判定"); qjog.setParams(material_no); qjog.setBatchno(hashmap.get(0).get("BATCHNO").toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeOperateLog(qjog); if (pass) { QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("F"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); qjl = new QcmJudgeLog(); qjl.setJudge_type("U"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); //调用综合判定 } SqlSession.commit(); cro.setV_errCode(1); } catch (Exception ex) { SqlSession.rollback(); cro.setV_errCode(-1); cro.setV_errMsg("判定失败!" + ex.getMessage()); logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.RlChemJudgeByHuman:【" + heat_no + "," + material_no + "," + design_key + "," + username + "," + grade_name + "," + assay_no.toString() + "】" + ex); } SqlSession.close(); return cro; } /** * 炼钢熔炼成分自动判定 */ @SuppressWarnings("unchecked") public CoreReturnObject LGRlChemJudgeBySystem(String heat_no, String material_no, String design_key, String username, String grade_name, String prod_name, String prodline) throws Exception { List hashmap = new ArrayList(); try { String memo = ""; hashmap = (List) getLgRejudgeInfobyMaterial_no("", "", material_no, prodline, prod_name, "C").getResult(); if (hashmap.size() == 0) { throw new Exception(material_no+"未找到待判数据或该数据已判!"); } QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl(); //QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD(); String sql = "select assay_no from (select * from (select a.assay_no, max(a.create_time) create_time " + " from QCM_JHY_INSP_ELEMENTS a where a.heat_no = '"+heat_no+"' and assay_type = 'L' group by a.assay_no) order by create_time asc) "; List list1 = mapper.query(sql); if(list1.size() ==0){ throw new Exception(material_no+"找不到实绩!"); } if(list1.size() > 1){ throw new Exception(material_no+"找到多条实绩!"); } //System.out.print(sql); List assay_no = new ArrayList(); assay_no.add(list1.get(0).get("ASSAY_NO").toString()); //List assay_no = GetAssay_no(heat_no); if (assay_no.size() == 0) { throw new Exception(material_no+"找不到实绩!"); } if (assay_no.size() > 1) { throw new Exception(material_no+"找到多条实绩!"); } sql = "select * from qcm_judge_locking where material_no = '"+material_no+"' and lock_type_code = 'C' and unlock_type_code is null"; List qjls = mapper.queryQCMJudgeLockings(sql); if(qjls.size() > 0){ throw new Exception("该物料号已被质量异常锁定,请处理后再进行成分判定!"); } CoreReturnObject cro = GetElementsInfo1(assay_no); List listEle = (List) cro.getResult(); if (listEle.size() < 1) { throw new Exception(material_no+"找不到实绩!"); } String result = ""; String[] orderno = design_key.split(","); for (String x : orderno) { if (result.equals("")) { result = "('" + x + "'"; } else { result = result + ",'" + x + "'"; } } if (result == "") { result = "('')"; } else { result = result + ")"; } List listP = mapper.query("select * from qcm_ord_design_std_cic a where a.design_key in "+result+""); if(!design_key.equals("") && listP.size() == 0){ throw new Exception("该物料号所带订单是老订单,请在MES系统进行判定!"); } //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号 CoreReturnObject cicModel = this.GetOrdJudgeStdCicLgR(result, grade_name, prodline); OrdJudgeStd stdCic = (OrdJudgeStd) cicModel.getResult(); List list = new ArrayList(); //开始判定:内控>客户>交付 boolean pass = true; boolean pass1 = true; /*if (stdCic.getListStdLG().size() == 0) { throw new Exception(material_no+"无标准,无法判定"); }*/ if(grade_name.startsWith("LQ")){ if (stdCic.getListStdLG().size() == 0) { throw new Exception(material_no+"无标准,无法判定"); } }else { if (stdCic.getListStdNK().size() == 0 || stdCic.getListStdLG().size() == 0) { throw new Exception(material_no+"无标准,无法判定"); } } if (stdCic.getListStdNK().size() > 0) { pass1 = CompareResult(stdCic.getListStdNK(), listEle); } //判定客户、交付标准 if (pass) { if (stdCic.getListStdKH() != null && pass) { pass = CompareResult(stdCic.getListStdKH(), listEle); memo = CompareResults(memo, stdCic.getListStdKH(), listEle); list = CompareResultInfo(list, stdCic.getListStdKH(), listEle); } if (pass) { pass = CompareResult(stdCic.getListStdGB(), listEle); memo = CompareResults(memo, stdCic.getListStdGB(), listEle); list = CompareResultInfo(list, stdCic.getListStdGB(), listEle); if (pass) { pass = CompareResult(stdCic.getListStdLG(), listEle); memo = CompareResults(memo, stdCic.getListStdLG(), listEle); list = CompareResultInfo(list, stdCic.getListStdLG(), listEle); } } } if(stdCic.getListStdNK().size()== 0){ pass1 = pass; } String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号 for (QcmJhyInspElements qcmJhyElements : listEle) { if (qcmJhyElements.getAssay_type().equals("L")) { if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) { semiAssaynos += "," + qcmJhyElements.getAssay_no(); } } else { if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) { proAssaynos += "," + qcmJhyElements.getAssay_no(); } } } for (HashMap listh : hashmap) { QcmJudgeChemical judge = new QcmJudgeChemical(); int count = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String date = sdf.format(new Date()); // 获取材质结果集编号最大值 String c = ""; if(prodline.equals("4001LG0")){ c="RL"; }else{ c="RD"; } List qrlist = mapper.QueryQcmJudgeChemicals(c + date); if (qrlist != null && qrlist.size() > 0) { String s = qrlist.get(0).getCic_id(); count = Integer.parseInt(s.substring(s.length() - 4, s.length())); } count++; String cic_id = c + sdf.format(new Date()) + String.format("%04d", count); String cic_memo = ""; if (username.equals("system")) { cic_memo = "系统自动判定"; } else { cic_memo = "人工判定"; } judge.setCic_id(cic_id); judge.setAssay_no_cp(proAssaynos.replaceFirst(",", "")); judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", "")); judge.setBatch_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString()); judge.setHeat_no(heat_no); judge.setCic_memo(cic_memo); judge.setCic_result_code(pass ? "1" : "2"); judge.setCic_result_desc(pass ? "合格" : "不合格"); if(design_key.equals("") && pass && prodline.equals("4001LG0")){ judge.setCic_result_desc("订单外合格"); } judge.setDesign_key(design_key); judge.setHeat_no(heat_no); judge.setInspection_lot(""); judge.setProd_name(prod_name); judge.setMaterial_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString()); judge.setDelivery_state_code(""); judge.setDelivery_state_desc(listh.get("DELIVERY_STATE_DESC") == null ? "" : listh.get("DELIVERY_STATE_DESC").toString()); judge.setThick(listh.get("THICK") == null ? "" : listh.get("THICK").toString()); judge.setWidth(listh.get("WIDTH") == null ? "" : listh.get("WIDTH").toString()); judge.setLength(listh.get("LENGTH") == null ? "" : listh.get("LENGTH").toString()); judge.setJudge_name(username); judge.setJudge_ttime(new Date()); judge.setGrade_code(""); judge.setGrade_name(listh.get("GRADE_NAME") == null ? "" : listh.get("GRADE_NAME").toString()); judge.setPline_code(listh.get("PLINE_CODE") == null ? "" : listh.get("PLINE_CODE").toString()); judge.setPline_name(listh.get("PLINE_NAME") == null ? "" : listh.get("PLINE_NAME").toString()); judge.setPsc(""); judge.setPsc_desc(""); judge.setSteel_code(""); judge.setSteel_name(""); judge.setSmp_no(""); judge.setBoard_no(""); judge.setStd_code(""); judge.setStd_name(listh.get("STD_NAME") == null ? "" : listh.get("STD_NAME").toString()); //插入成分判定表 mapper.insertqcmjudgechemcial(judge); if (!pass) { QCMJudgeLocking qjb = new QCMJudgeLocking(); count = 0; String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if (qjl.size() > 0) { count = qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq = count; qjb.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_type_code("C"); qjb.setLock_id(cic_id); qjb.setLock_type_desc("成分判定"); qjb.setLock_seq(lock_seq); qjb.setLock_memo(memo); /*if (design_key.equals("")) { qjb.setLock_memo("无订单"); } */ qjb.setBoard_no(listh.get("MATERIAL_NO").toString()); qjb.setPline_code(""); qjb.setPline_name(""); qjb.setLock_name(username.equals("system") ? "系统自动判定" : username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("MATERIAL_NO") == null ? "" : hashmap.get(0).get("MATERIAL_NO").toString()); qjb.setBoard_no(""); qjb.setPlan_no(""); qjb.setHt_no(""); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(""); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(""); qjb.setStd_code(hashmap.get(0).get("STD_NAME").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(""); qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("GRADE_NAME").toString()); qjb.setSteel_name(hashmap.get(0).get("GRADE_NAME").toString()); //插入异常锁定表 mapper.insertQCMJudgeLocking(qjb); //List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for (ArrayList listz : list) { QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjr.setType_code("C"); qjr.setRecord_id(cic_id); qjr.setSeq(seq1); qjr.setPhy_code_s(listz.get(0).toString()); qjr.setPhy_name_s(listz.get(1).equals("")?listz.get(0).toString():listz.get(1).toString()); qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString()); qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString()); qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString()); qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString()); qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString()); qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } } /*String z_result = ""; if(prodline.equals("4001LGX") && judge.getCic_result_code().equals("2")){ z_result = "8"; }*/ String CHEMRESULT_FX = ""; if(design_key.equals("") && pass && prodline.equals("4001LG0")){ CHEMRESULT_FX = "9"; }else{ CHEMRESULT_FX = judge.getCic_result_code(); } //调用单项判定 JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("CHEMRESULT_LK", pass1 ? "1" : "2"); jsobj1.put("FACERESULT", ""); jsobj1.put("COMPREHENSIVERESULT", ""); jsobj1.put("CHEMJUDGEID", cic_id); jsobj1.put("FACECHECKID", ""); jsobj1.put("COMPREHENSIVEID", ""); jsobj1.put("JUDGE_TYPE", "C"); jsobj1.put("PROD_LINE", prodline); jsobj1.put("ISJUDGE", "1"); jsobj1.put("PROD_TYPE", prod_name); jsobj1.put("SLAB_NO", material_no); jsobj1.put("CHECKNO", assay_no.get(0).toString()); jsobj1.put("OPTMAN", username); jsobj1.put("ISFX", "0"); jsobj1.put("CHEMRESULT_FX", CHEMRESULT_FX); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; result = callWebserviceASMX(url, "ChemJudge", JSON.toJSONString(ttmaps)); JSONObject jo = JSONObject.parseObject(result); if (jo.get("code").toString().equals("1")) { throw new Exception("成分判定失败!"+jo.get("message").toString());// } } cro.setV_errCode(1); SqlSession.commit(); if (pass) { //调用综合判定 qjp.LgultimateJudgeAutoBySystem(material_no, username, prodline, prod_name); } } catch (Exception ex) { SqlSession.rollback(); cro.setV_errCode(-1); cro.setV_errMsg("判定失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 炼钢熔炼成分人工判定 */ @SuppressWarnings("unchecked") public CoreReturnObject LGRlChemJudgeByHuman(String heat_no, String material_no, String design_key, String username, String grade_name, ArrayList assay_no, String prod_name, String prodline) throws Exception { boolean pass = true; try { List hashmap = (List) getLgRejudgeInfobyMaterial_no("", "", material_no, prodline, prod_name, "C").getResult(); if (hashmap.size() == 0) { throw new Exception("未找到待判数据或该数据已判!"); } if(assay_no.size() > 1){ throw new Exception("选择了多个实绩!"); } QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl(); String memo = ""; QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD(); CoreReturnObject cro = GetElementsInfo1(assay_no); List listEle = (List) cro.getResult(); if (listEle.size() < 1) { throw new Exception("找不到实绩!"); } String sql = "select * from qcm_judge_locking where material_no = '"+material_no+"' and lock_type_code = 'C' and unlock_type_code is null"; List qjls = mapper.queryQCMJudgeLockings(sql); if(qjls.size() > 0){ throw new Exception("该物料号已被质量异常锁定,请处理后再进行成分判定!"); } String result = ""; String[] orderno = design_key.split(","); for (String x : orderno) { if (result.equals("")) { result = "('" + x + "'"; } else { result = result + ",'" + x + "'"; } } if (result == "") { result = "('')"; } else { result = result + ")"; } List listP = mapper.query("select * from qcm_ord_design_std_cic a where a.design_key in "+result+""); if(!design_key.equals("") && listP.size() == 0){ listP = mapper.query("SELECT ORDERNO FROM SEL_PACTDETAIL@XGCX A WHERE A.ORDERNO in "+result+" UNION ALL " + " SELECT A.ORD_NO || A.ORD_SEQ ORDERNO FROM TBA01_ORD_LINE A WHERE A.ORD_NO || A.ORD_SEQ in "+result+""); if(listP.size()>0){ throw new Exception("订单成分标准未下发!"); }else{ throw new Exception("该物料号所带订单是老订单,请在MES系统进行判定!"); } } //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号 CoreReturnObject cicModel = this.GetOrdJudgeStdCicLgR(result, grade_name, prodline); OrdJudgeStd stdCic = (OrdJudgeStd) cicModel.getResult(); List list = new ArrayList(); /*if (stdCic.getListStdLG().size() == 0) { throw new Exception(material_no+"无标准,无法判定"); }*/ if(grade_name.startsWith("LQ")){ if (stdCic.getListStdLG().size() == 0) { throw new Exception(material_no+"无标准,无法判定"); } }else { if (stdCic.getListStdNK().size() == 0 || stdCic.getListStdLG().size() == 0) { throw new Exception(material_no+"无标准,无法判定"); } } //开始判定:内控>客户>交付 boolean pass1 = true; //炼钢内控不作为判定依据 if (stdCic.getListStdNK().size() > 0) { pass1 = CompareResult(stdCic.getListStdNK(), listEle); } //判定客户、交付标准 if(pass){ //熔炼放行 pass=CompareResult(stdCic.getListStdLG(),listEle); memo = CompareResults(memo,stdCic.getListStdLG(),listEle); list = CompareResultInfo(list,stdCic.getListStdLG(),listEle); //客户 if (stdCic.getListStdKH()!=null&&pass) { pass=CompareResult(stdCic.getListStdKH(),listEle); } memo = CompareResults(memo,stdCic.getListStdKH(),listEle); list = CompareResultInfo(list,stdCic.getListStdKH(),listEle); //交付 if(pass){ pass=CompareResult(stdCic.getListStdGB(),listEle); } memo = CompareResults(memo,stdCic.getListStdGB(),listEle); list = CompareResultInfo(list,stdCic.getListStdGB(),listEle); } if(stdCic.getListStdNK().size()== 0){ pass1 = pass; } String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号 for (QcmJhyInspElements qcmJhyElements : listEle) { if (qcmJhyElements.getAssay_type().equals("L")) { if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) { semiAssaynos += "," + qcmJhyElements.getAssay_no(); } } else { if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) { proAssaynos += "," + qcmJhyElements.getAssay_no(); } } } for (HashMap listh : hashmap) { QcmJudgeChemical judge = new QcmJudgeChemical(); int count = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String date = sdf.format(new Date()); // 获取材质结果集编号最大值 String c = ""; if(prodline.equals("4001LG0")){ c="RL"; }else{ c="RD"; } List qrlist = mapper.QueryQcmJudgeChemicals(c + date); if (qrlist != null && qrlist.size() > 0) { String s = qrlist.get(0).getCic_id(); count = Integer.parseInt(s.substring(s.length() - 4, s.length())); } count++; String cic_id = c + sdf.format(new Date()) + String.format("%04d", count); String cic_memo = ""; if (username.equals("system")) { cic_memo = "系统自动判定"; } else { cic_memo = "人工判定"; } judge.setCic_id(cic_id); judge.setAssay_no_cp(proAssaynos.replaceFirst(",", "")); judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", "")); judge.setBatch_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString()); judge.setHeat_no(heat_no); judge.setCic_memo(cic_memo); judge.setCic_result_code(pass ? "1" : "2"); judge.setCic_result_desc(pass ? "合格" : "不合格"); if(design_key.equals("") && pass && prodline.equals("4001LG0")){ judge.setCic_result_desc("订单外合格"); } judge.setDesign_key(design_key); judge.setHeat_no(heat_no); judge.setInspection_lot(""); judge.setProd_name(prod_name); judge.setMaterial_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString()); judge.setDelivery_state_code(""); judge.setDelivery_state_desc(listh.get("DELIVERY_STATE_DESC") == null ? "" : listh.get("DELIVERY_STATE_DESC").toString()); judge.setThick(listh.get("THICK") == null ? "" : listh.get("THICK").toString()); judge.setWidth(listh.get("WIDTH") == null ? "" : listh.get("WIDTH").toString()); judge.setLength(listh.get("LENGTH") == null ? "" : listh.get("LENGTH").toString()); judge.setJudge_name(username); judge.setJudge_ttime(new Date()); judge.setGrade_code(""); judge.setGrade_name(listh.get("GRADE_NAME") == null ? "" : listh.get("GRADE_NAME").toString()); judge.setPline_code(listh.get("PLINE_CODE") == null ? "" : listh.get("PLINE_CODE").toString()); judge.setPline_name(listh.get("PLINE_NAME") == null ? "" : listh.get("PLINE_NAME").toString()); judge.setPsc(""); judge.setPsc_desc(""); judge.setSteel_code(""); judge.setSteel_name(""); judge.setSmp_no(""); judge.setBoard_no(""); judge.setStd_code(""); judge.setStd_name(listh.get("STD_NAME") == null ? "" : listh.get("STD_NAME").toString()); //插入成分判定表 mapper.insertqcmjudgechemcial(judge); if (!pass) { QCMJudgeLocking qjb = new QCMJudgeLocking(); count = 0; String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if (qjl.size() > 0) { count = qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq = count; qjb.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjb.setLock_type_code("C"); qjb.setLock_id(cic_id); qjb.setLock_type_desc("成分判定"); qjb.setLock_seq(lock_seq); qjb.setLock_memo(memo); /*if (design_key.equals("")) { qjb.setLock_memo("无订单"); }*/ qjb.setBoard_no(listh.get("MATERIAL_NO").toString()); qjb.setPline_code(""); qjb.setPline_name(""); qjb.setLock_name(username.equals("system") ? "系统自动判定" : username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("MATERIAL_NO") == null ? "" : hashmap.get(0).get("MATERIAL_NO").toString()); qjb.setBoard_no(""); qjb.setPlan_no(""); qjb.setHt_no(""); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(""); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(""); qjb.setStd_code(hashmap.get(0).get("STD_NAME").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(""); qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("GRADE_NAME").toString()); qjb.setSteel_name(hashmap.get(0).get("GRADE_NAME").toString()); //插入异常锁定表 mapper.insertQCMJudgeLocking(qjb); //List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for (ArrayList listz : list) { QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(listh.get("MATERIAL_NO").toString()); qjr.setType_code("C"); qjr.setRecord_id(cic_id); qjr.setSeq(seq1); qjr.setPhy_code_s(listz.get(0).toString()); qjr.setPhy_name_s(listz.get(1).equals("")?listz.get(0).toString():listz.get(1).toString()); qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString()); qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString()); qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString()); qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString()); qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString()); qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("炼钢成分判定"); qjog.setParams(material_no); qjog.setProd_line(prodline); mapper.insertQcmJudgeOperateLog(qjog); /*String z_result = ""; if(prodline.equals("4001LGX") && judge.getCic_result_code().equals("2")){ z_result = "8"; }*/ String CHEMRESULT_FX = ""; if(design_key.equals("") && pass && prodline.equals("4001LG0")){ CHEMRESULT_FX = "9"; }else{ CHEMRESULT_FX = judge.getCic_result_code(); } //调用单项判定 JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("CHEMRESULT_LK", pass1 ? "1" : "2"); jsobj1.put("FACERESULT", ""); jsobj1.put("COMPREHENSIVERESULT", ""); jsobj1.put("CHEMJUDGEID", cic_id); jsobj1.put("FACECHECKID", ""); jsobj1.put("COMPREHENSIVEID", ""); jsobj1.put("JUDGE_TYPE", "C"); jsobj1.put("PROD_LINE", prodline); jsobj1.put("ISJUDGE", "1"); jsobj1.put("PROD_TYPE", prod_name); jsobj1.put("SLAB_NO", material_no); jsobj1.put("CHECKNO", listEle.get(0).getAssay_no()); jsobj1.put("OPTMAN", username); jsobj1.put("ISFX", "0"); jsobj1.put("CHEMRESULT_FX", CHEMRESULT_FX); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; result = callWebserviceASMX(url, "ChemJudge", JSON.toJSONString(ttmaps)); JSONObject jo = JSONObject.parseObject(result); if (jo.get("code").toString().equals("1")) { throw new Exception("成分判定失败!"+jo.get("message").toString()); } } SqlSession.commit(); cro.setV_errCode(1); if (pass) { //调用综合判定 qjp.LgultimateJudgeAutoBySystem(material_no, username, prodline, prod_name); } } catch (Exception ex) { SqlSession.rollback(); cro.setV_errCode(2); cro.setV_errMsg("判定失败!" + ex.getMessage()); logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.LGRlChemJudgeByHuman:【" + heat_no + "," + material_no + "," + design_key + "," + username + "," + grade_name + "," + assay_no.toString() + "," + prod_name + "," + prodline + "】" + ex); } SqlSession.close(); return cro; } /** * 成分异常材料处置 */ public void MaterialAbnormalTreatment(List lists, String inspection_lot, String username, String memo,QcmJhySampleROrd qjsr) { try { //更新材料异常处理表 QCMJudgeLocking qjb = new QCMJudgeLocking(); String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '" + inspection_lot + "'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '" + inspection_lot + "'"; List list2 = mapper.query(sql); if (list1.size() > 0 || list2.size() > 0) { if (list1.size() > 0) { for (HashMap list : list1) { QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = qjms.doQueryMaterialInfoBX(list.get("BILLETID").toString()); if (hashmap.size() == 0) { hashmap = qjms.doQueryMaterialInfoJ(list.get("BILLETID").toString()); } int count = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String date = sdf.format(new Date()); String condition = " and MATERIAL_NO = '" + list.get("BILLETID").toString() + "' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if (qjl.size() > 0) { count = qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq = count; qjb.setMaterial_no(list.get("BILLETID").toString()); qjb.setLock_type_code("C"); qjb.setLock_type_desc("成分判定"); qjb.setLock_seq(lock_seq); qjb.setLock_memo(memo); qjb.setBoard_no(list.get("BILLETID").toString()); qjb.setPline_code(""); qjb.setPline_name(""); qjb.setLock_name(username.equals("system") ? "系统自动判定" : username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjb.setLock_id(qjsr.getCic_id()); //插入异常锁定表 mapper.insertQCMJudgeLocking(qjb); //List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + list.get("BILLETID").toString() + "' and a.cic_id like 'C%' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for (ArrayList listz : lists) { QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(list.get("BILLETID").toString()); qjr.setType_code("C"); qjr.setRecord_id(qjsr.getCic_id()); qjr.setSeq(seq1); qjr.setPhy_code_s(listz.get(0).toString()); qjr.setPhy_name_s(listz.get(1).toString()); qjr.setVal1(listz.get(2).toString()); qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString()); qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString()); qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString()); qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString()); qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } } } else { for (HashMap list : list2) { QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = qjms.doQueryMaterialInfoBX(list.get("COIL_NO").toString()); if (hashmap.size() == 0) { hashmap = qjms.doQueryMaterialInfoJ(list.get("COIL_NO").toString()); } int count = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String date = sdf.format(new Date()); String condition = " and MATERIAL_NO = '" + list.get("COIL_NO").toString() + "' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if (qjl.size() > 0) { count = qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq = count; qjb.setMaterial_no(list.get("COIL_NO").toString()); qjb.setLock_type_code("C"); qjb.setLock_type_desc("成分判定"); qjb.setLock_seq(lock_seq); qjb.setLock_memo(memo); qjb.setBoard_no(list.get("COIL_NO").toString()); qjb.setLock_name(username.equals("system") ? "系统自动判定" : username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); //插入异常锁定表 mapper.insertQCMJudgeLocking(qjb); //List qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + list.get("COIL_NO").toString() + "' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for (ArrayList listz : lists) { QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(list.get("COIL_NO").toString()); qjr.setType_code("C"); qjr.setRecord_id(qjsr.getCic_id()); qjr.setSeq(seq1); qjr.setPhy_code_s(listz.get(0).toString()); qjr.setPhy_name_s(listz.get(1).toString()); qjr.setVal1(listz.get(2).toString()); qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString()); qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString()); qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString()); qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString()); qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } } } } } catch (Exception e) { SqlSession.rollback(); // TODO: handle exception } } /** * 新增判定记录 * * @param listEle * @param qcmJhySampleROrd * @param pass */ public QcmJhySampleROrd UpdateData(List listEle, QcmJhySampleROrd qcmJhySampleROrd, boolean pass, String username) throws Exception { QcmJhySampleROrd ord = new QcmJhySampleROrd(); try { QcmJudgeChemical chemical = CreateJudgeRecord(listEle, qcmJhySampleROrd, pass, username); //插入成分判定表 mapper.insertqcmjudgechemcial(chemical); //修改库存判定结果 String sql = "select * from zj_result_all@xgcx where Billetid_jy = '" + chemical.getInspection_lot() + "'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where Inspection_lot = '" + chemical.getInspection_lot() + "'"; List list2 = mapper.query(sql); String chemresult_desc = ""; String chemresult = ""; String cic_is_lock = ""; if (pass) { chemresult_desc = "合格"; chemresult = "1"; cic_is_lock = "0"; } else { chemresult_desc = "不合格"; chemresult = "2"; cic_is_lock = "1"; } if (list1.size() > 0 || list2.size() > 0) { if (list1.size() > 0) { ZjResultAll zra = new ZjResultAll(); zra.setBilletid_jy(chemical.getInspection_lot()); zra.setChemid(chemical.getCic_id()); zra.setChemresult_desc(chemresult_desc); zra.setChemresult(chemresult); zra.setCic_is_lock(cic_is_lock); mapper.UpdateJugeResultB(zra); } else { QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setInspection_lot(chemical.getInspection_lot()); zra.setChemid(chemical.getCic_id()); zra.setChemresult_desc(chemresult_desc); zra.setChemresult(chemresult); zra.setCic_is_lock(cic_is_lock); mapper.UpdateJugeResultJ(zra); } } else { throw new Exception("未找到库存信息!"); } //修改委托为已判定 ord.setSmp_no(chemical.getSmp_no()); ord.setPsc(chemical.getPsc()); ord.setDesign_key(chemical.getDesign_key()); ord.setJudge_status("1"); ord.setAssay_no_rl(chemical.getAssay_no_rl()); ord.setAssay_no_cp(chemical.getAssay_no_cp()); ord.setCic_id(chemical.getCic_id()); ord.setJudge_memo(chemical.getCic_memo()); ord.setJudge_name(chemical.getJudge_name()); ord.setJudge_time(chemical.getJudge_ttime()); ord.setJudge_result_code(chemical.getCic_result_code()); ord.setJudge_result_desc(chemical.getCic_result_desc()); mapper.updateQcmJhySampleROrds(ord); } catch (Exception ex) { throw new Exception(ex.getMessage()); } return ord; } /** * 获取对比结果 * * @param stdCic 标准数据 * @param listEle 检验数据 * @return */ public boolean CompareResult(List stdCic, List listEle) throws Exception { try { for (QCMOrdDesignStdCic cic : stdCic) { if (cic.getIsjudge().equals("0")) { continue; } int i = 0; /*if(cic.getChem_type().equals("B")){ //复合元素 String express=cic.getChem_formula(); for (QcmJhyInspElements qcmJhyElements : listEle) { express=express.replaceAll(qcmJhyElements.getChem_name(), qcmJhyElements.getChem_value()); } double result=SqlJoint.GetFormulaResult(express); boolean pass=SqlJoint.checkSignAndValue(cic.getStdmax_sign(),SqlJoint.GetDouble(cic.getStdmax()),SqlJoint.GetString(result)); if(!pass){ return false; } pass=SqlJoint.checkSignAndValue(cic.getStdmin_sign(),SqlJoint.GetDouble(cic.getStdmin()),SqlJoint.GetString(result)); if(!pass){ return false; } i++; continue; }*/ for (QcmJhyInspElements ele : listEle) { if (ele.getChem_code().equals(cic.getChem_code())) { boolean pass = SqlJoint.checkSignAndValue1(cic.getStdmax_sign(), SqlJoint.GetDouble(cic.getStdmax()), ele.getChem_value()); if (!pass) { return false; } pass = SqlJoint.checkSignAndValue1(cic.getStdmin_sign(), SqlJoint.GetDouble(cic.getStdmin()), ele.getChem_value()); if (!pass) { return false; } i++; break; } } if (i == 0) { return false; } } } catch (Exception ex) { throw new Exception(ex.getMessage()); } return true; } /** * 获取封锁原因 * * @param stdCic 标准数据 * @param listEle 检验数据 * @return */ public String CompareResults(String memo, List stdCic, List listEle) throws Exception { try { DecimalFormat df = new DecimalFormat("#.00"); for (QCMOrdDesignStdCic cic : stdCic) { if (cic.getIsjudge().equals("0")) { continue; } int i = 0; /*if(cic.getChem_type().equals("B")){ //复合元素 String express=cic.getChem_formula(); for (QcmJhyInspElements qcmJhyElements : listEle) { express=express.replaceAll(qcmJhyElements.getChem_name(), qcmJhyElements.getChem_value()); } double result=SqlJoint.GetFormulaResult(express); boolean pass=SqlJoint.checkSignAndValue(cic.getStdmax_sign(),SqlJoint.GetDouble(cic.getStdmax()),SqlJoint.GetString(result)); if(!pass){ if(memo.equals("")){ memo = cic.getChem_code() + ":" +df.format(result); } else{ memo = memo + "," + cic.getChem_code() + ":" +df.format(result); } } pass=SqlJoint.checkSignAndValue(cic.getStdmin_sign(),SqlJoint.GetDouble(cic.getStdmin()),SqlJoint.GetString(result)); if(!pass){ if(memo.equals("")){ memo = cic.getChem_code() + ":" +df.format(result); } else{ memo = memo + "," + cic.getChem_code() + ":" +df.format(result); } } i++; continue; }*/ for (QcmJhyInspElements ele : listEle) { if (ele.getChem_code().equals(cic.getChem_code())) { boolean pass = SqlJoint.checkSignAndValue1(cic.getStdmax_sign(), SqlJoint.GetDouble(cic.getStdmax()), ele.getChem_value()); if (!pass) { if (memo.equals("")) { memo = cic.getChem_code() + ":" + ele.getChem_value(); } else if(!memo.contains(cic.getChem_code())){ memo = memo + "," + cic.getChem_code() + ":" + ele.getChem_value(); } } pass = SqlJoint.checkSignAndValue1(cic.getStdmin_sign(), SqlJoint.GetDouble(cic.getStdmin()), ele.getChem_value()); if (!pass) { if (memo.equals("")) { memo = cic.getChem_code() + ":" + ele.getChem_value(); } else if(!memo.contains(cic.getChem_code())){ memo = memo + "," + cic.getChem_code() + ":" + ele.getChem_value(); } } i++; break; } } if (i == 0) { if (memo.equals("")) { memo = cic.getChem_code() + ":" + ""; } else if(!memo.contains(cic.getChem_code())){ memo = memo + "," + cic.getChem_code() + ":" + ""; } } } } catch (Exception ex) { throw new Exception(ex.getMessage()); } return memo; } /** * 获取判定原因 * * @param stdCic 标准数据 * @param listEle 检验数据 * @return */ @SuppressWarnings({"unchecked", "rawtypes"}) public List CompareResultInfo(List list, List stdCic, List listEle) throws Exception { try { DecimalFormat df = new DecimalFormat("#.00"); for (QCMOrdDesignStdCic cic : stdCic) { if (cic.getIsjudge().equals("0")) { continue; } int i = 0; /*if(cic.getChem_type().equals("B")){ //复合元素 String express=cic.getChem_formula(); for (QcmJhyInspElements qcmJhyElements : listEle) { express=express.replaceAll(qcmJhyElements.getChem_name(), qcmJhyElements.getChem_value()); } double result=SqlJoint.GetFormulaResult(express); boolean pass1=SqlJoint.checkSignAndValue(cic.getStdmax_sign(),SqlJoint.GetDouble(cic.getStdmax()),SqlJoint.GetString(result)); boolean pass2=SqlJoint.checkSignAndValue(cic.getStdmin_sign(),SqlJoint.GetDouble(cic.getStdmin()),SqlJoint.GetString(result)); if(!pass1 || !pass2){ ArrayList list2 = new ArrayList(); list2.add(cic.getChem_code()); list2.add(cic.getChem_name()); list2.add(df.format(result)); list2.add(cic.getStdmax()); list2.add(cic.getStdmax_sign()); list2.add(cic.getStdmin()); list2.add(cic.getStdmin_sign()); list.add(list2); } i++; continue; }*/ for (QcmJhyInspElements ele : listEle) { if (ele.getChem_code().equals(cic.getChem_code())) { boolean pass1 = SqlJoint.checkSignAndValue1(cic.getStdmax_sign(), SqlJoint.GetDouble(cic.getStdmax()), ele.getChem_value()); boolean pass2 = SqlJoint.checkSignAndValue1(cic.getStdmin_sign(), SqlJoint.GetDouble(cic.getStdmin()), ele.getChem_value()); if (!pass1 || !pass2) { ArrayList list2 = new ArrayList(); list2.add(cic.getChem_code()); list2.add(cic.getChem_name()); list2.add(ele.getChem_value()); list2.add(cic.getStdmax()); list2.add(cic.getStdmax_sign()); list2.add(cic.getStdmin()); list2.add(cic.getStdmin_sign()); list.add(list2); } i++; break; } } if (i == 0) { ArrayList list2 = new ArrayList(); list2.add(cic.getChem_code()); list2.add(cic.getChem_name()); list2.add(""); list2.add(cic.getStdmax()); list2.add(cic.getStdmax_sign()); list2.add(cic.getStdmin()); list2.add(cic.getStdmin_sign()); list.add(list2); } } return list; } catch (Exception ex) { throw new Exception(ex.getMessage()); } } /** * 获取成分检验实绩信息 * * @param com * @return */ public CoreReturnObject GetElementsInfo(QcmJhyInspElements com, String design_key) { try { //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改 String sql = "select * from (select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, " + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, " + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, " + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where SPECIMEN_NO = '" + com.getSpecimen_no() + "' order by length(chem_name) desc) where rownum <= 1"; List listEle = mapper.queryQcmJhyInspElements(sql); cro.setResult(listEle); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 根据炉号获取成分检验实绩信息 * * @param com * @return */ public CoreReturnObject GetElementsInfos(String heatno, String design_key) { try { //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改 String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, " + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, " + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, " + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (select assay_no from (select * from (select a.assay_no, max(a.create_time) create_time " + " from QCM_JHY_INSP_ELEMENTS a where a.heat_no = '" + heatno + "' AND ASSAY_TYPE = 'L' group by a.assay_no) order by create_time desc) " + " where rownum <= CASE WHEN (select case when z.SMELTING_CNT is null then 1 else z.SMELTING_CNT end from QCM_ORD_DESIGN_STD_CIC_SMP z where z.design_key = '" + design_key + " ' AND STD_TYPE_CODE = 'GA') IS NULL THEN 1 ELSE (select case when z.SMELTING_CNT is null then 1 else z.SMELTING_CNT end from QCM_ORD_DESIGN_STD_CIC_SMP z where z.design_key = '" + design_key + "' AND STD_TYPE_CODE = 'GA') END) order by length(chem_name) desc"; List listEle = mapper.queryQcmJhyInspElements(sql); cro.setResult(listEle); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 根据炉号获取成分检验实绩信息 * * @param com * @return */ public CoreReturnObject GetElementsInfo2(String heatno, String design_key, String board_no) { try { //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改 String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, " + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, " + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, " + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where instr ((select * from (select a.assay_no_rl from qcm_judge_chemical a where a.heat_no = '" + heatno + "' and a.material_no = '" + board_no + "' order by judge_ttime desc) where rownum <= 1), assay_no) > 0 order by length(chem_name) desc"; List listEle = mapper.queryQcmJhyInspElements(sql); cro.setResult(listEle); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 根据炉号获取成分检验实绩信息 * * @param com * @return */ @SuppressWarnings("rawtypes") public CoreReturnObject GetElementsInfo1(List list) { try { String assay_no = ""; //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改 for (String assaynos : list) { if (assay_no.equals("")) { assay_no = "'" + assaynos + "'"; } else { assay_no = assay_no + ",'" + assaynos + "'"; } } String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, " + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, " + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 0 then to_char(a.chem_value, 'fm990.099') when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, " + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (" + assay_no + ") order by length(chem_name) desc"; List listEle = mapper.queryQcmJhyInspElements(sql); cro.setResult(listEle); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage()); SqlSession.rollback(); } return cro; } /** * 断面抽查 * * @param com * @return */ @SuppressWarnings("rawtypes") public CoreReturnObject upLGSize(String material_no,String length,String width,String thick) { try { String sql = "select * from ( select * from qcm_judge_surface t where t.material_no = '"+material_no+"' order by t.judge_time desc ) where rownum=1"; /*String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, " + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, " + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, " + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (" + assay_no + ") order by length(chem_name) desc";*/ QcmJudgeSurface listEle = mapper.queryQcmJudgeSurfaces(sql).get(0); //QcmJudgeSurface qjs = new QcmJudgeSurface(); /*listEle.setThick(thick); listEle.setWidth(width); listEle.setLength(length);*/ String sql2 = "update qcm_judge_surface set thick ='"+thick+"',width='"+width+"',length='"+length+"' where surface_id='"+listEle.getSurface_id()+"'"; mapper.upRZRemarks(sql2); cro.setResult(listEle); SqlSession.commit(); SqlSession.close(); } catch (Exception ex) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("断面抽查出错" + ex.getMessage()); } return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject upLGSize1(String material_no,String length,String width,String thick) { try { String sql = "select * from ( select * from qcm_judge_surface t where t.material_no = '"+material_no+"' order by t.judge_time desc ) where rownum=1"; /*String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, " + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, " + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, " + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (" + assay_no + ") order by length(chem_name) desc";*/ QcmJudgeSurface listEle = null; List list = mapper.queryQcmJudgeSurfaces(sql); if(list.size()==0){ throw new Exception(material_no+"未进行表面判定!不可以进行断面抽查操作!"); } else{ listEle = list.get(0); } if(listEle==null||listEle.getSurface_id()==null ||listEle.getSurface_id().equals("")){ throw new Exception(material_no+"未进行表面判定!不可以进行断面抽查操作!"); } //QcmJudgeSurface qjs = new QcmJudgeSurface(); /*listEle.setThick(thick); listEle.setWidth(width); listEle.setLength(length);*/ String sql2 = "update qcm_judge_surface set thick ='"+thick+"',width='"+width+"',length='"+length+"' where surface_id='"+listEle.getSurface_id()+"'"; mapper.upRZRemarks(sql2); cro.setResult(listEle); SqlSession.commit(); SqlSession.close(); } catch (Exception ex) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("断面抽查出错" + ex.getMessage()); } return cro; } /** * 修磨抽查备注 * * @param com * @return */ @SuppressWarnings("rawtypes") public CoreReturnObject upLGMemo(String material_no,String fix_remarks,String check_remarks,String pline_code,String username,String prod_type) { try { String sql = "select * from ( select * from QCM_JUDGE_ULTIMATE t where t.material_no = '"+material_no+"' order by t.judge_time desc ) where rownum=1"; String C_remarks; String F_remarks; JSONArray ttmaps = new JSONArray(); JSONArray ttmaps1 = new JSONArray(); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result ; JSONObject jo ; QcmJudgeUltimate listEle = mapper.queryQcmJudgeUltimates(sql).get(0); if(pline_code.equals("4001LGX")){ JSONObject jsobj3 = new JSONObject(); jsobj3.put("PROD_LINE", pline_code); jsobj3.put("SLAB_NO",material_no); jsobj3.put("PROD_TYPE",prod_type); jsobj3.put("REMARK","1"); jsobj3.put("P_NO_HOT_REASON", ""); jsobj3.put("P_NO_DIRECT_REASON",""); jsobj3.put("P_NO_CRAFT_STEELNAME",""); jsobj3.put("REMARK",""); jsobj3.put("P_REG_NM",username); jsobj3.put("SPOTING_REMARK", check_remarks); jsobj3.put("COPING_REMARK", fix_remarks); ttmaps1.add(jsobj3); result = QcmJhyElementsServiceImpl.callWebserviceASMX(url,"SlabDetailInput",JSON.toJSONString(ttmaps1)); jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("备注录入失败!"+jo.get("message").toString()); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("添加修磨备注"); qjog.setParams(material_no); qjog.setOperate_type(pline_code); //qjog.setMemo("抽查:"+check_remarks+";修磨:"); mapper.insertQcmJudgeOperateLog(qjog); } /*if("".equals(listEle.getCheck_remarks())||listEle.getCheck_remarks() ==null){ C_remarks = check_remarks; }else{ C_remarks = listEle.getCheck_remarks()+","+check_remarks; } if("".equals(listEle.getFix_remarks())||listEle.getFix_remarks()==null){ F_remarks = fix_remarks; }else{ F_remarks = listEle.getFix_remarks()+","+fix_remarks; }*/ String sql2 = "update QCM_JUDGE_ULTIMATE set CHECK_REMARKS ='"+check_remarks+"',FIX_REMARKS='"+fix_remarks+"' where utm_id='"+listEle.getUtm_id()+"'"; mapper.upRZRemarks(sql2); cro.setResult(listEle); } catch (Exception ex) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("修磨抽查备注添加出错" + ex.getMessage()); SqlSession.rollback(); } SqlSession.commit(); SqlSession.close(); return cro; } /** * 修磨抽查备注(待判界面) * * @param com * @return */ @SuppressWarnings("rawtypes") public CoreReturnObject upLGMemo1(String material_no,String fix_remarks,String check_remarks,String pline_code,String username,String prod_type) { try { JSONArray ttmaps = new JSONArray(); JSONArray ttmaps1 = new JSONArray(); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result ; JSONObject jo ; if(pline_code.equals("4001LGX")){ JSONObject jsobj3 = new JSONObject(); jsobj3.put("PROD_LINE", pline_code); jsobj3.put("SLAB_NO",material_no); jsobj3.put("PROD_TYPE",prod_type); jsobj3.put("REMARK","1"); jsobj3.put("P_NO_HOT_REASON", ""); jsobj3.put("P_NO_DIRECT_REASON",""); jsobj3.put("P_NO_CRAFT_STEELNAME",""); jsobj3.put("REMARK",""); jsobj3.put("P_REG_NM",username); jsobj3.put("SPOTING_REMARK", check_remarks); jsobj3.put("COPING_REMARK", fix_remarks); ttmaps1.add(jsobj3); result = QcmJhyElementsServiceImpl.callWebserviceASMX(url,"SlabDetailInput",JSON.toJSONString(ttmaps1)); jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("备注录入失败!"+jo.get("message").toString()); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("添加修磨备注"); qjog.setParams(material_no); qjog.setOperate_type(pline_code); //qjog.setMemo("抽查:"+check_remarks+";修磨:"); mapper.insertQcmJudgeOperateLog(qjog); } } catch (Exception ex) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("修磨抽查备注添加出错" + ex.getMessage()); SqlSession.rollback(); } SqlSession.commit(); SqlSession.close(); return cro; } /** * 根据炉号获取化验号 * * @param com * @return */ /*public List GetAssay_no(String heatno) { List listEle=new ArrayList(); try{ //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改 String sql = "select assay_no from (select * from (select a.assay_no, max(a.create_time) create_time " + " from QCM_JHY_INSP_ELEMENTS a where a.heat_no = '"+heatno+"' and assay_type = 'L' group by a.assay_no) order by create_time asc) "; //System.out.print(sql); List list = mapper.query(sql); if(list.size() ==0){ return listEle; } if(list.size() > 1){ listEle.add(list.get(0).get("ASSAY_NO").toString()); listEle.add(list.get(1).get("ASSAY_NO").toString()); } //System.out.print(sql); listEle.add(list.get(0).get("ASSAY_NO").toString()); }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取化验号出错"+ex.getMessage()); SqlSession.rollback(); } return listEle; }*/ private String getElement(String con){ StringBuffer sqlucomm = new StringBuffer(); String queryInfo = ""; sqlucomm.append("select * from (select s.* from (select b.assay_no,b.heat_no,b.pline_code "); List list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " "); } sqlucomm.append(",max(to_char(b.create_time,'yyyy-mm-dd hh24:mi:ss')) create_time from qcm_jhy_insp_elements b " + " where ASSay_TYPE = 'L' and " + con + " " + "group by b.assay_no,b.heat_no,b.pline_code)s) "); return sqlucomm.toString(); } private String getLgsqlss(String design_key, String con, String type, String grade_name) { StringBuffer sqlucomm = new StringBuffer(); List lists1 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '2'"); List lists2 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '3'"); String queryInfo = ""; String sql = ""; String condition = ""; if(grade_name != null && grade_name.startsWith("LQ")){ condition =" and a.specl_fl not in ('2','3')"; } sqlucomm.append("select case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' " + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then " + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' " + " end std_type "); List list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' "+condition+" group by a.SPECL_FL, a.STD_TYPE_NAME "); if ((lists1.size() == 0 || grade_name.startsWith("LQ")) && !design_key.contains("19B") && !design_key.contains("19HJGP")) { sqlucomm.append(" union all "); sqlucomm.append("select '内控标准(熔炼)' std_type "); for (HashMap list1 : list) { sqlucomm.append( " , MAX(decode(ELEMENT, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "' group by a.grade_name "); } if ((lists2.size() == 0 || grade_name.startsWith("LQ")) && !design_key.contains("19B") && !design_key.contains("19HJGP")) { sqlucomm.append(" union all "); sqlucomm.append("select '放行标准(熔炼)' std_type "); for (HashMap list1 : list) { sqlucomm.append( " , MAX(decode(chem_code, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' group by a.grade_desc "); } sqlucomm.append(" union all "); sqlucomm.append( " select * from (select s.* from (select b.assay_no "); for (HashMap list1 : list) { sqlucomm.append(" , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " "); } sqlucomm.append(" from qcm_jhy_insp_elements b " + " where ASSay_TYPE = 'L' and " + con + " " + "group by b.assay_no)s) "); /*sql = "select '内控标准(熔炼)' std_type "; List list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc "); for(HashMap list1 : list){ queryInfo = " , MAX(decode(ELEMENT, '"+list1.get("CHEM_CODE")+"', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) "+(list1.get("CHEM_CODE").equals("As")?"AS1":list1.get("CHEM_CODE"))+""; sql += queryInfo; } sql += " from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '"+grade_name+"' group by a.grade_name " +" union all "; sql += "select '放行标准(熔炼)' std_type "; for(HashMap list1 : list){ queryInfo = " , MAX(decode(chem_code, '"+list1.get("CHEM_CODE")+"', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) "+(list1.get("CHEM_CODE").equals("As")?"AS1":list1.get("CHEM_CODE"))+""; sql += queryInfo; } sql += " from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '"+grade_name+"' group by a.grade_desc " + "union all" + " select * from (select s.* from (select b.assay_no "; for(HashMap list1 : list){ queryInfo = " , max(decode(chem_code,'"+list1.get("CHEM_CODE")+"',(select case when b.chem_value > -1 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value,7) else '' || round(b.chem_value,7) end from dual))) "+(list1.get("CHEM_CODE").equals("As")?"AS1":list1.get("CHEM_CODE"))+""; sql += queryInfo; } sql += " from qcm_jhy_insp_elements b " + " where ASSay_TYPE = 'L' and " +con+" " + "group by b.assay_no)s) ";*/ return sqlucomm.toString(); } private String getCsqlss(String design_key, String con, String type) { StringBuffer sqlucomm = new StringBuffer(); String queryInfo = ""; sqlucomm.append("select case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' " + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then " + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' " + " end std_type "); List list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc "); for (HashMap list1 : list) { sqlucomm.append(" , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key = '" + design_key + "' and std_type_code = '" + type + "' group by a.SPECL_FL, a.STD_TYPE_NAME " + " union all " + " select * from (select s.* from (select b.assay_no "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from qcm_jhy_insp_elements b " + " where ASSay_TYPE = 'P' and " + con + " " + "group by b.assay_no)s) "); return sqlucomm.toString(); } //炼钢牌号改判 private String getLgSteelsql(String design_key, String con, String type, String grade_name) { String queryInfo = ""; String sql = ""; StringBuffer sqlucomm = new StringBuffer(); sqlucomm.append("select 'False' checkboxs, case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' " + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then " + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' " + " end std_type "); List list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append( " from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and SPECL_FL not in ('2','3') group by a.SPECL_FL, a.STD_TYPE_NAME "); sqlucomm.append(" union all "); sqlucomm.append("select 'False' checkboxs, '内控标准(熔炼)' std_type "); for (HashMap list1 : list) { sqlucomm.append( " , MAX(decode(ELEMENT, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "' group by a.grade_name "); sqlucomm.append(" union all "); sqlucomm.append("select 'False' checkboxs, '放行标准(熔炼)' std_type "); for (HashMap list1 : list) { sqlucomm.append( " , MAX(decode(chem_code, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' group by a.grade_desc "); sqlucomm.append(" union all " + " select * from (select case when rownum <= 1 then 'True' else 'False' end checkboxs,s.* from (select b.assay_no "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " "); } sqlucomm.append( " from qcm_jhy_insp_elements b " + " where ASSay_TYPE = 'L' and " + con + " " + "group by b.assay_no)s) "); return sqlucomm.toString(); } private String getLgsqls(String design_key, String con, String type, String grade_name) { List lists1 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '2'"); List lists2 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '3'"); String queryInfo = ""; String sql = ""; String condition = ""; if(grade_name != null && grade_name.startsWith("LQ")){ condition =" and a.specl_fl not in ('2','3')"; } StringBuffer sqlucomm = new StringBuffer(); sqlucomm.append("select 'False' checkboxs, case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' " + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then " + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' " + " end std_type "); List list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' "+condition+" group by a.SPECL_FL, a.STD_TYPE_NAME "); if (lists1.size() == 0 || grade_name.startsWith("LQ")) { sqlucomm.append(" union all "); sqlucomm.append("select 'False' checkboxs, '内控标准(熔炼)' std_type "); for (HashMap list1 : list) { sqlucomm.append( " , MAX(decode(ELEMENT, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "' group by a.grade_name "); } if (lists2.size() == 0 || grade_name.startsWith("LQ")) { sqlucomm.append(" union all "); sqlucomm.append("select 'False' checkboxs, '放行标准(熔炼)' std_type "); for (HashMap list1 : list) { sqlucomm.append( " , MAX(decode(chem_code, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' group by a.grade_desc "); } sqlucomm.append( "union all " + " select * from (select case when rownum <= 1 then 'True' else 'False' end checkboxs,s.* from (select b.assay_no "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " "); } sqlucomm.append( " from qcm_jhy_insp_elements b " + " where ASSay_TYPE = 'L' and " + con + " " + "group by b.assay_no)s) "); return sqlucomm.toString(); } private String getCsqls(String design_key, String con, String type) { String queryInfo = ""; StringBuffer sqlucomm = new StringBuffer(); sqlucomm.append( "select 'False' checkboxs, case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' " + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then " + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' " + " end std_type "); List list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key = '" + design_key + "' and std_type_code = '" + type + "' group by a.SPECL_FL, a.STD_TYPE_NAME " + " union all " + " select * from (select case when rownum <= 1 then 'True' else 'False' end checkboxs,s.* from (select b.assay_no "); for (HashMap list1 : list) { sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + ""); } sqlucomm.append(" from qcm_jhy_insp_elements b " + " where ASSay_TYPE = 'P' and " + con + " " + "group by b.assay_no)s) "); return sqlucomm.toString(); } public CoreReturnObject GetChemeInfo(String design_key, String smp_no) throws Exception { String con = "1=1"; String sql = ""; if (smp_no != null && !smp_no.equals("")) { con += " and smp_no like '%" + smp_no + "%'"; } try { sql = getCsqls(design_key, con, "C"); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); System.out.print(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject GetRChemeInfo(String design_key, String heatno, String grade_name) throws Exception { String con = "1=1"; String sql = ""; if (heatno != null && !heatno.equals("")) { con += " and heat_no = '" + heatno + "'"; } String result = ""; String[] orderno = design_key.split(","); for (String x : orderno) { if (result.equals("")) { result = "('" + x + "'"; } else { result = result + ",'" + x + "'"; } } if (result == "") { result = "('')"; } else { result = result + ")"; } try { sql = getLgsqls(result, con, "A", grade_name); System.out.print(sql); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject GetSteelChemInfo(String material_no, String prod_name, String prodline, String grade_name) throws Exception { List hashmaps = (List) getLgjudgeInfobyMaterial_no1("", "", "('" + material_no + "')", prodline, prod_name, "").getResult(); if (hashmaps.size() == 0) { return cro; } String con = "1=1"; String sql = ""; if (hashmaps.get(0).get("heat_no") != null && !hashmaps.get(0).get("heat_no").equals("")) { con += " and heat_no like '%" + hashmaps.get(0).get("heat_no").toString() + "%'"; } String design_key = (hashmaps.get(0).get("desing_key") == null ? "" : hashmaps.get(0).get("desing_key").toString()); String result = ""; String[] orderno = design_key.split(","); for (String x : orderno) { if (result.equals("")) { result = "('" + x + "'"; } else { result = result + ",'" + x + "'"; } } if (result == "") { result = "('')"; } else { result = result + ")"; } try { sql = getLgSteelsql(result, con, "A", grade_name); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); System.out.print(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject GetLgRChemeInfo(String design_key, String heatno, String grade_name) throws Exception { String con = "1=1"; String sql = ""; if (heatno != null && !heatno.equals("")) { con += " and heat_no = '" + heatno + "'"; } String result = ""; String[] orderno = design_key.split(","); for (String x : orderno) { if (result.equals("")) { result = "('" + x + "'"; } else { result = result + ",'" + x + "'"; } } if (result == "") { result = "('')"; } else { result = result + ")"; } try { sql = getLgsqls(result, con, "A", grade_name); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); System.out.print(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取成品成分判定实绩 */ public CoreReturnObject GetChemeResult(String cic) throws Exception { List list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'"); if (list.size() == 0) { return cro; } String design_key = list.get(0).getDesign_key(); String smp_no = list.get(0).getSmp_no(); String assay_nos = ""; String assay_no = list.get(0).getAssay_no_cp(); String con = "1=1"; String sql = ""; if (assay_nos != null) { String[] orderno = assay_no.split(","); for (String x : orderno) { if (assay_nos.equals("")) { assay_nos = "('" + x + "'"; } else { assay_nos = assay_nos + ",'" + x + "'"; } } if (assay_nos == "") { assay_nos = "('')"; } else { assay_nos = assay_nos + ")"; } } else { assay_nos = "('')"; } con += " and smp_no like '%" + smp_no + "%' and assay_no in " + assay_nos + ""; try { sql = getCsqlss(design_key, con, "C"); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject GetChemeOrd(String Cic_id){ String sql = "select * from qcm_judge_chemical t where t.cic_id like '"+Cic_id+"'"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list.get(0).get("DESIGN_KEY")); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 根据成分判定ID获取订单号、板坯号,再根据板坯号和订单号查询成分判定实绩 */ public CoreReturnObject GetChemeResultN(String cic,String slab_no) throws Exception { List list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'"); if (list.size() == 0) { return cro; } String design_key = list.get(0).getDesign_key(); String sql = "SELECT DECODE(SEQ.COMP_YN, 'Y', SEQ.COMP_CAL, SEQ.CHEM_CD) CHEM_CD,\r\n" + " OI.CHEM_MIN,\r\n" + " OI.CHEM_MAX,\r\n" + " INGR.CHEM_VAL\r\n" + " FROM TBB01_ORD_INGR OI, TBB02_WORK_INGR INGR, TBB01_SEQ_INGR SEQ\r\n" + " WHERE OI.CHEM_CD = SEQ.CHEM_CD\r\n" + " AND OI.CHEM_CD = INGR.CHEM_CD(+)\r\n" + " AND OI.DSN_KIND = '2'\r\n" + " AND INGR.CHARGE_NO(+) = SUBSTR('"+slab_no+"', 1, 10)\r\n" + " AND INGR.CHEM_SEQ(+) =\r\n" + " ZL_HOST_DCS01.FIB020_LST_INGR(SUBSTR('"+slab_no+"', 1, 10))\r\n" + " AND INGR.PROC_CD(+) = 'JJ'\r\n" + " AND OI.ORD_NO||OI.ORD_SEQ = '"+design_key+"'\r\n" + " ORDER BY SEQ.COMP_YN, SEQ.DISPLAY_SEQ\r\n" + ""; try { @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("成分查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取熔炼成分判定实绩 */ public CoreReturnObject GetRChemeResult(String cic) throws Exception { List list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'"); if (list.size() == 0) { return cro; } String design_key = list.get(0).getDesign_key(); String heat_no = list.get(0).getHeat_no(); String grade_name = list.get(0).getGrade_name() == null?"":list.get(0).getGrade_name().toString(); String con = "1=1"; String sql = ""; String result = ""; String assay_nos = ""; String assay_no = list.get(0).getAssay_no_rl(); if (design_key == null) { result = "('')"; } else { String[] orderno = design_key.split(","); for (String x : orderno) { if (result.equals("")) { result = "('" + x + "'"; } else { result = result + ",'" + x + "'"; } } if (result == "") { result = "('')"; } else { result = result + ")"; } } if (assay_nos != null) { String[] orderno = assay_no.split(","); for (String x : orderno) { if (assay_nos.equals("")) { assay_nos = "('" + x + "'"; } else { assay_nos = assay_nos + ",'" + x + "'"; } } if (assay_nos == "") { assay_nos = "('')"; } else { assay_nos = assay_nos + ")"; } } else { assay_nos = "('')"; } con += " and heat_no = '" + heat_no + "' and assay_no in " + assay_nos + ""; try { sql = getLgsqlss(result, con, "A", grade_name); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取熔炼成分判定实绩 电弧炉 */ public CoreReturnObject GetRChemeResultDHL(HashMap parmas) throws Exception { String design_key = parmas.get("DESIGN_KEY").toString(); String heat_no = parmas.get("HEAT_NO").toString(); String grade_name = parmas.get("STEEL_NAME").toString(); String con = "1=1"; String sql = ""; String result = ""; String assay_nos = ""; if (design_key == null) { result = "('')"; } else { result = "('"+design_key+"')"; } con += " and heat_no = '" + heat_no + "' "; try { sql = getLgsqlss(result, con, "A", grade_name); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取熔炼成分判定实绩 优特 */ public CoreReturnObject GetRChemeResultYT(HashMap parmas) throws Exception { try { String CIC_ID = parmas.get("CIC_ID").toString(); String DESIGN_KEY = parmas.get("DESIGN_KEY").toString(); String HEAT_NO = parmas.get("HEAT_NO").toString(); String sql = " select D.CHEM_CODE,D.STDMIN,D.STDMAX,E.CHEM_VALUE from qcm_ord_design_std_cic d,qcm_judge_chemical c,qcm_jhy_insp_elements e " +" where d.design_key = c.design_key " +" and c.assay_no_rl = e.assay_no " +" and c.heat_no = e.heat_no " +" and d.chem_code = e.chem_code " +" and d.std_type_code = 'A' " +" and d.specl_fl = '3' " +" and c.Pline_Code = 'YT1' " +" and d.design_key = '"+DESIGN_KEY+"' " +" and c.heat_no = '"+HEAT_NO+"' " +" and e.heat_no = '"+HEAT_NO+"' " +" and c.cic_id = '"+CIC_ID+"' " +" order by d.INDEX_SEQ "; @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取材质判定实绩 优特 */ public CoreReturnObject GetPChemeResultYT(HashMap parmas) throws Exception { try { String PHYSID = parmas.get("PHYSID").toString(); String DESIGN_KEY = parmas.get("DESIGN_KEY").toString(); String HEAT_NO = parmas.get("HEAT_NO").toString(); String sql = " select M.PHY_NAME_S,D.SMP_TYPE_NAME,M.STDMIN,M.STDMAX,M.PHY_CODE_S,R.VAL1,R.VAL2,R.VAL3,R.AVG_VAL,R.IS_PASS " +" from qcm_judge_physical_utm_d t,qcm_judge_physical_result r,QCM_ORD_DESIGN_SAMPLE_M m, " +" qcm_jhy_sample_r_ord o,qcm_jhy_sample_consign_d d " +" where t.phy_id = r.phy_id " +" and t.smp_no = r.smp_no " +" and t.batch_no = r.batch_no " +" and t.Design_Key = m.design_key " +" and t.phy_id = o.phy_id " +" and r.phy_id = o.phy_id " +" and o.smp_no = d.smp_no " +" and t.smp_no = d.smp_no " +" and r.smp_no = d.smp_no " +" and o.design_key = m.design_key " +" and r.Phy_Code_s = m.phy_code_s " +" and t.pic_id = '"+PHYSID+"' " +" group by m.Phy_Name_s,d.smp_type_name,m.STDMIN,m.Stdmax,m.Phy_Code_s,r.Val1,r.val2,r.val3,r.avg_val,r.is_pass "; @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取公差表面包装切边重量等 优特 */ public CoreReturnObject GetXChemeResultYT(HashMap parmas) throws Exception { try { String SIZEID = parmas.get("SIZEID").toString(); String SURFACEID = parmas.get("SURFACEID").toString(); //String DESIGN_KEY = parmas.get("DESIGN_KEY").toString(); //String HEAT_NO = parmas.get("HEAT_NO").toString(); String MATERIAL_NO = parmas.get("MATERIAL_NO").toString(); String sql = " select '包装' t_name,'' t_min,'' t_max, t.PK_RLT_DESC T_VALUE,'' T_VALUE1,'' RMK from MES_PACK_RESULT@LINK_YTG t " +" where t.COIL_NO = '"+MATERIAL_NO+"' UNION ALL " +" select s.bias_name t_name,s.std_result_min t_min,s.std_result_max t_max,d.Judge_Val T_VALUE, " +" (select PASS_EXIT_THICK from MES_RCM_D_PASS@link_ytg where COIL_NO =t.material_no and rownum = 1) T_VALUE1,'' RMK " +" from qcm_judge_measure t, QCM_ORD_DESIGN_STD_SIC s, qcm_judge_measure_d d " +" where t.sic_id = d.sic_id and t.design_key = s.design_key and s.bias_code = d.sic_item_code " +" and s.use_code = 'YT1' and t.Sic_Id = '"+SIZEID+"' union ALL " +" select t.FLAW_DESC t_name, " +" case when FLAW_AREA = 'U' THEN '上表面' when FLAW_AREA = 'D' THEN '下表面' WHEN FLAW_AREA = 'U' THEN '边部' ELSE '' end t_min, " +" '' t_max, case when IS_REPAIR = '0' or IS_REPAIR = '待修复' then '待修复' when IS_REPAIR = '2' or IS_REPAIR = '未冷矫' then " +" '未冷矫' when IS_REPAIR = '3' or IS_REPAIR = '已冷矫' then '已冷矫' else '已修复' end T_VALUE ,'' T_VALUE1,memo RMK " +" from QCM_JUDGE_SURFACE_FLAW t where t.SURFACE_ID = '"+SURFACEID+"' UNION ALL " +" SELECT '内径' t_name,'' t_min,'' t_max,TO_CHAR(t.DIAMETER_INN) T_VALUE,'' T_VALUE1,'' RMK FROM YDM_PRODUCT_DETAIL@LINK_YTG t " +" WHERE T.COILNO = '"+MATERIAL_NO+"' union all " +" SELECT '切边' t_name,'' t_min,'' t_max,decode(soi.IS_SIDE_CUTE,'0','否','1','是','否') T_VALUE,'' T_VALUE1,'' RMK " +" FROM SLM_ORDER_INFO@LINK_YTG soi,YDM_PRODUCT_DETAIL@LINK_YTG t WHERE soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ = t.ORDERNO " +" AND t.COILNO = '"+MATERIAL_NO+"' union all " +" select '外观' t_name,LEVEL_DESC t_min,'' t_max,sur.LEVEL_DESC T_VALUE,LEVEL_DESC T_VALUE1,'' RMK from QCM_JUDGE_SURFACE@LINK_YTG sur " +" where sur.MATERIAL_NO = '"+MATERIAL_NO+"' union all " +" SELECT '重量' t_name ,'' t_min,'' t_max,TO_CHAR(t.FACTWEIGHT) T_VALUE,'' T_VALUE1,'' RMK FROM YDM_PRODUCT_DETAIL@LINK_YTG t " +" WHERE T.COILNO = '"+MATERIAL_NO+"' "; @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject GetElement(String begintime,String endtime,String heat_no){ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String con = "1=1"; if(!SqlJoint.IsNullOrSpace(heat_no)){ con += " and heat_no = '"+heat_no+"'"; } if(!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)){ con += " and to_date(to_char(create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')"; } try { String sql = getElement(con); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); System.out.print(sql); cro.setResult(hashmap); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 成分修改H和O * 1、校验能否进行修改 * 2、新增日志记录 */ @SuppressWarnings("unchecked") public CoreReturnObject UpdateChemeInfo1(ArrayList list)throws Exception { String result = ""; try { if(CollectionUtils.isEmpty(list) || list.size() != 5) { throw new Exception("请输入需要正确的成分信息!"); } String prod_line = list.get(2).toString(); //1、校验能否进行修改 JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("ASSAYNO",list.get(0).toString()); if(!list.get(1).toString().equals("")){ jsobj1.put("H",list.get(1).toString()); } if(!list.get(2).toString().equals("")){ jsobj1.put("O",list.get(2).toString()); } jsobj1.put("OPTMAN",list.get(3).toString()); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; result = callWebserviceASMX(url,"doChemUpdate",JSON.toJSONString(jsobj1)); JSONObject jo = JSONObject.parseObject(result); if(!"0".equals(jo.get("code").toString())){ throw new Exception(jo.get("message").toString()); } //2、修改成分实绩信息表炉号和检验号 QcmJhyElementsEditLog qcmJhyElementsEditLog = new QcmJhyElementsEditLog(); qcmJhyElementsEditLog.setB_assay_no(list.get(0).toString()); qcmJhyElementsEditLog.setH(list.get(1).toString()); qcmJhyElementsEditLog.setO(list.get(2).toString()); qcmJhyElementsEditLog.setCreate_name(list.get(3).toString()); //3、新增日志记录 mapper.insertQcmJhyElementsEditLog(qcmJhyElementsEditLog); //4轧钢熔炼成分自动判定 String sql = "select * from qcm_judge_locking a where a.heat_no = '"+list.get(4).toString()+"' and a.lock_type_code = 'C' AND A.UNLOCK_TYPE_CODE IS NULL AND A.PLINE_CODE IN ('ZB1','HB1') AND A.LOCK_ID LIKE 'R%'"; List qcj = mapper.queryQCMJudgeLockings(sql); for(QCMJudgeLocking qjl :qcj){ qjl.setUnlock_type_code("9"); qjl.setUnlock_type_desc("解除"); qjl.setUnlock_memo("成分信息修改"); qjl.setLock_type_code("C"); qjl.setUnlock_name(list.get(3).toString()); mapper.UpdateQcmJudgeLocking3(qjl); ZjResultAll zra = new ZjResultAll(); zra.setBilletid(qjl.getMaterial_no().toString()); zra.setR_cic_is_lock("0"); zra.setR_chemid(""); zra.setR_chemresult("0"); zra.setR_chemresult_desc(""); mapper.UpdateJugeResultB(zra); //自动判定 QcmJudgeLog qjlt = new QcmJudgeLog(); qjlt.setJudge_type("R"); qjlt.setMaterial_no(qjl.getMaterial_no().toString()); qjlt.setCreate_name("system"); qjlt.setProd_line(qjl.getPline_code()); mapper.insertQcmJudgeLog(qjlt); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(list.get(3).toString()); qjog.setOperate_type("成分修改"); qjog.setParams(list.get(0).toString()); qjog.setMemo(result); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); cro.setV_errCode(1); } catch (Exception ex) { SqlSession.rollback(); SqlSession.close(); SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(list.get(3).toString()); qjog.setOperate_type("成分修改"); qjog.setParams(list.get(0).toString()); qjog.setMemo(result); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); cro.setV_errCode(-1); cro.setV_errMsg("成分信息修改失败!" + ex.getMessage()); logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.UpdateChemeInfo:【" + list.toString() + "】" + ex); } SqlSession.close(); return cro; } /** * 成分修改炉号和化验号 * 1、校验能否进行修改 * 2、修改成分实绩信息表炉号和检验号 * 3、新增日志记录 */ @SuppressWarnings("unchecked") public CoreReturnObject UpdateChemeInfo(ArrayList list)throws Exception { try { if(CollectionUtils.isEmpty(list) || list.size() != 6) { throw new Exception("请输入需要正确的炉号和化验号信息!"); } String prod_line = list.get(2).toString(); //1、校验能否进行修改 if(list.get(2).toString().equals("LG1")){ prod_line = "4001LG0"; }else if(list.get(2).toString().equals("LG2")){ prod_line = "4001LGX"; } JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("HEAT_NO",list.get(0).toString()); jsobj1.put("ASSAYNO",list.get(1).toString()); jsobj1.put("PROD_LINE",prod_line); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = callWebserviceASMX(url,"GetIsJudgeInfo",JSON.toJSONString(jsobj1)); JSONObject jo = JSONObject.parseObject(result); if(!"0".equals(jo.get("count").toString())){ throw new Exception("不能进行修改,成分已经被用来判定!"); } //2、修改成分实绩信息表炉号和检验号 QcmJhyElementsEditLog qcmJhyElementsEditLog = new QcmJhyElementsEditLog(); qcmJhyElementsEditLog.setB_heat_no(list.get(0).toString()); qcmJhyElementsEditLog.setB_assay_no(list.get(1).toString()); qcmJhyElementsEditLog.setPline_code(list.get(2).toString()); qcmJhyElementsEditLog.setA_heat_no(list.get(3).toString()); qcmJhyElementsEditLog.setA_assay_no(list.get(4).toString()); qcmJhyElementsEditLog.setCreate_name(list.get(5).toString()); mapper.updateQcmJhyInspElements(qcmJhyElementsEditLog); //3、新增日志记录 mapper.insertQcmJhyElementsEditLog(qcmJhyElementsEditLog); SqlSession.commit(); cro.setV_errCode(1); } catch (Exception ex) { SqlSession.rollback(); cro.setV_errCode(-1); cro.setV_errMsg("成分修改炉号和化验号失败!" + ex.getMessage()); logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.UpdateChemeInfo:【" + list.toString() + "】" + ex); } SqlSession.close(); return cro; } public CoreReturnObject GetLgRChemeResult(String cic) throws Exception { if (cic.equals("")) { return cro; } List list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'"); if (list.size() == 0) { return cro; } String result = ""; String assay_nos = ""; String design_key = list.get(0).getDesign_key(); String assay_no = list.get(0).getAssay_no_rl(); if (design_key != null) { String[] orderno = design_key.split(","); for (String x : orderno) { if (result.equals("")) { result = "('" + x + "'"; } else { result = result + ",'" + x + "'"; } } if (result == "") { result = "('')"; } else { result = result + ")"; } } else { result = "('')"; } if (assay_nos != null) { String[] orderno = assay_no.split(","); for (String x : orderno) { if (assay_nos.equals("")) { assay_nos = "('" + x + "'"; } else { assay_nos = assay_nos + ",'" + x + "'"; } } if (assay_nos == "") { assay_nos = "('')"; } else { assay_nos = assay_nos + ")"; } } else { assay_nos = "('')"; } String heat_no = list.get(0).getHeat_no(); String grade_name = list.get(0).getGrade_name(); String con = "1=1"; String sql = ""; con += " and heat_no = '" + heat_no + "'";// and assay_no in " + assay_nos + ""; try { sql = getLgsqlss(result, con, "A", grade_name); @SuppressWarnings("rawtypes") List hashmap = mapper.query(sql); System.out.print(sql); cro.setResult(hashmap); cro.setV_errMsg(assay_nos); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取成分异常元素 */ public CoreReturnObject GetCheme(String cic) throws Exception { try { List list = mapper.queryQcmJudgeUltimateReason("select * from QCM_JUDGE_ULTIMATE_REASON where RECORD_ID = '" + cic + "'"); cro.setResult(list); } catch (Exception ex) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findFlawData(){ try { String sql =""; sql = "SELECT * FROM SCM_BASE_INFO T WHERE T.SORT_CODE = '4124' AND T.ID_ LIKE '4124LG0%'" + " AND T.ID_ NOT IN ('4124LG0Z44', '4124LG0Z01')"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findMemo(){ try { String sql =""; sql = "SELECT * FROM SCM_BASE_INFO T WHERE T.SORT_CODE = '4130' "; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取备注代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /* * @desc coiljudge_status_call * @param pline 产线'RZ1' 'SZ1' 'LT1' * @param pcoilno 钢卷号 * @param chemrs 成分判定结果 '1'合格 '2'不合格 * @param qltyrs 材质判定结果 '1'合格 '2'不合格 * @param sizers 尺寸判定结果 '1'合格 '2'不合格 * @param exshrs 外观判定结果 '1'合格 '2'不合格,'3'次品 '4'废品 * @param totrs 综合判定 * @param fb_yn 是否封闭 * @param fb_reason 封闭原因 * @return void * * @date 2022/8/24 17:22 * @author Ljy */ public void coiljudge_status_call( String pline , String pcoilno , String chemrs , String qltyrs , String sizers , String exshrs , String totrs , String fb_yn , String fb_reason,String sf_lv) throws java.lang.Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call COILJUDGE_STATUSNEW(?,?,?,?,?,?,?,?,?,?,?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, StringUtils.isBlank(pline) ? "" : pline); cstmt.setString(2, StringUtils.isBlank(pcoilno) ? "" : pcoilno); cstmt.setString(3, StringUtils.isBlank(chemrs) ? "" : chemrs); cstmt.setString(4, StringUtils.isBlank(qltyrs) ? "" : qltyrs); cstmt.setString(5, StringUtils.isBlank(sizers) ? "" : sizers); cstmt.setString(6, StringUtils.isBlank(exshrs) ? "" : exshrs); cstmt.setString(7, StringUtils.isBlank(totrs) ? "" : totrs); cstmt.setString(8, StringUtils.isBlank(fb_yn) ? "" : fb_yn); cstmt.setString(9, StringUtils.isBlank(fb_reason) ? "" : fb_reason); cstmt.setString(10, StringUtils.isBlank(sf_lv) ? "" : sf_lv); cstmt.registerOutParameter(11, java.sql.Types.INTEGER); cstmt.registerOutParameter(12, java.sql.Types.VARCHAR); cstmt.execute(); if(cstmt.getString(11) != null){ if(cstmt.getString(11).equals("2")){ throw new java.lang.Exception(cstmt.getString(12).toString()); } } } catch (Exception e) { throw new Exception(e.getMessage()); } finally { try { if (rs != null) { rs.close(); } } catch (Exception e) { throw new Exception(e.getMessage()); } try { if (cstmt != null) { cstmt.close(); } } catch (Exception e) { throw new Exception(e.getMessage()); } } } }