package QCM.QCM03.QCM0303; import CoreFS.SA01.CoreIComponent; import CoreFS.SA06.CoreReturnObject; import QCM.COMMUNAL.QCM02.SqlJoint; import QCM.COMMUNAL.VO.*; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicHeader; import org.apache.http.protocol.HTTP; import org.apache.ibatis.session.SqlSession; import org.apache.log4j.Logger; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; public class QcmJudgeMeasureServiceImpl extends CoreIComponent{ CoreReturnObject cro = new CoreReturnObject(); ResultSet rs = null; SqlSession SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class); 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; } Logger logger = Logger.getLogger(this.getClass().getName()); /** * 查询待判信息 (外观、公差、探伤) 查询轧批号与计划号 生产提供sql B表面 M公差 T探伤 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialWebJ(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) { String swhere = " where 1=1 "; String swhere1 = " 1=1"; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and PRODUCETIME >= '"+begintime+"',<= '"+endtime+"',')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc swhere += " and psc_desc like '%"+Psc_desc+"%'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = "select batchno, plan_no from (select SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no,T.OLD_SAMPL_NO material_no, " + " T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc,to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no" + " and t.coil_stat = '2' and "+swhere1+ "" + " union all select SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno,t1.ROLL_MANA_NO plan_no,T.OLD_SAMPL_NO material_no, " + " T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc, '' psc_desc,to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no" + " and t.coil_stat = '2' and "+swhere1+"" + " union all select SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno,t1.CAL_NO plan_no,T.OLD_SAMPL_NO material_no, " + " T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc,to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME from c_tbl02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no" + " and t.coil_stat = '2' and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc "; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialWebBS(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) { String swhere = " where 1=1 "; String swhere1 = " 1=1"; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere1 += " and to_date(to_char(maketime,'yyyy-mm-dd'),'yyyy-mm-dd') >= to_date('"+begintime+"','yyyy-mm-dd') "; swhere1 += " and to_date(to_char(maketime,'yyyy-mm-dd'),'yyyy-mm-dd') <= to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc swhere += " and psc_desc like '%"+Psc_desc+"%'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = "select batchno, plan_no from (select batchno,a.taskno plan_no,a.ORDERID design_key,a.maketime PRODUCETIME,'' PSC_DESC from zyhb_plandetailofplate@xgcx a, zj_result_all@xgcx b " + " where a.SLABNO = b.BILLETID and a.SLABNO not in (select BILLETID from kch_turnofflist@xgcx " + " where STORAGESTATUS = '501601' and BILLETID like 'H%') and "+swhere1+" " + " union all " + " select a.batchno ,a.taskno plan_no,a.ORDERNO design_key,a.maketime PRODUCETIME,'' PSC_DESC from mb_plandetailofplate@xgcx a,zj_result_all@xgcx b where a.PRODUCTNO = b.BILLETID and a.PRODUCTNO not in " + " (select BILLETID from kcz_turnofflist@xgcx where STORAGESTATUS = '501601' and BILLETID like 'Z%') " + " and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialWebB(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) { String swhere = " where 1=1 "; String swhere1 = " 1=1"; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc swhere += " and psc_desc like '%"+Psc_desc+"%'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = "select batchno, plan_no from (select a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, " + " a.BILLETID material_no, ALLOTORDERFORM design_key, '' psc_desc, PRODUCETIME from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where a.STORAGESTATUS = '501602' and "+swhere1+" " + " union all " + " select ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key, '' psc_desc, " + " PTIME PRODUCETIME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where a.STORAGESTATUS = '501602' and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialWebX(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) { String swhere = " where 1=1 "; String swhere1 = " 1=1"; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc swhere += " and psc_desc like '%"+Psc_desc+"%'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = "select batchno, plan_no from (select ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key, " + " '' psc_desc, PTIME PRODUCETIME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where a.STORAGESTATUS = '501602' and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询待判明细信息 根据轧批号、计划号查询物料号 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsJ2(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge,String steelname ) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '" + bbatchno + "'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '" + ebatchno + "'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%" + design_key + "%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%" + material_no + "%'"; } if(!SqlJoint.IsNullOrSpace(steelname)){ swhere += " and steel_name = '" + steelname + "'"; } // if (isjudge.equals("是")){ // swhere1 += " and b.JUDGERESULT <> '0'"; // } // else{ // swhere1 += " and b.JUDGERESULT = '0'"; // } if ("R".equals(type)) { swhere1 += " and b.r_chemresult = '0'"; } if ("M".equals(type)) { if (isjudge.equals("是")) { swhere1 += " and b.sizeresult <> '0'"; } else { swhere1 += " and b.sizeresult = '0'"; } } if ("B".equals(type)) { if (isjudge.equals("是")) { swhere1 += " and b.surfaceresult <> '0'"; } else { swhere1 += " and b.surfaceresult = '0'"; } } if ("MB".equals(type)) { if (isjudge.equals("是")) { swhere1 += " and (b.surfaceresult <> '0' and b.sizeresult <> '0')"; } else if(isjudge.equals("否")){ swhere1 += " and (b.surfaceresult = '0' or b.sizeresult = '0')"; }else{ swhere1 += ""; } } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = ""; if (prodline.equals("热连轧")) { sql = "select *\n" + " from (select t.slab_no board_no,\n" + " substr(t.slab_no, 1, 10) heat_no,\n"+ "T.fb_yn,\n"+ "T.fb_reason,\n"+ "decode(b.surfaceresult, '0', '未判定', '已判定') EXTSHAPE_DEC_GRD,\n" + " decode(b.sizeresult, '0', '未判定', '已判定') SIZE_DEC_RST,"+ "'RZ1' pline_code,\n" + " substr(t.old_sampl_no, 1, 10) batchno,\n" + " t1.roll_mana_no plan_no,\n" + " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n"+ " t.old_sampl_no material_no,\n" + " T.CPCJ_REMARK,\n" + " T.SPM_RMK,\n" + " T.CJ_REMARK,\n" + " T.DEAL_REMARK," + " t.ord_no || t.ord_seq design_key,\n" + " (select psc\n" + " from tbb01_ord_prod f\n" + " where f.ord_no = t.ord_no\n" + " and rownum = 1) psc,\n" + " '' psc_desc,\n" + " t.prodnm_cd delivery_state_desc,\n" + " t.instr_coil_thk thick,\n" + " t.instr_coil_wth width,\n" + " t.instr_coil_len length,\n" + " t.act_wgt / 1000 weight,\n" + " to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') producetime,\n" + " b.sizeid,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" + " t.spec_stl_grd steel_code,\n" + " t.spec_stl_grd steel_name,\n" + " t.spec_abbsym std_code,\n" + " t.spec_abbsym std_name,\n" + " t.ord_use_cd prod_code,\n" + " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" + " t.instr_coil_thk plan,\n" + " t.instr_coil_wth plan_2,\n" + " t.coil_thk val2,\n" + " t.coil_wth val2_2,\n" + " t3.std_min_val,\n" + " t3.std_max_val,\n" + " t.dcs_thk val,\n" + " t.dcs_wth val_2,"+ "t3.std_result_min,\n"+ "t3.std_result_max,"+ "t3.std_result_min_2,"+ "t3.std_result_max_2,"+ "t3.bias_name, "+ "t3.bias_name_2, "+ " t3.std_min_val_k,\n" + " t3.std_max_val_k,\n" + " t3.std_min_val_n,\n" + " t3.std_max_val_n,\n" + " t3.std_min_val_2,\n" + " t3.std_max_val_2,\n" + " t3.std_min_val_k_2,\n" + " t3.std_max_val_k_2,\n" + " t3.std_min_val_n_2,\n" + " t3.std_max_val_n_2,\n" + " t4.south_thick_val thick_val1,\n" + " t4.south_h_val h_val1,\n" + " t4.middle_h_val m_val1,\n" + " t4.north_h_val r_val1,\n" + " t4.middle_thick_val thick_val2,\n" + " t4.south_m_val h_val2,\n" + " t4.middle_m_val m_val2,\n" + " t4.north_m_val r_val2,\n" + " t4.north_thick_val thick_val3,\n" + " t4.south_r_val h_val3,\n" + " t4.middle_r_val m_val3,\n" + " t4.north_r_val r_val3,\n" + " t3.bias_code, \n" + " t3.bias_code_2 \n" + " from tbh02_coil_comm t,\n" + " tbf02_spec_mill t1,\n" + " qcm_judge_coil_result b,\n" + " tbg02_slab_comm t2,\n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_result_min) std_result_min,\n" + " max(std_result_max) std_result_max,\n" + " max(std_result_min_2) std_result_min_2,\n" + " max(std_result_max_2) std_result_max_2,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(std_min_val_2) std_min_val_2,\n" + " max(std_max_val_2) std_max_val_2,\n" + " max(std_min_val_k_2) std_min_val_k_2,\n" + " max(std_max_val_k_2) std_max_val_k_2,\n" + " max(std_min_val_n_2) std_min_val_n_2,\n" + " max(std_max_val_n_2) std_max_val_n_2,\n" + " design_key,\n" + " max(bias_code_1) bias_code,\n" + " max(bias_code_2) bias_code_2,\n" + " max(bias_name_1) bias_name,"+ " max(bias_name_2)bias_name_2"+ " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_min\n" + " end std_result_min,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_max\n" + " end std_result_max,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_max\n" + " end std_result_max_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_min\n" + " end std_result_min_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_k_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_k_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_n_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_n_2,\n" + " t.design_key,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then \n" + " t.bias_code \n" + " end bias_code_1,\n" + " case \n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_code\n" + " end bias_code_2,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then \n" + " t.bias_name \n" + " end bias_name_1,\n" + " case \n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_name\n" + " end bias_name_2\n" + " from qcm_ord_design_std_sic t where t.use_code = 'H') t\n" + " group by t.design_key) t3,\n" + " qcm_judge_measure t4\n" + " where t.coil_no = t1.coil_no(+)\n" + " and t.ord_no || t.ord_seq = t3.design_key(+)\n" + " and b.sizeid = t4.sic_id(+)\n" + " and t.slab_no = t2.slab_no\n" + " and t.old_sampl_no = b.coil_no\n" + " and t.coil_stat < '3'\n" + " " + swhere1 + ")\n" + " where 1= 1 " + swhere + "\n" + " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n"; }else if(prodline.equals("酸轧")){ sql = "select *\n" + " from (select t.slab_no board_no,\n" + " substr(t.slab_no, 1, 10) heat_no,\n" + " substr(t.old_sampl_no, 1, 9) batchno,\n" + " t1.roll_mana_no plan_no,\n" + " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n"+ " t.old_sampl_no material_no,\n" + " t.ord_no || t.ord_seq design_key,\n" + " (select psc\n" + " from tbb01_ord_prod f\n" + " where f.ord_no = t.ord_no\n" + " and rownum = 1) psc,\n" + " '' psc_desc,\n" + " t.prodnm_cd delivery_state_desc,\n" + " t.instr_coil_thk thick,\n" + " t.instr_coil_wth width,\n" + " t.instr_coil_len length,\n" + " t.act_wgt / 1000 weight,\n" + " to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') producetime,\n" + " b.sizeid,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" + " t.spec_stl_grd steel_code,\n" + " t.spec_stl_grd steel_name,\n" + " t.spec_abbsym std_code,\n" + " t.spec_abbsym std_name,\n" + " t.ord_use_cd prod_code,\n" + " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" + " t.instr_coil_thk plan,\n" + " t.instr_coil_wth plan_2,\n" + " t.coil_thk val2,\n" + " t.coil_wth val2_2,\n" + " t3.std_min_val,\n" + " t3.std_max_val,\n" + "t3.std_result_min,\n"+ "t3.std_result_max,"+ "t3.std_result_min_2,"+ "t3.std_result_max_2,"+ " t3.std_min_val_k,\n" + " t3.std_max_val_k,\n" + " t3.std_min_val_n,\n" + " t3.std_max_val_n,\n" + " t3.std_min_val_2,\n" + " t3.std_max_val_2,\n" + " t3.std_min_val_k_2,\n" + " t3.std_max_val_k_2,\n" + " t3.std_min_val_n_2,\n" + " t3.std_max_val_n_2,\n" + " t4.south_thick_val thick_val1,\n" + " t4.south_h_val h_val1,\n" + " t4.middle_h_val m_val1,\n" + " t4.north_h_val r_val1,\n" + " t4.middle_thick_val thick_val2,\n" + " t4.south_m_val h_val2,\n" + " t4.middle_m_val m_val2,\n" + " t4.north_m_val r_val2,\n" + " t4.north_thick_val thick_val3,\n" + " t4.south_r_val h_val3,\n" + " t4.middle_r_val m_val3,\n" + " t4.north_r_val r_val3,\n" + " t3.bias_code, \n" + " t3.bias_code_2 ,\n" + " t3.bias_name, \n" + " t3.bias_name_2 \n" + " from c_tbl02_coil_comm t,\n" + " tbf02_spec_mill t1,\n" + " qcm_judge_coil_result b,\n" + " tbg02_slab_comm t2,\n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_result_min) std_result_min,\n" + " max(std_result_max) std_result_max,\n" + " max(std_result_min_2) std_result_min_2,\n" + " max(std_result_max_2) std_result_max_2,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(std_min_val_2) std_min_val_2,\n" + " max(std_max_val_2) std_max_val_2,\n" + " max(std_min_val_k_2) std_min_val_k_2,\n" + " max(std_max_val_k_2) std_max_val_k_2,\n" + " max(std_min_val_n_2) std_min_val_n_2,\n" + " max(std_max_val_n_2) std_max_val_n_2,\n" + " design_key,\n" + " max(bias_code_1) bias_code,\n" + " max(bias_code_2) bias_code_2,\n" + " max(bias_name_1) bias_name,\n" + " max(bias_name_2) bias_name_2\n" + " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_min\n" + " end std_result_min,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_max\n" + " end std_result_max,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_max\n" + " end std_result_max_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_min\n" + " end std_result_min_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_k_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_k_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_n_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_n_2,\n" + " t.design_key,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then \n" + " t.bias_code \n" + " end bias_code_1,\n" + " case \n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_code\n" + " end bias_code_2,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then \n" + " t.bias_name \n" + " end bias_name_1,\n" + " case \n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_name\n" + " end bias_name_2\n" + " from qcm_ord_design_std_sic t where t.use_code = 'C') t\n" + " group by t.design_key) t3,\n" + " qcm_judge_measure t4\n" + " where t.coil_no = t1.coil_no(+)\n" + " and t.ord_no || t.ord_seq = t3.design_key(+)\n" + " and b.sizeid = t4.sic_id(+)\n" + " and t.slab_no = t2.slab_no\n" + " and t.old_sampl_no = b.coil_no\n" + " and t.coil_stat < '3'\n" + " " + swhere1 + ")\n" + " where 1= 1 " + swhere + "\n" + " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n"; }else if(prodline.equals("连退")){ sql = "select *\n" + " from (select t.slab_no board_no,\n" + " substr(t.slab_no, 1, 10) heat_no,\n" + " substr(t.old_sampl_no, 1, 9) batchno,\n" + " t1.roll_mana_no plan_no,\n" + " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n"+ " t.old_sampl_no material_no,\n" + " t.ord_no || t.ord_seq design_key,\n" + " (select psc\n" + " from tbb01_ord_prod f\n" + " where f.ord_no = t.ord_no\n" + " and rownum = 1) psc,\n" + " '' psc_desc,\n" + " t.prodnm_cd delivery_state_desc,\n" + " t.instr_coil_thk thick,\n" + " t.instr_coil_wth width,\n" + " t.instr_coil_len length,\n" + " t.act_wgt / 1000 weight,\n" + " to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') producetime,\n" + " b.sizeid,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" + " t.spec_stl_grd steel_code,\n" + " t.spec_stl_grd steel_name,\n" + " t.spec_abbsym std_code,\n" + " t.spec_abbsym std_name,\n" + " t.ord_use_cd prod_code,\n" + " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" + " t.instr_coil_thk plan,\n" + " t.instr_coil_wth plan_2,\n" + " t.coil_thk val2,\n" + " t.coil_wth val2_2,\n" + " t3.std_min_val,\n" + " t3.std_max_val,\n" + "t3.std_result_min,\n"+ "t3.std_result_max,"+ "t3.std_result_min_2,"+ "t3.std_result_max_2,"+ " t3.std_min_val_k,\n" + " t3.std_max_val_k,\n" + " t3.std_min_val_n,\n" + " t3.std_max_val_n,\n" + " t3.std_min_val_2,\n" + " t3.std_max_val_2,\n" + " t3.std_min_val_k_2,\n" + " t3.std_max_val_k_2,\n" + " t3.std_min_val_n_2,\n" + " t3.std_max_val_n_2,\n" + " t4.south_thick_val thick_val1,\n" + " t4.south_h_val h_val1,\n" + " t4.middle_h_val m_val1,\n" + " t4.north_h_val r_val1,\n" + " t4.middle_thick_val thick_val2,\n" + " t4.south_m_val h_val2,\n" + " t4.middle_m_val m_val2,\n" + " t4.north_m_val r_val2,\n" + " t4.north_thick_val thick_val3,\n" + " t4.south_r_val h_val3,\n" + " t4.middle_r_val m_val3,\n" + " t4.north_r_val r_val3,\n" + " t3.bias_code, \n" + " t3.bias_code_2, \n" + " t3.bias_name, \n" + " t3.bias_name_2 \n" + " from c_tbc02_coil_comm t,\n" + " tbf02_spec_mill t1,\n" + " qcm_judge_coil_result b,\n" + " tbg02_slab_comm t2,\n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_result_min) std_result_min,\n" + " max(std_result_max) std_result_max,\n" + " max(std_result_min_2) std_result_min_2,\n" + " max(std_result_max_2) std_result_max_2,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(std_min_val_2) std_min_val_2,\n" + " max(std_max_val_2) std_max_val_2,\n" + " max(std_min_val_k_2) std_min_val_k_2,\n" + " max(std_max_val_k_2) std_max_val_k_2,\n" + " max(std_min_val_n_2) std_min_val_n_2,\n" + " max(std_max_val_n_2) std_max_val_n_2,\n" + " design_key,\n" + " max(bias_code_1) bias_code,\n" + " max(bias_code_2) bias_code_2,\n" + " max(bias_name_1) bias_name,\n" + " max(bias_name_2) bias_name_2\n" + " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_min\n" + " end std_result_min,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_max\n" + " end std_result_max,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_max\n" + " end std_result_max_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_min\n" + " end std_result_min_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_k_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_k_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_n_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_n_2,\n" + " t.design_key,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then \n" + " t.bias_code \n" + " end bias_code_1,\n" + " case \n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_code\n" + " end bias_code_2,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then \n" + " t.bias_name \n" + " end bias_name_1,\n" + " case \n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_name\n" + " end bias_name_2\n" + " from qcm_ord_design_std_sic t where t.use_code = 'C') t\n" + " group by t.design_key) t3,\n" + " qcm_judge_measure t4\n" + " where t.coil_no = t1.coil_no(+)\n" + " and t.ord_no || t.ord_seq = t3.design_key(+)\n" + " and b.sizeid = t4.sic_id(+)\n" + " and t.slab_no = t2.slab_no\n" + " and t.old_sampl_no = b.coil_no\n" + " and t.coil_stat < '3'\n" + " " + swhere1 + ")\n" + " where 1= 1 " + swhere + "\n" + " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n"; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询待判明细信息 根据轧批号、计划号查询物料号 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsJ2N(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String plan_no,String type,String prodline,String isjudge,String steelname ) { if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and PRODUCETIME >='" + begintime + "'" +" and PRODUCETIME <= '" + endtime + "'"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and material_no like '" + bbatchno + "%'"; } /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '" + ebatchno + "'"; }*/ if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%" + design_key + "%'"; } if (!SqlJoint.IsNullOrSpace(plan_no)) { //Psc_desc swhere += " and plan_no = '" + plan_no + "'"; } if(!SqlJoint.IsNullOrSpace(steelname)){ swhere += " and steel_name = '" + steelname + "'"; } // if (isjudge.equals("是")){ // swhere1 += " and b.JUDGERESULT <> '0'"; // } // else{ // swhere1 += " and b.JUDGERESULT = '0'"; // } if ("R".equals(type)) { swhere1 += " and b.r_chemresult = '0'"; } if ("M".equals(type)) { if (isjudge.equals("是")) { swhere1 += " and b.sizeresult <> '0'"; } else { swhere1 += " and b.sizeresult = '0'"; } } if ("B".equals(type)) { if (isjudge.equals("是")) { swhere1 += " and b.surfaceresult <> '0'"; } else { swhere1 += " and b.surfaceresult = '0'"; } } if ("MB".equals(type)) { if (isjudge.equals("是")) { swhere1 += " and ((b.surfaceresult <> '0' and b.sizeresult <> '0') or b.JUDGERESULT<>'0') "; } else if(isjudge.equals("否")){ swhere1 += " and t.coil_stat < '3' and (b.surfaceresult = '0' or b.sizeresult = '0') and b.JUDGERESULT='0' "; }else{ swhere1 += ""; } } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = ""; sql = " select *\n" + " from (WITH lx AS (SELECT\n" + " \n" + " coil_no,\n" + " qlty_kl,\n" + " irtdate,\n" + " ROW_NUMBER() OVER(PARTITION BY coil_no ORDER BY irtdate DESC) AS rn\n" + " FROM get_autolx_bkd_log11) " + " select DISTINCT t.slab_no board_no,\n" + " substr(t.slab_no, 1, 10) heat_no,\n" + " aa.cust_spec_no,\n" + " CASE\n" + " WHEN INSTR(lx.qlty_kl, 'M014') > 0 THEN\n" + " 'NO' WHEN lx.qlty_kl is null THEN\n" + " '' \n" + " ELSE\n" + " 'OK'\n" + " END AS lx,t4.level_desc SIZE_QUALITY_GRD,\n" + " t6.level_desc EXTSHAPE_QUALITY_GRD,"+ " aa.ord_devlmt_date,--交货期 \n" + " t.MISSNO_CLF_CD,--异常信息 \n"+ " T.DLIV_DIRNO,"+ //" decode(t8.flaw_origin,'A','钢质次','B','热轧次') QUEXIAN_TP,"+ " NVL2(T.CRK_CD1,GET_QUEXIAN_TP(T.CRK_CD1),T.CRK_CD1) QUEXIAN_TP,"+ " t.CAL_WGT/1000 CAL_WGT, --计算重量\n" + " RETURN_COILTIME(t.SPEC_STL_GRD, t.INSTR_COIL_THK) COLDTIME, --缓冷时间\n" + " DECODE(RETURN_COILTIME(t.SPEC_STL_GRD, t.INSTR_COIL_THK),'','',\n" + " round((select to_number((TO_DATE(t.COIL_END_DTIME,'YYYY-MM-DD HH24:MI:SS')+\n" + " RETURN_COILTIME(t.SPEC_STL_GRD, t.INSTR_COIL_THK)/24) -\n" + " NVL(TO_DATE(t.TRNF_USE_TIME,'YYYY-MM-DD HH24:MI:SS'),SYSDATE))\n" + " from dual) * 24)) COLDENDTME,"+ " t1.MIXROLL,--组批区间\n"+ " DECODE(t.SPM_YN,'1','平整','2','分卷','3','平整分卷','4','重卷','5','开卷检查','') SPM_YN, --平整分卷\n" + " T.SPM_EMP_ID,"+ " t.CUR_LOAD_LOC,\n" + " t.JUANQU_REMARK,\n"+ " round((select to_number(NVL(TO_DATE(t.TRNF_USE_TIME,\n" + " 'YYYY-MM-DD HH24:MI:SS'),SYSDATE) -\n" + " TO_DATE(NVL(t.COIL_END_DTIME,t.MILL_DTIME), 'YYYY-MM-DD HH24:MI:SS'))\n" + " from dual)*24) ZKSJ,--在库时间 \n" + " t.COIL_END_DTIME COIL_END_DTIME,--卷取时间 \n" + " t7.INFUR_HOUR,--在炉时间\n" + " t7.CHRGING_BEF_TEMP,--装炉温度 \n"+ " t7.EQ_HT_TEMP,--均热段时间 \n"+ " t7.EQ_HT_INFUR_HOUR,--均热段温度 \n"+ " t7.EXTRACT_AVG_TEMP,--出炉温度 \n"+ " t7.DEVNO,--加热炉号 \n"+ " T.COIL_NO,--流水钢卷号\n"+ " t.CUR_PROG_CD,"+ " t2.WEIGHT_WGT,"+ " t1.SLAB_NO,"+ " t10.RSEPON_UNIT,"+ " t10.DETAINFO,"+ " nvl2(t.crk_cd1,GET_DEFECT(t.crk_cd1),t.crk_cd1) CRK_CD1,\n" + " nvl2(t.crk_cd2,GET_DEFECT(t.crk_cd2),t.crk_cd2) CRK_CD2,\n" + " nvl2(t.crk_cd3,GET_DEFECT(t.crk_cd3),t.crk_cd3) CRK_CD3,\n" + " nvl2(t.crk_cd4,GET_DEFECT(t.crk_cd4),t.crk_cd4) CRK_CD4,\n" + " nvl2(t.crk_cd5,GET_DEFECT(t.crk_cd5),t.crk_cd5) CRK_CD5,"+ " t.SMP_DIR_PIC_YN,\n" + " t.SAMPL_PICK_YN,"+ " D.QLTY_QF,\n" + " D.QLTY_KL,\n" + " D.QLTY_YS,\n" + " D.QLTY_GY,\n" + " DECODE(t.SAMPL_PICK_YN, 'R', '是', '否') SAMPL_BKD_YN,\n" + " checkqlty(D.COIL_NO) CHQLTY, \n" + " t.COIL_THK_OS,\n" + " t.COIL_THK_CL,\n" + " t.COIL_THK_DS,\n" + " t.COIL_STAT,\n" + " T.fb_yn,\n" + " T.fb_reason,\n" + " t.EXTSHAPE_DEC_DTIME,\n" + " t.EXTSHAPE_DEC_EMP_ID,\n" + " t.ORG_ORD_NO,--原合同号\n" + " t.ORG_ORD_SEQ,--原订单号\n" + " t5.DC_NO, --卷取机号\n" + " t5.RM_EXT_AVG_THK, --R2出口实绩厚度\n" + " t5.FM_STRIP_WDG_AVG --楔形\n" + " ,\n" + " t5.FM_STRIP_WDG_MAX --楔形\n" + " ,\n" + " t5.FM_STRIP_WDG_MIN --楔形\n" + " ,\n" + " t5.FM_EXT_STRIP_CROWN_AVG --FM出口凸度平均\n" + " ,\n" + " t5.FM_EXT_STRIP_CROWN_MIN --FM出口凸度最小\n" + " ,\n" + " t5.FM_EXT_STRIP_CROWN_MAX --FM出口凸度最大\n" + " ,\n" + " t5.RHF_DESCAL_YN --除?机是否加??后\n" + " ,\n" + " t5.RM_ENT_DESCAL_YN --除?机是否RM入口\n" + " ,\n" + " t5.RM_EXT_DESCAL_YN --除?机是否RM出口\n" + " ,\n" + " (t5.RHF_DESCAL_YN + t5.RM_ENT_DESCAL_YN + t5.RM_EXT_DESCAL_YN) ZONG_DESCAL_YN --总除磷次数\n" + " ,\n" + " t5.R1_EXT_TEMP --RT2温度\n" + " ,\n" + " /*t5.FM_EXT_STRIP_THK --FM出口厚度?定\n" + " ,\n" + " t5.FM_EXT_STRIP_THK_AVG --FM出口厚度平均\n" + " ,\n" + " t5.FM_EXT_STRIP_THK_MIN --FM出口厚度最\n" + " ,\n" + " t5.FM_EXT_STRIP_THK_MAX --FM出口厚度最大\n" + " ,*/\n" + " t5.FM_SYM_STRIP_FLATNESS_AVG --对称平直度平均?\n" + " ,\n" + " t5.FM_SYM_STRIP_FLATNESS_MAX --对称平直度最大\n" + " ,\n" + " t5.FM_SYM_STRIP_FLATNESS_MIN --对称平直度最小\n" + " ,\n" + " t5.DC_TEMP --温定卷取额度\n" + " ,\n" + " t5.DC_TEMP_AVG --卷取温度平均?\n" + " ,\n" + " t5.DC_TEMP_MIN --卷取温度最小?\n" + " ,\n" + " t5.DC_TEMP_MAX --卷取温度最大?\n" + " ,\n" + " t5.FM_EXT_STRIP_TEMP --FM出口温度额定\n" + " ,\n" + " t5.FM_EXT_STRIP_TEMP_AVG --FM出口温度平均\n" + " ,\n" + " t5.FM_EXT_STRIP_TEMP_MIN --FM出口温度最小\n" + " ,\n" + " t5.FM_EXT_STRIP_TEMP_MAX --FM出口温度最大\n" + " ,\n" + " T.EXTSHAPE_DEC_GRD EXTSHAPE_DEC_GRD,\n" + " T.SIZE_DEC_RST SIZE_DEC_RST,\n" + " 'RZ1' pline_code,\n" + " substr(t.old_sampl_no, 1, 10) batchno,\n" + " t1.roll_mana_no plan_no,\n" + " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n" + " t.old_sampl_no material_no,\n" + " T.CPCJ_REMARK,\n" + " T.SPM_RMK,\n" + " T.CJ_REMARK,\n" + " T.DEAL_REMARK,\n" + " t.ord_no || t.ord_seq design_key,\n" + " (select psc\n" + " from tbb01_ord_prod f\n" + " where f.ord_no = t.ord_no\n" + " and rownum = 1) psc,\n" + " '' psc_desc,\n" + " t.prodnm_cd delivery_state_desc, \n" + " /*t.instr_coil_thk thick,\n" + " t.instr_coil_wth width,\n" + " t.instr_coil_len length,*/\n" + " t.act_wgt / 1000 weight,\n" + " t.mill_dtime producetime,\n" + "\n" + " b.sizeid,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" + " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" + " t.spec_stl_grd steel_code,\n" + " t.spec_stl_grd steel_name,\n" + " t.spec_abbsym std_code,\n" + " t.spec_abbsym std_name,\n" + " t.ord_use_cd prod_code,\n" + " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" + " t.instr_coil_thk plan,\n" + " t.instr_coil_wth plan_2,\n" + " (t.instr_coil_thk+t3.std_max_val+t.instr_coil_thk+t3.std_min_val)/2 DEL_THK_AVG,\n" + " (t.instr_coil_wth+t3.std_max_val+t.instr_coil_wth+t3.std_min_val)/2 DEL_WTH_AVG,\n" + " (t.instr_coil_thk + nvl(t3.std_min_val_k,t3.std_min_val)) DEL_THK_MIN,--计划厚度最小值\n" + " (t.instr_coil_thk + nvl(t3.std_max_val_k,t3.std_max_val)) DEL_THK_MAX,--计划厚度最大值\n" + " (t.instr_coil_wth + nvl(t3.std_min_val_k_2,t3.std_min_val_2)) DEL_WTH_MIN,--计划宽度最小值\n" + " (t.instr_coil_wth + nvl(t3.std_max_val_k_2,t3.std_max_val_2)) DEL_WTH_MAX,--计划宽度最大值\n" + " t.coil_thk val2,\n" + " t.coil_wth val2_2,\n" + " t3.std_min_val,\n" + " t3.std_max_val,\n" + " t.dcs_thk val,\n" + " t.dcs_wth val_2,\n" + " t3.std_result_min,\n" + " t3.std_result_max,\n" + " t3.std_result_min_2,\n" + " t3.std_result_max_2,\n" + " t3.bias_name,\n" + " t3.bias_name_2,\n" + " t3.std_min_val_k,\n" + " t3.std_max_val_k,\n" + " t3.std_min_val_n,\n" + " t3.std_max_val_n,\n" + " t3.std_min_val_2,\n" + " t3.std_max_val_2,\n" + " t3.std_min_val_k_2,\n" + " t3.std_max_val_k_2,\n" + " t3.std_min_val_n_2,\n" + " t3.std_max_val_n_2,\n" + " t4.south_thick_val thick_val1,\n" + " t4.south_h_val h_val1,\n" + " t4.middle_h_val m_val1,\n" + " t4.north_h_val r_val1,\n" + " t4.middle_thick_val thick_val2,\n" + " t4.south_m_val h_val2,\n" + " t4.middle_m_val m_val2,\n" + " t4.north_m_val r_val2,\n" + " t4.north_thick_val thick_val3,\n" + " t4.south_r_val h_val3,\n" + " t4.middle_r_val m_val3,\n" + " t4.north_r_val r_val3,\n" + " t3.bias_code,\n" + " t3.bias_code_2\n" + " from tbh02_coil_comm t,\n" + " tbf02_spec_mill t1,\n" + " qcm_judge_coil_result b,\n" + " TBH02_MILL_RESULT t5,\n" + " tbg02_slab_comm t2,\n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_result_min) std_result_min,\n" + " max(std_result_max) std_result_max,\n" + " max(std_result_min_2) std_result_min_2,\n" + " max(std_result_max_2) std_result_max_2,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(std_min_val_2) std_min_val_2,\n" + " max(std_max_val_2) std_max_val_2,\n" + " max(std_min_val_k_2) std_min_val_k_2,\n" + " max(std_max_val_k_2) std_max_val_k_2,\n" + " max(std_min_val_n_2) std_min_val_n_2,\n" + " max(std_max_val_n_2) std_max_val_n_2,\n" + " design_key,\n" + " max(bias_code_1) bias_code,\n" + " max(bias_code_2) bias_code_2,\n" + " max(bias_name_1) bias_name,\n" + " max(bias_name_2) bias_name_2\n" + " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_min\n" + " end std_result_min,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_result_max\n" + " end std_result_max,\n" + " \n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_max\n" + " end std_result_max_2,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_result_min\n" + " end std_result_min_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_k_2,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_k_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_n_2,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_n_2,\n" + " t.design_key,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then\n" + " t.bias_code\n" + " end bias_code_1,\n" + " case\n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_code\n" + " end bias_code_2,\n" + " case\n" + " when t.bias_code in ('KB01', 'KS01') then\n" + " t.bias_name\n" + " end bias_name_1,\n" + " case\n" + " when t.bias_code in ('KD01', 'KT01') then\n" + " t.bias_name\n" + " end bias_name_2\n" + " from qcm_ord_design_std_sic t\n" + " where t.use_code = 'H') t\n" + " group by t.design_key) t3,\n" + " (SELECT LIN.ORD_DEVLMT_DATE ORD_DEVLMT_DATE,\n" + " ORD.DEL_TOL_THK_MIN DEL_TOL_THK_MIN,\n" + " ORD.DEL_TOL_THK_MAX DEL_TOL_THK_MAX,\n" + " ORD.DEL_TOL_WTH_MIN DEL_TOL_WTH_MIN,\n" + " ORD.DEL_TOL_WTH_MAX DEL_TOL_WTH_MAX,\n" + " ORD.ORD_NO ORD_NO,\n" + " ORD.ORD_SEQ ORD_SEQ,\n" + " DECODE(OHD.CUST_SPEC_NO, NULL, 'N', 'Y') CUST_SPEC_NO\n" + " FROM TBA01_ORD_LINE LIN, TBB01_ORD_DEL ORD, TBB01_ORD_HEAD OHD\n" + " WHERE LIN.ORD_NO = ORD.ORD_NO\n" + " AND LIN.ORD_SEQ = ORD.ORD_SEQ\n" + " AND ORD.ORD_NO = OHD.ORD_NO\n" + " AND ORD.ORD_SEQ = OHD.ORD_SEQ\n" + " AND (ORD.DSN_KIND =\n" + " (SELECT MIN(DEL.DSN_KIND)\n" + " FROM TBB01_ORD_DEL DEL\n" + " WHERE DEL.ORD_NO = ORD.ORD_NO\n" + " AND DEL.ORD_SEQ = ORD.ORD_SEQ))) AA,\n" + " qcm_judge_measure t4,\n" + " qcm_judge_surface t6,"+ " TBH02_REHEATFUR t7,"+ " (SELECT coil_no, qlty_kl FROM lx WHERE rn = 1) LX,JB_RSEPON_UNIT t10,"+ //" qcm_judge_surface_flaw t8,"+ " (SELECT * FROM get_autolx_bkd T WHERE T.ISAVIALD = '1') d\n" + " where t.coil_no = t1.coil_no(+)\n" + " and t.ord_no || t.ord_seq = t3.design_key(+)\n" + " and t1.COIL_NO = t5.COIL_NO(+)\n" + " and t.OLD_SAMPL_NO = lx.COIL_NO(+) and b.sizeid = t4.sic_id(+)\n" + " and b.surfaceid = t6.surface_id(+)"+ //" and b.surfaceid = t8.surface_id(+)"+ " and t.OLD_SAMPL_NO = D.COIL_NO(+)\n" + " and t.OLD_SAMPL_NO = t10.OLD_SAMPL_NO(+)\n" + " and t.slab_no = t2.slab_no\n" + " and t.coil_no = t7.coil_no(+)"+ " and t.old_sampl_no = b.coil_no\n" + " and AA.ORD_NO(+) = t.ORD_NO\n" + " AND AA.ORD_SEQ(+) = t.ORD_SEQ\n" + " /*and t.coil_stat < '3'*/ "+ " " + swhere1 + ")\n" + " where 1= 1 " + swhere + "\n" + " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询待判明细信息 根据轧批号、计划号查询物料号 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsJ(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge ) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; } } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = ""; if(prodline.equals("热连轧")){ sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc, '' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else if(prodline.equals("酸轧")){ sql = "select * from (select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else if(prodline.equals("连退")){ sql = "select * from ( select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name" + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else{ sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" " + "union all select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD, T.INSTR_COIL_THK, T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+"" + " union all select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD,T.INSTR_COIL_THK,T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsRZFB(String begintime,String endtime,String bbatchno,String ebatchno ) { String swhere = ""; String swhere1 = ""; 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(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and LOCK_TIME between '"+begintime+"' and '"+endtime+"'"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and BATCH_NO >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and BATCH_NO <= '"+ebatchno+"'"; } /*if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; }*/ /*if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; }*/ /*swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; } } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = ""; sql = "select * from (select SUBSTR(T.OLD_SAMPL_NO, 0, 10) BATCH_NO,\n" + " T.OLD_SAMPL_NO MATERIAL_NO, \n" + " t.FB_REASON LOCK_MEMO, \n" + " t.SPEC_STL_GRD STEEL_NAME, \n" + " t.DCS_THK THICK, \n" + " t.ACT_WGT / 1000 WEIGHT, \n" + " t.PRODNM_CD DELIVERY_STATE_DESC, \n" + " t.SPEC_ABBSYM STD_NAME, \n" + " t.ORD_NO || t.ORD_SEQ design_key, \n" + " substr(t.SLAB_NO, 0, 10) heat_no,\n" + " PKG_QUALITY_COMM.PK00_COMM('A01007', T.ORD_USE_CD) PROD_NAME, \n" + " t.DCS_WTH WIDTH, \n" + " t.COIL_LEN LENGTH, \n" + " T.DLIV_DIRNO, \n" + " nvl(T2.OPERATE_NAME, t1.REG_ID) LOCK_NAME, \n" + " t1.RESERVE_FIELD11 LOCK_TIME \n" + " from tbh02_coil_comm t,\n" + " TBE04_OPT_HIS t1,\n" + " (select t3.operate_name, T3.PARAMS\n" + " from (select max(t2.operate_name) operate_name, t2.params\n" + " from qcm_judge_operate_log t2\n" + " where t2.operate_type = '封闭'\n" + " group by t2.params) t3,\n" + " tbh02_coil_comm t\n" + " where t.FB_YN = 'Y'\n" + " and t.OLD_SAMPL_NO = t3.params) T2\n" + " where t.FB_YN = 'Y'\n" + " and t.OLD_SAMPL_NO = t1.RESERVE_FIELD1\n" + " and t.OLD_SAMPL_NO = t2.params(+)\n" + " and t.SPEC_STL_GRD not in ('CCSB','A572Gr.50','SS400+Ti','SPA-H','Q355B') " + " and t1.RESERVE_FIELD15 = '02') a where 1= 1 "+swhere+" "; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsRZFBJL(String begintime,String endtime,String bbatchno,String ebatchno ) { String swhere = ""; String swhere1 = ""; 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(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and LOCK_TIME between '"+begintime+"' and '"+endtime+"'"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and BATCH_NO >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and BATCH_NO <= '"+ebatchno+"'"; } /*if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; }*/ /*if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; }*/ /*swhere1 += " and b.JUDGERESULT = '0'"; /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = ""; sql = "select *\n" + " from ((select SUBSTR(T.OLD_SAMPL_NO, 0, 10) BATCH_NO,\n" + " T.OLD_SAMPL_NO MATERIAL_NO,\n" + " NVL(t1.RESERVE_FIELD14, t.FB_REASON) LOCK_MEMO,\n" + " t.SPEC_STL_GRD STEEL_NAME,\n" + " t.DCS_THK THICK,\n" + " t.ACT_WGT / 1000 WEIGHT,\n" + " t.PRODNM_CD DELIVERY_STATE_DESC,\n" + " t.SPEC_ABBSYM STD_NAME,\n" + " t.ORD_NO || t.ORD_SEQ design_key,\n" + " substr(t.SLAB_NO, 0, 10) heat_no,\n" + " PKG_QUALITY_COMM.PK00_COMM('A01007', T.ORD_USE_CD) PROD_NAME,\n" + " t.DCS_WTH WIDTH,\n" + " t.COIL_LEN LENGTH,\n" + " t1.REG_ID LOCK_NAME,\n" + " t1.RESERVE_FIELD11 LOCK_TIME,\n" + " DECODE(T1.RESERVE_FIELD15, '01', '取消封闭', '02', '封闭') FB\n" + " from tbh02_coil_comm t, TBE04_OPT_HIS t1\n" + " where t.OLD_SAMPL_NO = t1.RESERVE_FIELD1\n" + " and t1.RESERVE_FIELD15 IN ('01', '02')\n" + " AND T1.REG_PGM_ID not in ('YTHJUDGE', 'FBCOILYTH')) union all\n" + " (select SUBSTR(T.OLD_SAMPL_NO, 0, 10) BATCH_NO,\n" + " T.OLD_SAMPL_NO MATERIAL_NO,\n" + " NVL(t2.memo, t.FB_REASON) LOCK_MEMO,\n" + " t.SPEC_STL_GRD STEEL_NAME,\n" + " t.DCS_THK THICK,\n" + " t.ACT_WGT / 1000 WEIGHT,\n" + " t.PRODNM_CD DELIVERY_STATE_DESC,\n" + " t.SPEC_ABBSYM STD_NAME,\n" + " t.ORD_NO || t.ORD_SEQ design_key,\n" + " substr(t.SLAB_NO, 0, 10) heat_no,\n" + " PKG_QUALITY_COMM.PK00_COMM('A01007', T.ORD_USE_CD) PROD_NAME,\n" + " t.DCS_WTH WIDTH,\n" + " t.COIL_LEN LENGTH,\n" + " t2.operate_name LOCK_NAME,\n" + " to_char(t2.operate_time, 'yyyymmddhh24miss') LOCK_TIME,\n" + " t2.operate_type FB\n" + " from tbh02_coil_comm t, qcm_judge_operate_log t2\n" + " where t.OLD_SAMPL_NO = t2.PARAMS\n" + " and T2.OPERATE_TYPE IN ('封闭', '取消封闭'))) where 1 = 1 "+swhere+" "; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsJ3(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge,String steelname ) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and steel_name = '"+steelname+"'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; } } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = ""; if(prodline.equals("热连轧")){ sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc, '' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else if(prodline.equals("酸轧")){ sql = "select * from (select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else if(prodline.equals("连退")){ sql = "select * from ( select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name" + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else{ sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" " + "union all select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD, T.INSTR_COIL_THK, T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+"" + " union all select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD,T.INSTR_COIL_THK,T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询待判明细信息 根据轧批号、计划号查询物料号 卷板熔炼待判信息 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsJR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) { 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)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号 swhere += "and heat_no = '"+heat_no+"'"; } if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号 swhere += "and board_no = '"+board_no+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } if(!SqlJoint.IsNullOrSpace(sbatchno)){ swhere += " and batchno >= '"+sbatchno+"'"; } if(!SqlJoint.IsNullOrSpace(ebatchno)){ swhere += " and batchno <= '"+ebatchno+"'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } String sql = ""; if(prodline.equals("热连轧")){ sql = "select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.MILL_DTIME,'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else if(prodline.equals("酸轧")){ sql = "select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else if(prodline.equals("连退")){ sql = "select * from ( select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name" + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; }else{ sql = "select * from (select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" " + " union all " + "select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" " + " union all " +" select * from ( select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name" + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" ) order by PRODUCETIME desc"; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询待判明细信息 根据轧批号、计划号查询物料号 卷板熔炼待判信息 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsYR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) { 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)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号 swhere += "and heat_no = '"+heat_no+"'"; } if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号 swhere += "and board_no = '"+board_no+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } if(!SqlJoint.IsNullOrSpace(sbatchno)){ swhere += " and batchno >= '"+sbatchno+"'"; } if(!SqlJoint.IsNullOrSpace(ebatchno)){ swhere += " and batchno <= '"+ebatchno+"'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } String sql = "select * from (select t.HEATNO HEAT_NO,T.HEATNO BOARD_NO,t.BATCHNO,'' plan_no,t.COILNO MATERIAL_NO,substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) as DESIGN_KEY,'' PSC,'' PSC_DESC, " + " t.DELIVERY_STATE_DESC, t.THICK,t.WIDTH, t.LENGTH,t.FACTWEIGHT/1000 WEIGHT,'' CUTSIDESTATE,'' FIXSIZE,t.PRODUCEDATE PRODUCETIME, b.sizeid, " + " '' GRADE_CODE,'' GRADE_NAME, cbs.STEEL_code,cbs.STEEL_NAME,T.std_code,t.STD_NAME,T.prod_code,t.PROD_NAME from YDM_PRODUCT_DETAIL@LINK_YTG t " + " left join COM_BASE_STEEL@LINK_YTG cbs on t.STEELCODE = cbs.STEEL_CODE left join SLM_ORDER_INFO@LINK_YTG soi on t.ORDERNO = soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ " + " and nvl(soi.VALID_FLAG, '0') = '1' and nvl(soi.CHANGE_FLAG, '0') != '1' JOIN QCM_JUDGE_YT_COIL_RESULT B ON T.COILNO = B.COIL_NO and b.FINAL_PROCESSES = '1' where t.STATE in ('0','-1', '7') "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsBS2(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge,String surface_type) { if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String swhere = ""; String swhere1 = ""; String swhere5 = ""; String swhere6 = ""; String swhere7 = ""; String swhere8 = ""; //上表面 String swhere2 = ""; //下表面 String swhere3 = ""; String swhere4 = ""; String table = ""; if(design_key.startsWith("19")){ table="sel_pactdetail_new@xgcx"; }else{ table="sel_pactdetail@xgcx"; } /*" ( select z.ORDERNO,"+ "z.PRODLINECODE,"+ "z.STEELCODE,"+ "z.QUANTITY,"+ "z.WEIGHT,"+ "z.PRICE,"+ "z.AREACODE,"+ "z.FORECORPCODE,"+ "z.INCEPTCORPCODE,"+ "z.SENDBEGINDATE,"+ "z.REMARK,"+ "z.CONSWEIGHT,"+ "z.CONSMONEY,"+ "z.AUDITINGWEIGHT,"+ "z.AUDITINGMONEY,"+ "z.LENGTH,"+ "z.WIDTH,"+ "z.HEIGHT,"+ "z.SINDEX,"+ "z.ISCHECKSCAR,"+ "z.ISHEAT,"+ "z.USEDSTAND,"+ "z.CHECKORG,"+ "z.SAMPLINGREQUEST,"+ "z.SENDTYPE,"+ "z.STATIONCODE,"+ "z.TRANSTYPE,"+ "z.FIXSIZE,"+ "z.WIDTHFIXSIZELOW,"+ "z.WIDTHFIXSIZEUPPER,"+ "z.WEIGHTLOWER,"+ "z.WEIGHTUPPER,"+ "z.CHECKSTATUS,"+ "z.PRI,"+ "z.SIGNCOLOR,"+ "z.BALANCEMONEY,"+ "z.ORDERSTATUS,"+ "z.SENDENDDATE,"+ "z.ORDERPERSON,"+ "z.ORDERDATE,"+ "z.LENGTHFIXSIZELOW,"+ "z.LENGTHFIXSIZEUPPER,"+ "z.STANDROLLER,"+ "z.HEATROLL,"+ "z.QUENCH,"+ "z.TMCP,"+ "z.SALEAFFIRMFLAG,"+ "z.PRODUCECORPAFFIRMFLAG,"+ "z.SCCAFFIRMFLAG,"+ "z.SELLPLANNO,"+ "z.ZBSSTENCILCODE,"+ "z.PRODUCEPERSON,"+ "z.PRODUCEDATE,"+ "z.SCCPERSON,"+ "z.SCCDATE,"+ "z.HIC,"+ "z.ISSPECIAL,"+ "z.SALEDATE,"+ "z.CATEGORY,"+ "z.PACTNO,"+ "z.SENDSTATUS,"+ "z.ISWATERCARRIAGE,"+ "z.CONSQUANTITY,"+ "z.BUYERCODE,"+ "z.CLOSEER,"+ "z.CLOSETIME,"+ "z.PURPOSEID,"+ "z.MIC,"+ "z.PRECISION,"+ "z.SENDDATE,"+ "z.LEASEDLINE,"+ "z.ISLOCKPRICE,"+ "z.OUTPRICE,"+ "z.DOCKCODE,"+ "z.PACTINDEX,"+ "z.PLANWEIGHT,"+ "z.PLANQUANTITY,"+ "z.IMPORTOR,"+ "z.IMPORTTIME,"+ "z.PLANPRODUCTDATE,"+ "z.HEIGHTRANGE,"+ "z.PACTTYPECODE,"+ "z.CONTROLROLL,"+ "z.ADDWEIGHT,"+ "z.CHECKDATE,"+ "z.HEATDATE,"+ "z.ISHEATROLL,"+ "z.CONSDATEDECLARETIME,"+ "z.CONSDATEDECLAREPERSON,"+ "z.CONSDATEAFFIRMTIME,"+ "z.CONSDATEAFFIRMPERSON,"+ "z.ISNEWSTEELNAME,"+ "z.REINCEPTCORP,"+ "z.MULTISTEELNAME,"+ "z.ISPRODUCTMONEY,"+ "z.ORDERBEGINDATE,"+ "z.LASTSENDDATE,"+ "z.ISBUILDTRAINNO,"+ "z.OVERWEIGHT,"+ "z.OVERMONEY,"+ "z.TRANSMONEY,"+ "z.CHECKNO,"+ "z.PLANPRODUCTBEGINDATE,"+ "z.CHECKTIME,"+ "z.BJDEL,"+ "z.ISSAMPLINGREQUEST,"+ "z.SAMPLINGREQUESTTYPE,"+ "z.MLHH,"+ "z.HDG,"+ "z.KHIC,"+ "z.BUYERKINDCODE,"+ "z.ISPOSTER,"+ "z.ISNEWCHECKORG,"+ "z.DELIVERYSTATE,"+ "z.TSBZ,"+ "z.TSDJ,"+ "z.OPERATOR_NAME,"+ "z.OPERATOR_PHONE,"+ "z.OPERATOR_REM,"+ "z.QTDESIGNRESULT,"+ "z.QTDESIGNDATE,"+ "z.QTDESIGNOPERATOR,"+ "z.QTDESIGNERRMSG,"+ "z.ENDUSER_CODE,"+ "z.PRODUCT_YT,"+ "z.POINT_PROJECT,"+ "z.FACERESULT,"+ "z.TRANSPORTATION_REQUIREMENT,"+ "z.DEV_DGR_CD,"+ "z.DEV_SPEC_CD,"+ "z.SECTION,"+ "z.IS_ZB,"+ "z.PSRNO,"+ "z.SAMPLINGREQUESTTIME from sel_pactdetail@xgcx z where orderno not in (select orderno from sel_pactdetail_new@xgcx) "+ " union all " + " select z.ORDERNO,"+ "z.PRODLINECODE,"+ "z.STEELCODE,"+ "z.QUANTITY,"+ "z.WEIGHT,"+ "z.PRICE,"+ "z.AREACODE,"+ "z.FORECORPCODE,"+ "z.INCEPTCORPCODE,"+ "z.SENDBEGINDATE,"+ "z.REMARK,"+ "z.CONSWEIGHT,"+ "z.CONSMONEY,"+ "z.AUDITINGWEIGHT,"+ "z.AUDITINGMONEY,"+ "z.LENGTH,"+ "z.WIDTH,"+ "z.HEIGHT,"+ "z.SINDEX,"+ "z.ISCHECKSCAR,"+ "z.ISHEAT,"+ "z.USEDSTAND,"+ "z.CHECKORG,"+ "z.SAMPLINGREQUEST,"+ "z.SENDTYPE,"+ "z.STATIONCODE,"+ "z.TRANSTYPE,"+ "z.FIXSIZE,"+ "z.WIDTHFIXSIZELOW,"+ "z.WIDTHFIXSIZEUPPER,"+ "z.WEIGHTLOWER,"+ "z.WEIGHTUPPER,"+ "z.CHECKSTATUS,"+ "z.PRI,"+ "z.SIGNCOLOR,"+ "z.BALANCEMONEY,"+ "z.ORDERSTATUS,"+ "z.SENDENDDATE,"+ "z.ORDERPERSON,"+ "z.ORDERDATE,"+ "z.LENGTHFIXSIZELOW,"+ "z.LENGTHFIXSIZEUPPER,"+ "z.STANDROLLER,"+ "z.HEATROLL,"+ "z.QUENCH,"+ "z.TMCP,"+ "z.SALEAFFIRMFLAG,"+ "z.PRODUCECORPAFFIRMFLAG,"+ "z.SCCAFFIRMFLAG,"+ "z.SELLPLANNO,"+ "z.ZBSSTENCILCODE,"+ "z.PRODUCEPERSON,"+ "z.PRODUCEDATE,"+ "z.SCCPERSON,"+ "z.SCCDATE,"+ "z.HIC,"+ "z.ISSPECIAL,"+ "z.SALEDATE,"+ "z.CATEGORY,"+ "z.PACTNO,"+ "z.SENDSTATUS,"+ "z.ISWATERCARRIAGE,"+ "z.CONSQUANTITY,"+ "z.BUYERCODE,"+ "z.CLOSEER,"+ "z.CLOSETIME,"+ "z.PURPOSEID,"+ "z.MIC,"+ "z.PRECISION,"+ "z.SENDDATE,"+ "z.LEASEDLINE,"+ "z.ISLOCKPRICE,"+ "z.OUTPRICE,"+ "z.DOCKCODE,"+ "z.PACTINDEX,"+ "z.PLANWEIGHT,"+ "z.PLANQUANTITY,"+ "z.IMPORTOR,"+ "z.IMPORTTIME,"+ "z.PLANPRODUCTDATE,"+ "z.HEIGHTRANGE,"+ "z.PACTTYPECODE,"+ "z.CONTROLROLL,"+ "z.ADDWEIGHT,"+ "z.CHECKDATE,"+ "z.HEATDATE,"+ "z.ISHEATROLL,"+ "z.CONSDATEDECLARETIME,"+ "z.CONSDATEDECLAREPERSON,"+ "z.CONSDATEAFFIRMTIME,"+ "z.CONSDATEAFFIRMPERSON,"+ "z.ISNEWSTEELNAME,"+ "z.REINCEPTCORP,"+ "z.MULTISTEELNAME,"+ "z.ISPRODUCTMONEY,"+ "z.ORDERBEGINDATE,"+ "z.LASTSENDDATE,"+ "z.ISBUILDTRAINNO,"+ "z.OVERWEIGHT,"+ "z.OVERMONEY,"+ "z.TRANSMONEY,"+ "z.CHECKNO,"+ "z.PLANPRODUCTBEGINDATE,"+ "z.CHECKTIME,"+ "z.BJDEL,"+ "z.ISSAMPLINGREQUEST,"+ "z.SAMPLINGREQUESTTYPE,"+ "z.MLHH,"+ "z.HDG,"+ "z.KHIC,"+ "z.BUYERKINDCODE,"+ "z.ISPOSTER,"+ "z.ISNEWCHECKORG,"+ "z.DELIVERYSTATE,"+ "TSBZ,"+ "z.TSDJ,"+ "z.OPERATOR_NAME,"+ "z.OPERATOR_PHONE,"+ "z.OPERATOR_REM,"+ "z.QTDESIGNRESULT,"+ "z.QTDESIGNDATE,"+ "z.QTDESIGNOPERATOR,"+ "z.QTDESIGNERRMSG,"+ "z.ENDUSER_CODE,"+ "z.PRODUCT_YT,"+ "z.POINT_PROJECT,"+ "z.FACERESULT,"+ "z.TRANSPORTATION_REQUIREMENT,"+ "z.DEV_DGR_CD,"+ "z.DEV_SPEC_CD,"+ "z.SECTION,"+ "z.IS_ZB,"+ "z.PSRNO,"+ "z.SAMPLINGREQUESTTIME from sel_pactdetail_new@xgcx z) ";*/ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere1 += " and maketime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; swhere5 += " and PRODUCETIME between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; swhere6 += " and ptime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and b.billetid like '"+bbatchno+"%'"; swhere7 += "and b.billetid like '"+bbatchno+"%'"; swhere8 += "and b.billetid like '"+bbatchno+"%'"; } /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and a.batchno <= '"+ebatchno+"'"; swhere7 += "and a.ROLLNUMBER <= '"+ebatchno+"'"; swhere8 += "and a.ROLLNUMBER <= '"+ebatchno+"'"; }*/ if (!SqlJoint.IsNullOrSpace(design_key) && !design_key.startsWith("19")) { //销售订单号 swhere4 += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } // swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; swhere5 += " and b.r_chemresult = '0'"; swhere6 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; swhere5 += " and b.sizeresult <> '0'"; swhere6 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; swhere5 += " and b.sizeresult = '0'"; swhere6 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ //swhere1 += " and b.surfaceresult <> '0'"; swhere2 += " and b.up_surface_result <> '0'"; swhere3 += " and b.ud_surface_result <> '0'"; }else{ //swhere1 += " and b.surfaceresult = '0'"; swhere2 += " and b.up_surface_result = '0'"; swhere3 += " and b.ud_surface_result = '0'"; } } if (!SqlJoint.IsNullOrSpace(surface_type)) { swhere4 += " and surface_type = '"+surface_type+"'"; } String sql = ""; if(prodline.equals("厚板线")){ sql = "select * from (select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" + " a.width,\n" + " a.len length,\n" + " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" + " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from zyhb_plandetailofplate@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.slabno = b.billetid\n" + " and a.billetid = c.billetid\n" + swhere1 + swhere2+ swhere + " and a.orderid = t2.orderno and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + " union all\n" + "select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" + " a.width,\n" + " a.len length,\n" + " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" + " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.slabno = b.billetid\n" + " and a.orderid = t2.orderno \n" + " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 + swhere2+ swhere + " union all\n" + " select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" + " a.width,\n" + " a.len length,\n" + " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" + " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from zyhb_plandetailofplate@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.slabno = b.billetid\n" + " and a.orderid = t2.orderno \n" + " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 + swhere3+ swhere + " union all\n" + " select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " a.thick,\n" + " a.width,\n" + " a.len length,\n" + " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" + " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.slabno = b.billetid\n" + " and a.orderid = t2.orderno \n" + " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 + swhere3+ swhere + "" + " union all \n" + "select a.STOVENO heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.PLANNUMBER plan_no, \n" + " a.BILLETID material_no,\n" + " a.ALLOTORDERFORM design_key,\n" + " a.PLY thick, \n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" + " a.PRODUCETIME PRODUCETIME,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCH_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM zyhb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and a.allotorderform = t2.ORDERNO\n" +// ((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" + " and D.billetid = c.billetid(+)\n" + " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere2+ swhere7 + "" + " union all \n" + "select a.STOVENO heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.PLANNUMBER plan_no, \n" + " a.BILLETID material_no,\n" + " a.ALLOTORDERFORM design_key,\n" + " a.PLY thick, \n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" + " a.PRODUCETIME PRODUCETIME,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCH_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM zyhb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and a.allotorderform = t2.ORDERNO\n" +//+((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" + " and D.billetid = c.billetid(+)\n" + " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere3+ swhere7 + ") t1 where 1=1 "+swhere4+ " order by t1.batchno desc, t1.material_no, t1.surface_type\n"; }else if(prodline.equals("中板线")){ sql = "select t1.*\n" + " from (select a.heatno heat_no,\n" + " a.batchno,\n" + " a.taskno plan_no,\n" + " a.productno material_no,\n" + " a.orderno design_key,\n" + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" + " a.width,\n" + " a.length,\n" + " a.weight,\n" + " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizestyle) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_code,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from (SELECT *\n" + " FROM mb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM mb_plandetailofplate_zjnew@XGCX) a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.productno = b.billetid\n" + " and a.orderno = t2.orderno \n" + " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere2+swhere + //" and b.up_surface_result = '0'\n" + " union all\n" + " select a.heatno heat_no,\n" + " a.batchno,\n" + " a.taskno plan_no,\n" + " a.productno material_no,\n" + " a.orderno design_key,\n" + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" + " a.width,\n" + " a.length,\n" + " a.weight,\n" + " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizestyle) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_code,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from (SELECT *\n" + " FROM mb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM mb_plandetailofplate_zjnew@XGCX) a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.productno = b.billetid\n" + " and a.orderno = t2.orderno \n" + " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere3+swhere + "" + " union all\n" + " select to_char(a.STOVENO) heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.planplanno plan_no,\n" + " a.BILLETID material_no,\n" + " a.orderno design_key,\n" + " a.PLY thick,\n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" + " a.ptime PRODUCETIME,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCz_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM mb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM mb_plandetailofplate_zjnew@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and D.billetid = c.billetid\n" + " and a.ORDERNO = t2.ORDERNO \n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" + " AND A.BILLETID = D.productno\n" + swhere6 +swhere2+swhere8 + " union all\n" + " select to_char(a.STOVENO) heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.planplanno plan_no,\n" + " a.BILLETID material_no,\n" + " a.orderno design_key,\n" + " a.PLY thick,\n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" + " a.ptime PRODUCETIME,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCz_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM mb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM mb_plandetailofplate_zjnew@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and D.billetid = c.billetid\n" + " and a.ORDERNO = t2.ORDERNO \n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" + " AND A.BILLETID = D.productno\n" + swhere6 +swhere3+swhere8 + //" and b.ud_surface_result = '0'\n" + " ) t1 where 1=1 "+swhere4+ "\n" + " order by t1.batchno desc, t1.material_no, t1.surface_type\n"; }else{ sql = "select t1.*\n" + " from (select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" + " a.width,\n" + " a.len length,\n" + " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" + " (select name_\n" + " from scm_base_info\n" + " where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.slabno = b.billetid\n" + " and a.orderid = t2.orderno \n" + " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 +swhere2+swhere + //" and b.up_surface_result = '0'\n" + /*" union all\n" + "select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " a.thick,\n" + " a.width,\n" + " a.len length,\n" + " a.weight,\n" + " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type\n" + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c\n" + " where a.slabno = b.billetid\n" + " and a.billetid = c.billetid\n" + swhere1 + swhere2+ */ " union all\n" + " select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" + " a.width,\n" + " a.len length,\n" + " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" + " (select name_\n" + " from scm_base_info\n" + " where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" + " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.slabno = b.billetid\n" + " and a.orderid = t2.orderno \n" + " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 +swhere3+swhere+ "" + " union all \n" + "select a.STOVENO heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.PLANNUMBER plan_no, \n" + " a.BILLETID material_no,\n" + " a.ALLOTORDERFORM design_key,\n" + " a.PLY thick, \n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" + " a.PRODUCETIME PRODUCETIME,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCH_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM zyhb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and a.allotorderform = t2.ORDERNO\n" +//((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" + " and D.billetid = c.billetid(+)\n" + " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere2+ swhere7 + "" + " union all \n" + "select a.STOVENO heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.PLANNUMBER plan_no, \n" + " a.BILLETID material_no,\n" + " a.ALLOTORDERFORM design_key,\n" + " a.PLY thick, \n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" + " a.PRODUCETIME PRODUCETIME,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCH_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM zyhb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and a.allotorderform = t2.ORDERNO\n" +//((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" + " and D.billetid = c.billetid(+)\n" + " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere3+ swhere7 + "" /*" union all\n" + " select to_char(a.heatno) heat_no,\n" + " batchno,\n" + " a.taskno plan_no,\n" + " a.slabno material_no,\n" + " a.orderid design_key,\n" + " a.thick,\n" + " a.width,\n" + " a.len length,\n" + " a.weight,\n" + " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" + " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type\n" + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kch_storagelist@xgcx c\n" + " where a.slabno = b.billetid\n" + " and a.billetid = c.billetid\n" + swhere1 + swhere3+*/ // " and b.ud_surface_result = '0'" + +" union all\n" + " select to_char(a.heatno) heat_no,\n" + " a.batchno,\n" + " a.taskno plan_no,\n" + " a.productno material_no,\n" + " a.orderno design_key,\n" + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" + " a.width,\n" + " a.length,\n" + " a.weight,\n" + " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" + " (select name_\n" + " from scm_base_info\n" + " where id_ = a.sizestyle) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_code,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from mb_plandetailofplate@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.productno = b.billetid\n" + " and a.orderno = t2.orderno \n" + " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere2+swhere+ // " and b.up_surface_result = '0'\n" + " union all\n" + " select to_char(a.heatno) heat_no,\n" + " a.batchno,\n" + " a.taskno plan_no,\n" + " a.productno material_no,\n" + " a.orderno design_key,\n" + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" + " a.width,\n" + " a.length,\n" + " a.weight,\n" + " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" + " (select name_\n" + " from scm_base_info\n" + " where id_ = a.sizestyle) fixsize,\n" + " a.maketime producetime,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_code,\n" + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from mb_plandetailofplate@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2\n" + " where a.productno = b.billetid\n" + " and a.orderno = t2.orderno \n" + " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere3+swhere+ " union all\n" + " select to_char(a.STOVENO) heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.planplanno plan_no,\n" + " a.BILLETID material_no,\n" + " a.orderno design_key,\n" + " a.PLY thick,\n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" + " a.ptime PRODUCETIME,\n" + " b.sizeid,\n" + " b.up_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '上表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCz_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM mb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM mb_plandetailofplate_zjnew@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and D.billetid = c.billetid\n" + " and a.ORDERNO = t2.ORDERNO\n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" + " AND A.BILLETID = D.productno\n" + swhere6 +swhere2+swhere8 + " union all\n" + " select to_char(a.STOVENO) heat_no,\n" + " A.ROLLNUMBER batchno,\n" + " a.planplanno plan_no,\n" + " a.BILLETID material_no,\n" + " a.orderno design_key,\n" + " a.PLY thick,\n" + " a.width,\n" + " a.lenGTH length,\n" + " a.THEORYWEIGHT weight,\n" + " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" + " a.ptime PRODUCETIME,\n" + " b.sizeid,\n" + " b.ud_surface_result_id_desc surface_id,\n" + " c.bigshopsign grade_code,\n" + " c.bigshopsign grade_name,\n" + " '下表面' surface_type,\n" + " t2.steelcode steel_code,\n" + " c2n@xgcx(t2.steelcode) steel_name,\n" + " t2.usedstand std_code,\n" + " c2n@xgcx(t2.usedstand) std_name,\n" + " t2.purposeid prod_code,\n" + " c2n@xgcx(t2.purposeid) prod_name,\n" + " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" + " t2.psrno psc,\n" + " t2.dev_spec_cd psc_desc\n" + " from KCz_TURNOFFLIST@xgcx a,\n" + " zj_result_all@xgcx b,\n" + " kcz_storagelist@xgcx c,\n" + " "+table+" t2,\n" + " (SELECT *\n" + " FROM mb_plandetailofplate@Xgcx\n" + " UNION ALL\n" + " SELECT *\n" + " FROM mb_plandetailofplate_zjnew@XGCX) D\n" + " where a.BILLETID = b.BILLETID\n" + " and D.billetid = c.billetid\n" + " and a.ORDERNO = t2.ORDERNO\n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" + " AND A.BILLETID = D.productno\n" + swhere6 +swhere3+swhere8 + // " and b.ud_surface_result = '0'" + " ) t1 where 1=1 "+swhere4+ "\n" + " order by t1.batchno desc, t1.material_no, t1.surface_type\n"; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsBS(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge) { if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String swhere = ""; String swhere1 = ""; String swhere2 = ""; String swhere3 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere1 += " and maketime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; swhere2 += " and PRODUCETIME between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; swhere3 += " and ptime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and material_no like '"+bbatchno+"%'"; } /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; }*/ if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } //swhere1 += " and b.JUDGERESULT = '0'"; //swhere2 += " and b.JUDGERESULT = '0'"; //swhere3 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; swhere2 += " and b.r_chemresult = '0'"; swhere3 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; swhere2 += " and b.sizeresult <> '0'"; swhere3 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; swhere2 += " and b.sizeresult = '0'"; swhere3 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; swhere2 += " and b.surfaceresult <> '0'"; swhere3 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; swhere2 += " and b.surfaceresult = '0'"; swhere3 += " and b.surfaceresult = '0'"; } } String sql = ""; if(prodline.equals("厚板线")){ sql = "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)" + " union all " + "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)" +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, " + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " a.ALLOTORDERFORM design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE, a.PRODUCETIME PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, " + " c.bigshopsign grade_name from KCH_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kch_storagelist@xgcx c, (SELECT * FROM zyhb_plandetailofplate@Xgcx UNION ALL " + " SELECT * FROM zyhb_plandetailofplate_ZJNEW@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid(+) AND A.BILLETID = D.SLABNO(+) " + " "+swhere2+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""; }else if(prodline.equals("中板线")){ sql = "select t1.*, case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code, " + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select a.heatno heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from (select * from mb_plandetailofplate@xgcx union all select * from mb_plandetailofplate_zjnew@xgcx) a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCz_TURNOFFLIST@XGCX where orderno is not null)" +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, " + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.planplanno plan_no, a.BILLETID material_no, " + " a.orderno design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE, a.ptime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, " + " c.bigshopsign grade_name from KCz_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kcz_storagelist@xgcx c, (SELECT * FROM mb_plandetailofplate@Xgcx UNION ALL " + " SELECT * FROM mb_plandetailofplate_zjnew@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid AND A.BILLETID = D.productno " + " "+swhere3+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""; }else{ sql = "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)" + " union all " + "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)" + " union all " + "select t1.*, case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code, " + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,t2.STANDROLLER DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select to_char(a.heatno) heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from (select * from mb_plandetailofplate@xgcx union all select * from mb_plandetailofplate_zjnew@xgcx) a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCz_TURNOFFLIST@XGCX where orderno is not null)" +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, " + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " a.ALLOTORDERFORM design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE, a.PRODUCETIME PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, " + " c.bigshopsign grade_name from KCH_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kch_storagelist@xgcx c, (SELECT * FROM zyhb_plandetailofplate@Xgcx UNION ALL " + " SELECT * FROM zyhb_plandetailofplate_ZJNEW@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid(+) AND A.BILLETID = D.SLABNO(+) " + " "+swhere2+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"" +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, " + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.planplanno plan_no, a.BILLETID material_no, " + " a.orderno design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE, a.ptime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, " + " c.bigshopsign grade_name from KCz_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kcz_storagelist@xgcx c, (SELECT * FROM mb_plandetailofplate@Xgcx UNION ALL " + " SELECT * FROM mb_plandetailofplate_zjnew@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid AND A.BILLETID = D.productno " + " "+swhere3+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsBcS(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere1 += " and maketime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; } } String sql = ""; if(prodline.equals("厚板线")){ sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select a.heatno heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"" + " union all " + "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select a.heatno heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""; }else if(prodline.equals("中板线")){ sql = "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select a.heatno heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"" + " union all " + "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select a.heatno heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""; }else{ sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"" + " union all " + "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"" + " union all " + "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,t2.STANDROLLER DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select to_char(a.heatno) heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"" + " union all " + "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,t2.STANDROLLER DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select to_char(a.heatno) heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsB(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } String sql =""; if(prodline.equals("厚板线")){ sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, " + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kch_storagelist@xgcx " + " where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_code, " + " (select BIGSHOPSIGN from kch_storagelist@xgcx where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx " + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_name from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""; }else if(prodline.equals("中板线")){ sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) " + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, " + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kcz_storagelist@xgcx where BILLETID = (select BILLETID " + " from mb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_CODE, (select BIGSHOPSIGN " + " from kcz_storagelist@xgcx where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx " + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_NAME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "; }else{ sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " ALLOTORDERFORM design_key, '' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, " + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kch_storagelist@xgcx " + " where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_code, " + " (select BIGSHOPSIGN from kch_storagelist@xgcx where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx " + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_name from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"" + " union all " + "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) " + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, " + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kcz_storagelist@xgcx where BILLETID = (select BILLETID " + " from mb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_CODE, (select BIGSHOPSIGN " + " from kcz_storagelist@xgcx where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx " + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_NAME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsBR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) { 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)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号 swhere1 += "and a.heatno = '"+heat_no+"'"; } if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号 swhere += "and board_no = '"+board_no+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } if(!SqlJoint.IsNullOrSpace(sbatchno)){ swhere += " and batchno >= '"+sbatchno+"'"; } if(!SqlJoint.IsNullOrSpace(ebatchno)){ swhere += " and batchno <= '"+ebatchno+"'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } String sql =""; if(prodline.equals("厚板线")){ sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select a.heatno heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""; }else if(prodline.equals("中板线")){ sql = "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select a.heatno heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from (SELECT * FROM mb_plandetailofplate@xgcx UNION ALL SELECT * FROM mb_plandetailofplate_ZJNEW@XGCX) a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""; }else{ sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no,TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name " + " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"" + " union all " + "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select to_char(a.heatno) heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name from (SELECT * FROM mb_plandetailofplate@xgcx UNION ALL SELECT * FROM mb_plandetailofplate_ZJNEW@XGCX) a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""; } try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsX(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge) { if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号 swhere += "and batchno >= '"+bbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += "and batchno <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } //swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if(prodline.equals("高棒")){ swhere1 += " and a.pld = '4001GX1'"; }else if(prodline.equals("棒二")){ swhere1 += "and a.pld = '4001BC2'"; }else if(prodline.equals("高线")){ swhere1 += " and a.pld = '4001GX2'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; } } swhere1 += " and a.pld in ('4001GX1','4001GX2','4001BC2')"; String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC from (select substr(a.STOVENO,1,10) HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO DESIGN_KEY,'' PSC_DESC, a.PLY thick, " + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id, C.STEELCODE GRADE_CODE, C.STEELCODE GRADE_NAME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO " + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" order by batchno desc"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsY1(String begintime,String endtime,String material_no,String design_key,String type,String prodline,String isjudge,String processes) { if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(material_no)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCEDATE,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and coil_no like '%"+material_no+"%'"; } if(processes.equals("4mm分条机组")){ swhere += " and MACHINE_CODE = 'M0001'"; }else if(processes.equals("12mm分条机组")){ swhere += " and MACHINE_CODE = 'M0002'"; }else if(processes.equals("3mm横剪机组")){ swhere += " and MACHINE_CODE = 'M0003'"; }else if(processes.equals("退火炉宝信")){ swhere += " and MACHINE_CODE = 'M0004'"; }else if(processes.equals("退火炉南方D")){ swhere += " and MACHINE_CODE = 'M0005'"; }else if(processes.equals("退火炉艾伯纳")){ swhere += " and MACHINE_CODE = 'M0006'"; }else if(processes.equals("平整机组")){ swhere += " and MACHINE_CODE = 'M0007'"; }else if(processes.equals("轧机机组")){ swhere += " and MACHINE_CODE = 'M0008'"; }else if(processes.equals("退火炉南方G")){ swhere += " and MACHINE_CODE = 'M0009'"; }else if(processes.equals("酸洗机组")){ swhere += " and MACHINE_CODE = 'M0010'"; } //swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; } } String sql = "select * from (select t.HEATNO HEAT_NO,t.BATCHNO,t.COILNO MATERIAL_NO,substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) as DESIGN_KEY, CASE WHEN B.FINAL_PROCESSES = '0' THEN (select max(use_desc) from qcm_ord_design_std_sic where design_key = substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) and use_code in (select case when t.COILNO like '%S%' THEN 'YTSX' when t.COILNO like '%L%' and y.num = '1' THEN 'YTZZ' when t.COILNO like '%L%' and y.num = '2' THEN 'YTZZ2' when t.COILNO like '%P%' THEN 'YTPZ' when t.COILNO like '%T%' THEN 'YTTH' when t.COILNO like '%K%' THEN 'YTHJ' when t.COILNO like '%F%' THEN 'YTZJ' END FROM DUAL)) ELSE soi.LEVEL_NAME END sf_level, " + " t.DELIVERY_STATE_DESC, t.THICK,t.WIDTH, t.LENGTH,t.FACTWEIGHT/1000 WEIGHT,t.PRODUCEDATE PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " cbs.STEEL_code,cbs.STEEL_NAME,T.std_code,t.STD_NAME,T.prod_code,t.PROD_NAME from YDM_PRODUCT_DETAIL@LINK_YTG t " + " left join COM_BASE_STEEL@LINK_YTG cbs on t.STEELCODE = cbs.STEEL_CODE left join SLM_ORDER_INFO@LINK_YTG soi on t.ORDERNO = soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ " + " and nvl(soi.VALID_FLAG, '0') = '1' and nvl(soi.CHANGE_FLAG, '0') != '1' JOIN QCM_JUDGE_YT_COIL_RESULT B ON T.COILNO = B.COIL_NO left join ( select count(1) as num,MATERAILCOILNO from ( " + " select MATERAILCOILNO from YDM_PRODUCT_DETAIL@LINK_YTG ypd join MES_RCM_D@LINK_YTG d on ypd.COILNO = d.COIL_NO where substr(ypd.COILNO, -1, 1) not in ('H', 'B') and ypd.MACHINE_CODE = 'M0008' group by ypd.MATERAILCOILNO,d.PROCESS_NO ) group by MATERAILCOILNO )y on y.MATERAILCOILNO = t.MATERAILCOILNO where t.STATE in ('0','-1', '7') "+swhere+swhere1+" order by batchno desc) where sf_level is not null"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsY(String begintime,String endtime,String material_no,String design_key,String type,String prodline,String isjudge,String processes) { if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(material_no)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(PRODUCEDATE,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and coil_no like '%"+material_no+"%'"; } if(processes.equals("4mm分条机组")){ swhere += " and MACHINE_CODE = 'M0001'"; }else if(processes.equals("12mm分条机组")){ swhere += " and MACHINE_CODE = 'M0002'"; }else if(processes.equals("3mm横剪机组")){ swhere += " and MACHINE_CODE = 'M0003'"; }else if(processes.equals("退火炉宝信")){ swhere += " and MACHINE_CODE = 'M0004'"; }else if(processes.equals("退火炉南方D")){ swhere += " and MACHINE_CODE = 'M0005'"; }else if(processes.equals("退火炉艾伯纳")){ swhere += " and MACHINE_CODE = 'M0006'"; }else if(processes.equals("平整机组")){ swhere += " and MACHINE_CODE = 'M0007'"; }else if(processes.equals("轧机机组")){ swhere += " and MACHINE_CODE = 'M0008'"; }else if(processes.equals("退火炉南方G")){ swhere += " and MACHINE_CODE = 'M0009'"; }else if(processes.equals("酸洗机组")){ swhere += " and MACHINE_CODE = 'M0010'"; } //swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if("M".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.sizeresult <> '0'"; }else{ swhere1 += " and b.sizeresult = '0'"; } } if("B".equals(type)){ if(isjudge.equals("是")){ swhere1 += " and b.surfaceresult <> '0'"; }else{ swhere1 += " and b.surfaceresult = '0'"; } } String sql = "select * from (select t.HEATNO HEAT_NO,t.BATCHNO,t.COILNO MATERIAL_NO,substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) as DESIGN_KEY, " + " t.DELIVERY_STATE_DESC, t.THICK,t.WIDTH, t.LENGTH,t.FACTWEIGHT/1000 WEIGHT,t.PRODUCEDATE PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " cbs.STEEL_code,cbs.STEEL_NAME,T.std_code,t.STD_NAME,T.prod_code,t.PROD_NAME from YDM_PRODUCT_DETAIL@LINK_YTG t " + " left join COM_BASE_STEEL@LINK_YTG cbs on t.STEELCODE = cbs.STEEL_CODE left join SLM_ORDER_INFO@LINK_YTG soi on t.ORDERNO = soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ " + " and nvl(soi.VALID_FLAG, '0') = '1' and nvl(soi.CHANGE_FLAG, '0') != '1' JOIN QCM_JUDGE_YT_COIL_RESULT B ON T.COILNO = B.COIL_NO where t.STATE in ('0','-1', '7') "+swhere+swhere1+" order by batchno desc) y where (select count(distinct z.design_key) " + " from qcm_ord_design_std_sic z " + " where z.design_key = y.design_key) > 0 OR Y.DESIGN_KEY IS NULL"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailsXR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) { 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)) { //生产时间 swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号 swhere += "and heat_no = '"+heat_no+"'"; } if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号 swhere += "and board_no = '"+board_no+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc swhere += " and material_no like '%"+material_no+"%'"; } if(!SqlJoint.IsNullOrSpace(sbatchno)){ swhere += " and batchno >= '"+sbatchno+"'"; } if(!SqlJoint.IsNullOrSpace(ebatchno)){ swhere += " and batchno <= '"+ebatchno+"'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } if(prodline.equals("高棒")){ swhere1 += " and a.pld in ('4001GX1')"; }else if(prodline.equals("棒二")){ swhere1 += " and a.pld in ('4001BC2')"; }else if(prodline.equals("高线")){ swhere1 += " and a.pld in ('4001GX2')"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC from (select substr(a.STOVENO,1,10) HEAT_NO,a.STOVENO BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO DESIGN_KEY,'' PSC_DESC, a.PLY thick, " + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid, C.STEELCODE GRADE_CODE, C.STEELCODE GRADE_NAME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO " + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" order by PRODUCETIME desc"; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询待判明细信息 根据轧批号、计划号查询物料号 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetailB(String batchno,String planno,String type) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(batchno)) { //轧批号 swhere += " and batchno = '"+batchno+"'"; } if (!SqlJoint.IsNullOrSpace(planno)) { //最后轧批号 swhere += " and plan_no = '"+planno+"'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, " + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + "union all " + " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) " + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, " + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询待判明细信息 根据轧批号、计划号查询物料号 */ @SuppressWarnings("rawtypes") public CoreReturnObject doQueryMaterialDetail(String batchno,String planno,String type) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(batchno)) { //轧批号 swhere += " and batchno = '"+batchno+"'"; } if (!SqlJoint.IsNullOrSpace(planno)) { //最后轧批号 swhere += " and plan_no = '"+planno+"'"; } swhere1 += " and b.JUDGERESULT = '0'"; if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }else if ("R".equals(type)){ swhere1 += " and b.r_chemresult = '0'"; }*/ String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, " + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.surfaceid surface_id,(select BIGSHOPSIGN from kch_storagelist@xgcx " + " where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_code,(select BIGSHOPSIGN from kch_storagelist@xgcx " +" where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_name from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + "union all " + " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) " + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, " + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.surfaceid surface_id,(select BIGSHOPSIGN from kcz_storagelist@xgcx where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx " + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_CODE, (select BIGSHOPSIGN from kcz_storagelist@xgcx " + " where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_NAME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + "union select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select a.STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, a.PLY thick, " + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.surfaceid surface_id,C.STEELCODE GRADE_CODE,C.STEELCODE GRADE_NAME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + "union all select * from (select SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, " + " t.PRDNM_CD, T.INSTR_COIL_THK,T.INSTR_COIL_WTH, T.INSTR_COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.surfaceid surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE, nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" " + "union all select SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, " + " t.PRDNM_CD, T.INSTR_COIL_THK, T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.surfaceid surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE, nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+"" + " union all select SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,'' psc_desc, " + "t.PRDNM_CD,T.INSTR_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.surfaceid surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE, nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+""; try { System.out.print(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception ex) { ex.printStackTrace(); cro.setV_errCode(-1); cro.setV_errMsg("查询失败!" + ex.getMessage()); } SqlSession.close(); return cro; } /** * 查询物料明细信息 根据物料号 不增加炼钢牌号 * @return */ @SuppressWarnings("rawtypes") public List doQueryMaterialInfo1(String material_no) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号 swhere += " and material_no = '"+material_no+"'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }*/ String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select '' ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO, a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, " + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + " union all " + " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select '' ht_no, 'ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,a.STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO DESIGN_KEY,'' PSC_DESC, (select max(STANDROLLER) " + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, a.PLY thick, a.WIDTH, " + " a.LENGTH, a.THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + " union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select '' ht_no,a.PLD PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,a.STOVENO HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO DESIGN_KEY,'' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, a.PLY thick, " + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO" + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + "union all select * from (select ''ht_no,'RZ1','热轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ, '' psc_desc, " + " t.PRDNM_CD, T.instr_COIL_THK,T.instr_COIL_WTH, T.instr_COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" " + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, " + " t.PRDNM_CD, T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+"" + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,'' psc_desc, " + "t.PRDNM_CD,T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+""; try { System.out.print(sql); List list = mapper.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } return null; } /** * 查询物料明细信息 根据物料号 需增加炼钢牌号 * @return */ @SuppressWarnings("rawtypes") public List doQueryMaterialInfoBX(String material_no) { /* String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号 swhere += " and material_no = '"+material_no+"'"; }*/ String sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select (select rcl_state from kch_turnofflist@xgcx " + " where BILLETID like 'H%' and billetid = a.slabno) ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME, TO_CHAR(a.heatno) heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name, b.BILLETID_jy INSPECTION_LOT " + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid and a.slabno = '"+material_no+"') T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 " +" UNION ALL " +"select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, " + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select (select rcl_state from kch_turnofflist@xgcx " + " where BILLETID like 'H%' and billetid = a.slabno) ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME, TO_CHAR(a.heatno) heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name, b.BILLETID_jy INSPECTION_LOT " + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID " + " and a.billetid = c.billetid and a.slabno = '"+material_no+"') T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1"; System.out.print(sql); List list = mapper.query(sql); if(list.size() == 0) { sql = " select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select (select rcl_state " + " from kcZ_turnofflist@xgcx where BILLETID like 'Z%' and billetid = a.PRODUCTNO) ht_no, 'ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,a.heatno heat_no, substr(A.BILLETID, 1, 12) || '0' BOARD_NO,A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT THICK, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, " + " c.bigshopsign grade_code, c.bigshopsign grade_name, b.BILLETID_jy INSPECTION_LOT from (select * from mb_plandetailofplate@xgcx union all select * from mb_plandetailofplate_zjnew@xgcx) a, zj_result_all@xgcx b, " + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and a.PRODUCTNO = '"+material_no+"') T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "; System.out.print(sql); list = mapper.query(sql); if(list.size() == 0){ sql = " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc from (select '' ht_no,CASE WHEN a.PLD = '4001GX1' THEN 'GX1' WHEN A.PLD = '4001GX2' THEN 'GX2' WHEN A.PLD = '4001BC2' THEN 'BC2' END PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,substr(a.STOVENO,1,10) HEAT_NO,a.STOVENO BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO DESIGN_KEY, a.PLY thick, " + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,C.STEELCODE GRADE_CODE, C.STEELCODE GRADE_NAME,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO" + " where 1=1 and a.BILLETID = '"+material_no+"')T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "; System.out.print(sql); list = mapper.query(sql); } } try { return list; } catch (Exception ex) { ex.printStackTrace(); } SqlSession.close(); return null; } @SuppressWarnings("rawtypes") public List doQueryMaterialInfoJ(String material_no) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号 swhere += " and material_no = '"+material_no+"'"; } String sql = "select * from (select ''ht_no,'RZ1' PLINE_CODE,'热轧线' PLINE_NAME,SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,T.SLAB_NO BOARD_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ DESIGN_KEY, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.instr_COIL_THK THICK,T.instr_COIL_WTH WIDTH, T.instr_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+" " + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD, T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+"" + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD,T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+") where 1= 1 "+swhere+""; try { System.out.print(sql); List list = mapper.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } SqlSession.close(); return null; } public List doQueryMaterialInfoLZNJ(String material_no){ String swhere1 = ""; SqlSession SqlSession1 = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class); String sql = "select t.INSTR_COIL_INDIA,t.COIL_INDIA from c_tbc02_coil_comm t where t.OLD_SAMPL_NO = '"+material_no+"'\n" + " union all \n" + "select t.INSTR_COIL_INDIA,t.COIL_INDIA from c_tbl02_coil_comm t where t.OLD_SAMPL_NO = '"+material_no+"'\n" ; try { System.out.println(sql); List list = mapper1.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } SqlSession1.close(); return null; } @SuppressWarnings("rawtypes") public List doQueryMaterialInfoJ1(String material_no) { SqlSession SqlSession1 = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class); String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号 swhere += " and material_no = '"+material_no+"'"; } String sql = "select * from (select ''ht_no,'RZ1' PLINE_CODE,'热轧线' PLINE_NAME,SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,T.SLAB_NO BOARD_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ DESIGN_KEY, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD DELIVERY_STATE_DESC, T.instr_COIL_THK THICK,T.instr_COIL_WTH WIDTH, T.instr_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+" " + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + " t.PRODNM_CD, T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+"" + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, " + "t.PRODNM_CD,T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+") where 1= 1 "+swhere+""; try { System.out.print(sql); List list = mapper1.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } SqlSession1.close(); return null; } /** * 查询物料明细信息 根据物料号 * @return */ /*@SuppressWarnings("rawtypes") public List doQueryMaterialInfos(String material_no) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号 swhere += " and material_no in "+material_no+""; } String sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC," + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select '' ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,to_char(a.heatno) heatno,MOTHERSLAB BOARD_NO, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc, b.billetid_jy INSPECTION_LOT" + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b where a.SLABNO = b.BILLETID " + " "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"" + " union all " +"select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, " + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC," + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select '' ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,to_char(a.heatno) heatno,MOTHERSLAB BOARD_NO, batchno, a.taskno plan_no, " + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, " + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, " + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc, b.billetid_jy INSPECTION_LOT" + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b where a.SLABNO = b.BILLETID " + " "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"" + " union all " + "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select '' ht_no, 'ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,to_char(a.heatno) heat_no,MOTHERPLATEID BOARD_NO, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, " + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, " + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.billetid_jy INSPECTION_LOT " + " from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b " + " where a.PRODUCTNO = b.BILLETID "+swhere1+") T1 left join sel_pactdetail@xgcx t2 " + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"" +" union all select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select '' ht_no,a.PLD PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,substr(a.STOVENO,1,10) HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO design_key, a.PLY thick, " + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO" + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + "union all select * from (select ''ht_no,'RZ1','热轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ, " + " T.instr_COIL_THK,T.instr_COIL_WTH, T.instr_COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name,t.PRODNM_CD,'' psc,'' psc_desc " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+" " + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, " + " T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD),t.PRODNM_CD,'' psc,'' psc_desc " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+"" + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ, " + "T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD),t.PRODNM_CD,'' psc,'' psc_desc " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+") where 1= 1 "+swhere+""; try { System.out.print(sql); List list = mapper.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } return null; }*/ @SuppressWarnings("rawtypes") public List doQueryMaterialInfosX(String material_no) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号 swhere += " and material_no in "+material_no+""; } String sql = "select t1.*, t2.STEELCODE steel_code, " + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, " + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc " + " from (select '' ht_no,a.PLD PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,substr(a.STOVENO,1,10) HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO design_key, a.PLY thick, " + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO" + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "; try { System.out.print(sql); List list = mapper.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } return null; } /** * 查询物料明细信息 根据物料号 * @return */ @SuppressWarnings("rawtypes") public List doQueryMaterialInfoByHeatNo(String design_key,String heatno) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(design_key)) { //产品序号 swhere += " and design_key = '"+design_key+"'"; } if (!SqlJoint.IsNullOrSpace(heatno)) { //产品序号 swhere += " and heat_no = '"+heatno+"'"; } /*if ("B".equals(type)) { swhere1 += " and b.surfaceresult = '0'"; }else if ("M".equals(type)) { swhere1 += " and b.sizeresult = '0'"; }else if ("T".equals(type)){ swhere1 += " and b.spyresult = '0'"; }*/ String sql = "select * from (select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.CATEGORY prod_code, C2N@xgcx(t2.CATEGORY) prod_name from (select '' ht_no, '4001HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO, a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, " + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" union all " + " select '' ht_no, '4001ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO,'' PSC_DESC, (select max(STANDROLLER) " + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, " + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" union all select '' ht_no,PLD PLINE_CODE,C2N@xgcx(PLD) PLINE_NAME,STOVENO HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, " + " ORDERNO,'' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, " + " WIDTH, LENGTH, THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + "union all select * from (select ''ht_no,'4001RZ1','热轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ, '' psc_desc, " + " t.PRDNM_CD, T.COIL_THK,T.COIL_WTH, T.COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code," + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name " + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" " + "union all select '' ht_no,'4001SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, " + " t.PRDNM_CD, T.COIL_THK, T.COIL_WTH,T.COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.C_COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+"" + " union all select '' ht_no,'4001LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,'' psc_desc, " + "t.PRDNM_CD,T.COIL_THK,T.COIL_WTH,T.COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD," + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) " + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+")) where 1= 1 "+swhere+""; try { System.out.print(sql); List list = mapper.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } return null; } /** * 查询检验信息 */ @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetMeasureInfoJ(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String plan_no,String prodline,String steelname) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select sizeid from QCM_JUDGE_COIL_RESULT"; /*String sql = "select a.SIC_ID, a.BATCH_NO,A.THICK,A.WIDTH,A.LENGTH, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO," + " a.steel_name,a.prod_name,a.std_name,a.level_desc " + " from qcm_judge_measure a ";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 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(sbatchno)) { //起始轧批号 swhere += " and material_no like '"+sbatchno+"%'"; } /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += " and batch_no <= '"+ebatchno+"'"; }*/ if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(plan_no)) { //Psc swhere += " and ROLL_MANA_NO like '%"+plan_no+"%'"; } if(!SqlJoint.IsNullOrSpace(steelname)){ swhere += " and steel_name = '" + steelname + "'"; } if(prodline.equals("热连轧")){ swhere += " and pline_code = 'RZ1'"; }else if(prodline.equals("酸轧")){ swhere += " and pline_code = 'SZ1'"; }else if(prodline.equals("连退")){ swhere += " and pline_code = 'LT1'"; } swhere += " and pline_code in ('RZ1','SZ1','LT1')"; //swhere += "and sic_id in ("+sqls+")"; //swhere += " order by judge_time desc"; String sql = "select a.SIC_ID, " +" a.BATCH_NO," +" A.THICK," +" A.WIDTH," +" A.LENGTH," +" a.SIC_RESULT_DESC," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.judge_name," +" a.judge_time," +" a.SIC_MEMO," +" a.steel_name," +" a.prod_name," +" a.std_name," +" a.level_desc," +" b.PRODNM_CD DELIVERY_STATE_DESC," +" b.ACT_WGT/1000 weight," +" d.ROLL_MANA_NO plan_no" +" from qcm_judge_measure a" +" join tbh02_coil_comm b" +" on a.material_no = b.OLD_SAMPL_NO" +" left join tbf02_spec_mill d" +" on b.COIL_NO = d.COIL_NO "+swhere+"" /*+" union all" +" select a.SIC_ID," +" a.BATCH_NO," +" A.THICK," +" A.WIDTH," +" A.LENGTH," +" a.SIC_RESULT_DESC," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.judge_name," +" a.judge_time," +" a.SIC_MEMO," +" a.steel_name," +" a.prod_name," +" a.std_name," +" a.level_desc," +" c.PRODNM_CD DELIVERY_STATE_DESC," +" c.ACT_WGT/1000 weight," +" d.CAL_NO plan_no" +" from qcm_judge_measure a" +" join c_tbc02_coil_comm c" +" on a.material_no = c.OLD_SAMPL_NO" +" left join l_tbf03_spec_mill d" +" on c.COIL_NO = d.COIL_NO "+swhere+"" +" union all" +" select a.SIC_ID," +" a.BATCH_NO," +" A.THICK," +" A.WIDTH," +" A.LENGTH," +" a.SIC_RESULT_DESC," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.judge_name," +" a.judge_time," +" a.SIC_MEMO," +" a.steel_name," +" a.prod_name," +" a.std_name," +" a.level_desc," +" c.PRODNM_CD DELIVERY_STATE_DESC," +" c.ACT_WGT/1000 weight," +" d.ROLL_MANA_NO plan_no" +" from qcm_judge_measure a" +" join c_tbl02_coil_comm c" +" on a.material_no = c.OLD_SAMPL_NO" +" left join c_tbf03_spec_mill d" +" on c.COIL_NO = d.COIL_NO"+swhere+""*/; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetMeasureInfoB(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String prodline) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select sizeid from zj_result_all@xgcx WHERE 1=1 and (BILLETID LIKE 'Z%' OR BILLETID LIKE 'Z%')"; /*String sql = "select a.SIC_ID, a.heat_no,a.BATCH_NO, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO," + " a.steel_name,a.prod_name,a.std_name,a.level_desc " + " from qcm_judge_measure a ";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 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(sbatchno)) { //起始轧批号 swhere += " and material_no like '"+sbatchno+"%'"; } /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += " and batch_no <= '"+ebatchno+"'"; }*/ if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and psc_desc like '%"+psc_desc+"%'"; } if(prodline.equals("中板线")){ swhere += " and pline_code in ('ZB1') "; }else if(prodline.equals("厚板线")){ swhere += " and pline_code in ('HB1') "; } swhere += " and pline_code in ('ZB1','HB1')"; //swhere += "and sic_id in ("+sqls+")"; //swhere += " order by judge_time desc"; String sql = "select a.SIC_ID, " +" a.heat_no," +" a.BATCH_NO," +" a.SIC_RESULT_DESC," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.judge_name," +" a.judge_time," +" a.SIC_MEMO," +" a.steel_name," +" a.prod_name," +" a.std_name," +" a.level_desc," + " a.SOUTH_THICK_VAL, " + " a.south_h_val, " + " a.south_m_val, " + " a.south_r_val, " + " a.middle_thick_val, " + " a.middle_h_val, " + " a.middle_m_val, " + " a.middle_r_val, " + " a.north_thick_val, " + " a.north_h_val, " + " a.north_m_val," + " a.north_r_val," +" b.ply THICK," +" b.WIDTH WIDTH," +" b.LENGTH LENGTH," + " b.THEORYWEIGHT weight," + "(select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE," +" psel_get_standroll@XGCX(c.STANDROLLER) DELIVERY_STATE_DESC," +" b.planorderform PLANORDERNO," +" b.allotorderform orderno," +" C2N@xgcx(b.INSTORAGECLASS) INSTORAGECLASS," +" C2N@xgcx(b.PRODUCECLASS) PRODUCECLASS" +" from qcm_judge_measure a" +" left join kch_turnofflist@xgcx b" +" on a.material_no = b.billetid" +" left join sel_pactdetail@xgcx c" +" on b.planorderform = c.orderno "+swhere+" AND A.MATERIAL_NO LIKE 'H%'" +" union all" +" select a.SIC_ID," +" a.heat_no," +" a.BATCH_NO," +" a.SIC_RESULT_DESC," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.judge_name," +" a.judge_time," +" a.SIC_MEMO," +" a.steel_name," +" a.prod_name," +" a.std_name," +" a.level_desc," + " a.SOUTH_THICK_VAL, " + " a.south_h_val, " + " a.south_m_val, " + " a.south_r_val, " + " a.middle_thick_val, " + " a.middle_h_val, " + " a.middle_m_val, " + " a.middle_r_val, " + " a.north_thick_val, " + " a.north_h_val, " + " a.north_m_val," + " a.north_r_val," +" b.ply THICK," +" b.WIDTH WIDTH," +" b.LENGTH LENGTH," + " b.THEORYWEIGHT weight," + "(select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " +" psel_get_standroll@XGCX(c.STANDROLLER) DELIVERY_STATE_DESC," +" b.planorderno PLANORDERNO," +" b.orderno orderno," +" C2N@xgcx(b.INCLASSTEAM) INSTORAGECLASS," +" C2N@xgcx(b.PCLASSTEAM) PRODUCECLASS" +" from qcm_judge_measure a" +" left join kcz_turnofflist@xgcx b" +" on a.material_no = b.billetid" +" left join sel_pactdetail@xgcx c" +" on b.planorderno = c.orderno "+swhere+" AND A.MATERIAL_NO LIKE 'Z%'"; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetMeasureInfoX(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String prodline) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select sizeid from zj_result_all@xgcx WHERE BILLETID NOT LIKE 'Z%' AND BILLETID NOT LIKE 'Z%'"; /*String sql = "select a.SIC_ID, a.BATCH_NO, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO," + " a.steel_name,a.prod_name,a.std_name,a.level_desc " + " from qcm_judge_measure a ";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 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(sbatchno)) { //起始轧批号 swhere += " and batch_no >= '"+sbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += " and batch_no <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and psc_desc like '%"+psc_desc+"%'"; } swhere += " and pline_code in ('GX1','BC1','BC2','GX2','4001GX1','4001GX2','4001BC2')"; if(prodline.equals("高棒")){ swhere += " and pline_code in ('GX1','4001GX1')"; }else if(prodline.equals("棒二")){ swhere += " and pline_code in ('BC2','4001BC2')"; }else if(prodline.equals("高线")){ swhere += " and pline_code in ('GX2','4001GX2')"; } String sql = "select a.SIC_ID, " + " a.BATCH_NO, " + " a.SIC_RESULT_DESC," + " a.material_no," + " a.design_key," + " a.psc_desc," + " a.judge_name," + " a.judge_time," + " a.SIC_MEMO," + " a.steel_name," + " a.prod_name," + " a.std_name," + " a.level_desc," + " c.PLY thick," + " c.WIDTH width," + " c.LENGTH length," + " c.THEORYWEIGHT weight," + " psel_get_standroll@XGCX(d.STANDROLLER) DELIVERY_STATE_DESC" + " from qcm_judge_measure a" + " left join kcx_turnofflist@xgcx c" + " on a.material_no = c.BILLETID" + " left join sel_pactdetail d" + " on c.ORDERNO = d.ORDERNO "+swhere+""; //swhere += "and sic_id in ("+sqls+")"; //swhere += " order by batch_no desc"; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetMeasureInfoY(String begintime,String endtime,String material_no,String design_key,String prodline,String processes) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(material_no)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select sizeid from zj_result_all@xgcx WHERE BILLETID NOT LIKE 'Z%' AND BILLETID NOT LIKE 'Z%'"; /*String sql = "select a.SIC_ID, a.BATCH_NO, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO," + " a.steel_name,a.prod_name,a.std_name,a.level_desc " + " from qcm_judge_measure a ";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 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(material_no)) { //起始轧批号 swhere += " and material_no like '%"+material_no+"%'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if(processes.equals("4mm分条机组")){ swhere += " and MACHINE_CODE = 'M0001'"; }else if(processes.equals("12mm分条机组")){ swhere += " and MACHINE_CODE = 'M0002'"; }else if(processes.equals("3mm横剪机组")){ swhere += " and MACHINE_CODE = 'M0003'"; }else if(processes.equals("退火炉宝信")){ swhere += " and MACHINE_CODE = 'M0004'"; }else if(processes.equals("退火炉南方D")){ swhere += " and MACHINE_CODE = 'M0005'"; }else if(processes.equals("退火炉艾伯纳")){ swhere += " and MACHINE_CODE = 'M0006'"; }else if(processes.equals("平整机组")){ swhere += " and MACHINE_CODE = 'M0007'"; }else if(processes.equals("轧机机组")){ swhere += " and MACHINE_CODE = 'M0008'"; }else if(processes.equals("退火炉南方G")){ swhere += " and MACHINE_CODE = 'M0009'"; }else if(processes.equals("酸洗机组")){ swhere += " and MACHINE_CODE = 'M0010'"; } swhere += " and pline_code in ('YT1') "; String sql = "select a.SIC_ID, " + " a.BATCH_NO, " + " a.SIC_RESULT_DESC," + " a.material_no," + " a.design_key," + " a.psc_desc," + " a.judge_name," + " a.judge_time," + " a.SIC_MEMO," + " a.steel_name," + " a.prod_name," + " a.std_name," + " a.level_desc," + " a.change_type_desc," + " c.thick," + " c.width," + " c.length," + " c.FACTWEIGHT/1000 weight," + " c.DELIVERY_STATE_DESC" + " from qcm_judge_measure a" + " left join YDM_PRODUCT_DETAIL@LINK_YTG c" + " on a.material_no = c.COILNO"+swhere+""; //swhere += "and sic_id in ("+sqls+")"; //swhere += " order by batch_no desc"; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测-查询测量实绩 * sum.material_no 材料号 * */ @SuppressWarnings("rawtypes") public CoreReturnObject getQcmJudgeMeasure(String SIC_ID){ try { StringBuffer sqlucomm = new StringBuffer(); sqlucomm.append("select '头' THICK_TYPE,a.SOUTH_THICK_VAL THICK_VAL,a.SOUTH_H_VAL H_VAL,a.MIDDLE_H_VAL M_VAL,a.NORTH_H_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' " + " union all " + " select '中' THICK_TYPE,a.MIDDLE_THICK_VAL THICK_VAL,a.SOUTH_M_VAL H_VAL ,a.MIDDLE_M_VAL M_VAL,a.NORTH_M_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' " + " union all " + " select '尾' THICK_TYPE,a.NORTH_THICK_VAL THICK_VAL,a.SOUTH_R_VAL H_VAL,a.MIDDLE_R_VAL M_VAL,a.NORTH_R_VAL R_VAL from qcm_judge_measure a where SIC_ID ='"+SIC_ID+"' "); List list = mapper.query(sqlucomm.toString()); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测-查询测量实绩 * sum.material_no 材料号 * */ @SuppressWarnings("rawtypes") public CoreReturnObject getQcmJudgeMeasureJ(String SIC_ID){ try { StringBuffer sqlucomm = new StringBuffer(); sqlucomm.append("select '传动侧' THICK_TYPE,a.SOUTH_THICK_VAL THICK_VAL,a.SOUTH_H_VAL H_VAL,a.MIDDLE_H_VAL M_VAL,a.NORTH_H_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' " + " union all " + " select '中间' THICK_TYPE,a.MIDDLE_THICK_VAL THICK_VAL,a.SOUTH_M_VAL H_VAL ,a.MIDDLE_M_VAL M_VAL,a.NORTH_M_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' " + " union all " + " select '操作侧' THICK_TYPE,a.NORTH_THICK_VAL THICK_VAL,a.SOUTH_R_VAL H_VAL,a.MIDDLE_R_VAL M_VAL,a.NORTH_R_VAL R_VAL from qcm_judge_measure a where SIC_ID ='"+SIC_ID+"' "); List list = mapper.query(sqlucomm.toString()); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject GetMemo(String design_key){ try{ String sql = "select * from qcm_ord_design_memo where design_key = '"+design_key+"'"; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测-公差判定实绩 * design_key 质量设计主键 * psc 产品规范码 * */ public CoreReturnObject getToleranceInfo(String sic_id ){ try { QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id); List qjmd = mapper.queryQcmJudgeMeasureD(sic_id); String design_key = pln.getDesign_key(); // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 sql = "select * from qcm_ord_design_std_sic where design_key = '"+design_key+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) { siclist.add(slmOrdDesignStdSic); } for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { siclist.add(slmOrdDesignStdSic); } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){ siclist.add(slmOrdDesignStdSic); } List sodList = new ArrayList(); siclist.addAll(sodList); for(QCMOrdDesignStdSic sod: siclist){ for(QcmJudgeMeasureD qjmds :qjmd){ if(sod.getBias_code().equals(qjmds.getSic_item_code())){ sod.setVal(qjmds.getJudge_val()); sod.setPlan(qjmds.getPlan_val()); } } } //调用质量设计接口获取标准上下限传出siclist,写入siclist并传回 List orderSic=new ArrayList(); if (siclist!=null && siclist.size()>0) { List pri=new ArrayList(); for (int i = 0; i < siclist.size(); i++) { if ("1".equals(siclist.get(i).getIscheck())) { pri.add(siclist.get(i)); siclist.remove(i); i--; } } if (pri!=null && pri.size()>0) { TreeSet priOne=new TreeSet(); for (QCMOrdDesignStdSic p : pri) { priOne.add(p.getBias_code()); } for (String one : priOne) { for (QCMOrdDesignStdSic sic : pri) { if (one.equals(sic.getBias_code())) { orderSic.add(sic); break; } } } } if (siclist!=null && siclist.size()>0) { TreeSet onlyOne=new TreeSet(); for (QCMOrdDesignStdSic QCMOrdDesignStdSic : siclist) { onlyOne.add(QCMOrdDesignStdSic.getBias_code()); } for (String set : onlyOne) { for (QCMOrdDesignStdSic sic : siclist) { if (set.equals(sic.getBias_code())) { orderSic.add(sic); break; } } } } } cro.setResult(orderSic); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject getToleranceInfoNew(String sic_id ){ try { QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id); if(pln==null){ return cro; } List qjmd = mapper.queryQcmJudgeMeasureD(sic_id); String design_key = pln.getDesign_key(); // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 sql = "select * from qcm_ord_design_std_sic where design_key = '"+design_key+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) { slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } pass = true; for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic sod: siclist){ if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } for(QcmJudgeMeasureD qjmds :qjmd){ if(sod.getBias_code().equals(qjmds.getSic_item_code())){ sod.setVal(qjmds.getJudge_val()); sod.setPlan(qjmds.getPlan_val()); } } } cro.setResult(siclist); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject getToleranceInfoNewY(String sic_id ){ try { QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id); if(pln==null){ return cro; } List qjmd = mapper.queryQcmJudgeMeasureD(sic_id); String design_key = pln.getDesign_key(); List hashmap = mapper.doQueryMaterialInfoY1(pln.getMaterial_no()); if(hashmap.size() == 0){ return cro; } String use_code = ""; if(pln.getMaterial_no().contains("S")) { use_code = "YTSX"; }else if(pln.getMaterial_no().contains("L") && hashmap.get(0).get("NUM").toString().equals("1")) { use_code = "YTZZ"; }else if(pln.getMaterial_no().contains("L") && hashmap.get(0).get("NUM").toString().equals("2")) { use_code = "YTZZ2"; }else if(pln.getMaterial_no().contains("P")) { use_code = "YTPZ"; }else if(pln.getMaterial_no().contains("T")) { use_code = "YTTH"; }else if(pln.getMaterial_no().contains("K")) { use_code = "YTHJ"; }else if(pln.getMaterial_no().contains("F")) { use_code = "YTZJ"; } if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){ use_code = "YT1"; } // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 sql = "select * from qcm_ord_design_std_sic where design_key = '"+design_key+"' AND USE_CODE = '"+use_code+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } pass = true; for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic sod: siclist){ if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } if(sod.getBias_code().contains("KB")){ sod.setStdmemo(hashmap.get(0).get("PASS_EXIT_THICK") == null ?"":hashmap.get(0).get("PASS_EXIT_THICK").toString()); } for(QcmJudgeMeasureD qjmds :qjmd){ if(sod.getBias_code().equals(qjmds.getSic_item_code())){ sod.setVal(qjmds.getJudge_val()); //if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){ sod.setPlan(qjmds.getPlan_val()); //} } } } cro.setResult(siclist); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 卷板冷轧综判 * @param sic_id * @return */ public CoreReturnObject getToleranceInfoLZ(String sic_id,String thk,String wth,String ind, String suf_id,String ord_no,String ord_seq,String pakge,String wgt,String edge ,String crk1){ try { QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id); String design_key = ""; String pline_code = ""; if(pln!=null){ design_key = pln.getDesign_key(); pline_code = (pln.getPline_code().equals("RZ1"))?"H":"C"; } List qjmd = mapper.queryQcmJudgeMeasureD(sic_id); // 查询公差基础项目 String sql = "select '厚度' T_NAME,\n" + " case\n" + " when t2.std_min_val_k is not null then\n" + " TO_CHAR(t1.ORD_THK + t2.std_min_val_k,'FM0.999')\n" + " else\n" + " TO_CHAR(t1.ORD_THK + t2.std_min_val,'FM0.999')\n" + " end T_MIN,\n" + " case\n" + " when t2.std_max_val_k is not null then\n" + " TO_CHAR(t1.ORD_THK + t2.std_max_val_k,'FM0.999')\n" + " else\n" + " TO_CHAR(t1.ORD_THK + t2.std_max_val,'FM0.999')\n" + " end T_MAX,\n" + " t4.judge_val T_VALUE," + " '"+thk+"' T_VALUE1,\n" + " '' RMK\n" + " from tba01_ord_line t1,\n" + " \n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(design_key) design_key\n" + " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " t.design_key design_key\n" + " from qcm_ord_design_std_sic t\n" + " where t.use_code = '"+pline_code+"'\n" + " and t.design_key = '"+design_key+"')) t2,\n" + "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n" + "(select t1.judge_val \n" + " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KB01', 'KS01') \n" + " and sic_id = '"+sic_id+"') t4" + " where t2.design_key = t3.design_key\n" + " and t1.ORD_NO || t1.ORD_SEQ = t3.design_key\n" + " \n" + "UNION\n" + "\n" + "select '宽度' T_NAME,\n" + " case\n" + " when t2.std_min_val_k is not null then\n" + " TO_CHAR(t1.ORD_WTH + t2.std_min_val_k)\n" + " else\n" + " TO_CHAR(t1.ORD_WTH + t2.std_min_val)\n" + " end T_MIN,\n" + " case\n" + " when t2.std_max_val_k is not null then\n" + " TO_CHAR(t1.ORD_WTH + t2.std_max_val_k)\n" + " else\n" + " TO_CHAR(t1.ORD_WTH + t2.std_max_val)\n" + " end T_MAX,\n" + " t4.judge_val T_VALUE," + " '"+wth+"' T_VALUE1,\n" + " '' RMK\n" + " from tba01_ord_line t1, \n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(design_key) design_key\n" + " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " t.design_key design_key\n" + " from qcm_ord_design_std_sic t\n" + " where t.use_code = '"+pline_code+"'\n" + " and t.design_key = '"+design_key+"')) t2,\n" + "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n" + "(select t1.judge_val \n" + " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KD01', 'KT01') \n" + " and sic_id = '"+sic_id+"') t4" + " where t2.design_key = t3.design_key\n" + " and t1.ORD_NO ||t1.ORD_SEQ = t3.design_key\n" + "\n" + "UNION\n" + "SELECT '内径' T_NAME, TO_CHAR(T.C_ORD_INDIA), '', '"+ind+"','', ''\n" + " FROM TBA01_ORD_LINE T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + " \n" + "UNION\n" + "SELECT '重量' T_NAME,\n" + " TO_CHAR(OH.C_ORD_WGT_MIN),\n" + " TO_CHAR(OH.C_ORD_WGT_MAX),\n" + " '"+wgt+"',\n" + "''," + " ''\n" + " FROM TBB01_ORD_HEAD OH\n" + " WHERE OH.ORD_NO = '"+ord_no+"'\n" + " AND OH.ORD_SEQ = '"+ord_seq+"'\n" + " \n" + "union\n" + "\n" + "select '外观' T_NAME,\n" + " t2.C_EXTSHAPE_REQ T_MIN,\n" + " '' T_MAX,\n" + " t1.level_desc T_VALUE,\n" + " '' T_VALUE1," + " '"+crk1+"' RMK\n" + " from qcm_judge_surface t1,tba01_ord_line t2\n" + " where t1.design_key = t2.ORD_NO||t2.ORD_SEQ\n" + " and t1.surface_id = '"+suf_id+"'\n" + "UNION\n" + "SELECT '包装' T_NAME,\n" + " PKG_QUALITY_COMM.FZ00_COMM('A01010', T.PAKMTH_TP),\n" + " '',\n" + " '"+pakge+"',\n" + "''," + " ''\n" + " FROM TBA01_ORD_LINE T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + "UNION\n" + "SELECT '切边' T_NAME, nvl(t.EDGE_PROC_YN,'N'), '', '"+edge+"','', ''\n" + " FROM TBB01_ORD_HEAD T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + ""; System.out.println(sql); List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("其他检验项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } public CoreReturnObject getToleranceInfoLZOther(String sic_id,String thk,String wth,String ind, String suf_id,String ord_no,String ord_seq,String pakge,String wgt,String edge ,String crk1,String Extshape_quality){ try { QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id); String design_key = " "; String pline_code = ""; if(pln!=null){ design_key = pln.getDesign_key(); pline_code = (pln.getPline_code().equals("RZ1"))?"H":"C"; } List qjmd = mapper.queryQcmJudgeMeasureD(sic_id); String sql1 = "SELECT '厚度' T_NAME,\n" + " CASE\n" + " WHEN T.DEL_TOL_THK_MIN < 1 THEN\n" + " '0' || TO_CHAR(T.DEL_TOL_THK_MIN, 'FM9999.9999')\n" + " ELSE\n" + " TO_CHAR(T.DEL_TOL_THK_MIN, 'FM9999.9999')\n" + " END T_MIN,\n" + " CASE\n" + " WHEN T.DEL_TOL_THK_MAX < 1 THEN\n" + " '0' || TO_CHAR(T.DEL_TOL_THK_MAX, 'FM9999.9999')\n" + " ELSE\n" + " TO_CHAR(T.DEL_TOL_THK_MAX, 'FM9999.9999')\n" + " END T_MAX," + " t4.judge_val T_VALUE," + " '"+thk+"' T_VALUE1,\n" + " '' RMK " + "FROM TBB01_ORD_DEL T, " + "(select t1.judge_val \n" + " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KB01', 'KS01') \n" + " and sic_id = '"+sic_id+"') t4 " + "WHERE T.ORD_NO || T.ORD_SEQ = '"+ design_key +"'" + " and T.DSN_KIND = PKG_QUALITY_COMM.FIB010203('"+design_key.substring(0, design_key.length()-3)+"'"+"," + " '"+design_key.substring(design_key.length()-3)+"')" + " UNION " + " SELECT '宽度' T_NAME,\n" + " TO_CHAR(T.DEL_TOL_WTH_MIN) T_MIN,"+ " TO_CHAR(T.DEL_TOL_WTH_MAX) T_MAX," + " t4.judge_val T_VALUE," + " '"+wth+"' T_VALUE1,\n" + " '' RMK " + "FROM TBB01_ORD_DEL T, " + "(select t1.judge_val \n" + " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KD01', 'KT01') \n" + " and sic_id = '"+sic_id+"') t4 " + "WHERE T.ORD_NO || T.ORD_SEQ = '"+ design_key +"'" + " and T.DSN_KIND = PKG_QUALITY_COMM.FIB010203('"+design_key.substring(0, design_key.length()-3)+"'"+"," + " '"+design_key.substring(design_key.length()-3)+"')" +" UNION\n" + "SELECT '内径' T_NAME, TO_CHAR(T.C_ORD_INDIA), '', '"+ind+"','', ''\n" + " FROM TBA01_ORD_LINE T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + " \n" + "UNION\n" + "SELECT '重量' T_NAME,\n" + " TO_CHAR(OH.ORD_UNIT_WGT_MIN),\n" + " TO_CHAR(OH.ORD_UNIT_WGT_MAX),\n" + " '"+wgt+"',\n" + "''," + " ''\n" + " FROM TBE02_ORD_PRC OH\n" + " WHERE OH.ORD_NO = '"+ord_no+"'\n" + " AND OH.ORD_SEQ = '"+ord_seq+"'\n" + " \n" + "union\n" + "\n" + "select '外观' T_NAME,\n" + " t2.C_EXTSHAPE_REQ T_MIN,\n" + " '' T_MAX,\n" + " t1.level_desc T_VALUE,\n" + " '"+Extshape_quality+"' T_VALUE1," + " '"+crk1+"' RMK\n" + " from qcm_judge_surface t1,tba01_ord_line t2\n" + " where t1.design_key = t2.ORD_NO||t2.ORD_SEQ\n" + " and t1.surface_id = '"+suf_id+"'\n" + "UNION\n" + "SELECT '包装' T_NAME,\n" + " PKG_QUALITY_COMM.FZ00_COMM('A01010', T.PAKMTH_TP),\n" + " '',\n" + " '"+pakge+"',\n" + "''," + " ''\n" + " FROM TBA01_ORD_LINE T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + "UNION\n" + "SELECT '切边' T_NAME, nvl(t.EDGE_PROC_YN,'N'), '', '"+edge+"','', ''\n" + " FROM TBB01_ORD_HEAD T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + ""; // 查询公差基础项目 /*String sql = "select '厚度' T_NAME,\n" + " case\n" + " when t2.std_min_val_k is not null then\n" + " TO_CHAR(t1.ORD_THK + t2.std_min_val_k,'FM0.999')\n" + " else\n" + " TO_CHAR(t1.ORD_THK + t2.std_min_val,'FM0.999')\n" + " end T_MIN,\n" + " case\n" + " when t2.std_max_val_k is not null then\n" + " TO_CHAR(t1.ORD_THK + t2.std_max_val_k,'FM0.999')\n" + " else\n" + " TO_CHAR(t1.ORD_THK + t2.std_max_val,'FM0.999')\n" + " end T_MAX,\n" + " t4.judge_val T_VALUE," + " '"+thk+"' T_VALUE1,\n" + " '' RMK\n" + " from tba01_ord_line t1,\n" + " \n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(design_key) design_key\n" + " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KB01', 'KS01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " t.design_key design_key\n" + " from qcm_ord_design_std_sic t\n" + " where t.use_code = '"+pline_code+"'\n" + " and t.design_key = '"+design_key+"')) t2,\n" + "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n" + "(select t1.judge_val \n" + " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KB01', 'KS01') \n" + " and sic_id = '"+sic_id+"') t4" + " where t2.design_key = t3.design_key\n" + " and t1.ORD_NO || t1.ORD_SEQ = t3.design_key\n" + " \n" + "UNION\n" + "\n" + "select '宽度' T_NAME,\n" + " case\n" + " when t2.std_min_val_k is not null then\n" + " TO_CHAR(t1.ORD_WTH + t2.std_min_val_k)\n" + " else\n" + " TO_CHAR(t1.ORD_WTH + t2.std_min_val)\n" + " end T_MIN,\n" + " case\n" + " when t2.std_max_val_k is not null then\n" + " TO_CHAR(t1.ORD_WTH + t2.std_max_val_k)\n" + " else\n" + " TO_CHAR(t1.ORD_WTH + t2.std_max_val)\n" + " end T_MAX,\n" + " t4.judge_val T_VALUE," + " '"+wth+"' T_VALUE1,\n" + " '' RMK\n" + " from tba01_ord_line t1, \n" + " (select max(std_min_val) std_min_val,\n" + " max(std_max_val) std_max_val,\n" + " max(std_min_val_k) std_min_val_k,\n" + " max(std_max_val_k) std_max_val_k,\n" + " max(std_min_val_n) std_min_val_n,\n" + " max(std_max_val_n) std_max_val_n,\n" + " max(design_key) design_key\n" + " from (select case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val,\n" + " case\n" + " when t.specl_fl = '0' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_k,\n" + " case\n" + " when t.specl_fl = '1' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_k,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_min_val\n" + " end std_min_val_n,\n" + " case\n" + " when t.specl_fl = '2' and\n" + " t.bias_code in ('KD01', 'KT01') then\n" + " t.std_max_val\n" + " end std_max_val_n,\n" + " t.design_key design_key\n" + " from qcm_ord_design_std_sic t\n" + " where t.use_code = '"+pline_code+"'\n" + " and t.design_key = '"+design_key+"')) t2,\n" + "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n" + "(select t1.judge_val \n" + " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KD01', 'KT01') \n" + " and sic_id = '"+sic_id+"') t4" + " where t2.design_key = t3.design_key\n" + " and t1.ORD_NO ||t1.ORD_SEQ = t3.design_key\n" + "\n" + "UNION\n" + "SELECT '内径' T_NAME, TO_CHAR(T.C_ORD_INDIA), '', '"+ind+"','', ''\n" + " FROM TBA01_ORD_LINE T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + " \n" + "UNION\n" + "SELECT '重量' T_NAME,\n" + " TO_CHAR(OH.C_ORD_WGT_MIN),\n" + " TO_CHAR(OH.C_ORD_WGT_MAX),\n" + " '"+wgt+"',\n" + "''," + " ''\n" + " FROM TBB01_ORD_HEAD OH\n" + " WHERE OH.ORD_NO = '"+ord_no+"'\n" + " AND OH.ORD_SEQ = '"+ord_seq+"'\n" + " \n" + "union\n" + "\n" + "select '外观' T_NAME,\n" + " t2.C_EXTSHAPE_REQ T_MIN,\n" + " '' T_MAX,\n" + " t1.level_desc T_VALUE,\n" + " '' T_VALUE1," + " '"+crk1+"' RMK\n" + " from qcm_judge_surface t1,tba01_ord_line t2\n" + " where t1.design_key = t2.ORD_NO||t2.ORD_SEQ\n" + " and t1.surface_id = '"+suf_id+"'\n" + "UNION\n" + "SELECT '包装' T_NAME,\n" + " PKG_QUALITY_COMM.FZ00_COMM('A01010', T.PAKMTH_TP),\n" + " '',\n" + " '"+pakge+"',\n" + "''," + " ''\n" + " FROM TBA01_ORD_LINE T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + "UNION\n" + "SELECT '切边' T_NAME, nvl(t.EDGE_PROC_YN,'N'), '', '"+edge+"','', ''\n" + " FROM TBB01_ORD_HEAD T\n" + " WHERE T.ORD_NO = '"+ord_no+"'\n" + " AND T.ORD_SEQ = '"+ord_seq+"'\n" + "";*/ //System.out.println(sql1); List list = mapper.query(sql1); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("其他检验项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测-查询公差标准 * design_key 质量设计主键 * psc 产品规范码 * */ @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject getTolerance(String designkey,String material_no){ try { // 查询计划规格 List hashmap = doQueryMaterialInfo1(material_no); if(hashmap.size() == 0){ return cro; } QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey); // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准 sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) { siclist.add(slmOrdDesignStdSic); } for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { siclist.add(slmOrdDesignStdSic); } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){ siclist.add(slmOrdDesignStdSic); } List sodList = new ArrayList(); for(QCMBaseTolerance cbt: cbtList){ boolean flag = false; for(QCMOrdDesignStdSic sod1: siclist){ if(cbt.getTol_code().equals(sod1.getBias_code())){ flag = true; break; } } if(flag){ QCMOrdDesignStdSic sod = new QCMOrdDesignStdSic(); sod.setBias_code(cbt.getTol_code()); sod.setBias_name(cbt.getTol_name()); sodList.add(sod); } } siclist.addAll(sodList); for(QCMOrdDesignStdSic sod: siclist){ // 计划规格赋值 if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } if(sod.getBias_code().contains("KB")){ sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(sod.getBias_code().contains("KD")){ sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString()); }else if(sod.getBias_code().contains("KF")){ sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); } } //调用质量设计接口获取标准上下限传出siclist,写入siclist并传回 List orderSic=new ArrayList(); if (siclist!=null && siclist.size()>0) { List pri=new ArrayList(); for (int i = 0; i < siclist.size(); i++) { if ("1".equals(siclist.get(i).getIscheck())) { pri.add(siclist.get(i)); siclist.remove(i); i--; } } if (pri!=null && pri.size()>0) { TreeSet priOne=new TreeSet(); for (QCMOrdDesignStdSic p : pri) { priOne.add(p.getBias_code()); } for (String one : priOne) { for (QCMOrdDesignStdSic sic : pri) { if (one.equals(sic.getBias_code())) { orderSic.add(sic); break; } } } } if (siclist!=null && siclist.size()>0) { TreeSet onlyOne=new TreeSet(); for (QCMOrdDesignStdSic QCMOrdDesignStdSic : siclist) { onlyOne.add(QCMOrdDesignStdSic.getBias_code()); } for (String set : onlyOne) { for (QCMOrdDesignStdSic sic : siclist) { if (set.equals(sic.getBias_code())) { orderSic.add(sic); break; } } } } } cro.setResult(orderSic); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject getToleranceNew1(List hashmap, String designkey,String material_no){ try { // 查询计划规格 //QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey); // 查询公差基础项目 /*String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql);*/ List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准 String sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic sod: siclist){ // 计划规格赋值 if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } if(sod.getBias_code().contains("KB")){ sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(sod.getBias_code().contains("KD")){ sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString()); }else if(sod.getBias_code().contains("KF")){ sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); } } cro.setResult(siclist); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } //SqlSession.close(); return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject getToleranceNew(String designkey,String material_no){ try { // 查询计划规格 List hashmap = doQueryMaterialInfoBX(material_no); if(hashmap.size() == 0){ hashmap = doQueryMaterialInfoJ(material_no); } if(hashmap.size() == 0){ return cro; } QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey); // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准 sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic sod: siclist){ // 计划规格赋值 if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } if(sod.getBias_code().contains("KB")){ sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(sod.getBias_code().contains("KD")){ sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString()); }else if(sod.getBias_code().contains("KF")){ sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); } } cro.setResult(siclist); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject getToleranceNewY(String designkey,String material_no){ try { // 查询计划规格 List hashmap = mapper.doQueryMaterialInfoY(material_no); if(hashmap.size() == 0){ return cro; } QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey); // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准 String use_code = ""; if(material_no.contains("S")) { use_code = "YTSX"; }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("1")) { use_code = "YTZZ"; }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("2")) { use_code = "YTZZ2"; }else if(material_no.contains("P")) { use_code = "YTPZ"; }else if(material_no.contains("T")) { use_code = "YTTH"; }else if(material_no.contains("K")) { use_code = "YTHJ"; }else if(material_no.contains("F")) { use_code = "YTZJ"; } if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){ use_code = "YT1"; } sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"' and use_code = '"+use_code+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic sod: siclist){ // 计划规格赋值 if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } if(sod.getBias_code().contains("KB")){ //if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){ sod.setPlan(hashmap.get(0).get("PLAN_THICK") == null ?"":hashmap.get(0).get("PLAN_THICK").toString()); //} sod.setStdmemo(hashmap.get(0).get("PASS_EXIT_THICK") == null ?"":hashmap.get(0).get("PASS_EXIT_THICK").toString()); }else if(sod.getBias_code().contains("KD")){ //if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){ sod.setPlan(hashmap.get(0).get("PLAN_WIDTH") == null ?"":hashmap.get(0).get("PLAN_WIDTH").toString()); //} } } cro.setResult(siclist); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject getToleranceJ(String designkey,String material_no){ try { // 查询计划规格 List hashmap = doQueryMaterialInfoJ(material_no); if(hashmap.size() == 0){ return cro; } QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey); // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准 sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic sod: siclist){ // 计划规格赋值 if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } if(sod.getBias_code().contains("KB")){ sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(sod.getBias_code().contains("KD")){ sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString()); }else if(sod.getBias_code().contains("KF")){ sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); } } cro.setResult(siclist); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject getToleranceZhb(String designkey,String material_no){ try { // 查询计划规格 List hashmap = new ArrayList(); if(material_no.startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } if(hashmap.size() == 0){ if(material_no.startsWith("H")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } } if(hashmap.size() ==0){ return cro; } // 查询公差基础项目 String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'"; List cbtList = mapper.queryQCMBaseTolerance(sql); List siclist=new ArrayList(); //获取DESIGN_KEY、PSC对应所有公差标准 //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准 sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) { slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic sod: siclist){ // 计划规格赋值 if(sod.getIscheck() == null || sod.getIscheck().equals("1")){ sod.setIscheck("是"); }else{ sod.setIscheck("否"); } if(sod.getBias_code().contains("KB")){ sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(sod.getBias_code().contains("KD")){ sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString()); }else if(sod.getBias_code().contains("KF")){ sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString()); } } cro.setResult(siclist); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差项查询失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHuman(final ArrayList param1,ArrayList param2,ArrayList param3) throws Exception{ try { //判断是否进行综合判定,是否在库 List hashmap = new ArrayList(); List hashmap1 = new ArrayList(); String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0){ if(hashmap1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(hashmap1.size() > 0) { List list1 = mapper.query(sql); sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'" + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' UNION ALL " + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' union all " + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + param1.get(1).toString() + "' union all " + " select billetid from kcx_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } //撤销判定 cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString()); } sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; List list2 = mapper.query(sql); if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(param1==null||param1.size()==0 ){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ for(HashMap list:list2){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } } }else{ throw new Exception("未找到库存信息!"); } } List siclist=new ArrayList(); // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K; sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } /*for (QCMOrdDesignStdSic sic : listSic) { for (QCMOrdDesignStdSic sick : listsick) { if (sic.getBias_code().equals(sick.getBias_code())) { siclist.remove(sic); } } }*/ int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "select * from (select * from qcm_judge_measure where sic_ID like 'SB"+date+"%' order by sic_ID DESC) where rownum <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="SB"+date+String.format("%05d", count); // 厚宽长判定标识 pass = true; boolean judge = true; String memo = ""; if(param1.get(1).toString().startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(param1.get(1).toString()); }else if(param1.get(1).toString().startsWith("H")){ hashmap = mapper.doQueryMaterialInfoHB(param1.get(1).toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(param1.get(1).toString()); } if(hashmap.size() == 0){ hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); } if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } // 自动判定 if(param1.get(2).toString().equals("")){ for(QCMOrdDesignStdSic sic:siclist){ String upperDeciation=null; String upperDeciation_k=null; String upperDeciation_n=null; String drownDeciation=null; String drownDeciation_k=null; String drownDeciation_n=null; //国标 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) { if (sic.getStd_max_val().contains("+")) { upperDeciation=sic.getStd_max_val().substring(1);//上偏差 }else { upperDeciation=sic.getStd_max_val();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) { if (sic.getStd_min_val().contains("-")) { drownDeciation=sic.getStd_min_val().substring(1);//下偏差 }else { drownDeciation=sic.getStd_min_val();//下偏差 } } //客户 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) { if (sic.getStd_max_val_k().contains("+")) { upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差 }else { upperDeciation_k=sic.getStd_max_val_k();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) { if (sic.getStd_min_val_k().contains("-")) { drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差 }else { drownDeciation_k=sic.getStd_min_val_k();//下偏差 } } //内控 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) { if (sic.getStd_max_val_n().contains("+")) { upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差 }else { upperDeciation_n=sic.getStd_max_val_n();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) { if (sic.getStd_min_val_n().contains("-")) { drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差 }else { drownDeciation_n=sic.getStd_min_val_n();//下偏差 } } int seq1 = 1; for(List list:param2){ if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/) { double val=Double.parseDouble(list.get(1).toString()); if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) { if(list.get(3).toString().equals("")){ pass=comOrtherVal(upperDeciation,drownDeciation,val); if(pass){ pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val); if(pass){ pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val); } } }else{ if(upperDeciation == null && drownDeciation == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); }else if(drownDeciation == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); } if(pass){ if(upperDeciation_k == null && drownDeciation_k == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_k == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); }else if(drownDeciation_k == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); } if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); } } } } }else{ pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val); } if(!pass){ //判定原因 if(memo == ""){ memo = sic.getBias_name() + list.get(1).toString(); }else{ memo += ","+sic.getBias_name() + list.get(1).toString(); } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(param1.get(1).toString()); qjr.setType_code("S"); qjr.setRecord_id(mst_id); qjr.setSeq(seq1); qjr.setPhy_code_s(sic.getBias_code()); qjr.setPhy_name_s(sic.getBias_name()); qjr.setCreate_name(param1.get(5).toString()); qjr.setVal1(list.get(1).toString()); qjr.setStdmax(sic.getStd_result_max()); if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){ qjr.setStdmax_sign("<="); } qjr.setStdmin(sic.getStd_result_min()); if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){ qjr.setStdmax_sign(">="); } qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); judge = false; } } } } } else if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){ judge = false; } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品"))){ qj.setSic_is_lock("0"); }else{ qj.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0")); } qj.setSic_result_code(judge?"1":(param1.get(2).toString().equals("2")?"2":"0")); qj.setSic_result_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判")); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); //测量实绩 if(param3.size() > 0){ for(List listc : param3){ if(listc.get(0).toString().equals("头")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("中")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("尾")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString())); } } } } qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); if(qj.getSic_result_code().equals("0") && !qj.getLevel_desc().contains("待处理")){ throw new Exception("检验结果与质量等级不匹配!"); }else if(qj.getSic_result_code().equals("1") && !qj.getLevel_desc().contains("正品")){ throw new Exception("检验结果与质量等级不匹配!"); }else if(qj.getSic_result_code().equals("2") && (qj.getLevel_desc().contains("正品") || qj.getLevel_desc().contains("待处理"))){ throw new Exception("检验结果与质量等级不匹配!"); } mapper.insertQCMJudgeMeasure(qj); //判定实绩 for(List list:param2){ if(list.toString().contains("KB")){ //qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(list.toString().contains("KD")){ //qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else if(list.toString().contains("KF")){ //qj.setJudge_length(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString()); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val(list.get(1).toString()); qjmd.setSic_item_code(list.get(0).toString()); qjmd.setSic_item_desc(list.get(2).toString()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(param1.get(1).toString()); zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判")); if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品"))){ zra.setSic_is_lock("0"); }else { zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0")); } zra.setSizeid(mst_id); mapper.UpdateJugeResultB(zra); }else{ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(param1.get(1).toString()); zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判")); zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0")); zra.setSizeid(mst_id); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到库存信息!"); } if(qj.getSic_result_code().equals("2")){ //写入异常材处置表 count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); sdf=new SimpleDateFormat("yyMMdd"); date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+param1.get(1).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; String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString(); //插入封锁表 qjlk.setLock_type_code("S"); qjlk.setLock_type_desc("公差检验"); qjlk.setMaterial_no(param1.get(1).toString()); qjlk.setLock_id(mst_id); qjlk.setLock_seq(lock_seq); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(param1.get(5).toString()); qjlk.setLock_memo(lock_memo); if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){ qjlk.setUnlock_type_code("6"); qjlk.setUnlock_type_desc("脱单"); qjlk.setUnlock_memo("系统自动脱单"); qjlk.setUnlock_name(param1.get(5).toString()); qjlk.setUnlock_time(new Date()); } mapper.insertQCMJudgeLocking(qjlk); } //更改库存表尺寸 if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { String aJudgeType = judge?"412701":(param1.get(2).toString().equals("2")?"412710":"412705"); GetAddweight("","","",param1.get(1).toString(),aJudgeType,param1.get(4).toString()); } if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){ order_down(param1.get(1).toString(),"公差判定:" + param1.get(9).toString()); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("公差检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); if (hashmap.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, judge?"1":(param1.get(2).toString().equals("2")?"2":"D"), null, null, null, null,""); } } SqlSession.commit(); /*Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } try { qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t1.start();*/ /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system"); if(judge){ //综合判定 qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString()); }*/ } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHuman3(final ArrayList param1,ArrayList param2,ArrayList param3) throws Exception{ try { String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; List list2 = mapper.query(sql); if(param1==null||param1.size()==0 ){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ for(HashMap list:list2){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } } }else{ throw new Exception("未找到库存信息!"); } } List siclist=new ArrayList(); // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K; sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " use_code = 'H' and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " use_code = 'H' and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " use_code = 'H' and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } /*for (QCMOrdDesignStdSic sic : listSic) { for (QCMOrdDesignStdSic sick : listsick) { if (sic.getBias_code().equals(sick.getBias_code())) { siclist.remove(sic); } } }*/ int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="S"+date+String.format("%05d", count); // 厚宽长判定标识 pass = true; boolean pass2 = true; boolean judge = true; String memo = ""; List hashmap = doQueryMaterialInfoBX(param1.get(1).toString()); if(hashmap.size() == 0){ hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); } if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } // 自动判定 for(QCMOrdDesignStdSic sic:siclist){ String upperDeciation=null; String upperDeciation_k = null; String upperDeciation_n = null; String drownDeciation=null; String drownDeciation_k=null; String drownDeciation_n=null; if(StringUtils.isBlank(upperDeciation) && StringUtils.isBlank(upperDeciation_k) && StringUtils.isBlank(drownDeciation) && StringUtils.isBlank(drownDeciation_k)) { throw new Exception(param1.get(0).toString() + "的订单标准未下发,请联系下发后再进行判定!"); } //国标 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) { if (sic.getStd_max_val().contains("+")) { upperDeciation=sic.getStd_max_val().substring(1);//上偏差 }else { upperDeciation=sic.getStd_max_val();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) { if (sic.getStd_min_val().contains("-")) { drownDeciation=sic.getStd_min_val().substring(1);//下偏差 }else { drownDeciation=sic.getStd_min_val();//下偏差 } } //客户 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) { if (sic.getStd_max_val_k().contains("+")) { upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差 }else { upperDeciation_k=sic.getStd_max_val_k();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) { if (sic.getStd_min_val_k().contains("-")) { drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差 }else { drownDeciation_k=sic.getStd_min_val_k();//下偏差 } } //内控 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) { if (sic.getStd_max_val_n().contains("+")) { upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差 }else { upperDeciation_n=sic.getStd_max_val_n();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) { if (sic.getStd_min_val_n().contains("-")) { drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差 }else { drownDeciation_n=sic.getStd_min_val_n();//下偏差 } } int seq1 = 1; for(List list:param2){ if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/) { double val=Double.parseDouble(list.get(1).toString());//判定 double val2=Double.parseDouble(list.get(4).toString());//机器 //判定和机器值先按特殊要求是否满足进行判定,无特殊要求按国标上下偏差进行判定 if(list.get(3).toString().equals("")){ pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val); pass2=comOrtherVal(upperDeciation_k,drownDeciation_k,val2); if(pass && pass2){//有一个不合格进行国标的判定 pass=comOrtherVal(upperDeciation,drownDeciation,val); pass2=comOrtherVal(upperDeciation,drownDeciation,val2); pass = pass && pass2; } }else{ //判定和机器值先按特殊要求是否满足进行判定,无特殊要求按国标上下偏差进行判定 if(upperDeciation_k == null && drownDeciation_k == null){ pass=comOrtherVal(null,null,val); pass2=comOrtherVal(null,null,val2); }else if(upperDeciation_k == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); pass2=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val2); }else if(drownDeciation_k == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val); pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val2); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val2); } if(pass && pass2){//有一个不合格进行国标的判定 if(upperDeciation == null && drownDeciation == null){ pass=comOrtherVal(null,null,val); pass2=comOrtherVal(null,null,val2); }else if(upperDeciation == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); pass2=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val2); }else if(drownDeciation == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val); pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val2); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val2); } pass = pass && pass2; } } if(!pass){ //判定原因 if(memo == ""){ memo = sic.getBias_name() + list.get(1).toString(); }else{ memo += ","+sic.getBias_name() + list.get(1).toString(); } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(param1.get(1).toString()); qjr.setType_code("S"); qjr.setRecord_id(mst_id); qjr.setSeq(seq1); qjr.setPhy_code_s(sic.getBias_code()); qjr.setPhy_name_s(sic.getBias_name()); qjr.setCreate_name(param1.get(5).toString()); qjr.setVal1(list.get(1).toString()); qjr.setStdmax(sic.getStd_result_max()); if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){ qjr.setStdmax_sign("<="); } qjr.setStdmin(sic.getStd_result_min()); if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){ qjr.setStdmax_sign(">="); } qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); judge = false; } } } } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } qj.setSic_is_lock(judge?"0":"1"); qj.setSic_result_code(judge?"1":"2"); qj.setSic_result_desc(judge?"合格":"不合格"); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); //测量实绩 if(param3.size() > 0){ for(List listc : param3){ if(listc.get(0).toString().equals("传动侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("中间")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("操作侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString())); } } } } qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); mapper.insertQCMJudgeMeasure(qj); //判定实绩 for(List list:param2){ if(list.toString().contains("KB")){ //qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(list.toString().contains("KD")){ //qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else if(list.toString().contains("KF")){ //qj.setJudge_length(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString()); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val(list.get(1).toString()); qjmd.setSic_item_code(list.get(0).toString()); qjmd.setSic_item_desc(list.get(2).toString()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(param1.get(1).toString()); zra.setSizeresult(judge?"1":"2"); zra.setSizeresult_desc(judge?"合格":"不合格"); zra.setSic_is_lock(judge?"0":"1"); zra.setSizeid(mst_id); mapper.UpdateJugeResultB(zra); }else{ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(param1.get(1).toString()); zra.setSizeresult(judge?"1":"2"); zra.setSizeresult_desc(judge?"合格":"不合格"); zra.setSic_is_lock(judge?"0":"1"); zra.setSizeid(mst_id); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到库存信息!"); } if(!judge){ //写入异常材处置表 count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); sdf=new SimpleDateFormat("yyMMdd"); date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+param1.get(1).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; String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString(); //插入封锁表 qjlk.setLock_type_code("S"); qjlk.setLock_type_desc("公差检验"); qjlk.setMaterial_no(param1.get(1).toString()); qjlk.setLock_id(mst_id); qjlk.setLock_seq(lock_seq); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(param1.get(5).toString()); qjlk.setLock_memo(lock_memo); mapper.insertQCMJudgeLocking(qjlk); } //更改库存表尺寸 /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString()); }*/ QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("公差检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); if (hashmap.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, judge?"1":(param1.get(2).toString().equals("2")?"2":"D"), null, null, null, null,""); } } SqlSession.commit(); /*Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } try { qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t1.start();*/ /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system"); if(judge){ //综合判定 qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString()); }*/ } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("检验登记失败!"+e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHuman2LZBmgc(ArrayList params1,final ArrayList params2,final ArrayList param1,ArrayList param2,ArrayList param3) throws Exception{ try { String result1 = "0"; String sql1 = "select T.PAKMTH_TP ALO_PAKMTH_TP,T.C_ORD_INDIA ALO_C_ORD_INDIA ,T.PROD_LINE ALO_PROD_LINE from TBA01_ORD_LINE t where T.ORD_NO || t.ORD_SEQ = '"+param1.get(0).toString()+"'"; List list5 = mapper.query(sql1); String sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; String material_no = params2.get(0).toString(); String Inspection_lot = ""; List list2 = mapper.query(sql); if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } List hashmap3 = doQueryMaterialInfoLZNJ(param1.get(1).toString()); String inspection_lot = ""; if(param1==null||param1.size()==0 ){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list2.size() >0){ for(HashMap list:list2){ /*if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); }*/ if(!list.get("JUDGERESULT").toString().equals("0")){ List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'"); if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,""); //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("表面已锁定,不能做表面检验登记!"); } Inspection_lot = list.get("INSPECTION_LOT")== null?"":list.get("INSPECTION_LOT").toString(); } }else{ throw new Exception("未找到库存信息!"); } } if((list5.get(0).get("ALO_C_ORD_INDIA")==null?"":list5.get(0).get("ALO_C_ORD_INDIA").toString()).equals(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString())){ result1 = "1"; } else{ result1 = "2"; } List siclist=new ArrayList(); sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } /*for (QCMOrdDesignStdSic sic : listSic) { for (QCMOrdDesignStdSic sick : listsick) { if (sic.getBias_code().equals(sick.getBias_code())) { siclist.remove(sic); } } }*/ int count=0; int icount = 0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); String type = "U"; sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+type+ date+"%' order by surface_id desc) where rownum <= 1 "; List qsflist=mapper.queryQcmJudgeSurfaces(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } if (qsflist != null && qsflist.size() > 0) { String s=qsflist.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; icount++; String mst_id="S"+date+String.format("%05d", count); String sid=type+date + String.format("%05d",icount); // 厚宽长判定标识 pass = true; boolean judge = true; boolean judgeBm = true; String memo = ""; String flaw_area = ""; List hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } //插入表面实绩表 for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } if(flaw_area.equals("")){ if(params1.size() >0){ flaw_area = params1.get(0).get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); String result = ""; if(!params2.get(1).toString().equals("")){ result = params2.get(1).toString(); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); /*if(flaw_area.equals("U")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); }else if(flaw_area.equals("D")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfd_is_lock("0"); }else if(flaw_area.equals("E")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfe_is_lock("0"); }else if(params2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); }*/ }else{ if(hashmap.get(0).get("DESIGN_KEY")==null){ result = "0"; qjsf.setSf_result_code(result); qjsf.setSf_result_desc("待判"); }else{ result = getresult1(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString(),params2.get(3).toString()); qjsf.setSf_result_code(result); qjsf.setSf_result_desc(result.equals("1")?"合格":(result.equals("2")?"不合格":"待判")); } /*if(flaw_area.equals("U")&&result.equals("2")){ qjsf.setSfu_is_lock("0"); }else if(flaw_area.equals("D")&&result.equals("2")){ qjsf.setSfd_is_lock("0"); }else if(flaw_area.equals("E")&&result.equals("2")){ qjsf.setSfe_is_lock("0"); }else if(result.equals("2")){ qjsf.setSfu_is_lock("0"); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); }*/ } if("LT1".equals(hashmap.get(0).get("PLINE_CODE"))){ if(hashmap.get(0).get("STEEL_CODE").toString().contains("TC")|| hashmap.get(0).get("STEEL_CODE").toString().contains("EK")|| hashmap.get(0).get("STEEL_CODE").toString().contains("SPP-H")){ if("不合格".equals(params2.get(9).toString())){ result = "2"; qjsf.setSf_result_code(result); qjsf.setSf_result_desc("不合格"); String sql11 = "update c_tbc02_coil_comm t set t.MAOCI = 'N' where " + " t.OLD_SAMPL_NO = '"+params2.get(0).toString()+"'"; mapper.upRZRemarks(sql11.toString()); }else if("合格".equals(params2.get(9).toString())){ String sql11 = "update c_tbc02_coil_comm t set t.MAOCI = 'Y' where " + " t.OLD_SAMPL_NO = '"+params2.get(0).toString()+"'"; mapper.upRZRemarks(sql11.toString()); }else if("".equals(params2.get(9).toString())&& "0".equals(result)){ cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"]表面需要判定边部毛刺,请勾选边部毛刺等级"); return cro; } } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); qjsffs.setFlaw_origin(qjs.get(16).toString()); qjsflist.add(qjsffs); seq = Long.parseLong(qjs.get(1).toString()); seq++; } // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql); // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } } for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } } if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ if(qjsff.getFlaw_area() == null){ continue; } //将获取的缺陷实绩信息插入表面缺陷实绩表 String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //更新库存表上表,下表,边部结果 if(list2.size() >0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc("合格"); zra.setSurfaceid(sid); zra.setSfd_is_lock("0"); zra.setSfe_is_lock("0"); zra.setSfu_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc("合格"); zra.setUd_surface_result_id_desc(sid); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc("合格"); zra.setUp_surface_result_id_desc(sid); zra.setMarginal_result("1"); zra.setMarginal_result_desc("合格"); zra.setMarginal_result_id_desc(sid); //合格 if(!result.equals("1")){ if(type.equals("U")){ zra.setUp_surface_result(result); zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else if(type.equals("D")){ zra.setUd_surface_result(result); zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else if(type.equals("E")){ zra.setMarginal_result(result); zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else{ zra.setMarginal_result(result); zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); zra.setUp_surface_result(result); zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setUd_surface_result(result); zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); } } mapper.UpdateJugeResultJ(zra); } if(param1.get(2).toString().equals("")){ for(QCMOrdDesignStdSic sic:siclist){ String upperDeciation=null; String upperDeciation_k = null; String upperDeciation_n = null; String drownDeciation=null; String drownDeciation_k=null; String drownDeciation_n=null; //国标 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) { if (sic.getStd_max_val().contains("+")) { upperDeciation=sic.getStd_max_val().substring(1);//上偏差 }else { upperDeciation=sic.getStd_max_val();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) { if (sic.getStd_min_val().contains("-")) { drownDeciation=sic.getStd_min_val().substring(1);//下偏差 }else { drownDeciation=sic.getStd_min_val();//下偏差 } } //客户 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) { if (sic.getStd_max_val_k().contains("+")) { upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差 }else { upperDeciation_k=sic.getStd_max_val_k();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) { if (sic.getStd_min_val_k().contains("-")) { drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差 }else { drownDeciation_k=sic.getStd_min_val_k();//下偏差 } } //内控 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) { if (sic.getStd_max_val_n().contains("+")) { upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差 }else { upperDeciation_n=sic.getStd_max_val_n();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) { if (sic.getStd_min_val_n().contains("-")) { drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差 }else { drownDeciation_n=sic.getStd_min_val_n();//下偏差 } } for(List list:param2){ if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/) { double val=Double.parseDouble(list.get(1).toString()); if(upperDeciation_k != null && drownDeciation_k != null){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); } } } else if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) { if(list.get(3).toString().equals("")){ pass=comOrtherVal(upperDeciation,drownDeciation,val); if(pass){ pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val); if(pass){ pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val); } } }else{ if(upperDeciation == null && drownDeciation == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); }else if(drownDeciation == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); } /*if(pass){ if(upperDeciation_k == null && drownDeciation_k == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_k == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); }else if(drownDeciation_k == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); }*/ if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); } } } }else { pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val); } if(!pass){ //判定原因 if(memo == ""){ memo = sic.getBias_name() + list.get(1).toString(); }else{ memo += ","+sic.getBias_name() + list.get(1).toString(); } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(param1.get(1).toString()); qjr.setType_code("S"); qjr.setRecord_id(mst_id); qjr.setSeq(seq1); qjr.setPhy_code_s(sic.getBias_code()); qjr.setPhy_name_s(sic.getBias_name()); qjr.setCreate_name(param1.get(5).toString()); qjr.setVal1(list.get(1).toString()); qjr.setStdmax(sic.getStd_result_max()); if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){ qjr.setStdmax_sign("<="); } qjr.setStdmin(sic.getStd_result_min()); if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){ qjr.setStdmax_sign(">="); } qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); judge = false; } } } } } else if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){ judge = false; } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格")); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); //测量实绩 if(param3.size() > 0){ for(List listc : param3){ if(listc.get(0).toString().equals("传动侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("中间")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("操作侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString())); } } } } qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); mapper.insertQCMJudgeMeasure(qj); //判定实绩 for(List list:param2){ if(list.toString().contains("KB")){ qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(list.toString().contains("KD")){ qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else if(list.toString().contains("KF")){ qj.setJudge_length(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString()); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val(list.get(1).toString()); qjmd.setSic_item_code(list.get(0).toString()); qjmd.setSic_item_desc(list.get(2).toString()); mapper.insertQcmJudgeMeasureD(qjmd); } boolean Zresult = true; //更改库存表 if(list2.size() >0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(param1.get(1).toString()); if("SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){ if(judge){ zra.setSizeresult("1"); zra.setSizeresult_desc("合格"); Zresult = true; }else{ zra.setSizeresult("2"); zra.setSizeresult_desc("不合格"); Zresult = false; } }else{ if(judge&&"1".equals(result1)){ zra.setSizeresult("1"); zra.setSizeresult_desc("合格"); Zresult = true; }else{ zra.setSizeresult("2"); zra.setSizeresult_desc("不合格"); Zresult = false; } } /*zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));*/ /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/ zra.setSic_is_lock("0"); zra.setSizeid(mst_id); mapper.UpdateJugeResultJ(zra); }else{ throw new Exception("未找到库存信息!"); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setOperate_type("冷轧尺寸检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog); if(!"SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){ QcmJudgeOperateLog qjog2 = new QcmJudgeOperateLog(); qjog2.setOperate_name(param1.get(5).toString()); qjog2.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog2.setOperate_type("冷轧内径检验判定"); qjog2.setParams(param1.get(1).toString()); qjog2.setMemo("订单内径:"+list5.get(0).get("ALO_C_ORD_INDIA").toString()+" 实绩内径:"+(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString())); qjog2.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog2.setJudge_result(result1); mapper.insertQcmJudgeOperateLog(qjog2); } QcmJudgeOperateLog qjog1 = new QcmJudgeOperateLog(); qjog1.setOperate_name(params2.get(6).toString()); qjog1.setOperate_type("冷轧表面检验判定"); qjog1.setParams(material_no); qjog1.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog1.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); qjog1.setJudge_result(result); mapper.insertQcmJudgeOperateLog(qjog1); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS //把判定结果等情况写入库存表中 /*if(list2.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,""); }*/ if (hashmap.size() > 0) { if("1".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), "1", null, null, null,params2.get(4).toString()); } else if("2".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), "2", null, null, null,params2.get(4).toString()); }else if("0".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), "", null, null, null,params2.get(4).toString()); } } SqlSession.commit(); /*Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } try { qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t1.start();*/ /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system"); if(judge){ //综合判定 qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString()); }*/ } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("表面公差检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2LZBmgc:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHuman2(final ArrayList param1,ArrayList param2,ArrayList param3) throws Exception{ /*SqlSession SqlSession1 = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class);*/ try { String result = "0"; String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'"; List list1 = mapper.query(sql); if(list1.size() > 0){ if(list1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; String sql1 = "select T.PAKMTH_TP ALO_PAKMTH_TP,T.C_ORD_INDIA ALO_C_ORD_INDIA ,T.PROD_LINE ALO_PROD_LINE from TBA01_ORD_LINE t where T.ORD_NO || t.ORD_SEQ = '"+param1.get(0).toString()+"'"; List list5 = mapper.query(sql1); List list2 = mapper.query(sql); if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } List hashmap3 = doQueryMaterialInfoLZNJ(param1.get(1).toString()); if((list5.get(0).get("ALO_C_ORD_INDIA")==null?"":list5.get(0).get("ALO_C_ORD_INDIA").toString()).equals(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString())){ result = "1"; } else{ result = "2"; } String inspection_lot = ""; List hashmap = doQueryMaterialInfoBX(param1.get(1).toString()); if(hashmap.size() == 0){ hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); } if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } if(hashmap.get(0).get("DESIGN_KEY") == null){ throw new Exception("该物料无订单,不能进行公差判定"); } if(param1==null||param1.size()==0 ){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ for(HashMap list:list2){ if(!list.get("JUDGERESULT").toString().equals("0")){ List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'"); if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,""); //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } } }else{ throw new Exception("未找到库存信息!"); } } List siclist=new ArrayList(); // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K; sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } /*for (QCMOrdDesignStdSic sic : listSic) { for (QCMOrdDesignStdSic sick : listsick) { if (sic.getBias_code().equals(sick.getBias_code())) { siclist.remove(sic); } } }*/ int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="S"+date+String.format("%05d", count); // 厚宽长判定标识 pass = true; boolean judge = true; String memo = ""; /*List hashmap = doQueryMaterialInfoBX(param1.get(1).toString()); if(hashmap.size() == 0){ hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); } if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); }*/ // 自动判定 int seq1 = 1; if(param1.get(2).toString().equals("")){ for(QCMOrdDesignStdSic sic:siclist){ String upperDeciation=null; String upperDeciation_k = null; String upperDeciation_n = null; String drownDeciation=null; String drownDeciation_k=null; String drownDeciation_n=null; //国标 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) { if (sic.getStd_max_val().contains("+")) { upperDeciation=sic.getStd_max_val().substring(1);//上偏差 }else { upperDeciation=sic.getStd_max_val();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) { if (sic.getStd_min_val().contains("-")) { drownDeciation=sic.getStd_min_val().substring(1);//下偏差 }else { drownDeciation=sic.getStd_min_val();//下偏差 } } //客户 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) { if (sic.getStd_max_val_k().contains("+")) { upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差 }else { upperDeciation_k=sic.getStd_max_val_k();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) { if (sic.getStd_min_val_k().contains("-")) { drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差 }else { drownDeciation_k=sic.getStd_min_val_k();//下偏差 } } //内控 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) { if (sic.getStd_max_val_n().contains("+")) { upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差 }else { upperDeciation_n=sic.getStd_max_val_n();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) { if (sic.getStd_min_val_n().contains("-")) { drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差 }else { drownDeciation_n=sic.getStd_min_val_n();//下偏差 } } for(List list:param2){ if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/) { double val=Double.parseDouble(list.get(1).toString()); if(upperDeciation_k != null && drownDeciation_k != null){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); } } } else if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) { if(list.get(3).toString().equals("")){ pass=comOrtherVal(upperDeciation,drownDeciation,val); if(pass){ pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val); if(pass){ pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val); } } }else{ if(upperDeciation == null && drownDeciation == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); }else if(drownDeciation == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); } /*if(pass){ if(upperDeciation_k == null && drownDeciation_k == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_k == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); }else if(drownDeciation_k == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); }*/ if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); } } } }else { pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val); } if(!pass){ //判定原因 if(memo == ""){ memo = sic.getBias_name() + list.get(1).toString(); }else{ memo += ","+sic.getBias_name() + list.get(1).toString(); } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(param1.get(1).toString()); qjr.setType_code("S"); qjr.setRecord_id(mst_id); qjr.setSeq(seq1); qjr.setPhy_code_s(sic.getBias_code()); qjr.setPhy_name_s(sic.getBias_name()); qjr.setCreate_name(param1.get(5).toString()); qjr.setVal1(list.get(1).toString()); qjr.setStdmax(sic.getStd_result_max()); if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){ qjr.setStdmax_sign("<="); } qjr.setStdmin(sic.getStd_result_min()); if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){ qjr.setStdmax_sign(">="); } qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); judge = false; } } } } } else if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){ judge = false; } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格")); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); //测量实绩 if(param3.size() > 0){ for(List listc : param3){ if(listc.get(0).toString().equals("传动侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("中间")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("操作侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString())); } } } } qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); mapper.insertQCMJudgeMeasure(qj); //判定实绩 for(List list:param2){ if(list.toString().contains("KB")){ qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(list.toString().contains("KD")){ qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else if(list.toString().contains("KF")){ qj.setJudge_length(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString()); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val(list.get(1).toString()); qjmd.setSic_item_code(list.get(0).toString()); qjmd.setSic_item_desc(list.get(2).toString()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 /*String result = "0"; result = judgeByHuman2LZNJ(param1);*/ boolean Zresult = true; if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(param1.get(1).toString()); //230724公差新增内径判定结果 if(judge&&"1".equals(result)){ zra.setSizeresult("1"); zra.setSizeresult_desc("合格"); Zresult = true; }else{ zra.setSizeresult("2"); zra.setSizeresult_desc("不合格"); Zresult = false; } /*zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));*/ /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/ zra.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); zra.setSizeid(mst_id); mapper.UpdateJugeResultB(zra); }else{ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(param1.get(1).toString()); //230724公差新增内径判定结果 if("SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){ if(judge){ zra.setSizeresult("1"); zra.setSizeresult_desc("合格"); Zresult = true; }else{ zra.setSizeresult("2"); zra.setSizeresult_desc("���ϸ�"); Zresult = false; } }else{ if(judge&&"1".equals(result)){ zra.setSizeresult("1"); zra.setSizeresult_desc("�ϸ�"); Zresult = true; }else{ zra.setSizeresult("2"); zra.setSizeresult_desc("不合格"); Zresult = false; } } /*zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));*/ /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/ zra.setSic_is_lock("0"); zra.setSizeid(mst_id); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到库存信息!"); } // if(!judge && !param1.get(2).toString().equals("0")){ // //写入异常材处置表 // count=0; // QCMJudgeLocking qjlk = new QCMJudgeLocking(); // sdf=new SimpleDateFormat("yyMMdd"); // date=sdf.format(new Date()); // String condition = " and MATERIAL_NO = '"+param1.get(1).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; // String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString(); // //插入封锁表 // qjlk.setLock_type_code("S"); // qjlk.setLock_type_desc("公差检验"); // qjlk.setMaterial_no(param1.get(1).toString()); // qjlk.setLock_id(mst_id); // qjlk.setLock_seq(lock_seq); // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); // qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); // qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); // qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); // qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); // qjlk.setFic_locking("1"); // qjlk.setLock_name(param1.get(5).toString()); // qjlk.setLock_memo(lock_memo); // mapper.insertQCMJudgeLocking(qjlk); // } //更改库存表尺寸 /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString()); }*/ QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setOperate_type("冷轧内径检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setMemo("订单内径:"+list5.get(0).get("ALO_C_ORD_INDIA").toString()+" 实绩内径:"+hashmap3.get(0).get("COIL_INDIA").toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(result); mapper.insertQcmJudgeOperateLog(qjog); if(!"SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){ QcmJudgeOperateLog qjog2 = new QcmJudgeOperateLog(); qjog2.setOperate_name(param1.get(5).toString()); qjog2.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog2.setOperate_type("�����ھ������ж�"); qjog2.setParams(param1.get(1).toString()); qjog2.setMemo("�����ھ�:"+list5.get(0).get("ALO_C_ORD_INDIA").toString()+" ʵ���ھ�:"+(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString())); qjog2.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog2.setJudge_result(result); mapper.insertQcmJudgeOperateLog(qjog2); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog1 = new QcmJudgeOperateLog(); qjog1.setOperate_name(param1.get(5).toString()); qjog1.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog1.setOperate_type("冷轧尺寸检验判定"); qjog1.setParams(param1.get(1).toString()); qjog1.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog1.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog1); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,""); } SqlSession.commit(); /*Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } try { qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t1.start();*/ /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system"); if(judge){ //综合判定 qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString()); }*/ } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public String judgeByHuman2LZNJ(final ArrayList param1 ){ String result = "0"; SqlSession SqlSession1 = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class); try{ String sql = "select T.PAKMTH_TP ALO_PAKMTH_TP,T.C_ORD_INDIA ALO_C_ORD_INDIA ,T.PROD_LINE ALO_PROD_LINE from TBA01_ORD_LINE t where T.ORD_NO || t.ORD_SEQ = '"+param1.get(0).toString()+"'"; List list2 = mapper1.query(sql); List hashmap = doQueryMaterialInfoLZNJ(param1.get(1).toString()); List hashmap2 = doQueryMaterialInfoJ1(param1.get(1).toString()); if(list2.get(0).get("ALO_C_ORD_INDIA").toString().equals(hashmap.get(0).get("COIL_INDIA").toString())){ result = "1"; } else{ result = "2"; } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setBatchno(hashmap2.get(0).get("BATCHNO") == null ?"":hashmap2.get(0).get("BATCHNO").toString()); qjog.setOperate_type("冷轧内径判定"); qjog.setParams(param1.get(1).toString()); qjog.setProd_line(hashmap2.get(0).get("PLINE_CODE") == null ?"":hashmap2.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(result); mapper1.insertQcmJudgeOperateLog(qjog); }catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("内径检验登记失败!"+e.getMessage()); SqlSession1.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2:【" + param1.toString() + "】" + e); } SqlSession1.close(); return result; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHumanRZ(final ArrayList param1,ArrayList param2,ArrayList param3) throws Exception{ try { String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; List list2 = mapper.query(sql); if(list1.size() > 0){ if(list1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } }else if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } String inspection_lot = ""; List hashmap = doQueryMaterialInfoBX(param1.get(1).toString()); if(hashmap.size() == 0){ hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); } if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } if(hashmap.get(0).get("DESIGN_KEY") == null){ throw new Exception("该物料无订单,不能进行公差判定"); } if(param1==null||param1.size()==0 ){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ for(HashMap list:list2){ if(!list.get("JUDGERESULT").toString().equals("0")){ List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'"); if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,""); //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } } }else{ throw new Exception("未找到库存信息!"); } } List siclist=new ArrayList(); // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K; sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } /*for (QCMOrdDesignStdSic sic : listSic) { for (QCMOrdDesignStdSic sick : listsick) { if (sic.getBias_code().equals(sick.getBias_code())) { siclist.remove(sic); } } }*/ int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="S"+date+String.format("%05d", count); // 厚宽长判定标识 pass = true; boolean judge = true; String memo = ""; // 自动判定 int seq1 = 1; if(param1.get(2).toString().equals("")){ for(QCMOrdDesignStdSic sic:siclist){ String upperDeciation=null; String upperDeciation_k = null; String upperDeciation_n = null; String drownDeciation=null; String drownDeciation_k=null; String drownDeciation_n=null; //国标 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) { if (sic.getStd_max_val().contains("+")) { upperDeciation=sic.getStd_max_val().substring(1);//上偏差 }else { upperDeciation=sic.getStd_max_val();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) { if (sic.getStd_min_val().contains("-")) { drownDeciation=sic.getStd_min_val().substring(1);//下偏差 }else { drownDeciation=sic.getStd_min_val();//下偏差 } } //客户 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) { if (sic.getStd_max_val_k().contains("+")) { upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差 }else { upperDeciation_k=sic.getStd_max_val_k();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) { if (sic.getStd_min_val_k().contains("-")) { drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差 }else { drownDeciation_k=sic.getStd_min_val_k();//下偏差 } } //内控 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) { if (sic.getStd_max_val_n().contains("+")) { upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差 }else { upperDeciation_n=sic.getStd_max_val_n();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) { if (sic.getStd_min_val_n().contains("-")) { drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差 }else { drownDeciation_n=sic.getStd_min_val_n();//下偏差 } } for(List list:param2){ if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/) { if(sic.getBias_code().equals(list.get(0).toString())){ if(!list.get(1).toString().equals(list.get(3).toString())){ judge = false; } } double val=Double.parseDouble(list.get(4).toString()); if(upperDeciation_k != null && drownDeciation_k != null){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); } } } else if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) { if(list.get(3).toString().equals("")){ pass=comOrtherVal(upperDeciation,drownDeciation,val); if(pass){ pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val); if(pass){ pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val); } } }else{ if(upperDeciation == null && drownDeciation == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); }else if(drownDeciation == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); } /*if(pass){ if(upperDeciation_k == null && drownDeciation_k == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_k == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); }else if(drownDeciation_k == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); }*/ if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); } } } }else{ pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val); } if(!pass||!judge){ //判定原因 if(memo == ""){ memo = sic.getBias_name() + list.get(1).toString(); }else{ memo += ","+sic.getBias_name() + list.get(1).toString(); } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(param1.get(1).toString()); qjr.setType_code("S"); qjr.setRecord_id(mst_id); qjr.setSeq(seq1); qjr.setPhy_code_s(sic.getBias_code()); qjr.setPhy_name_s(sic.getBias_name()); qjr.setCreate_name(param1.get(5).toString()); qjr.setVal1(list.get(1).toString()); qjr.setStdmax(sic.getStd_result_max()); if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){ qjr.setStdmax_sign("<="); } qjr.setStdmin(sic.getStd_result_min()); if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){ qjr.setStdmax_sign(">="); } qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); judge = false; } } } } } else if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){ judge = false; } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格")); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); //测量实绩 if(param3.size() > 0){ for(List listc : param3){ if(listc.get(0).toString().equals("传动侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("中间")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("操作侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString())); } } } } qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); mapper.insertQCMJudgeMeasure(qj); //判定实绩 for(List list:param2){ if(list.toString().contains("KS")){ qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(list.toString().contains("KT")){ qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else if(list.toString().contains("KF")){ qj.setJudge_length(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString()); }else if(list.toString().contains("KB")){ qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(list.toString().contains("KD")){ qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val(list.get(1).toString()); qjmd.setSic_item_code(list.get(0).toString()); qjmd.setSic_item_desc(list.get(2).toString()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(param1.get(1).toString()); zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格")); /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/ zra.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); zra.setSizeid(mst_id); mapper.UpdateJugeResultB(zra); }else{ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(param1.get(1).toString()); zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格")); /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/ zra.setSic_is_lock("0"); zra.setSizeid(mst_id); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到库存信息!"); } // if(!judge && !param1.get(2).toString().equals("0")){ // //写入异常材处置表 // count=0; // QCMJudgeLocking qjlk = new QCMJudgeLocking(); // sdf=new SimpleDateFormat("yyMMdd"); // date=sdf.format(new Date()); // String condition = " and MATERIAL_NO = '"+param1.get(1).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; // String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString(); // //插入封锁表 // qjlk.setLock_type_code("S"); // qjlk.setLock_type_desc("公差检验"); // qjlk.setMaterial_no(param1.get(1).toString()); // qjlk.setLock_id(mst_id); // qjlk.setLock_seq(lock_seq); // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); // qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); // qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); // qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); // qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); // qjlk.setFic_locking("1"); // qjlk.setLock_name(param1.get(5).toString()); // qjlk.setLock_memo(lock_memo); // mapper.insertQCMJudgeLocking(qjlk); // } //更改库存表尺寸 /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString()); }*/ QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setOperate_type("热轧公差检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); //qjog.setOperation_interface("QCM030305RZ"); qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !judge?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,""); } SqlSession.commit(); /*Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } try { qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t1.start();*/ /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system"); if(judge){ //综合判定 qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString()); }*/ } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("公差检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e); } SqlSession.close(); return cro; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings({ "rawtypes", "unchecked" }) public CoreReturnObject judgeByHuman1(final ArrayList param1,ArrayList param3) throws Exception{ String material_no = param1.get(1).toString(); List hashmap = new ArrayList(); //判断是否进行综合判定,是否在库 List hashmap1 = new ArrayList(); String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0){ if(hashmap1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(hashmap1.size() > 0) { List list1 = mapper.query(sql); sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'" + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' UNION ALL " + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' union all " + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + param1.get(1).toString() + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } //撤销判定 cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString()); } if(material_no.startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } if(hashmap.size() == 0){ if(material_no.startsWith("H")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } } try { if(hashmap.size() == 0){ throw new Exception("未找到库存信息!"); } sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'"; List list1 = mapper.query(sql); if(param1==null||param1.size()==0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list1.size() >0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ throw new Exception("未找到库存信息!"); } } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'SB"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="SB"+date+String.format("%05d", count); // 厚宽长判定标识 boolean pass = true; boolean judge = true; String memo = ""; if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2")){ judge = false; }else if(param1.get(2).toString().equals("0")){ judge = true; } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品"))){ qj.setSic_is_lock("0"); }else{ qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); } qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格")); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 //测量实绩 if(param3.size() > 0){ for(List listc : param3){ if(listc.get(0).toString().equals("头")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("中")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("尾")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString())); } } } } qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); if(qj.getSic_result_code().equals("0") && !qj.getLevel_desc().contains("待处理")){ throw new Exception("检验结果与质量等级不匹配!"); }else if(qj.getSic_result_code().equals("1") && !qj.getLevel_desc().contains("正品")){ throw new Exception("检验结果与质量等级不匹配!"); }else if(qj.getSic_result_code().equals("2") && (qj.getLevel_desc().contains("正品") || qj.getLevel_desc().contains("待处理"))){ throw new Exception("检验结果与质量等级不匹配!"); } mapper.insertQCMJudgeMeasure(qj); //判定实绩 CoreReturnObject cicModel=this.getToleranceNew1(hashmap,param1.get(0).toString(),param1.get(1).toString()); List stdSic= (List) cicModel.getResult(); for(QCMOrdDesignStdSic list:stdSic){ if(list.getBias_code().toString().contains("KB")){ qjmd.setJudge_val(list.getVal().toString()); qjmd.setPlan_val(list.getPlan()); }else if(list.getBias_code().toString().contains("KD")){ qjmd.setJudge_val(list.getVal().toString()); qjmd.setPlan_val(list.getPlan()); }else if(list.getBias_code().toString().contains("KF")){ qjmd.setJudge_val(list.getVal().toString()); qjmd.setPlan_val(list.getPlan()); }else{ qjmd.setPlan_val(""); qjmd.setJudge_val(""); } qjmd.setSic_id(mst_id); qjmd.setSic_item_code(list.getBias_code()); qjmd.setSic_item_desc(list.getBias_name()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list1.size() >0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(param1.get(1).toString()); zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格")); if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品"))){ zra.setSic_is_lock("0"); }else{ zra.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); } zra.setSizeid(mst_id); mapper.UpdateJugeResultB(zra); }else{ throw new Exception("未找到库存信息!"); } if(qj.getSic_result_code().equals("2")){ //写入异常材处置表 count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); sdf=new SimpleDateFormat("yyMMdd"); date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+param1.get(1).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; String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString(); //插入封锁表 qjlk.setLock_type_code("S"); qjlk.setLock_type_desc("公差检验"); qjlk.setMaterial_no(param1.get(1).toString()); qjlk.setLock_id(mst_id); qjlk.setLock_seq(lock_seq); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(param1.get(5).toString()); qjlk.setLock_memo(lock_memo); if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){ qjlk.setUnlock_type_code("6"); qjlk.setUnlock_type_desc("脱单"); qjlk.setUnlock_memo("系统自动脱单"); qjlk.setUnlock_name(param1.get(5).toString()); qjlk.setUnlock_time(new Date()); } mapper.insertQCMJudgeLocking(qjlk); } //更改库存表尺寸 if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { String aJudgeType = judge?"412701":(param1.get(2).toString().equals("2")?"412710":"412705"); GetAddweight("","","",param1.get(1).toString(),aJudgeType,param1.get(4).toString()); } if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){ order_down(param1.get(1).toString(),"公差判定:" + param1.get(9).toString()); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("公差检验判定"); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setParams(param1.get(1).toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman1:【" + param1.toString() + "," + param3.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }; t2.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHumanJ(final ArrayList param1,ArrayList param3) throws Exception{ String material_no = param1.get(1).toString(); List hashmap = mapper.doQueryMaterialInfoJ(material_no); try { if(hashmap.size() == 0){ throw new Exception("未找到库存信息!"); } String sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; List list2 = mapper.query(sql); if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } String inspection_lot = ""; if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } if(hashmap.get(0).get("DESIGN_KEY") == null){ throw new Exception("该物料无订单,不能进行公差判定"); } if(param1==null||param1.size()==0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if( list2.size() >0){ for(HashMap list:list2){ if(!list.get("JUDGERESULT").toString().equals("0")){ List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'"); if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,""); //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ throw new Exception("未找到库存信息!"); } } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="S"+date+String.format("%05d", count); // 厚宽长判定标识 boolean pass = true; boolean judge = true; String memo = ""; if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){ judge = false; } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0")); qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格")); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 //测量实绩 if(param3.size() > 0){ for(List listc : param3){ if(listc.get(0).toString().equals("传动侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("中间")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString())); } }else if(listc.get(0).toString().equals("操作侧")){ if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){ qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){ qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){ qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString())); } if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){ qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString())); } } } } qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); mapper.insertQCMJudgeMeasure(qj); //判定实绩 CoreReturnObject cicModel=this.getToleranceNew1(hashmap,param1.get(0).toString(),param1.get(1).toString()); List stdSic= (List) cicModel.getResult(); /*if(stdSic.size() == 0){ throw new Exception("未找到公差标准"+param1.get(1).toString()+""); }*/ for(QCMOrdDesignStdSic list:stdSic){ if(list.getBias_code().toString().contains("KB")){ qjmd.setJudge_val(list.getVal().toString()); qjmd.setPlan_val(list.getPlan()); }else if(list.getBias_code().toString().contains("KD")){ qjmd.setJudge_val(list.getVal().toString()); qjmd.setPlan_val(list.getPlan()); }else if(list.getBias_code().toString().contains("KF")){ qjmd.setJudge_val(list.getVal().toString()); qjmd.setPlan_val(list.getPlan()); }else{ qjmd.setPlan_val(""); qjmd.setJudge_val(""); } qjmd.setSic_id(mst_id); qjmd.setSic_item_code(list.getBias_code()); qjmd.setSic_item_desc(list.getBias_name()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list2.size() >0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(param1.get(1).toString()); zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格")); zra.setSic_is_lock("0"); zra.setSizeid(mst_id); mapper.UpdateJugeResultJ(zra); }else{ throw new Exception("未找到库存信息!"); } // if(!judge && !param1.get(2).toString().equals("0")){ // //写入异常材处置表 // count=0; // QCMJudgeLocking qjlk = new QCMJudgeLocking(); // sdf=new SimpleDateFormat("yyMMdd"); // date=sdf.format(new Date()); // String condition = " and MATERIAL_NO = '"+param1.get(1).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; // String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString(); // //插入封锁表 // qjlk.setLock_type_code("S"); // qjlk.setLock_type_desc("公差检验"); // qjlk.setMaterial_no(param1.get(1).toString()); // qjlk.setLock_id(mst_id); // qjlk.setLock_seq(lock_seq); // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); // qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); // qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); // qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); // qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); // qjlk.setFic_locking("1"); // qjlk.setLock_name(param1.get(5).toString()); // qjlk.setLock_memo(lock_memo); // mapper.insertQCMJudgeLocking(qjlk); // } //更改库存表尺寸 /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString()); }*/ QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("公差检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { hashmap = doQueryMaterialInfoJ(param1.get(1).toString()); if (hashmap.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !judge?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,""); } } SqlSession.commit(); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHumanJ:【" + param1.toString() + "," + param3.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHumanX(final ArrayList param1,ArrayList param2) throws Exception{ String material_no = param1.get(1).toString(); List hashmap = new ArrayList(); //判断是否进行综合判定,是否在库 List hashmap1 = new ArrayList(); String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0){ if(hashmap1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(hashmap1.size() > 0) { List list1 = mapper.query(sql); sql = "select billetid from kcx_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } //撤销判定 cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString()); } hashmap = mapper.doQueryMaterialInfoX(material_no); try { /*if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoHB(material_no); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(material_no); }*/ if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; List list2 = mapper.query(sql); if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(param1==null||param1.size()==0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ for(HashMap list:list2){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } } }else{ throw new Exception("未找到库存信息!"); } } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'SX"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="SX"+date+String.format("%05d", count); // 厚宽长判定标识 boolean pass = true; boolean judge = true; String memo = ""; if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){ judge = false; } //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } qj.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0")); qj.setSic_result_code(judge?"1":(param1.get(2).toString().equals("2")?"2":"0")); qj.setSic_result_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判")); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setLevel_code(param1.get(8).toString()); qj.setLevel_desc(param1.get(9).toString()); mapper.insertQCMJudgeMeasure(qj); //判定实绩 for(List list:param2){ if(list.toString().contains("KB")){ //qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(list.toString().contains("KD")){ //qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else if(list.toString().contains("KF")){ //qj.setJudge_length(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString()); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val(list.get(1).toString()); qjmd.setSic_item_code(list.get(0).toString()); qjmd.setSic_item_desc(list.get(2).toString()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(param1.get(1).toString()); zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判")); zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0")); zra.setSizeid(mst_id); mapper.UpdateJugeResultB(zra); }else{ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(param1.get(1).toString()); zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0")); zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判")); zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0")); zra.setSizeid(mst_id); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到库存信息!"); } if(!judge && !param1.get(2).toString().equals("0")){ //写入异常材处置表 count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); sdf=new SimpleDateFormat("yyMMdd"); date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+param1.get(1).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; String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString(); //插入封锁表 qjlk.setLock_type_code("S"); qjlk.setLock_type_desc("公差检验"); qjlk.setMaterial_no(param1.get(1).toString()); qjlk.setLock_id(mst_id); qjlk.setLock_seq(lock_seq); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(param1.get(5).toString()); qjlk.setLock_memo(lock_memo); mapper.insertQCMJudgeLocking(qjlk); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("公差检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1")); mapper.insertQcmJudgeOperateLog(qjog); //更改库存表尺寸 /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString()); }*/ //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, judge?"1":(param1.get(2).toString().equals("2")?"2":"D"), null, null, null, null,""); } SqlSession.commit(); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHumanX:【" + param1.toString() + "," + param2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } /** * 质量判定-卡量检测(未输入判定结果自动检测) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,改尺类型 * param2:编码、实绩、计划,机器 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public CoreReturnObject judgeByHumanY(final ArrayList param1,ArrayList param2) throws Exception{ String material_no = param1.get(1).toString(); List hashmap = new ArrayList(); //判断是否进行综合判定,是否在库 List hashmap1 = new ArrayList(); String sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0){ if(hashmap1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(hashmap1.size() > 0) { List list1 = mapper.query(sql); sql = "select COILNO from YDM_PRODUCT_DETAIL@LINK_YTG where STATE in ('0','-1', '7') and COILNO = '" + material_no + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } //撤销判定 cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString()); } hashmap = mapper.doQueryMaterialInfoY(material_no); try { /*if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoHB(material_no); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(material_no); }*/ if(hashmap.size() ==0){ throw new Exception("未找到库存信息!"); } sql = "select * from QCM_JUDGE_YT_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'"; List list1 = mapper.query(sql); if(param1==null||param1.size()==0 || param2==null || param2.size()==0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入参数!"); return cro; }else{ if(list1.size() >0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!"); } if(list.get("SIC_IS_LOCK").toString().equals("1")){ throw new Exception("公差已锁定,不能做公差判定!"); } } }else{ throw new Exception("未找到库存信息!"); } } String use_code = ""; if(material_no.contains("S")) { use_code = "YTSX"; }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("1")) { use_code = "YTZZ"; }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("2")) { use_code = "YTZZ2"; }else if(material_no.contains("P")) { use_code = "YTPZ"; }else if(material_no.contains("T")) { use_code = "YTTH"; }else if(material_no.contains("K")) { use_code = "YTHJ"; }else if(material_no.contains("F")) { use_code = "YTZJ"; } if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){ use_code = "YT1"; } List siclist=new ArrayList(); // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K; sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"' and use_code = '"+use_code+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) { pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){ pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'SY"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){ String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="SY"+date+String.format("%05d", count); // 厚宽长判定标识 pass = true; boolean judge = true; /*if(param1.get(2).toString().equals("")){*/ for(QCMOrdDesignStdSic sic:siclist){ String upperDeciation=null; String upperDeciation_k=null; String upperDeciation_n=null; String drownDeciation=null; String drownDeciation_k=null; String drownDeciation_n=null; //国标 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) { if (sic.getStd_max_val().contains("+")) { upperDeciation=sic.getStd_max_val().substring(1);//上偏差 }else { upperDeciation=sic.getStd_max_val();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) { if (sic.getStd_min_val().contains("-")) { drownDeciation=sic.getStd_min_val().substring(1);//下偏差 }else { drownDeciation=sic.getStd_min_val();//下偏差 } } //客户 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) { if (sic.getStd_max_val_k().contains("+")) { upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差 }else { upperDeciation_k=sic.getStd_max_val_k();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) { if (sic.getStd_min_val_k().contains("-")) { drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差 }else { drownDeciation_k=sic.getStd_min_val_k();//下偏差 } } //内控 if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) { if (sic.getStd_max_val_n().contains("+")) { upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差 }else { upperDeciation_n=sic.getStd_max_val_n();//上偏差 } } if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) { if (sic.getStd_min_val_n().contains("-")) { drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差 }else { drownDeciation_n=sic.getStd_min_val_n();//下偏差 } } int seq1 = 1; for(List list:param2){ if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/) { double val=Double.parseDouble(list.get(1).toString()); double val1 = 0; if(!list.get(4).toString().equals("")){ val1 =Double.parseDouble(list.get(4).toString()); } if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) { if(list.get(3).toString().equals("")){ pass=comOrtherVal(upperDeciation,drownDeciation,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(upperDeciation,drownDeciation,val1); } if(pass){ pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val1); } if(pass){ pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val1); } } } }else{ if(upperDeciation == null && drownDeciation == null){ pass=comOrtherVal(null,null,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(null,null,val1); } }else if(upperDeciation == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val1); } }else if(drownDeciation == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val1); } }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val1); } } if(pass){ if(upperDeciation_k == null && drownDeciation_k == null){ pass=comOrtherVal(null,null,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(null,null,val1); } }else if(upperDeciation_k == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val1); } }else if(drownDeciation_k == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val1); } }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val1); } } if(pass){ if(upperDeciation_n == null && drownDeciation_n == null){ pass=comOrtherVal(null,null,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(null,null,val1); } }else if(upperDeciation_n == null){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val1); } }else if(drownDeciation_n == null) { pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val1); } }else{ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val1); } } } } } }else{ pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val); if(!list.get(4).toString().equals("") && pass){ pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val1); } } if(!pass){ judge = false; } } } } /*}*/ String memo = ""; /*if(param1.get(2).toString().equals("1")){ judge = true; }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){ judge = false; }*/ //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(param1.get(1).toString()); } qj.setSic_result_code(judge?"1":"2"); qj.setSic_result_desc(judge?"合格":"不合格"); qj.setSic_is_lock(judge?"0":"1"); qj.setSic_memo(param1.get(4).toString()); qj.setJudge_name(param1.get(5).toString()); qj.setWrk_grp(param1.get(6).toString()); qj.setWrk_ord(param1.get(7).toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("PLAN_THICK") == null ?"0":hashmap.get(0).get("PLAN_THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("PLAN_WIDTH") == null ?"0":hashmap.get(0).get("PLAN_WIDTH").toString())); //qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); qj.setDesign_key(param1.get(0).toString()); qj.setMaterial_no(param1.get(1).toString()); qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString()); qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qj.setChange_type_desc(param1.get(8).toString()); mapper.insertQCMJudgeMeasure(qj); String judge_thick = ""; String judge_width = ""; //判定实绩 for(List list:param2){ if(list.toString().contains("KB")){ //qj.setJudge_thick(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("PLAN_THICK") == null ?"":hashmap.get(0).get("PLAN_THICK").toString()); judge_thick = list.get(1).toString(); }else if(list.toString().contains("KD")){ //qj.setJudge_width(Double.parseDouble(list.get(1).toString())); qjmd.setPlan_val(hashmap.get(0).get("PLAN_WIDTH") == null ?"":hashmap.get(0).get("PLAN_WIDTH").toString()); judge_width = list.get(1).toString(); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val(list.get(1).toString()); qjmd.setSic_item_code(list.get(0).toString()); qjmd.setSic_item_desc(list.get(2).toString()); mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list1.size() >0){ QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult(); zra.setCoil_no(param1.get(1).toString()); zra.setSizeresult(judge?"1":"2"); zra.setSic_is_lock(judge?"0":"1"); zra.setSizeresult_desc(judge?"合格":"不合格"); zra.setSizeid(mst_id); mapper.UpdateJugeResultY(zra); }else{ throw new Exception("未找到库存信息!"); } if(!judge){ //写入异常材处置表 count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); sdf=new SimpleDateFormat("yyMMdd"); date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+param1.get(1).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; //插入封锁表 qjlk.setLock_type_code("S"); qjlk.setLock_type_desc("公差检验"); qjlk.setMaterial_no(param1.get(1).toString()); qjlk.setLock_id(mst_id); qjlk.setLock_seq(lock_seq); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(param1.get(5).toString()); mapper.insertQCMJudgeLocking(qjlk); } String url = "http://172.16.81.200/xinsteel.maketx/service/SlmFundFirstDetailService/receiveResMeasure"; JSONObject jsobj1 = new JSONObject(); JSONObject jsobj2 = new JSONObject(); JSONObject jsobj3 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONArray ttmaps1 = new JSONArray(); jsobj1.put("sic_id",mst_id); jsobj1.put("heat_no",hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); jsobj1.put("batch_no",hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); jsobj1.put("inspection_lot",hashmap.get(0).get("INSPECTION_LOT1")==null?"":hashmap.get(0).get("INSPECTION_LOT1").toString()); jsobj1.put("material_no",material_no); jsobj1.put("change_type_code",param1.get(8).toString()); jsobj1.put("sic_result_desc",judge?"合格":"不合格"); jsobj1.put("prod_thick",hashmap.get(0).get("PLAN_THICK") == null ?"0":hashmap.get(0).get("PLAN_THICK").toString()); jsobj1.put("prod_width",hashmap.get(0).get("PLAN_WIDTH") == null ?"0":hashmap.get(0).get("PLAN_WIDTH").toString()); jsobj1.put("judge_thick",judge_thick); jsobj1.put("judge_width",judge_width); jsobj1.put("weight",hashmap.get(0).get("WEIGHT") == null ?"0":hashmap.get(0).get("WEIGHT").toString()); jsobj1.put("prod_name",hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); jsobj1.put("steel_name",hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); jsobj1.put("std_name",hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); jsobj1.put("pline_name",hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); jsobj1.put("judge_name",param1.get(5).toString()); jsobj1.put("judge_time",new Date()); jsobj2.put("object", jsobj1); ttmaps1.add(jsobj2); String result = post1(JSON.toJSONString(ttmaps1),url); JSONObject jo = JSONObject.parseObject(result); if(!"200".equals(jo.get("state").toString())){ throw new Exception(jo.get("msgInfo").toString()); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(param1.get(1).toString()); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("公差检验判定"); qjog.setParams(param1.get(1).toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString()); qjog.setJudge_result(!judge?"2":"1"); qjog.setMemo(result); mapper.insertQcmJudgeOperateLog(qjog); //更改库存表尺寸 /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) { insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString()); }*/ SqlSession.commit(); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("检验登记失败!"+e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHumanX:【" + param1.toString() + "," + param2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ 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(11).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()); } } } public void GetAddweight(String ply,String width,String lenth,String billetid,String judgeresult,String judgememo) throws Exception{ Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call GETJHTOMESPLAN.GET_ADDWEIGHT@xgcx(?,?,?,?,?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, ply); cstmt.setString(2, width); cstmt.setString(3, lenth); cstmt.setString(4, billetid); cstmt.setString(5, judgeresult); cstmt.setString(6, judgememo); cstmt.execute(); } 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()); } } } public CoreReturnObject coiljudge_status_call_commit( 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 { /*QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(fb_reason); qjog.setOperate_type(fb_yn.equals("Y")?"封闭":"取消封闭"); qjog.setParams(pcoilno); qjog.setProd_line(pline); mapper.insertQcmJudgeOperateLog(qjog);*/ conn = SqlSession.getConnection(); String callSql = "{call COILJUDGE_STATUS(?,?,?,?,?,?,?,?,?,?) }"; 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.execute(); conn.commit(); SqlSession.commit(); } catch (Exception e) { throw new Exception(e.getMessage()); } finally { try { if (rs != null) { rs.close(); } /*if(conn != null){ conn.close(); }*/ } catch (Exception e) { throw new Exception(e.getMessage()); } try { if (cstmt != null) { cstmt.close(); } } catch (Exception e) { throw new Exception(e.getMessage()); } } conn.close(); SqlSession.close(); return cro; } public boolean compareVal(String std_max,String std_min,double val,Double upperDeciation,Double drownDeciation){ boolean flag=true; // double min=Double.parseDouble(std_min);//最大值 // double max=Double.parseDouble(std_max);//最小值 // double uDeciation=Double.parseDouble(upperDeciation);//上偏差 // double dDeciation=Double.parseDouble(drownDeciation);//上偏差 double jt=val; if (std_max.equals("")&&std_min.equals("")) { return flag; }else if (!std_max.equals("")&&std_min.equals("")) { if (jt<=Double.parseDouble(std_max)+upperDeciation) { return flag; }else { flag=false; return flag; } }else if(std_max.equals("")&&!std_min.equals("")){ if (jt>=Double.parseDouble(std_min)-drownDeciation) { return flag; }else { flag=false; return flag; } }else { if (jt<=Double.parseDouble(std_max)+upperDeciation&&jt>=Double.parseDouble(std_min)-drownDeciation) { }else { flag=false; return flag; } } return flag; } /** * 判断数值是否处于上下限之间 * @param std_max * @param std_min * @param val * @return */ public boolean comOrtherVal(String std_max,String std_min,double val){ boolean flag=true; double jt=val; if (std_max==null || "".equals(std_max)) { flag=true; }else{ if (jt<=Double.parseDouble(std_max)) { flag=true; }else { flag=false; return flag; } } if (!flag) { return false; } if (std_min==null || "".equals(std_min)) { flag=true; }else{ if (jt>=Double.parseDouble(std_min)) { flag=true; }else { flag=false; return flag; } } if (!flag) { return false; }else{ return true; } } /** * 求平均值 * @param w_head * @param w_center * @param w_foot * @return */ public String countThick(String w_head,String w_center,String w_foot){ Double ave=0.0; String value=""; int count=0; if (w_head!=null && !"".equals(w_head)) { ave+=Double.valueOf(w_head); count++; } if (w_center!=null && !"".equals(w_center)) { ave+=Double.valueOf(w_center); count++; } if (w_foot!=null && !"".equals(w_foot)) { ave+=Double.valueOf(w_foot); count++; } if (count!=0) { ave=ave/count; DecimalFormat deFormat = new DecimalFormat("######0.000"); value=deFormat.format(ave); } return value; } /* * * 修改热轧处置意见,车间备注等四个字段 */ @SuppressWarnings("rawtypes") public CoreReturnObject upRemarks(final ArrayList param1)throws Exception{ try{ String sql = "update tbh02_coil_comm t set t.CJ_REMARK = '"+param1.get(0).toString()+"'," + "t.CPCJ_REMARK = '"+param1.get(1).toString()+"'," + "t.SPM_RMK = '"+param1.get(2).toString()+"'," + "t.DEAL_REMARK = '"+param1.get(3).toString()+"' " + "where t.OLD_SAMPL_NO = '"+param1.get(4).toString()+"'"; mapper.upRZRemarks(sql.toString()); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setBatchno(param1.get(4).toString().substring(0,10)); qjog.setOperate_type("备注修改"); qjog.setParams(param1.get(4).toString()); qjog.setProd_line("RZ1"); //qjog.setOperation_interface("QCM030305RZ"); qjog.setMemo("处置意见:"+param1.get(3).toString()+";成品车间备注:"+param1.get(1).toString() +";热轧车间备注:"+param1.get(0).toString()+";质检备注:"+param1.get(2).toString()); mapper.insertQcmJudgeOperateLog(qjog); } catch (Exception e) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("备注更改失败"+e.getMessage()); return cro; } SqlSession.commit(); SqlSession.close(); cro.setV_errCode(1); return cro; } /* * * 缓冷结束 */ @SuppressWarnings("rawtypes") public CoreReturnObject upCold_End(String coil_no,String operter)throws Exception{ try{ String sql = "update tbh02_coil_comm t set t.MID_INSPECT_DTIME='Y' where T.OLD_SAMPL_NO = '"+coil_no+"'"; mapper.upRZRemarks(sql.toString()); String sql1 = "INSERT INTO QCM_JUDGE_LOG\n" + " (JUDGE_TYPE, MATERIAL_NO, PROD_LINE)\n" + " VALUES\n" + " ('U', '"+coil_no+"', 'RZ1')"; mapper.insert(sql1.toString()); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(operter); qjog.setBatchno(coil_no.substring(0,10)); qjog.setOperate_type("缓冷提前结束"); qjog.setParams(coil_no); qjog.setProd_line("RZ1"); //qjog.setOperation_interface("QCM030305RZ"); mapper.insertQcmJudgeOperateLog(qjog); } catch (Exception e) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("缓冷结束失败"+e.getMessage()); return cro; } SqlSession.commit(); SqlSession.close(); cro.setV_errCode(1); return cro; } /* * * 操作记录查询 */ @SuppressWarnings("rawtypes") public CoreReturnObject RZ_Record(String coil_no,String operter,String reramk/*,String memo*/)throws Exception{ try{ QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(operter); qjog.setBatchno(coil_no.substring(0,10)); qjog.setOperate_type(reramk); qjog.setParams(coil_no); //qjog.setMemo(memo); qjog.setProd_line("RZ1"); mapper.insertQcmJudgeOperateLog(qjog); } catch (Exception e) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("平整指定完成记录失败"+e.getMessage()); return cro; } SqlSession.commit(); SqlSession.close(); cro.setV_errCode(1); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject RZ_Record1(String coil_no,String operter,String reramk,String memo)throws Exception{ try{ QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(operter); qjog.setBatchno(coil_no.substring(0,10)); qjog.setOperate_type(reramk); qjog.setParams(coil_no); qjog.setMemo(memo); qjog.setProd_line("RZ1"); mapper.insertQcmJudgeOperateLog(qjog); } catch (Exception e) { SqlSession.rollback(); SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("封闭操作记录失败"+e.getMessage()); return cro; } SqlSession.commit(); SqlSession.close(); cro.setV_errCode(1); return cro; } private String getresult1(String design_key,String zl_result){ String result = ""; try{ if(design_key.equals("") ){ throw new Exception("请传入正确参数!"); } if(zl_result.equals("CP") || zl_result.equals("FP") || zl_result.equals("S1")){ result = "2"; } else if(zl_result.equals("")){ result = "0"; } else{ List list = mapper.query("select C_EXTSHAPE_REQ from tba01_ord_line a where a.ord_no||a.ord_seq = '"+design_key+"'"); if(list.size()==0){ throw new Exception("找不到订单数据!"); } if(zl_result.compareTo(list.get(0).get("C_EXTSHAPE_REQ").toString()) >= 0){ result = "1"; }else{ result = "2"; } } }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取判定结果错误"+ex.getMessage()); SqlSession.rollback(); } return result; } /** * 根据缺陷项目获取缺陷分类 */ @SuppressWarnings("rawtypes") public List finddefecttype(String defect_code) throws Exception{ try { String sql = "select * from QCM_BASE_DEFECT where validflag = '1' and defect_code = '"+defect_code+"'"; List list = mapper.query(sql); return list; } catch (Exception e) { logger.info(e.getMessage()); throw new Exception("获取缺陷分类失败" + e.getMessage()); } } private void order_down(String billet_id,String reason) throws java.lang.Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call GETJHTOMESPLAN.ORDER_DOWN@xgcx(?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, billet_id); cstmt.setString(2, reason); cstmt.execute(); } 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()); } } } /** 综合判定-取消综合判定按钮 * 操作人、list<综合判定记录号> **/ @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject cancelUltimateJudge(String username,String material_no,String utm_id) throws Exception{ try { String sql = ""; 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+"' and judgeresult <> '0'"; List list3 = mapper.query(sql); //库存表放 List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+utm_id+"'"); String inspection_lot = ""; if(list1.size() >0 || list2.size() >0 || list3.size() >0){ if(list1.size()>0){ if(list1.get(0).get("BILLETID_JY")==null || list1.get(0).get("BILLETID_JY").toString().equals("") ){ if(qju.size() > 0){ inspection_lot = qju.get(0).getInspection_lot(); } }else{ inspection_lot = list1.get(0).get("BILLETID_JY").toString(); } String design_key = qju.get(0).getDesign_key() == null?"":qju.get(0).getDesign_key().toString(); mapper.clearJUDGERESULT(material_no,inspection_lot); canceljudge_call(material_no,design_key); /*String steelname = hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString(); String phyid = list1.get(0).get("PHYSID")==null?"":list1.get(0).get("PHYSID").toString(); sql= "select max(t.steel_name) steel_name from qcm_judge_physical t where t.phy_id in (select phy_id from qcm_judge_physical_utm_d d where d.pic_id = '"+phyid+"')"; List liststeel = mapper.query(sql); if(liststeel != null && liststeel.size() >0 ){ steelname = liststeel.get(0).get("STEEL_NAME").toString(); } judge_call(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString(),hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString(),hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString(),"","","","","",material_no,username,"","","","",steelname);*/ }else if(list2.size() >0){ /*QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = qjms.doQueryMaterialInfoJ(material_no);*/ if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(material_no,inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), material_no, null, null, null, null, "D", null, null,""); }else{ List hashmap = mapper.doQueryMaterialInfoY(material_no); if(list3.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list3.get(0).get("INSPECTION_LOT")==null?"":list3.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT2(material_no,inspection_lot); String url = "http://172.16.81.200/xinsteel.maketx/service/SlmFundFirstDetailService/cancelReceiveUltimate"; JSONObject jsobj1 = new JSONObject(); JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONArray ttmaps1 = new JSONArray(); jsobj1.put("utm_id", utm_id); jsobj1.put("material_no", material_no); jsobj2.put("object", jsobj1); ttmaps1.add(jsobj2); String result = post1(JSON.toJSONString(ttmaps1),url); JSONObject jo = JSONObject.parseObject(result); if(!"200".equals(jo.get("state").toString())){ throw new Exception(jo.get("msgInfo").toString()); } } }else{ throw new Exception("未找到库存信息!"); } mapper.CancelUltimate(utm_id, "表面公差判定",username); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("取消综合判定"); qjog.setParams(material_no); qjog.setProd_line(qju.get(0).getPline_code()); mapper.insertQcmJudgeOperateLog(qjog); } catch (Exception e) { SqlSession.rollback(); cro.setV_errCode(-1); cro.setV_errMsg("取消综合判定失败!"+e.getMessage()); logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl.cancelUltimateJudge:【" + username + "," + material_no + "】" + e); } return cro; } private void canceljudge_call(String aSlabNos,String design_key) throws java.lang.Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call GETJHTOMESPLAN.JudgeRec_Del@xgcx(?,?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, aSlabNos); cstmt.setString(2, design_key); cstmt.registerOutParameter(3, java.sql.Types.INTEGER); cstmt.execute(); if(cstmt.getString(3) != null){ if(cstmt.getString(3).equals("0")){ throw new java.lang.Exception("更新判定结果失败!"); } } } 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()); } } } public static String post1(String json,String URL) { HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(URL); post.setHeader("Content-Type", "application/x-www-form-urlencoded"); post.addHeader("Authorization", "Basic YWRtaW46"); String result = ""; try { StringEntity s = new StringEntity(json, "utf-8"); s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); post.setEntity(s); // 发送请求 HttpResponse httpResponse = client.execute(post); // 获取响应输入流 InputStream inStream = httpResponse.getEntity().getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader( inStream, "utf-8")); StringBuilder strber = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) strber.append(line + "\n"); inStream.close(); result = strber.toString(); System.out.println(result); if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { System.out.println("请求服务器成功,做相应处理"); } else { System.out.println("请求服务端失败"); } } catch (Exception e) { System.out.println("请求异常"); throw new RuntimeException(e); } return result; } @SuppressWarnings("rawtypes") public String judgeHB1QMS(String boardNo,String designKey) throws Exception{ String str = ""; try { if(StringUtils.isBlank(boardNo)){ return "母板号不能为空!"; } if(StringUtils.isBlank(designKey)){ return "订单号不能为空!"; } String sql=" select * from zj_result_all@xgcx T where t.BILLETID like '"+boardNo+"%' and t.JUDGERESULT = '0' "; List list1 = mapper.query(sql); if(list1.size() > 0){ for(HashMap list:list1){ String BILLETID = list.get("BILLETID").toString(); //厚板组批计划表 String sqlid= "select t.* from zyhb_plandetailofplate@xgcx T " + " where t.slabno = '"+BILLETID+"' and ORDERID is not null and t.thick <=50 and rownum = '1' "; List list2 = mapper.query(sqlid); if(list2.size() > 0){ String MATERIAL_NO = list2.get(0).get("SLABNO").toString(); String DESIGN_KEY = list2.get(0).get("ORDERID").toString(); str=judgeHB1ByHuman(MATERIAL_NO,DESIGN_KEY); if(!str.equals("1")){ SqlSession.rollback(); } }else{ str = BILLETID+"子板未在厚板组批计划表中未找到小于等于50厚度子板号!请核实"; } } }else{ str = "ZJ表中未找到未综判子板信息!请核实"; } if(str.equals("1")){ SqlSession.commit(); } }catch (Exception e) { str = "封锁失败!"+e.getMessage(); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeHB1ByHuman:【" + boardNo + "," + designKey+ "】" + e); }finally { SqlSession.close(); } return str; } /** * 质量判定-卡量检测(因信息传递不到位导致多起厚板线厚度超标钢板发到客户手上,为有效减少及杜绝相关厚度超标板坯再次漏检发运,特利用QMS系统对厚度异常钢板实施封锁) * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称 * param2:编码、实绩、计划 * param3 测量实绩 * */ @SuppressWarnings("rawtypes") public String judgeHB1ByHuman(String materialNo,String designKey) throws Exception{ try { if(StringUtils.isBlank(materialNo) || StringUtils.isBlank(designKey) ){ return "请传入参数"; } //判断是否进行综合判定,是否在库 List hashmap = new ArrayList(); List hashmap1 = new ArrayList(); String sql =""; //String sql = "select * from zj_result_all@xgcx where BILLETID = '"+materialNo+"' and JUDGERESULT <> '0' "; //hashmap1 = mapper.query(sql); // if(hashmap1.size() > 0) { // List list1 = mapper.query(sql); // sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "'" // + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "' UNION ALL " // + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "' union all " // + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" +materialNo+ "' union all " // + " select billetid from kcx_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "'"; // hashmap = mapper.query(sql); // if (hashmap.size() == 0) { // return "未找到在库的库存信息!"; // } //撤销判定 //cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString()); //} sql = "select * from zj_result_all@xgcx where BILLETID = '"+materialNo+"'"; List list1 = mapper.query(sql); if(list1.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ if(!list.get("JUDGERESULT").toString().equals("0")){ return "该检验号下已有物料号做了综合判定,不能做公差判定!"; } if(list.get("SIC_IS_LOCK").toString().equals("1")){ return "公差已锁定,不能做公差判定!"; } } } }else{ return materialNo+"ZJ表未找到相应子板!"; } List siclist=new ArrayList(); // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K; sql = "select * from qcm_ord_design_std_sic where design_key = '"+designKey+"'"; List listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'"); List listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'"); List listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'"); for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) { slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } boolean pass = true; for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {//内控订单要求 pass = true; for(QCMOrdDesignStdSic sic :siclist){//订单特殊要求 if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){//订单交付标准 pass = true; for(QCMOrdDesignStdSic sic :siclist){ if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){ sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); pass = false; } } if(pass){ slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()); slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()); siclist.add(slmOrdDesignStdSic); } } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); sql = "select * from (select * from qcm_judge_measure where sic_ID like 'SB"+date+"%' order by sic_ID DESC) where rownum <= 1"; List qjlist= mapper.queryQCMJudgeMeasures(sql); if(qjlist!=null&&qjlist.size()>0){//公差检验实绩表 String s=qjlist.get(0).getSic_id(); count=Integer.parseInt(s.substring(s.length()-5,s.length())); } QCMJudgeMeasure qj = new QCMJudgeMeasure(); // 插入QCM_JUDGE_MEASURE信息 count++; String mst_id="SB"+date+String.format("%05d", count); // 厚宽长判定标识 pass = true; boolean judge = true; String memo = ""; /* if(materialNo.startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(materialNo); }else */ if(materialNo.startsWith("H")){ //hashmap = mapper.doQueryMaterialInfoHB(materialNo); String sqlhb1="select t.* from zyhb_plandetailofplate@xgcx t where t.slabno = '"+materialNo+"' "; hashmap =mapper.query(sqlhb1); } /* if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(materialNo); } if(hashmap.size() == 0){ hashmap = doQueryMaterialInfoJ(materialNo); }*/ if(hashmap.size() ==0){ return "未找到组批计划信息!"; } // 需要的数据 String dkSql = "select * from qcm_ord_design_std_sic where design_key = '"+designKey+"' "; List listdk = mapper.query(dkSql); String PROD_CODE = listdk.get(0).get("PROD_CODE").toString(); String PROD_NAME = listdk.get(0).get("PROD_NAME").toString(); String PSC = listdk.get(0).get("PSC").toString(); String STD_CODE = listdk.get(0).get("STD_CODE").toString(); String STD_NAME = listdk.get(0).get("STD_NAME").toString(); String STEEL_CODE = listdk.get(0).get("STEEL_CODE").toString(); String STEEL_NAME = listdk.get(0).get("STEEL_NAME").toString(); // 0 待判 judge = false; //写入判定记录表 qj.setSic_id(mst_id); if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) { qj.setMaterial_no(qj.getMaterial_no()); }else { qj.setMaterial_no(materialNo); } qj.setSic_is_lock("0"); qj.setSic_result_code("0"); qj.setSic_result_desc("待判"); qj.setSic_memo("QMS判断偏差值大于1"); qj.setJudge_name("QMS"); qj.setWrk_grp(""); qj.setWrk_ord(""); qj.setProd_code(PROD_CODE==null?"":PROD_CODE); qj.setProd_name(PROD_NAME==null?"":PROD_NAME); qj.setJudge_time(new Date()); //计划规格 qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString())); qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString())); qj.setLength(Double.parseDouble(hashmap.get(0).get("LEN") == null ?"0" :hashmap.get(0).get("LEN").toString())); QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD(); qj.setDesign_key(designKey); qj.setMaterial_no(materialNo); qj.setHeat_no(hashmap.get(0).get("HEATNO") == null ?"":hashmap.get(0).get("HEATNO").toString()); qj.setBoard_no(hashmap.get(0).get("MOTHERSLAB") == null ?"":hashmap.get(0).get("MOTHERSLAB").toString()); qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qj.setInspection_lot(hashmap.get(0).get("BILLETID_SY")==null?"":hashmap.get(0).get("BILLETID_SY").toString()); qj.setPline_code("HB1"); qj.setPline_name("厚板线"); qj.setPsc(PSC == null ?"":PSC); qj.setPsc_desc(PSC==null?"":PSC); qj.setStd_code(STD_CODE == null ?"":STD_CODE); qj.setStd_name(STD_NAME == null ?"":STD_NAME); qj.setProd_code(PROD_CODE == null ?"":PROD_CODE); qj.setProd_name(PROD_NAME== null ?"":PROD_NAME); qj.setSteel_code(STEEL_CODE == null ?"":STEEL_CODE); qj.setSteel_name(STEEL_NAME == null ?"":STEEL_NAME); qj.setLevel_code(""); qj.setLevel_desc("待处理"); if(qj.getSic_result_code().equals("0") && !qj.getLevel_desc().contains("待处理")){ return "检验结果与质量等级不匹配!"; } mapper.insertQCMJudgeMeasure(qj); //判定实绩 for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){//订单交付标准 if(slmOrdDesignStdSic.getBias_code().contains("KB")){ qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString()); }else if(slmOrdDesignStdSic.getBias_code().contains("KD")){ qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString()); }else if(slmOrdDesignStdSic.getBias_code().contains("KF")){ qjmd.setPlan_val(hashmap.get(0).get("LEN") == null ?"" :hashmap.get(0).get("LEN").toString()); }else{ qjmd.setPlan_val(""); } qjmd.setSic_id(mst_id); qjmd.setJudge_val("");//val 实测值 qjmd.setSic_item_code(slmOrdDesignStdSic.getBias_code().toString());//bias_code qjmd.setSic_item_desc(slmOrdDesignStdSic.getBias_name().toString());//bias_name mapper.insertQcmJudgeMeasureD(qjmd); } //更改库存表 if(list1.size()>0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(materialNo); zra.setSizeresult("0"); zra.setSizeresult_desc("待判"); zra.setSic_is_lock("0"); zra.setSizeid(mst_id); mapper.UpdateJugeResultB(zra); }else{ return "未找到库存信息!"; } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name("QMS"); qjog.setOperate_type("公差检验判定"); qjog.setParams(materialNo); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setProd_line("HB1"); qjog.setJudge_result("0"); qjog.setMemo("厚度偏差值大于1"); mapper.insertQcmJudgeOperateLog(qjog); } catch (Exception e) { SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeHB1ByHuman:【" + materialNo + "," + designKey+ "】" + e); return "judgeHB1ByHuman:"+e; } return "1"; } }