package QCM.QCM03.QCM0302; import CoreFS.SA01.CoreIComponent; import CoreFS.SA06.CoreReturnObject; import QCM.COMMUNAL.QCM02.SqlJoint; import QCM.COMMUNAL.ResultModel; import QCM.COMMUNAL.VO.*; import QCM.JHY01.JHY0101.DuplicateSample2; import QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl; import QCM.QCM03.QCM0307.QcmRejudgeApplyServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.ibatis.session.SqlSession; import org.apache.log4j.Logger; import pda.WebService1Impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class QcmJhyPhyresultServiceImpl extends CoreIComponent{ CoreReturnObject cro = new CoreReturnObject(); SqlSession SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class); Logger logger = Logger.getLogger(this.getClass().getName()); 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="查询时间不能大于半年,请核实查询时间条件!"; if(ble>=0 && ble <=185 ){ tstr="TRUE"; } return tstr; } /** * 查询待判信息(检验委托提供) */ public CoreReturnObject getRejudgeInfo(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String heat_no){ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(!sky.equals("TRUE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg(sky); return cro; } } String swhere = " 1=1"; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间 if(time_type.equals("0")){ swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; }else if(time_type.equals("1")){ swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号 swhere += " and o.batch_no >= '"+sbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号 swhere += " and o.batch_no <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and o.design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and o.psc_desc like '%"+psc_desc+"%'"; } if(!SqlJoint.IsNullOrSpace(heat_no)){ swhere += " and o.heat_no like '%"+heat_no+"%'"; } if(!SqlJoint.IsNullOrSpace(type)){ //卷板 if(type.equals("0")){ swhere += " and o.pline_code in ('LT1','SZ1','RZ1')"; } //中厚板 else if(type.equals("1")){ swhere += " and o.pline_code in ('ZB1','HB1')"; } //线棒 else if(type.equals("2")){ swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')"; } } if(status.equals("有性能")){ swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')"; }else if(status.equals("无性能")){ swhere1 += " and status not in ('3','5')"; } if(prodline.equals("中板线")){ swhere += " and o.pline_code in ('ZB1') "; }else if(prodline.equals("厚板线")){ swhere += " and o.pline_code in ('HB1') "; }else if(prodline.equals("热连轧")){ swhere += " and o.pline_code in ('RZ1') "; }else if(prodline.equals("酸轧")){ swhere += " and o.pline_code in ('SZ1') "; }else if(prodline.equals("连退")){ swhere += " and o.pline_code in ('LT1') "; }else if(prodline.equals("高棒")){ swhere += " and o.pline_code in ('GX1') "; }else if(prodline.equals("棒二")){ swhere += " and o.pline_code in ('BC2') "; }else if(prodline.equals("高线")){ swhere += " and o.pline_code in ('GX2') "; } if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){ swhere += " and O.CERT_INST_NAME = '"+certinstname+"'"; } //2023/3/6 委托部分发送查询优化更改 String swhere3 = "and exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status <> '0')"; String sql = "SELECT O.BATCH_NO, " + " o.design_key, " + " o.smp_no, " + " O.CERT_INST_NAME," + " O.SMP_TYPE_NAME, " + " o.steel_name, " + " o.prod_name, " + " o.std_name, " + " o.delivery_state_desc, " + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, " + " o.width, " + " o.length, " + " m.pline_name, " + " o.heat_no, " + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME," + "O.INSPECTION_LOT, " +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, " +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, " +" (select max(process_nos) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) ht_no, " + " (select case when max(a.Smp_Type_Code) = '3' then '件件取样' when max(a.Smp_Type_Code) = '4' then '按母板取样' when max(a.Smp_Type_Code) = '1' then '复样' " + " when max(a.Smp_Type_Code) = '0' and max(o.CERT_INST_CODE) in ('IC003', 'IC004','IC001', 'IC010', '5000') then " + " '初样' else '认证样' end from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" + " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" + " from qcm_jhy_insp_physics t\n" + " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC" +" from QCM_JHY_SAMPLE_R_ORD o " + " inner join QCM_JHY_SAMPLE_CONSIGN_M m " + " on m.smp_no = o.smp_no " + " and o.judge_status = '0' " + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC"; List listEle=mapper.query(sql); cro.setResult(listEle); }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage()); logger.info(ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询待判信息(检验委托提供) */ public CoreReturnObject getRejudgeInfoZhb(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String heat_no){ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(!sky.equals("TRUE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg(sky); return cro; } } String swhere = " 1=1"; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间 if(time_type.equals("0")){ swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; }else if(time_type.equals("1")){ swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号 swhere += " and o.batch_no >= '"+sbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号 swhere += " and o.batch_no <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and o.design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and o.psc_desc like '%"+psc_desc+"%'"; } if(!SqlJoint.IsNullOrSpace(heat_no)){ swhere += " and o.heat_no like '%"+heat_no+"%'"; } if(!SqlJoint.IsNullOrSpace(type)){ //卷板 if(type.equals("0")){ swhere += " and o.pline_code in ('LT1','SZ1','RZ1')"; } //中厚板 else if(type.equals("1")){ swhere += " and o.pline_code in ('ZB1','HB1')"; } //线棒 else if(type.equals("2")){ swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')"; } } if(status.equals("有性能")){ swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')"; }else if(status.equals("无性能")){ swhere1 += " and status not in ('3','5')"; } if(prodline.equals("中板线")){ swhere += " and o.pline_code in ('ZB1') "; }else if(prodline.equals("厚板线")){ swhere += " and o.pline_code in ('HB1') "; }else if(prodline.equals("热连轧")){ swhere += " and o.pline_code in ('RZ1') "; }else if(prodline.equals("酸轧")){ swhere += " and o.pline_code in ('SZ1') "; }else if(prodline.equals("连退")){ swhere += " and o.pline_code in ('LT1') "; }else if(prodline.equals("高棒")){ swhere += " and o.pline_code in ('GX1') "; }else if(prodline.equals("棒二")){ swhere += " and o.pline_code in ('BC2') "; }else if(prodline.equals("高线")){ swhere += " and o.pline_code in ('GX2') "; } if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){ swhere += " and O.CERT_INST_NAME = '"+certinstname+"'"; } //2023/3/6 委托部分发送查询优化更改 String swhere3 = "and exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status <> '0')"; String sql = "SELECT O.BATCH_NO, " + " o.design_key, " + " o.smp_no, " + " O.CERT_INST_NAME," + " O.SMP_TYPE_NAME, " + " o.steel_name, " + " o.prod_name, " + " o.std_name, " + " o.delivery_state_desc, " + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, " + " o.width, " + " o.length, " + " m.pline_name, " + " o.heat_no, " + " (select case when count(1) >0 then '预测' else 'lims' end rownum1 from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_INSP_PHYSICS i " + " where t.specimen_no = i.specimen_no " + " and i.create_name = 'QMS' " + " and t.smp_no = o.smp_no) SOURCE," + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME," + "O.INSPECTION_LOT, " +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, " +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, " +" (select max(process_nos) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) ht_no, " + " (select case when max(a.Smp_Type_Code) = '3' then '件件取样' when max(a.Smp_Type_Code) = '4' then '按母板取样' when max(a.Smp_Type_Code) = '1' then '复样' " + " when max(a.Smp_Type_Code) = '0' and max(o.CERT_INST_CODE) in ('IC003', 'IC004','IC001', 'IC010', '5000') then " + " '初样' else '认证样' end from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" + " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" + " from qcm_jhy_insp_physics t\n" + " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC" +" from QCM_JHY_SAMPLE_R_ORD o " + " inner join QCM_JHY_SAMPLE_CONSIGN_M m " + " on m.smp_no = o.smp_no " + " and o.judge_status = '0' " + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC"; List listEle=mapper.query(sql); cro.setResult(listEle); }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage()); logger.info(ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询卷板待判信息(检验委托提供) */ public CoreReturnObject getRejudgeInfoJ(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String material_no,String heat_no){ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(!sky.equals("TRUE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg(sky); return cro; } } String swhere = " 1=1"; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间 if(time_type.equals("0")){ swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; }else if(time_type.equals("1")){ swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号 swhere += " and o.batch_no >= '"+sbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号 swhere += " and o.batch_no <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and o.design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and o.psc_desc like '%"+psc_desc+"%'"; } if(!SqlJoint.IsNullOrSpace(heat_no)){ swhere += " and o.heat_no like '%"+heat_no+"%'"; } if(!SqlJoint.IsNullOrSpace(type)){ //卷板 if(type.equals("0")){ swhere += " and o.pline_code in ('LT1','SZ1','RZ1')"; } //中厚板 else if(type.equals("1")){ swhere += " and o.pline_code in ('ZB1','HB1')"; } //线棒 else if(type.equals("2")){ swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')"; } } if(status.equals("有性能")){ swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')"; }else if(status.equals("无性能")){ swhere1 += " and status not in ('3','5')"; } if(prodline.equals("热连轧")){ swhere += " and o.pline_code in ('RZ1') "; }else if(prodline.equals("酸轧")){ swhere += " and o.pline_code in ('SZ1') "; }else if(prodline.equals("连退")){ swhere += " and o.pline_code in ('LT1') "; } if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){ swhere += " and O.CERT_INST_NAME = '"+certinstname+"'"; } String swhere3 = "and not exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status = '0')"; String swhere2 = " 1=1 and material_no like '"+material_no+"' || '%'"; String sql = "select * from (SELECT O.BATCH_NO, " + " o.design_key, " + " o.smp_no, " + " O.CERT_INST_NAME," + " O.SMP_TYPE_NAME, " + " o.steel_name, " + " o.prod_name, " + " o.std_name, " + " o.delivery_state_desc, " + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, " + " o.width, " + " o.length, " + " m.pline_name, " + " o.heat_no, " + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME," + "O.INSPECTION_LOT, " +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, " +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, " + " (select decode( max(a.Smp_Type_Code),'3','件件取样','1','复样','0','初样') from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" + " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" + " from qcm_jhy_insp_physics t\n" + " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC" +" from QCM_JHY_SAMPLE_R_ORD o " + " inner join QCM_JHY_SAMPLE_CONSIGN_M m " + " on m.smp_no = o.smp_no " + " and o.judge_status = '0' " + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC) where "+swhere2+""; List listEle=mapper.query(sql); cro.setResult(listEle); }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage()); logger.info(ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询卷板待判信息(检验委托提供) */ public CoreReturnObject getRejudgeInfoY(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String material_no,String heat_no){ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(!sky.equals("TRUE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg(sky); return cro; } } String swhere = " 1=1"; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间 if(time_type.equals("0")){ swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; }else if(time_type.equals("1")){ swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号 swhere += " and o.batch_no >= '"+sbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号 swhere += " and o.batch_no <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and o.design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and o.psc_desc like '%"+psc_desc+"%'"; } if(!SqlJoint.IsNullOrSpace(heat_no)){ swhere += " and o.heat_no like '%"+heat_no+"%'"; } /*if(!SqlJoint.IsNullOrSpace(type)){ //卷板 if(type.equals("0")){ swhere += " and o.pline_code in ('LT1','SZ1','RZ1')"; } //中厚板 else if(type.equals("1")){ swhere += " and o.pline_code in ('ZB1','HB1')"; } //线棒 else if(type.equals("2")){ swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')"; } }*/ if(status.equals("有性能")){ swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')"; }else if(status.equals("无性能")){ swhere1 += " and status not in ('3','5')"; } swhere += " and o.pline_code in ('YT1') "; if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){ swhere += " and O.CERT_INST_NAME = '"+certinstname+"'"; } String swhere3 = "and not exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status = '0')"; String swhere2 = " 1=1 and material_no like '"+material_no+"' || '%'"; String sql = "select * from (SELECT O.BATCH_NO, " + " o.design_key, " + " o.smp_no, " + " O.CERT_INST_NAME," + " O.SMP_TYPE_NAME, " + " o.steel_name, " + " o.prod_name, " + " o.std_name, " + " o.delivery_state_desc, " + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, " + " o.width, " + " o.length, " + " m.pline_name, " + " o.heat_no, " + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME," + "O.INSPECTION_LOT, " +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, " +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, " + " (select decode( max(a.Smp_Type_Code),'3','件件取样','1','复样','0','初样') from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" + " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" + " from qcm_jhy_insp_physics t\n" + " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC" +" from QCM_JHY_SAMPLE_R_ORD o " + " inner join QCM_JHY_SAMPLE_CONSIGN_M m " + " on m.smp_no = o.smp_no " + " and o.judge_status = '0' " + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC) where "+swhere2+""; List listEle=mapper.query(sql); cro.setResult(listEle); }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage()); logger.info(ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询待判信息(检验委托提供) */ public CoreReturnObject getPRejudgeInfo(String batchno){ try{ String sql = "select billetid from zj_result_all@xgcx a where a.billetid like '"+batchno+"'|| '%' and a.physresult = '0'"; List listEle=mapper.query(sql); cro.setResult(listEle); }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage()); logger.info(ex.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-材质判定管理-人工干预判定 线棒 * List * */ @SuppressWarnings("unchecked") public CoreReturnObject JudgeByHuman2(String smp_no,ArrayList specimen_no,String username,String smp_type_code,String steelname) throws Exception{ String staus=""; String inspection_lot = ""; ArrayList arrayList = new ArrayList();//高线判废传参 try{ //获取未判定的数据 String condition=" Judge_status='0' "; QcmJhySampleROrd qjsr=new QcmJhySampleROrd(); List listqjsr=new ArrayList(); String status=""; List lists=new ArrayList();//异常材料处理用,用于不合格项目的备注 List listx=mapper.GetSamplePhyInfo1(condition,smp_no); if(listx.size() == 0){ throw new Exception("该产品已判或者未处于待判状态"); } List listOrd=new ArrayList(); List qjscList = new ArrayList(); // 存放不合格的项目,用于自动复样 List w=new ArrayList(); for (QcmJhySampleROrd o : listx) { boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态; List listd = mapper.findQcmJhySampleConsignD2(o.getSmp_no()); for (QcmJhySampleConsignD d : listd) { if (!d.getStatus().equals("3") && !d.getStatus().equals("5") ) { flag=false; throw new Exception("该试样号向下的取样编号存在未完成的!"); } } if (flag) { listOrd.add(o); } } String pic_id=""; QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD(); for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) { _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no()); _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no()); //获取取样编号 List listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no()); //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的 List listResult=new ArrayList(); //获取检验信息QcmJhyPhyresultServiceImpl for (QcmJhySampleConsignD d : listConsignD) { QcmJhyPhyresult _result=new QcmJhyPhyresult(); List listqjp=mapper.findphyresult(d.getSpecimen_no()); if (listqjp.size()<1) { continue; } for (QcmJhyPhyresult q : listqjp) { String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getSeq()==null?"":q.getSeq()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d()) + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t()); if(specimen_no.contains(s)){ listResult.add(q); continue; } } List listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no()); if(listi.size()<=0){ throw new Exception("未找到数据!"); } } //获取标准和实测值(调用zj书写的接口) CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),steelname,qcmJhySampleROrd.getPline_code()); List listd=(List) r.getResult(); List listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'"); boolean pass=true;//是否合格 boolean judge = true; if(listResult.size() == 0){ throw new Exception("所选检验项目不全!"); } /*if(listResult.size() < listp.size()){ throw new Exception("所选检验项目不全!"); }*/ for (QcmJhySampleConsignDItem sod : listd) { boolean pass1 = false; //List listqjp=mapper.findphyresult(sod.getSpecimen_no()); String s = (sod.getSpecimen_no()==null?"":sod.getSpecimen_no()) + (sod.getSeq()==null?"":sod.getSeq()) + (sod.getPhy_code_l()==null?"":sod.getPhy_code_l()) + (sod.getPhy_code_m()==null?"":sod.getPhy_code_m()) + (sod.getPhy_code_s()==null?"":sod.getPhy_code_s()) + (sod.getItem_code_d()==null?"":sod.getItem_code_d()) + (sod.getItem_code_s()==null?"":sod.getItem_code_s()) + (sod.getItem_code_t()==null?"":sod.getItem_code_t()); if(specimen_no.contains(s)){ pass1 = true; } if(!pass1){ continue; } if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){ throw new Exception("获取实绩为空!"); } String bool0=""; String bool1=""; String bool2=""; String bool3=""; String bool4=""; String bool5=""; String bool6=""; String bool7=""; pass = true; //if(pass){ //最小值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && ((StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin())) || (StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())))) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //最大值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //平均值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmax()); sod.setStdmin_sign(sod.getJf_stdmax_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmax()); sod.setStdmin_sign(sod.getKh_stdmax_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //逐项值判定 if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3()); if ("2".equals(bool0)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool1)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool2)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool3)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && ((StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin())) || (StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())))) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){ pass = true; int count = 0; qjscList.remove(sod); sod.setIsbz("1"); //允许一个值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; }else{ bool0=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; } else{ bool0=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; } } } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; }else{ bool1=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; }else{ bool1=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; } } } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; }else{ bool2=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; }else{ bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; } } } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; }else{ bool3=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; }else{ bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; } } } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; }else{ bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; }else{ bool4=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; } } } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; }else{ bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; }else{ bool5=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; } } } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if(count > 1){ pass=false; sod.setIsbz("1"); qjscList.add(sod); }else{ if ("2".equals(bool0)||"2".equals(bool1) || "2".equals(bool2)||"2".equals(bool3) || "2".equals(bool4)||"2".equals(bool5) ){ pass=false; sod.setIsbz("1"); qjscList.add(sod); } } } //最大最小差值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //平均值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最小值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最大值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //所有值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } } if(sod.getDefect_flag()!= null){ if(sod.getDefect_flag().equals("1")){ pass = false; } } if(!pass){ judge = false; } } //判断初样和牌号 if("初样".equals(smp_type_code)) { if(judge && "SWRH82B-YL".equals(steelname)) { steelname = "SWRH82B-YL-Ⅰ"; } } qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,steelname,""); String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'"; List list2 = mapper.query(sql); if(!judge){ //更新材料异常处理表 QCMJudgeLocking qjb=new QCMJudgeLocking(); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ List hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString()); } if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setMaterial_no(list.get("BILLETID").toString()); qjb.setLock_id(qjsr.getPhy_id()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("BILLETID").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(listz.getPhy_name_s()!=null){ memo = listz.getPhy_name_s(); } if(listz.getItem_name_d()!=null){ memo += "-"+listz.getItem_name_d(); } if(listz.getItem_name_t()!=null){ memo += "-"+listz.getItem_name_t(); } if(listz.getItem_name_s()!=null){ memo += "-"+listz.getItem_name_s(); } if(listz.getItem_desc_l()!=null){ memo += "-"+listz.getItem_desc_l(); } if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){ memo += "-"+"分层、起皮"; } if(listz.getVal1()!=null){ memo += "-"+listz.getVal1(); } if(listz.getVal2()!=null){ memo += "-"+listz.getVal2(); } if(listz.getVal3()!=null){ memo += "-"+listz.getVal3(); } /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("BILLETID").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); mapper.insertQCMJudgeLocking(qjb); //高线且判定不通过,调用异常处理判废且取样材料号为委托明细中的取样材料号 /*if("GX2".equals(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()) && "初样".equals(smp_type_code) && listConsignD.get(0).getMaterial_no().equals(list.get("BILLETID").toString()) && !hashmap.get(0).get("STEEL_NAME").toString().equals("SWRH82B-YL")) { arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("5"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); }*/ } }else{ for(HashMap list:list2){ List hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString()); if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setLock_id(qjsr.getPhy_id()); qjb.setMaterial_no(list.get("COIL_NO").toString()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("COIL_NO").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); } qjr.setMaterial_no(list.get("COIL_NO").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); mapper.insertQCMJudgeLocking(qjb); } } } //异常材处置 //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id()); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("判定"); qjog.setParams(smp_no); qjog.setProd_line(listOrd.get(0).getPline_code()); qjog.setBatchno(listOrd.get(0).getBatch_no()); qjog.setJudge_result(!judge?"2":"1"); mapper.insertQcmJudgeOperateLog(qjog); //调用熔炼成分判定 RlChemAutoJudgeByHuman //判断试样号是否都已经判定完 List listphy = new ArrayList(); List listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot()); List lstr=new ArrayList(); for (QcmJhySampleROrd l : listor) { if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) { lstr.add(l.getJudge_result_desc()); } /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) { lstr.add("待判"); }*/ else { lstr.add("null"); } List qjpr1 = new ArrayList(); String phy_id = l.getPhy_id()==null?"":l.getPhy_id(); sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"'"; qjpr1 = mapper.queryQcmJudgePhysicalResult(sql); for(QcmJudgePhysicalResult y:qjpr1) { String s = (y.getPhy_code_l()==null?"":y.getPhy_code_l()) + (y.getPhy_code_m()==null?"":y.getPhy_code_m()) + (y.getPhy_code_s()==null?"":y.getPhy_code_s()) + (y.getItem_code_d()==null?"":y.getItem_code_d()) + (y.getItem_code_s()==null?"":y.getItem_code_s()) + (y.getItem_code_t()==null?"":y.getItem_code_t()); listphy.add(s); } } List qrdsp = new ArrayList(); sql = "select * from qcm_ord_design_std_pic where design_key = '"+qcmJhySampleROrd.getDesign_key()+"'"; qrdsp = mapper.queryQCMOrdDesignStdPic(sql); for(QcmOrdDesignStdPic x:qrdsp){ String z = (x.getPhy_code_l()==null?"":x.getPhy_code_l()) + (x.getPhy_code_m()==null?"":x.getPhy_code_m()) + (x.getPhy_code_s()==null?"":x.getPhy_code_s()) + (x.getItem_code_d()==null?"":x.getItem_code_d()) + (x.getItem_code_s()==null?"":x.getItem_code_s()) + (x.getItem_code_t()==null?"":x.getItem_code_t()); if(!listphy.contains(z)&& (qcmJhySampleROrd.getPline_code().equals("ZB1") || qcmJhySampleROrd.getPline_code().equals("HB1"))){ lstr.add("待判"); } } QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM(); QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD(); if (!lstr.contains("待判")) { if (!lstr.contains("null")) { if (lstr.contains("不合格")) { qpu.setPic_result_desc("不合格"); qpu.setPic_result_code("2"); }else if(lstr.contains("判次")){ qpu.setPic_result_desc("判次"); qpu.setPic_result_code("3"); }else if(lstr.contains("判废")){ qpu.setPic_result_desc("判废"); qpu.setPic_result_code("4"); }else{ qpu.setPic_result_desc("合格"); qpu.setPic_result_code("1"); } //把对应的数据加入qcm_judge_Physical_Utm_M表中 int a=0; for (QcmJhySampleROrd q : listor) { //获取当日最大编号 if (a==0) { int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC"); if(qrlist!=null&&qrlist.size()>0){ String s=qrlist.get(0).getPic_id(); count=Integer.parseInt(s.substring(s.length()-4, s.length())); } count++; pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count); qpu.setPic_id(pic_id); qpu.setInspection_lot(q.getInspection_lot()); qpu.setDesign_key(q.getDesign_key()); mapper.insertQcmJudgePhysicalUtmM(qpu); a++; } qpd.setPic_id(pic_id); qpd.setPsc_desc(q.getPsc_desc()); qpd.setSteel_code(q.getSteel_code()); qpd.setSteel_name(q.getSteel_name()); qpd.setStd_code(q.getStd_code()); qpd.setStd_name(q.getStd_name()); qpd.setProd_code(q.getProd_code()); qpd.setProd_name(q.getProd_name()); qpd.setSmp_no(q.getSmp_no()); qpd.setHeat_no(q.getHeat_no()); qpd.setBatch_no(q.getBatch_no()); qpd.setInspection_lot(q.getInspection_lot()); qpd.setDesign_key(q.getDesign_key()); qpd.setPsc(q.getPsc()); qpd.setCert_inst_code(q.getCert_inst_code()); qpd.setCert_inst_name(q.getCert_inst_name()); qpd.setSmp_type_code(q.getSmp_type_code()); qpd.setSmp_type_name(q.getSmp_type_name()); qpd.setJudge_result_code(q.getJudge_result_code()); qpd.setJudge_result_desc(q.getJudge_result_desc()); qpd.setPhy_id(q.getPhy_id()); qpd.setJudge_ttime(new Date()); qpd.setJudge_name("system"); //pme.setPhysresult_id(pic_id); mapper.insertQcmJudgePhysicalUtmD(qpd); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ // 更新库存表材质判定结果 ZjResultAll zra = new ZjResultAll(); zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultB(zra); }else{ // 更新库存表材质判定结果 QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到该检验号下的库存信息!"); } //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { for (HashMap hashMap : list2) { List hashmap2 = mapper.doQueryMaterialInfoJ(hashMap.get("COIL_NO").toString()); if (hashmap2.size() > 0) { coiljudge_status_call(hashmap2.get(0).get("PLINE_CODE").toString(), hashMap.get("COIL_NO").toString(), null, judge ? "1" : "2", null, null, null, null, null,""); } } } } } } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot()); qjl.setCreate_name("system"); qjl.setMaterial_type("1"); qjl.setProd_line(listOrd.get(0).getPline_code()); mapper.insertQcmJudgeLog(qjl); /*inspection_lot = qcmJhySampleROrd.getInspection_lot(); status = qpu.getPic_result_code();*/ } SqlSession.commit(); /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman2(inspection_lot); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); if(status.equals("1")){ qjpc.ultimateJudgeAutoBySystemB(inspection_lot, username ); }*/ }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl.JudgeByHuman2:【" + smp_no + "," + specimen_no.toString() + "," + username + "," + smp_type_code + "," + steelname + "】" + e); } SqlSession.close(); //高线且判定不通过,调用异常处理判废 if(CollectionUtils.isNotEmpty(arrayList)) { QcmRejudgeApplyServiceImpl qcmRejudgeApplyService = new QcmRejudgeApplyServiceImpl(); qcmRejudgeApplyService.doInformationSure(arrayList); } /*final String inspection_lot1 = inspection_lot; Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t2.start();*/ return cro; } /** * 质量判定-材质判定管理-人工干预判定 * List * */ @SuppressWarnings("unchecked") public CoreReturnObject JudgeByHuman(String smp_no,ArrayList specimen_no,String username,String steelname) throws Exception{ String staus=""; String inspection_lot = ""; String Fcqp = ""; try{ //获取未判定的数据 List listS = new ArrayList(); String condition=" Judge_status='0' "; QcmJhySampleROrd qjsr=new QcmJhySampleROrd(); List listqjsr=new ArrayList(); List listYc = new ArrayList(); String status=""; List lists=new ArrayList();//异常材料处理用,用于不合格项目的备注 List listx=mapper.GetSamplePhyInfo1(condition,smp_no); if(listx.size() == 0){ throw new Exception("该产品已判或者未处于待判状态"); } List listOrd=new ArrayList(); List qjscList = new ArrayList(); // 存放不合格的项目,用于自动复样 List w=new ArrayList(); List listv = new ArrayList(); for (QcmJhySampleROrd o : listx) { boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态; listv = mapper.findQcmJhySampleConsignD2(o.getSmp_no()); for (QcmJhySampleConsignD d : listv) { if (!d.getStatus().equals("3") && !d.getStatus().equals("5")) { flag=false; throw new Exception("该试样号向下的取样编号存在未完成的!"); } //中厚板性能预测 /* if(d.getPline_code().contains("HB1") || d.getPline_code().contains("ZB1")){ if(d.getRz_mixroll()!= null && d.getRz_old_sampl_no()!= null){ if(!d.getSpecimen_no().equals(d.getRz_old_sampl_no())){ String sql = "select count(1) count from qcm_jhy_sample_r_ord z where z.inspection_lot in (select inspection_lot from qcm_jhy_sample_consign_d where specimen_no = '"+d.getRz_old_sampl_no()+"')"; listYc = mapper.query(sql); if(listYc.get(0).get("COUNT").equals("0")){ throw new Exception("该试样号向下的抽样物料试样号不存在!"); } sql = "select count(1) count from qcm_jhy_sample_r_ord z where z.inspection_lot in (select inspection_lot from qcm_jhy_sample_consign_d where specimen_no = '"+d.getRz_old_sampl_no()+"') and (judge_result_code <> '1' or judge_result_code is null)"; listYc = mapper.query(sql); if(!listYc.get(0).get("COUNT").equals("0")){ throw new Exception("该试样号向下的抽样物料材质判定不合格!"); } } } }*/ } if (flag) { listOrd.add(o); } } String pic_id=""; QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD(); for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) { _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no()); _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no()); //获取取样编号 List listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no()); //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的 List listResult=new ArrayList(); //获取检验信息 for (QcmJhySampleConsignD d : listConsignD) { QcmJhyPhyresult _result=new QcmJhyPhyresult(); List listqjp=mapper.findphyresult(d.getSpecimen_no()); if (listqjp.size()<1) { continue; } for (QcmJhyPhyresult q : listqjp) { String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getSeq()==null?"":q.getSeq()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d()) + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t()); if(specimen_no.contains(s)){ listResult.add(q); continue; } } List listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no()); if(listi.size()<=0){ throw new Exception("未找到数据!"); } } //获取标准和实测值(调用zj书写的接口) CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),steelname,qcmJhySampleROrd.getPline_code()); List listd=(List) r.getResult(); List listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'"); boolean pass=true;//是否合格 boolean judge = true; int t = 0; boolean pass2=true; int k= 0; if(listResult.size() == 0){ throw new Exception("所选检验项目不全!"); } /*if(listResult.size() < listp.size()){ throw new Exception("所选检验项目不全!"); }*/ for (QcmJhySampleConsignDItem sod : listd) { boolean pass1 = false; //List listqjp=mapper.findphyresult(sod.getSpecimen_no()); String s = (sod.getSpecimen_no()==null?"":sod.getSpecimen_no()) + (sod.getSeq()==null?"":sod.getSeq())+ (sod.getPhy_code_l()==null?"":sod.getPhy_code_l()) + (sod.getPhy_code_m()==null?"":sod.getPhy_code_m()) + (sod.getPhy_code_s()==null?"":sod.getPhy_code_s()) + (sod.getItem_code_d()==null?"":sod.getItem_code_d()) + (sod.getItem_code_s()==null?"":sod.getItem_code_s()) + (sod.getItem_code_t()==null?"":sod.getItem_code_t()); if(specimen_no.contains(s)){ pass1 = true; } if(!pass1){ continue; } if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){ throw new Exception("获取实绩为空!"); } String bool0=""; String bool1=""; String bool2=""; String bool3=""; String bool4=""; String bool5=""; String bool6=""; String bool7=""; pass = true; //if(pass){ //最小值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //最大值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //平均值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmax()); sod.setStdmin_sign(sod.getJf_stdmax_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmax()); sod.setStdmin_sign(sod.getKh_stdmax_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //逐项值判定 if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3()); if ("2".equals(bool0)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool1)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); if(sod.getPhy_name_l().contains("硬度")){ k++; } } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool2)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool3)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); if(sod.getPhy_name_l().contains("硬度")){ k++; } } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); if(sod.getPhy_name_l().contains("硬度")){ k++; } } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); if(sod.getPhy_name_l().contains("硬度")){ k++; } } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){ pass = true; int count = 0; int b = 0; qjscList.remove(sod); sod.setIsbz("1"); //允许一个值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; b++; }else{ bool0=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; b++; }else{ bool0=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; b++; } } } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); t++; } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; b++; }else{ bool1=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; b++; }else{ bool1=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; b++; } } } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); t++; } bool2=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; b++; }else{ bool2=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; b++; }else{ bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; b++; } } } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); t++; } bool3=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; b++; }else{ bool3=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; b++; }else{ bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; b++; } } } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); t++; } bool4=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; b++; }else{ bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; b++; }else{ bool4=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; b++; } } } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); t++; } bool5=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; b++; }else{ bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; b++; }else{ bool5=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; b++; } } } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); t++; } if(count > 1){ pass=false; sod.setIsbz("1"); qjscList.add(sod); }else{ if ("2".equals(bool0)||"2".equals(bool1) || "2".equals(bool2)||"2".equals(bool3) || "2".equals(bool4)||"2".equals(bool5) ){ pass=false; sod.setIsbz("1"); qjscList.add(sod); } } if(b>=3 || t>=2){ pass2 =false; } } //最大最小差值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //平均值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最小值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最大值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //所有值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } } if(sod.getDefect_flag()!= null){ if(qcmJhySampleROrd.getBatch_no().startsWith("Z") || qcmJhySampleROrd.getBatch_no().startsWith("H")){ if(sod.getDefect_flag().equals("1") && (qcmJhySampleROrd.getStd_code().contains("Rules") || qcmJhySampleROrd.getStd_code().contains("GB/T712"))){ pass = false; Fcqp = "1"; } }/*else{ if(sod.getDefect_flag().equals("1")){ pass = true; } }*/ } if(!pass){ judge = false; } } if(qcmJhySampleROrd.getDesign_key().startsWith("36") || qcmJhySampleROrd.getDesign_key().startsWith("X36") || qcmJhySampleROrd.getDesign_key().startsWith("W36") || qcmJhySampleROrd.getDesign_key().startsWith("WX36")){ judge = true; } qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,steelname,""); String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0' "; List list1 = mapper.query(sql); sql = "select * from zj_result_all@xgcx where BILLETID like '"+qcmJhySampleROrd.getBatch_no()+"%' and BILLETID_JY <> '"+qcmJhySampleROrd.getInspection_lot()+"'"; List list3 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'"; List list2 = mapper.query(sql); sql = "select * from QCM_JUDGE_YT_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'"; List list4 = mapper.query(sql); if(!judge){ //更新材料异常处理表 QCMJudgeLocking qjb=new QCMJudgeLocking(); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ List hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString()); } if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } if(hashmap.get(0).get("DESIGN_KEY") != null){ int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setMaterial_no(list.get("BILLETID").toString()); qjb.setLock_id(qjsr.getPhy_id()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("BILLETID").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(listz.getPhy_name_s()!=null){ memo += (memo.equals("")?"":",")+ listz.getPhy_name_s(); } if(listz.getItem_name_d()!=null){ memo += "-"+listz.getItem_name_d(); } if(listz.getItem_name_t()!=null){ memo += "-"+listz.getItem_name_t(); } if(listz.getItem_name_s()!=null){ memo += "-"+listz.getItem_name_s(); } if(listz.getItem_desc_l()!=null){ memo += "-"+listz.getItem_desc_l(); } if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){ memo += "-"+"分层、起皮"; } if(listz.getVal1()!=null){ memo += "-"+listz.getVal1(); } if(listz.getVal2()!=null){ memo += "-"+listz.getVal2(); } if(listz.getVal3()!=null){ memo += "-"+listz.getVal3(); } /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("BILLETID").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 if(Fcqp.equals("1")){ qjb.setLock_memo("拉力分层或起皮"); if(!hashmap.get(0).get("STD_CODE").toString().contains("Rules") && !hashmap.get(0).get("STD_CODE").toString().contains("GB/T712")){ continue; } }else{ qjb.setLock_memo(memo); } if(!(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null)){ mapper.insertQCMJudgeLocking(qjb); } if(listConsignD.get(0).getSmp_type_code().equals("3")){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("5"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); }//初样且不是船板分层起皮 else if(listConsignD.get(0).getSmp_type_code().equals("0") && !Fcqp.equals("1") && !qcmJhySampleROrd.getDesign_key().startsWith("19")){ if("ZB1".equals(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()) || "HB1".equals(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString())){ //模具钢 if(hashmap.get(0).get("STEEL_NAME").toString().equals("1.2312") || hashmap.get(0).get("STEEL_NAME").toString().equals("JL4140H") || hashmap.get(0).get("STEEL_NAME").toString().equals("P20M") || hashmap.get(0).get("STEEL_NAME").toString().equals("XF2311") || hashmap.get(0).get("STEEL_NAME").toString().equals("XF2312") || hashmap.get(0).get("STEEL_NAME").toString().equals("XW738H") || hashmap.get(0).get("STEEL_NAME").toString().equals("XF738") || hashmap.get(0).get("STEEL_NAME").toString().equals("JL4140") || hashmap.get(0).get("STEEL_NAME").toString().equals("XWP20L") || hashmap.get(0).get("STEEL_NAME").toString().equals("XW1.2311") || hashmap.get(0).get("STEEL_NAME").toString().equals("XW1.2312") || hashmap.get(0).get("STEEL_NAME").toString().equals("1.2311H") || hashmap.get(0).get("STEEL_NAME").toString().equals("XFP20L") || hashmap.get(0).get("STEEL_NAME").toString().equals("XF738H") || hashmap.get(0).get("STEEL_NAME").toString().equals("XW1.2311H") || hashmap.get(0).get("STEEL_NAME").toString().equals("XF2311H") || hashmap.get(0).get("STEEL_NAME").toString().equals("1.2311")|| hashmap.get(0).get("STEEL_NAME").toString().equals("XFP20") || hashmap.get(0).get("STEEL_NAME").toString().equals("XFP40") || hashmap.get(0).get("STEEL_NAME").toString().equals("XFP80") || hashmap.get(0).get("STEEL_NAME").toString().equals("XG2311") || hashmap.get(0).get("STEEL_NAME").toString().equals("JL4140VH")){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("10"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); } //产品名称模具钢 else if(hashmap.get(0).get("PROD_NAME").toString().contains("模具钢")){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("10"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); } //耐磨钢 else if(hashmap.get(0).get("PROD_NAME").toString().contains("耐磨") && memo.contains("硬度")){ //内贸合同硬度超上限的直接待判,外贸合同的要发复样,硬度超上限的。硬度值低于标准值的,都要发送复样。 if(!hashmap.get(0).get("DESIGN_KEY").toString().contains("XGEC") && k>0){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("10"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); }else{ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("1"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); listS.add(arrayList); } } //1、SA612M冲击 else if(memo.contains("冲击") && hashmap.get(0).get("STEEL_NAME").toString().equals("SA612M")){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("10"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); } //2、冲击和Z向初样不合格无复样资格的 else if(!pass2 && (memo.contains("冲击") ||memo.contains("Z向"))){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("10"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); } //复样 else{ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("1"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); listS.add(arrayList); //doInformationSure(arrayList); } } } else if(!SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()) && !Fcqp.equals("1")) { ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("10"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); } } } if(Fcqp.equals("1") && list3.size() >0){ for(HashMap list:list3){ List hashmap = new ArrayList(); List hashmap2 = new ArrayList(); List hashmap1 = new ArrayList(); hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString()); } if(hashmap.size()==0){ continue; } if(!hashmap.get(0).get("STD_CODE").toString().contains("Rules") && !hashmap.get(0).get("STD_CODE").toString().contains("GB/T712")){ continue; } sql = "select * from zj_result_all@xgcx where BILLETID = '"+list.get("BILLETID").toString()+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0) { sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "'" + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' UNION ALL " + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' union all " + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + list.get("BILLETID").toString() + "'"; hashmap2 = mapper.query(sql); if (hashmap2.size() == 0) { continue; } //撤销判定 cancelUltimateJudge("system",list.get("BILLETID").toString(),hashmap1.get(0).get("JUDGEID").toString()); } /*sql = "select serialnumber from kcj_turnoffsendlist a where a.isvalid = '2' and a.serialnumber = '" + list.get("BILLETID").toString() + "' union all " + " select serialnumber from kcz_turnoffsendlist a where a.isvalid = '2' and a.serialnumber = '" + list.get("BILLETID").toString() + "' " + " union all select serialnumber from kch_turnoffsendlist a where a.isvalid = '2' and a.serialnumber = '" + list.get("BILLETID").toString() + "'"; hashmap2 = mapper.query(sql); if (hashmap2.size() > 0) { continue; }*/ if(hashmap.get(0).get("DESIGN_KEY") != null && !hashmap.get(0).get("DESIGN_KEY").toString().startsWith("19")){ int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setMaterial_no(list.get("BILLETID").toString()); qjb.setLock_id(qjsr.getPhy_id()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("BILLETID").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("BILLETID").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjsr.getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo("拉力分层或起皮"); mapper.insertQCMJudgeLocking(qjb); //锁定材质 mapper.LockP(list.get("BILLETID").toString()); } } } }else if(list2.size() >0){ for(HashMap list:list2){ List hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString()); if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setLock_id(qjsr.getPhy_id()); qjb.setMaterial_no(list.get("COIL_NO").toString()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("COIL_NO").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(listz.getPhy_name_s()!=null){ memo += listz.getPhy_name_s(); } if(listz.getItem_name_d()!=null){ memo += "-"+listz.getItem_name_d(); } if(listz.getItem_name_t()!=null){ memo += "-"+listz.getItem_name_t(); } if(listz.getItem_name_s()!=null){ memo += "-"+listz.getItem_name_s(); } if(listz.getItem_desc_l()!=null){ memo += "-"+listz.getItem_desc_l(); } if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){ memo += "-"+"分层、起皮"; } if(listz.getVal1()!=null){ memo += "-"+listz.getVal1(); } if(listz.getVal2()!=null){ memo += "-"+listz.getVal2(); } if(listz.getVal3()!=null){ memo += "-"+listz.getVal3(); } /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("COIL_NO").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); mapper.insertQCMJudgeLocking(qjb); /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { }*/ /*if(listConsignD.get(0).getSmp_type_code().equals("3")){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("5"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); }*/ } } else{ for(HashMap list:list4){ List hashmap = mapper.doQueryMaterialInfoY(list.get("COIL_NO").toString()); if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setLock_id(qjsr.getPhy_id()); qjb.setMaterial_no(list.get("COIL_NO").toString()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("COIL_NO").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(listz.getPhy_name_s()!=null){ memo += listz.getPhy_name_s(); } if(listz.getItem_name_d()!=null){ memo += "-"+listz.getItem_name_d(); } if(listz.getItem_name_t()!=null){ memo += "-"+listz.getItem_name_t(); } if(listz.getItem_name_s()!=null){ memo += "-"+listz.getItem_name_s(); } if(listz.getItem_desc_l()!=null){ memo += "-"+listz.getItem_desc_l(); } if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){ memo += "-"+"分层、起皮"; } if(listz.getVal1()!=null){ memo += "-"+listz.getVal1(); } if(listz.getVal2()!=null){ memo += "-"+listz.getVal2(); } if(listz.getVal3()!=null){ memo += "-"+listz.getVal3(); } /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("COIL_NO").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); mapper.insertQCMJudgeLocking(qjb); /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { }*/ /*if(listConsignD.get(0).getSmp_type_code().equals("3")){ ArrayList arrayList = new ArrayList(); arrayList.add(list.get("BILLETID").toString()); arrayList.add(lock_seq); arrayList.add("P"); arrayList.add("5"); arrayList.add(""); arrayList.add("system"); arrayList.add(qjsr.getPhy_id()); arrayList.add(""); doInformationSure(arrayList); }*/ } } } //异常材处置 //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id()); } //调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("材质判定"); qjog.setParams(smp_no); qjog.setProd_line(listOrd.get(0).getPline_code()); qjog.setBatchno(listOrd.get(0).getBatch_no()); qjog.setJudge_result(judge?"1":"2"); mapper.insertQcmJudgeOperateLog(qjog); //判断试样号是否都已经判定完 List listphy = new ArrayList(); List listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot()); List lstr=new ArrayList(); for (QcmJhySampleROrd l : listor) { if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) { lstr.add(l.getJudge_result_desc()); } /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) { lstr.add("待判"); }*/ else { lstr.add("null"); } List qjpr1 = new ArrayList(); String phy_id = l.getPhy_id()==null?"":l.getPhy_id(); sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"'"; qjpr1 = mapper.queryQcmJudgePhysicalResult(sql); for(QcmJudgePhysicalResult y:qjpr1) { String s = (y.getPhy_code_l()==null?"":y.getPhy_code_l()) + (y.getPhy_code_m()==null?"":y.getPhy_code_m()) + (y.getPhy_code_s()==null?"":y.getPhy_code_s()) + (y.getItem_code_d()==null?"":y.getItem_code_d()) + (y.getItem_code_t()==null?"":y.getItem_code_t()); listphy.add(s); } } List qrdsp = new ArrayList(); sql = "select * from qcm_ord_design_std_pic where design_key = '"+qcmJhySampleROrd.getDesign_key()+"'"; qrdsp = mapper.queryQCMOrdDesignStdPic(sql); for(QcmOrdDesignStdPic x:qrdsp){ String z = (x.getPhy_code_l()==null?"":x.getPhy_code_l()) + (x.getPhy_code_m()==null?"":x.getPhy_code_m()) + (x.getPhy_code_s()==null?"":x.getPhy_code_s()) + (x.getItem_code_d()==null?"":x.getItem_code_d()) + (x.getItem_code_t()==null?"":x.getItem_code_t()); if(!listphy.contains(z) && (qcmJhySampleROrd.getPline_code().equals("ZB1") || qcmJhySampleROrd.getPline_code().equals("HB1"))){ lstr.add("待判"); } } QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM(); QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD(); if (!lstr.contains("待判")) { if (!lstr.contains("null")) { if (lstr.contains("不合格")) { qpu.setPic_result_desc("不合格"); qpu.setPic_result_code("2"); }else if(lstr.contains("判次")){ qpu.setPic_result_desc("判次"); qpu.setPic_result_code("3"); }else if(lstr.contains("判废")){ qpu.setPic_result_desc("判废"); qpu.setPic_result_code("4"); }else{ qpu.setPic_result_desc("合格"); qpu.setPic_result_code("1"); } //把对应的数据加入qcm_judge_Physical_Utm_M表中 int a=0; for (QcmJhySampleROrd q : listor) { //获取当日最大编号 if (a==0) { int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC"); if(qrlist!=null&&qrlist.size()>0){ String s=qrlist.get(0).getPic_id(); count=Integer.parseInt(s.substring(s.length()-4, s.length())); } count++; pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count); qpu.setPic_id(pic_id); qpu.setInspection_lot(q.getInspection_lot()); qpu.setDesign_key(q.getDesign_key()); mapper.insertQcmJudgePhysicalUtmM(qpu); a++; } qpd.setPic_id(pic_id); qpd.setPsc_desc(q.getPsc_desc()); qpd.setSteel_code(q.getSteel_code()); qpd.setSteel_name(q.getSteel_name()); qpd.setStd_code(q.getStd_code()); qpd.setStd_name(q.getStd_name()); qpd.setProd_code(q.getProd_code()); qpd.setProd_name(q.getProd_name()); qpd.setSmp_no(q.getSmp_no()); qpd.setHeat_no(q.getHeat_no()); qpd.setBatch_no(q.getBatch_no()); qpd.setInspection_lot(q.getInspection_lot()); qpd.setDesign_key(q.getDesign_key()); qpd.setPsc(q.getPsc()); qpd.setCert_inst_code(q.getCert_inst_code()); qpd.setCert_inst_name(q.getCert_inst_name()); qpd.setSmp_type_code(q.getSmp_type_code()); qpd.setSmp_type_name(q.getSmp_type_name()); qpd.setJudge_result_code(q.getJudge_result_code()); qpd.setJudge_result_desc(q.getJudge_result_desc()); qpd.setPhy_id(q.getPhy_id()); qpd.setJudge_ttime(new Date()); qpd.setJudge_name("system"); //pme.setPhysresult_id(pic_id); mapper.insertQcmJudgePhysicalUtmD(qpd); if(list1.size() >0 || list2.size() >0 || list4.size() >0){ if(list1.size()>0){ // 更新库存表材质判定结果 ZjResultAll zra = new ZjResultAll(); zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultB(zra); }else if(list2.size()>0){ // 更新库存表材质判定结果 QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); }else{ zra.setPic_is_lock("0"); }*/ //zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultJ(zra); }else if(list4.size()>0){ // 更新库存表材质判定结果 QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult(); zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); }else{ zra.setPic_is_lock("0"); }*/ //zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultY(zra); } }else{ throw new Exception("未找到该检验号下的库存信息!"); } if(list2.size() > 0){ //发送材质实绩 List phyresult1 = mapper.queryQcmJhyPhyresult("select * from qcm_jhy_insp_physics t where t.SPECIMEN_NO in (select SPECIMEN_NO from QCM_JHY_SAMPLE_CONSIGN_D where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"')"); if(phyresult1.size() > 0){ sql = "select * from qcm_judge_coil_result t where t.inspection_lot = '"+qcmJhySampleROrd.getInspection_lot()+"'"; List qjcr = mapper.query(sql); if(qjcr.size() > 0){ QcmJudgeUltimateSendinfo qjus = new QcmJudgeUltimateSendinfo(); for(HashMap listcz :qjcr){ qjus.setMaterial_no(listcz.get("COIL_NO")==null?"":listcz.get("COIL_NO").toString()); qjus.setDesign_key(q.getDesign_key()); qjus.setResult_type("P"); qjus.setJudge_id(pic_id); qjus.setCreate_name("system"); mapper.insertQcmJudgeUltimateSendinfo(qjus); } } } } //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { for (HashMap hashMap : list2) { String coil_no = hashMap.get("COIL_NO")==null?"":hashMap.get("COIL_NO").toString(); List hashmap2 = mapper.doQueryMaterialInfoJ(coil_no); /*String prod_line = ""; if(hashmap2.get(0).get("PLINE_CODE").equals("RZ1")){ prod_line = "R"; }else if(hashmap2.get(0).get("PLINE_CODE").equals("LT1")){ prod_line = "L"; }*/ if (hashmap2.size() > 0) { coiljudge_status_call(hashmap2.get(0).get("PLINE_CODE").toString(), coil_no, null, judge ? "1" : "2", null, null, null, null, null,""); } /*if(!SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { if(qcmJhySampleROrd.getDesign_key().startsWith("39") || qcmJhySampleROrd.getDesign_key().startsWith("49") || qcmJhySampleROrd.getDesign_key().startsWith("59")){ Td(coil_no,prod_line); } }*/ } } } } } if(list1.size() > 0 && !judge){ if(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null){ DuplicateSample2 sample=new DuplicateSample2(); sample.ZHBCY(qjsr.getSmp_no()); } /*if(qjsr.getDuplicate_sample().contains("复样") && listv.get(0).getRz_mixroll() != null && listv.get(0).getRz_old_sampl_no() != null){ DuplicateSample2 sample=new DuplicateSample2(); sample.ZHBCYK(qjsr.getSmp_no()); }*/ } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot()); qjl.setCreate_name("system"); qjl.setMaterial_type("1"); qjl.setProd_line(listOrd.get(0).getPline_code()); mapper.insertQcmJudgeLog(qjl); /*inspection_lot = qcmJhySampleROrd.getInspection_lot(); status = qpu.getPic_result_code();*/ } SqlSession.commit(); for(ArrayList arrayList:listS){ doInformationSure(arrayList); } /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman2(inspection_lot); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); if(status.equals("1")){ qjpc.ultimateJudgeAutoBySystemB(inspection_lot, username ); }*/ }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl.JudgeByHuman:【" + specimen_no.toString() + "," + username + "," + steelname + "】" + e); } SqlSession.close(); /*final String inspection_lot1 = inspection_lot; Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t2.start();*/ return cro; } private void Td(String material_no,String prod_line)throws java.lang.Exception{ Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call C_JH_ORD_REP.YTH_COIL_STAT(?,?,?,?,?,?,?,?,?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, ""); cstmt.setString(2, ""); cstmt.setString(3, ""); cstmt.setString(4, ""); cstmt.setString(5, material_no); cstmt.setString(6, prod_line); cstmt.setString(7, "JJ"); cstmt.setString(8, "A"); cstmt.setString(9, "1"); cstmt.registerOutParameter(10, java.sql.Types.VARCHAR); 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("unchecked") public CoreReturnObject JudgeByHumanQZ(String smp_no,ArrayList specimen_no,String username,String steelname,String remark) throws Exception{ String staus=""; String inspection_lot = ""; String Fcqp = ""; try{ //获取未判定的数据 String condition=" Judge_status='0' "; QcmJhySampleROrd qjsr=new QcmJhySampleROrd(); List listqjsr=new ArrayList(); String status=""; List lists=new ArrayList();//异常材料处理用,用于不合格项目的备注 List listx=mapper.GetSamplePhyInfo1(condition,smp_no); if(listx.size() == 0){ throw new Exception("该产品已判或者未处于待判状态"); } List listOrd=new ArrayList(); List qjscList = new ArrayList(); // 存放不合格的项目,用于自动复样 List w=new ArrayList(); List listv = new ArrayList(); for (QcmJhySampleROrd o : listx) { boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态; listv = mapper.findQcmJhySampleConsignD2(o.getSmp_no()); for (QcmJhySampleConsignD d : listv) { if (!d.getStatus().equals("3") && !d.getStatus().equals("5")) { flag=false; throw new Exception("该试样号向下的取样编号存在未完成的!"); } } if (flag) { listOrd.add(o); } } String pic_id=""; QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD(); for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) { _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no()); _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no()); //获取取样编号 List listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no()); //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的 List listResult=new ArrayList(); //获取检验信息 for (QcmJhySampleConsignD d : listConsignD) { QcmJhyPhyresult _result=new QcmJhyPhyresult(); List listqjp=mapper.findphyresult(d.getSpecimen_no()); if (listqjp.size()<1) { continue; } for (QcmJhyPhyresult q : listqjp) { String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getSeq()==null?"":q.getSeq()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d()) + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t()); if(specimen_no.contains(s)){ listResult.add(q); continue; } } List listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no()); if(listi.size()<=0){ throw new Exception("未找到数据!"); } } //获取标准和实测值(调用zj书写的接口) CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),steelname,qcmJhySampleROrd.getPline_code()); List listd=(List) r.getResult(); List listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'"); boolean pass=true;//是否合格 boolean judge = true; if(listResult.size() == 0){ throw new Exception("所选检验项目不全!"); } /*if(listResult.size() < listp.size()){ throw new Exception("所选检验项目不全!"); }*/ for (QcmJhySampleConsignDItem sod : listd) { boolean pass1 = false; //List listqjp=mapper.findphyresult(sod.getSpecimen_no()); String s = (sod.getSpecimen_no()==null?"":sod.getSpecimen_no()) + (sod.getSeq()==null?"":sod.getSeq())+ (sod.getPhy_code_l()==null?"":sod.getPhy_code_l()) + (sod.getPhy_code_m()==null?"":sod.getPhy_code_m()) + (sod.getPhy_code_s()==null?"":sod.getPhy_code_s()) + (sod.getItem_code_d()==null?"":sod.getItem_code_d()) + (sod.getItem_code_s()==null?"":sod.getItem_code_s()) + (sod.getItem_code_t()==null?"":sod.getItem_code_t()); if(specimen_no.contains(s)){ pass1 = true; } if(!pass1){ continue; } if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){ throw new Exception("获取实绩为空!"); } String bool0=""; String bool1=""; String bool2=""; String bool3=""; String bool4=""; String bool5=""; String bool6=""; String bool7=""; pass = true; //if(pass){ //最小值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //最大值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //平均值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmax()); sod.setStdmin_sign(sod.getJf_stdmax_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmax()); sod.setStdmin_sign(sod.getKh_stdmax_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } //逐项值判定 if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3()); if ("2".equals(bool0)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool1)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool2)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool3)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getFx_stdmin()); sod.setStdmin_sign(sod.getFx_stdmin_sign()); } bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getFx_stdmax()); sod.setStdmax_sign(sod.getFx_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) { if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差 //通过国家标准判断 if("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号 //通过放行标准判断 if("2".equals(bool6)||"2".equals(bool7)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } else { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } } if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){ pass = true; int count = 0; qjscList.remove(sod); sod.setIsbz("1"); //允许一个值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; }else{ bool0=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool0.equals("2")){ count ++; } } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; }else{ bool1=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null); if(bool1.equals("2")){ count ++; } } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; }else{ bool2=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool2.equals("2")){ count ++; } } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; }else{ bool3=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null); if(bool3.equals("2")){ count ++; } } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; }else{ bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool4.equals("2")){ count ++; } } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; }else{ bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null); if(bool5.equals("2")){ count ++; } } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if(count > 1){ pass=false; sod.setIsbz("1"); qjscList.add(sod); }else{ if ("2".equals(bool0)||"2".equals(bool1) || "2".equals(bool2)||"2".equals(bool3) || "2".equals(bool4)||"2".equals(bool5) ){ pass=false; sod.setIsbz("1"); qjscList.add(sod); } } } //最大最小差值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //平均值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最小值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最大值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //所有值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } } if(sod.getDefect_flag()!= null){ if(qcmJhySampleROrd.getBatch_no().startsWith("Z") || qcmJhySampleROrd.getBatch_no().startsWith("H")){ if(sod.getDefect_flag().equals("1") && (qcmJhySampleROrd.getStd_code().contains("Rules") || qcmJhySampleROrd.getStd_code().contains("GB/T712"))){ pass = false; Fcqp = "1"; } } } if(!pass){ judge = false; } } if(qcmJhySampleROrd.getDesign_key().startsWith("36") || qcmJhySampleROrd.getDesign_key().startsWith("X36") || qcmJhySampleROrd.getDesign_key().startsWith("W36") || qcmJhySampleROrd.getDesign_key().startsWith("WX36")){ judge = true; } qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,steelname,remark); String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"'"; List list1 = mapper.query(sql); sql = "select * from zj_result_all@xgcx where BILLETID like '"+qcmJhySampleROrd.getBatch_no()+"%' and BILLETID_JY <> '"+qcmJhySampleROrd.getInspection_lot()+"'"; List list3 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"'"; List list2 = mapper.query(sql); if(!judge){ //更新材料异常处理表 QCMJudgeLocking qjb=new QCMJudgeLocking(); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ List hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString()); } if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setMaterial_no(list.get("BILLETID").toString()); qjb.setLock_id(qjsr.getPhy_id()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("BILLETID").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(listz.getPhy_name_s()!=null){ memo = listz.getPhy_name_s(); } if(listz.getItem_name_d()!=null){ memo += "-"+listz.getItem_name_d(); } if(listz.getItem_name_t()!=null){ memo += "-"+listz.getItem_name_t(); } if(listz.getItem_name_s()!=null){ memo += "-"+listz.getItem_name_s(); } if(listz.getItem_desc_l()!=null){ memo += "-"+listz.getItem_desc_l(); } if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){ memo += "-"+"分层、起皮"; } if(listz.getVal1()!=null){ memo += "-"+listz.getVal1(); } if(listz.getVal2()!=null){ memo += "-"+listz.getVal2(); } if(listz.getVal3()!=null){ memo += "-"+listz.getVal3(); } /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("BILLETID").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); if(!(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null)){ mapper.insertQCMJudgeLocking(qjb); } } if(Fcqp.equals("1") && list3.size() >0){ for(HashMap list:list3){ List hashmap = new ArrayList(); List hashmap1 = new ArrayList(); sql = "select * from zj_result_all@xgcx where BILLETID = '"+list.get("BILLETID").toString()+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0) { sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "'" + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' UNION ALL " + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' union all " + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + list.get("BILLETID").toString() + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { continue; } //撤销判定 cancelUltimateJudge("system",list.get("BILLETID").toString(),hashmap1.get(0).get("JUDGEID").toString()); } hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString()); } if(hashmap.size()==0){ continue; } if(hashmap.get(0).get("DESIGN_KEY") != null && !hashmap.get(0).get("DESIGN_KEY").toString().startsWith("19")){ int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setMaterial_no(list.get("BILLETID").toString()); qjb.setLock_id(qjsr.getPhy_id()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("BILLETID").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(listz.getPhy_name_s()!=null){ memo = listz.getPhy_name_s(); } if(listz.getItem_name_d()!=null){ memo += "-"+listz.getItem_name_d(); } if(listz.getItem_name_t()!=null){ memo += "-"+listz.getItem_name_t(); } if(listz.getItem_name_s()!=null){ memo += "-"+listz.getItem_name_s(); } if(listz.getItem_desc_l()!=null){ memo += "-"+listz.getItem_desc_l(); } if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){ memo += "-"+"分层、起皮"; } if(listz.getVal1()!=null){ memo += "-"+listz.getVal1(); } if(listz.getVal2()!=null){ memo += "-"+listz.getVal2(); } if(listz.getVal3()!=null){ memo += "-"+listz.getVal3(); } /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("BILLETID").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjsr.getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); mapper.insertQCMJudgeLocking(qjb); //锁定材质 mapper.LockP(list.get("BILLETID").toString()); } } } }else{ for(HashMap list:list2){ List hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString()); if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setLock_id(qjsr.getPhy_id()); qjb.setMaterial_no(list.get("COIL_NO").toString()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("COIL_NO").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setCic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); } qjr.setMaterial_no(list.get("COIL_NO").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { mapper.insertQCMJudgeLocking(qjb); } } } } //异常材处置 //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id()); } //调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("材质强制判定"); qjog.setParams(smp_no); qjog.setProd_line(listOrd.get(0).getPline_code()); qjog.setBatchno(listOrd.get(0).getBatch_no()); qjog.setJudge_result(judge?"1":"2"); mapper.insertQcmJudgeOperateLog(qjog); //判断试样号是否都已经判定完 List listphy = new ArrayList(); List listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot()); List lstr=new ArrayList(); for (QcmJhySampleROrd l : listor) { if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) { lstr.add(l.getJudge_result_desc()); } /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) { lstr.add("待判"); }*/ else { lstr.add("null"); } /*List qjpr1 = new ArrayList(); String phy_id = l.getPhy_id()==null?"":l.getPhy_id(); sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"'"; qjpr1 = mapper.queryQcmJudgePhysicalResult(sql); for(QcmJudgePhysicalResult y:qjpr1) { String s = (y.getPhy_code_l()==null?"":y.getPhy_code_l()) + (y.getPhy_code_m()==null?"":y.getPhy_code_m()) + (y.getPhy_code_s()==null?"":y.getPhy_code_s()) + (y.getItem_code_d()==null?"":y.getItem_code_d()) + (y.getItem_code_t()==null?"":y.getItem_code_t()); listphy.add(s); }*/ } /*List qrdsp = new ArrayList(); sql = "select * from qcm_ord_design_std_pic where design_key = '"+qcmJhySampleROrd.getDesign_key()+"'"; qrdsp = mapper.queryQCMOrdDesignStdPic(sql); for(QcmOrdDesignStdPic x:qrdsp){ String z = (x.getPhy_code_l()==null?"":x.getPhy_code_l()) + (x.getPhy_code_m()==null?"":x.getPhy_code_m()) + (x.getPhy_code_s()==null?"":x.getPhy_code_s()) + (x.getItem_code_d()==null?"":x.getItem_code_d()) + (x.getItem_code_t()==null?"":x.getItem_code_t()); if(!listphy.contains(z) && (qcmJhySampleROrd.getPline_code().equals("ZB1") || qcmJhySampleROrd.getPline_code().equals("HB1"))){ lstr.add("待判"); } }*/ QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM(); QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD(); if (!lstr.contains("待判")) { if (!lstr.contains("null")) { if (lstr.contains("不合格")) { qpu.setPic_result_desc("不合格"); qpu.setPic_result_code("2"); }else if(lstr.contains("判次")){ qpu.setPic_result_desc("判次"); qpu.setPic_result_code("3"); }else if(lstr.contains("判废")){ qpu.setPic_result_desc("判废"); qpu.setPic_result_code("4"); }else{ qpu.setPic_result_desc("合格"); qpu.setPic_result_code("1"); } //把对应的数据加入qcm_judge_Physical_Utm_M表中 int a=0; for (QcmJhySampleROrd q : listor) { //获取当日最大编号 if (a==0) { int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC"); if(qrlist!=null&&qrlist.size()>0){ String s=qrlist.get(0).getPic_id(); count=Integer.parseInt(s.substring(s.length()-4, s.length())); } count++; pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count); qpu.setPic_id(pic_id); qpu.setInspection_lot(q.getInspection_lot()); qpu.setDesign_key(q.getDesign_key()); mapper.insertQcmJudgePhysicalUtmM(qpu); a++; } qpd.setPic_id(pic_id); qpd.setPsc_desc(q.getPsc_desc()); qpd.setSteel_code(q.getSteel_code()); qpd.setSteel_name(q.getSteel_name()); qpd.setStd_code(q.getStd_code()); qpd.setStd_name(q.getStd_name()); qpd.setProd_code(q.getProd_code()); qpd.setProd_name(q.getProd_name()); qpd.setSmp_no(q.getSmp_no()); qpd.setHeat_no(q.getHeat_no()); qpd.setBatch_no(q.getBatch_no()); qpd.setInspection_lot(q.getInspection_lot()); qpd.setDesign_key(q.getDesign_key()); qpd.setPsc(q.getPsc()); qpd.setCert_inst_code(q.getCert_inst_code()); qpd.setCert_inst_name(q.getCert_inst_name()); qpd.setSmp_type_code(q.getSmp_type_code()); qpd.setSmp_type_name(q.getSmp_type_name()); qpd.setJudge_result_code(q.getJudge_result_code()); qpd.setJudge_result_desc(q.getJudge_result_desc()); qpd.setPhy_id(q.getPhy_id()); qpd.setJudge_ttime(new Date()); qpd.setJudge_name("system"); //pme.setPhysresult_id(pic_id); mapper.insertQcmJudgePhysicalUtmD(qpd); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ // 更新库存表材质判定结果 ZjResultAll zra = new ZjResultAll(); zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultB(zra); }else{ // 更新库存表材质判定结果 QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); }else{ zra.setPic_is_lock("0"); } //zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到该检验号下的库存信息!"); } if(list2.size() > 0){ //发送材质实绩 List phyresult1 = mapper.queryQcmJhyPhyresult("select * from qcm_jhy_insp_physics t where t.SPECIMEN_NO in (select SPECIMEN_NO from QCM_JHY_SAMPLE_CONSIGN_D where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"')"); if(phyresult1.size() > 0){ sql = "select * from qcm_judge_coil_result t where t.inspection_lot = '"+qcmJhySampleROrd.getInspection_lot()+"'"; List qjcr = mapper.query(sql); if(qjcr.size() > 0){ QcmJudgeUltimateSendinfo qjus = new QcmJudgeUltimateSendinfo(); for(HashMap listcz :qjcr){ qjus.setMaterial_no(listcz.get("COIL_NO")==null?"":listcz.get("COIL_NO").toString()); qjus.setDesign_key(q.getDesign_key()); qjus.setResult_type("P"); qjus.setJudge_id(pic_id); qjus.setCreate_name("system"); mapper.insertQcmJudgeUltimateSendinfo(qjus); } } } } //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if(list2.size() > 0) { for (HashMap hashMap : list2) { String coil_no = hashMap.get("COIL_NO")==null?"":hashMap.get("COIL_NO").toString(); List hashmap2 = mapper.doQueryMaterialInfoJ(coil_no); if (hashmap2.size() > 0) { coiljudge_status_call(hashmap2.get(0).get("PLINE_CODE").toString(), coil_no, null, judge ? "1" : "2", null, null, null, null, null,""); } } } } } } if(list1.size() > 0){ if(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null){ DuplicateSample2 sample=new DuplicateSample2(); sample.ZHBCY(qjsr.getSmp_no()); } if(qjsr.getDuplicate_sample().contains("复样") && listv.get(0).getRz_mixroll() != null && listv.get(0).getRz_old_sampl_no() != null){ DuplicateSample2 sample=new DuplicateSample2(); sample.ZHBCYK(qjsr.getSmp_no()); } } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot()); qjl.setCreate_name("system"); qjl.setMaterial_type("1"); qjl.setProd_line(listOrd.get(0).getPline_code()); mapper.insertQcmJudgeLog(qjl); /*inspection_lot = qcmJhySampleROrd.getInspection_lot(); status = qpu.getPic_result_code();*/ } SqlSession.commit(); /*//调用熔炼成分判定 RlChemAutoJudgeByHuman QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); qje.RlChemAutoJudgeByHuman2(inspection_lot); QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); if(status.equals("1")){ qjpc.ultimateJudgeAutoBySystemB(inspection_lot, username ); }*/ }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl.JudgeByHuman:【" + specimen_no.toString() + "," + username + "," + steelname + "】" + e); } SqlSession.close(); /*final String inspection_lot1 = inspection_lot; Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t2.start();*/ return cro; } /** * 创建材质判定结果集 * @param listResult * @param ord * @return */ public List CreatePhyresult(List lists,List listResult,QcmJhySampleROrd ord){ List list=new ArrayList(); int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist=mapper.queryQcmPhyJudgeResult("select * from (select * from QCM_JUDGE_PHYSICAL_RESULT where phy_id like 'PHY"+date+"%' order by PHY_ID DESC) where rownum <= 1"); if(qrlist!=null&&qrlist.size()>0){ String s=qrlist.get(0).getPhy_id(); count=Integer.parseInt(s.substring(s.length()-4, s.length())); } count++; String phy_id="PHY"+sdf.format(new Date())+String.format("%04d",count); for (QcmJhyPhyresult qcmJhyPhyresult : listResult) { System.out.println(qcmJhyPhyresult.getVal1()); QcmPhyJudgeResult result=new QcmPhyJudgeResult(); result.setBatch_no(ord.getBatch_no()); List listz = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_d where SPECIMEN_NO = '"+qcmJhyPhyresult.getSpecimen_no()+"' "); result.setMaterial_no(listz.get(0).get("MATERIAL_NO").toString()); /*List listcd = mapper.findQcmJhySampleConsignDC("smp_no='"+ord.getSmp_no()+"' and material_no is not null"); if (listcd!=null&&listcd.size()>0) { result.setMaterial_no(listcd.get(0).getMaterial_no()); }*/ result.setCreate_name("system"); result.setCreate_time(new Date()); result.setGuid(qcmJhyPhyresult.getGuid()); result.setHeat_no(ord.getHeat_no()); result.setInspection_lot(ord.getInspection_lot()); result.setItem_code_d(qcmJhyPhyresult.getItem_code_d()); result.setItem_code_s(qcmJhyPhyresult.getItem_code_s()); result.setItem_code_t(qcmJhyPhyresult.getItem_code_t()); result.setItem_name_d(qcmJhyPhyresult.getItem_name_d()); result.setItem_name_s(qcmJhyPhyresult.getItem_name_s()); result.setItem_name_t(qcmJhyPhyresult.getItem_name_t()); result.setItem_code_l(qcmJhyPhyresult.getItem_code_l()); result.setItem_desc_l(qcmJhyPhyresult.getItem_desc_l()); result.setSpecimen_no(qcmJhyPhyresult.getSpecimen_no()); result.setDefect_flag(qcmJhyPhyresult.getDefect_flag()); result.setPhy_unit(qcmJhyPhyresult.getPhy_unit()); //result.setMaterial_no(ord.getMaterial_no()); result.setPhy_code_l(qcmJhyPhyresult.getPhy_code_l()); result.setPhy_code_m(qcmJhyPhyresult.getPhy_code_m()); result.setPhy_code_s(qcmJhyPhyresult.getPhy_code_s()); result.setIs_pass("0"); for(QcmJhySampleConsignDItem qjscd : lists){ if(qcmJhyPhyresult.getPhy_code_s().equals(qjscd.getPhy_code_s()) && qcmJhyPhyresult.getSeq().equals(qjscd.getSeq()) && qcmJhyPhyresult.getSpecimen_no().equals(qjscd.getSpecimen_no())){ result.setIs_pass("1"); } } result.setPhy_id(phy_id); result.setPhy_name_l(qcmJhyPhyresult.getPhy_name_l()); result.setPhy_name_m(qcmJhyPhyresult.getPhy_name_m()); result.setPhy_name_s(qcmJhyPhyresult.getPhy_name_s()); result.setSmp_no(ord.getSmp_no()); //result.setPri(""); result.setVal1(qcmJhyPhyresult.getVal1()); result.setVal2(qcmJhyPhyresult.getVal2()); result.setVal3(qcmJhyPhyresult.getVal3()); result.setVal4(qcmJhyPhyresult.getVal4()); result.setVal5(qcmJhyPhyresult.getVal5()); result.setVal6(qcmJhyPhyresult.getVal6()); result.setVal7(qcmJhyPhyresult.getVal7()); result.setVal8(qcmJhyPhyresult.getVal8()); result.setVal9(qcmJhyPhyresult.getVal9()); result.setAvg_val(qcmJhyPhyresult.getAvg_val()); list.add(result); // } } //如果是复样,把初样结果写入 //List listResults = mapper.queryQcmJhyPhyresult("select t.*,b.smp_location from QCM_JHY_INSP_PHYSICS t left join qcm_jhy_sample_consign_d_item b on t.specimen_no = b.specimen_no and t.seq = b.seq where t.specimen_no in (select d.specimen_no from qcm_jhy_sample_consign_d d where d.smp_no = '"+ord.getSmp_no()+"')"); List listResults = mapper.queryQcmJhyPhyresult("select * from QCM_JHY_INSP_PHYSICS t where t.specimen_no in (select d.specimen_no from qcm_jhy_sample_consign_d d where d.smp_no = '"+ord.getSmp_no()+"')");//("SELECT A.* FROM QCM_JHY_insp_physics A WHERE A.Specimen_No like '"+ord.getSmp_no()+"'||'%'"); for (QcmJhyPhyresult qcmJhyPhyresult : listResults) { ArrayList t = new ArrayList(); for(QcmJhyPhyresult q : listResult){ String s = ((q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d()) + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t()) /*+ (q.getSmp_location()==null?"":q.getSmp_location())*/); t.add(s); } if(t.contains((qcmJhyPhyresult.getPhy_code_l()==null?"":qcmJhyPhyresult.getPhy_code_l()) + (qcmJhyPhyresult.getPhy_code_m()==null?"":qcmJhyPhyresult.getPhy_code_m()) + (qcmJhyPhyresult.getPhy_code_s()==null?"":qcmJhyPhyresult.getPhy_code_s()) + (qcmJhyPhyresult.getItem_code_d()==null?"":qcmJhyPhyresult.getItem_code_d()) + (qcmJhyPhyresult.getItem_code_s()==null?"":qcmJhyPhyresult.getItem_code_s()) + (qcmJhyPhyresult.getItem_code_t()==null?"":qcmJhyPhyresult.getItem_code_t()) /*+ (qcmJhyPhyresult.getSmp_location()==null?"":qcmJhyPhyresult.getSmp_location())*/)){ continue; } System.out.println(qcmJhyPhyresult.getVal1()); QcmPhyJudgeResult result=new QcmPhyJudgeResult(); result.setBatch_no(ord.getBatch_no()); List listz = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_d where SPECIMEN_NO = '"+qcmJhyPhyresult.getSpecimen_no()+"' "); result.setMaterial_no(listz.get(0).get("MATERIAL_NO").toString()); List listcd = mapper.findQcmJhySampleConsignDC("smp_no='"+ord.getSmp_no()+"' and material_no is not null"); if (listcd!=null&&listcd.size()>0) { result.setMaterial_no(listcd.get(0).getMaterial_no()); } result.setCreate_name("system"); result.setCreate_time(new Date()); result.setGuid(qcmJhyPhyresult.getGuid()); result.setHeat_no(ord.getHeat_no()); result.setInspection_lot(ord.getInspection_lot()); result.setItem_code_d(qcmJhyPhyresult.getItem_code_d()); result.setItem_code_s(qcmJhyPhyresult.getItem_code_s()); result.setItem_code_t(qcmJhyPhyresult.getItem_code_t()); result.setItem_name_d(qcmJhyPhyresult.getItem_name_d()); result.setItem_name_s(qcmJhyPhyresult.getItem_name_s()); result.setItem_name_t(qcmJhyPhyresult.getItem_name_t()); result.setItem_code_l(qcmJhyPhyresult.getItem_code_l()); result.setItem_desc_l(qcmJhyPhyresult.getItem_desc_l()); result.setSpecimen_no(qcmJhyPhyresult.getSpecimen_no()); result.setDefect_flag(qcmJhyPhyresult.getDefect_flag()); result.setPhy_unit(qcmJhyPhyresult.getPhy_unit()); //result.setMaterial_no(ord.getMaterial_no()); result.setPhy_code_l(qcmJhyPhyresult.getPhy_code_l()); result.setPhy_code_m(qcmJhyPhyresult.getPhy_code_m()); result.setPhy_code_s(qcmJhyPhyresult.getPhy_code_s()); result.setIs_pass("0"); result.setPhy_id(phy_id); result.setPhy_name_l(qcmJhyPhyresult.getPhy_name_l()); result.setPhy_name_m(qcmJhyPhyresult.getPhy_name_m()); result.setPhy_name_s(qcmJhyPhyresult.getPhy_name_s()); result.setSmp_no(ord.getSmp_no()); //result.setPri(""); result.setVal1(qcmJhyPhyresult.getVal1()); result.setVal2(qcmJhyPhyresult.getVal2()); result.setVal3(qcmJhyPhyresult.getVal3()); result.setVal4(qcmJhyPhyresult.getVal4()); result.setVal5(qcmJhyPhyresult.getVal5()); result.setVal6(qcmJhyPhyresult.getVal6()); result.setVal7(qcmJhyPhyresult.getVal7()); result.setVal8(qcmJhyPhyresult.getVal8()); result.setVal9(qcmJhyPhyresult.getVal9()); result.setAvg_val(qcmJhyPhyresult.getAvg_val()); list.add(result); // } } System.out.println(list.size()); return list; } /** * 创建材质判定记录 * @param specNo * @param ord * @param resultId * @param pass * @return */ public QcmJudgePhysical CreatePhyJudgeRecord(String specNo,QcmJhySampleROrd ord,String resultId,boolean pass,String username,String steelname,String remark){ QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD(); List listConsignD=mapper.findQcmJhySampleConsignD1(ord.getSmp_no(), specNo); QcmJudgePhysical _phy=new QcmJudgePhysical(); String type = "PHY"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); String sql = "select * from QCM_JUDGE_PHYSICAL where PHY_ID like '"+type+ ymd+"%' order by PHY_ID desc "; List list=mapper.queryQcmJudgePhysical(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getPhy_id(); icount = Integer.parseInt(s.substring(s.length()-4,s.length())); } List listz = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_m where smp_no = '"+ord.getSmp_no()+"' "); //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; String phy_id=type+ymd + String.format("%04d",icount); _phy.setBatch_no(ord.getBatch_no()); _phy.setPhy_id(phy_id); // _phy.setOrder_no(ord.getOrder_no()); _phy.setDelivery_state_code(ord.getDelivery_state_code()); _phy.setDelivery_state_desc(ord.getDelivery_state_desc()); _phy.setBoard_no(listz.get(0).get("BOARD_NO")==null?"":listz.get(0).get("BOARD_NO").toString()); _phy.setDesign_key(ord.getDesign_key()); _phy.setCert_inst_code(ord.getCert_inst_code()); _phy.setCert_inst_name(ord.getCert_inst_name()); _phy.setSmp_type_code(ord.getSmp_type_code()); _phy.setSmp_type_name(ord.getSmp_type_name()); _phy.setDelivery_state_code(ord.getDelivery_state_code()); _phy.setDelivery_state_desc(ord.getDelivery_state_desc()); _phy.setHeat_no(ord.getHeat_no()); _phy.setInspection_lot(ord.getInspection_lot()); _phy.setPsc(ord.getPsc()); _phy.setPsc_desc(ord.getPsc_desc()); _phy.setSteel_code(ord.getSteel_code()); _phy.setSteel_name(ord.getSteel_name()); _phy.setStd_code(ord.getStd_code()); _phy.setStd_name(ord.getStd_name()); _phy.setProd_code(ord.getProd_code()); _phy.setProd_name(ord.getProd_name()); _phy.setPline_code(ord.getPline_code()); _phy.setPline_name(ord.getPline_name()); _phy.setThick(ord.getThick()); _phy.setWidth(ord.getWidth()); _phy.setLength(ord.getLength()); _phy.setJudge_name(username); _phy.setJudge_ttime(new Date()); _phy.setPhy_id(resultId); //_phy.setPhy_memo(steelname); if(username.equals("system")){ _phy.setPhy_memo("系统自动判定"); } else{ _phy.setPhy_memo(remark); } if(steelname != null && !steelname.equals("")){ _phy.setSteel_name(steelname); } _phy.setPhy_result_code(pass?"1":"2"); _phy.setPhy_result_desc(pass?"合格":"不合格"); _phy.setSmp_no(ord.getSmp_no()); _phy.setPsc(ord.getPsc()); _phy.setPline_name(listConsignD.get(0).getPline_name()); _phy.setPline_code(listConsignD.get(0).getPline_code()); return _phy; } /** * 材质判定 */ @SuppressWarnings("unchecked") public CoreReturnObject AutoJudge(String smp_no,String username) throws Exception{ String staus=""; String inspection_lot = ""; try{ //获取未判定的数据 String condition=" Judge_status='0' "; QcmJhySampleROrd qjsr=new QcmJhySampleROrd(); List listqjsr=new ArrayList(); String status=""; List lists=new ArrayList();//异常材料处理用,用于不合格项目的备注 List listt=mapper.GetSamplePhyInfo2(condition,smp_no); if(listt.size() > 0){ throw new Exception("该产品存在复样"); } List listx=mapper.GetSamplePhyInfo(condition,smp_no); if(listx.size() == 0){ throw new Exception("该产品已判或者未处于待判状态"); } List listOrd=new ArrayList(); List qjscList = new ArrayList(); // 存放不合格的项目,用于自动复样 List w=new ArrayList(); for (QcmJhySampleROrd o : listx) { boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态; List listd = mapper.findQcmJhySampleConsignD2(o.getSmp_no()); for (QcmJhySampleConsignD d : listd) { if (!d.getStatus().equals("3")) { flag=false; throw new Exception("该试样号向下的取样编号存在未完成的!"); } } if (flag) { listOrd.add(o); } } String pic_id=""; QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD(); for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) { _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no()); _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no()); //获取取样编号 List listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no()); //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的 List listResult=new ArrayList(); //获取检验信息 for (QcmJhySampleConsignD d : listConsignD) { QcmJhyPhyresult _result=new QcmJhyPhyresult(); List listqjp=mapper.findphyresult(d.getSpecimen_no()); if (listqjp.size()<1) { continue; } for (QcmJhyPhyresult q : listqjp) { if(SqlJoint.IsNullOrSpace(q.getVal1()) && SqlJoint.IsNullOrSpace(q.getVal2()) && SqlJoint.IsNullOrSpace(q.getVal3())){ }else{ listResult.add(q); } } List listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no()); if(listi.size()<=0){ throw new Exception("未找到数据!"); } } //获取标准和实测值(调用zj书写的接口) CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),qcmJhySampleROrd.getSteel_name(),qcmJhySampleROrd.getPline_code()); List listd=(List) r.getResult(); boolean pass=true;//单项是否合格 boolean judge = true; for (QcmJhySampleConsignDItem sod : listd) { if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){ throw new Exception("获取实绩为空!"); } String bool0=""; String bool1=""; String bool2=""; String bool3=""; String bool4=""; String bool5=""; //附加标准比较 // if(pass){ //最小值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } //最大值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } //平均值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmax()); sod.setStdmin_sign(sod.getJf_stdmax_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmax()); sod.setStdmin_sign(sod.getKh_stdmax_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } //逐项值判定 if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3()); if ("2".equals(bool0)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool1)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool2)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool3)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){ pass = true; //允许一个值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if (!(("1".equals(bool0) && "1".equals(bool1)) ||("1".equals(bool2)&&"1".equals(bool3))||("1".equals(bool4)&&"1".equals(bool5)))) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最大最小差值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //平均值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最小值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最大值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //所有值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } } if(sod.getDefect_flag()!= null){ if(sod.getDefect_flag().equals("1")){ pass = false; } } if(!pass){ judge = false; } } qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,"",""); String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0' "; List list2 = mapper.query(sql); if(!judge){ //更新材料异常处理表 QCMJudgeLocking qjb=new QCMJudgeLocking(); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ List hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString()); } if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setMaterial_no(list.get("BILLETID").toString()); qjb.setLock_id(qjsr.getPhy_id()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("BILLETID").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setPic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(listz.getPhy_name_s()!=null){ memo = listz.getPhy_name_s(); } if(listz.getItem_name_d()!=null){ memo += "-"+listz.getItem_name_d(); } if(listz.getItem_name_t()!=null){ memo += "-"+listz.getItem_name_t(); } if(listz.getItem_name_s()!=null){ memo += "-"+listz.getItem_name_s(); } if(listz.getItem_desc_l()!=null){ memo += "-"+listz.getItem_desc_l(); } if(listz.getDefect_flag().equals("1")){ memo += "-"+"分层、起皮"; } if(listz.getVal1()!=null){ memo += "-"+listz.getVal1(); } if(listz.getVal2()!=null){ memo += "-"+listz.getVal2(); } if(listz.getVal3()!=null){ memo += "-"+listz.getVal3(); } /*if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }*/ qjr.setMaterial_no(list.get("BILLETID").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); mapper.insertQCMJudgeLocking(qjb); } }else{ for(HashMap list:list2){ List hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString()); if(hashmap.size()==0){ throw new Exception("未找到库存信息"); } int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjb.setLock_id(qjsr.getPhy_id()); qjb.setMaterial_no(list.get("COIL_NO").toString()); qjb.setLock_type_code("P"); qjb.setLock_type_desc("材质判定"); qjb.setLock_seq(lock_seq); qjb.setBoard_no(list.get("COIL_NO").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setLock_name(username.equals("system")?"系统自动判定":username); qjb.setPic_locking("1"); qjb.setLock_time(new Date()); qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString()); qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); List qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc"); int seq1 = 1; //插入判定原因表 String memo = ""; for(QcmJhySampleConsignDItem listz : qjscList){ QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); if(memo == ""){ memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); }else{ memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val(); } qjr.setMaterial_no(list.get("COIL_NO").toString()); qjr.setType_code("P"); qjr.setRecord_id(qjc.get(0).getPhy_id()); qjr.setSeq(seq1); qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString()); qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString()); qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString()); qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString()); qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString()); qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString()); qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString()); qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString()); qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString()); qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString()); qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString()); qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString()); qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString()); qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString()); qjr.setVal1(listz.getVal1()); qjr.setVal2(listz.getVal2()); qjr.setVal3(listz.getVal3()); qjr.setAvg_val(listz.getAvg_val()); if(listz.getIsbz().equals("0")){ qjr.setStdmax(listz.getStdmax()); qjr.setStdmax_sign(listz.getStdmax_sign()); qjr.setStdmin(listz.getStdmin()); qjr.setStdmin_sign(listz.getStdmin_sign()); }else{ qjr.setStdmax(listz.getAddstd_max()); qjr.setStdmax_sign(listz.getAdd_std_max_sign()); qjr.setStdmin(listz.getAddstd_min()); qjr.setStdmin_sign(listz.getAddstd_min_sign()); } qjr.setCreate_name(username); qjr.setCreate_time(new Date()); seq1++; mapper.insertQcmJudgeUltimateReason(qjr); } //插入异常锁定表 qjb.setLock_memo(memo); mapper.insertQCMJudgeLocking(qjb); } } } //异常材处置 //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id()); } //判断试样号是否都已经判定完 List listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot()); List lstr=new ArrayList(); for (QcmJhySampleROrd l : listor) { if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) { lstr.add(l.getJudge_result_desc()); } /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) { lstr.add("待判"); }*/ else { lstr.add("null"); } } QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM(); QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD(); if (!lstr.contains("待判")) { if (!lstr.contains("null")) { if (lstr.contains("不合格")) { qpu.setPic_result_desc("不合格"); qpu.setPic_result_code("2"); }else if(lstr.contains("判次")){ qpu.setPic_result_desc("判次"); qpu.setPic_result_code("3"); }else if(lstr.contains("判废")){ qpu.setPic_result_desc("判废"); qpu.setPic_result_code("4"); }else{ qpu.setPic_result_desc("合格"); qpu.setPic_result_code("1"); } //把对应的数据加入qcm_judge_Physical_Utm_M表中 int a=0; for (QcmJhySampleROrd q : listor) { //获取当日最大编号 if (a==0) { int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC"); if(qrlist!=null&&qrlist.size()>0){ String s=qrlist.get(0).getPic_id(); count=Integer.parseInt(s.substring(s.length()-4, s.length())); } count++; pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count); qpu.setPic_id(pic_id); qpu.setInspection_lot(q.getInspection_lot()); qpu.setDesign_key(q.getDesign_key()); mapper.insertQcmJudgePhysicalUtmM(qpu); a++; } qpd.setPic_id(pic_id); qpd.setPsc_desc(q.getPsc_desc()); qpd.setSteel_code(q.getSteel_code()); qpd.setSteel_name(q.getSteel_name()); qpd.setStd_code(q.getStd_code()); qpd.setStd_name(q.getStd_name()); qpd.setProd_code(q.getProd_code()); qpd.setProd_name(q.getProd_name()); qpd.setSmp_no(q.getSmp_no()); qpd.setHeat_no(q.getHeat_no()); qpd.setBatch_no(q.getBatch_no()); qpd.setInspection_lot(q.getInspection_lot()); qpd.setDesign_key(q.getDesign_key()); qpd.setPsc(q.getPsc()); qpd.setCert_inst_code(q.getCert_inst_code()); qpd.setCert_inst_name(q.getCert_inst_name()); qpd.setSmp_type_code(q.getSmp_type_code()); qpd.setSmp_type_name(q.getSmp_type_name()); qpd.setJudge_result_code(q.getJudge_result_code()); qpd.setJudge_result_desc(q.getJudge_result_desc()); qpd.setPhy_id(q.getPhy_id()); qpd.setJudge_ttime(new Date()); qpd.setJudge_name("system"); //pme.setPhysresult_id(pic_id); mapper.insertQcmJudgePhysicalUtmD(qpd); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ // 更新库存表材质判定结果 ZjResultAll zra = new ZjResultAll(); zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultB(zra); }else{ // 更新库存表材质判定结果 QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到该检验号下的库存信息!"); } } } } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot()); qjl.setCreate_name("system"); qjl.setMaterial_type("1"); qjl.setProd_line(listOrd.get(0).getPline_code()); mapper.insertQcmJudgeLog(qjl); /*inspection_lot = qcmJhySampleROrd.getInspection_lot(); status = qpu.getPic_result_code();*/ } SqlSession.commit(); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); /*final String inspection_lot1 = inspection_lot; Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t2.start();*/ return cro; } @SuppressWarnings("unchecked") public CoreReturnObject PhyFstJudge(String smp_no,ArrayListspecimen_no,String username) throws Exception{ String staus=""; String inspection_lot = ""; try{ //获取未判定的数据 String condition=" Judge_status='0' "; QcmJhySampleROrd qjsr=new QcmJhySampleROrd(); List listqjsr=new ArrayList(); String status=""; List lists=new ArrayList();//异常材料处理用,用于不合格项目的备注 List list=mapper.GetSamplePhyInfo1(condition,smp_no); if(list.size() == 0){ throw new Exception("该产品已判或者未处于待判状态"); } List listOrd=new ArrayList(); List qjscList = new ArrayList(); // 存放不合格的项目,用于自动复样 List w=new ArrayList(); for (QcmJhySampleROrd o : list) { boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态; List listd = mapper.findQcmJhySampleConsignD2(o.getSmp_no()); for (QcmJhySampleConsignD d : listd) { if (!d.getStatus().equals("3")) { flag=false; throw new Exception("该试样号向下的取样编号存在未完成的!"); } } if (flag) { listOrd.add(o); } } String pic_id=""; QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD(); for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) { _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no()); _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot()); _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no()); //获取取样编号 List listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no()); //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的 List listResult=new ArrayList(); //获取检验信息 for (QcmJhySampleConsignD d : listConsignD) { QcmJhyPhyresult _result=new QcmJhyPhyresult(); List listqjp=mapper.findphyresult(d.getSpecimen_no()); if (listqjp.size()<1) { continue; } for (QcmJhyPhyresult q : listqjp) { String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d()) + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t()); if(!specimen_no.contains(s)){ continue; } listResult.add(q); } List listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no()); if(listi.size()<=0){ throw new Exception("未找到数据!"); } } //获取标准和实测值(调用zj书写的接口) CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),qcmJhySampleROrd.getSteel_name(),qcmJhySampleROrd.getPline_code()); List listd=(List) r.getResult(); List listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'"); boolean pass=true;//是否合格 boolean judge = true; boolean pass1 = true; /*if(listResult.size() < listp.size()){ throw new Exception("所选检验项目不全!"); }*/ for (QcmJhySampleConsignDItem sod : listd) { List listqjp=mapper.findphyresult(sod.getSpecimen_no()); for (QcmJhyPhyresult q : listqjp) { String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d()) + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t()); if(!specimen_no.contains(s)){ pass1 = false; } } if(!pass1){ continue; } if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){ throw new Exception("获取实绩为空!"); } String bool0=""; String bool1=""; String bool2=""; String bool3=""; String bool4=""; String bool5=""; //附加标准比较 // if(pass){ //最小值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } //最大值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis()); bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } //平均值判定 if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getJf_stdmax()); sod.setStdmin_sign(sod.getJf_stdmax_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getKh_stdmax()); sod.setStdmin_sign(sod.getKh_stdmax_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } //逐项值判定 if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3()); if ("2".equals(bool0)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getJf_stdmin()); sod.setStdmin_sign(sod.getJf_stdmin_sign()); } bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool1)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getJf_stdmax()); sod.setStdmax_sign(sod.getJf_stdmax_sign()); } bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool2)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getKh_stdmin()); sod.setStdmin_sign(sod.getKh_stdmin_sign()); } bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool3)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getKh_stdmax()); sod.setStdmax_sign(sod.getKh_stdmax_sign()); } bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool4)&&!lists.contains(str)) { lists.add(str); sod.setStdmin(sod.getNk_stdmin()); sod.setStdmin_sign(sod.getNk_stdmin_sign()); } bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9()); if ("2".equals(bool5)&&!lists.contains(str)) { lists.add(str); sod.setStdmax(sod.getNk_stdmax()); sod.setStdmax_sign(sod.getNk_stdmax_sign()); } if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("0"); qjscList.add(sod); } } if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){ pass = true; //允许一个值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if (!(("1".equals(bool0) && "1".equals(bool1)) ||("1".equals(bool2)&&"1".equals(bool3))||("1".equals(bool4)&&"1".equals(bool5)))) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最大最小差值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //平均值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) { String min=""; if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) { min=sod.getVal1(); }else { min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis()); } bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最小值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //最大值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B"); bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) { lists.add(sod.getPhy_name_l()+":"+min); } if ("2".equals(bool0)||"2".equals(bool1)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } //所有值 if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) { bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null); if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal1()); } bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null); if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal2()); } bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null); if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) { lists.add(sod.getPhy_name_l()+":"+sod.getVal3()); } if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) { pass=false; sod.setIsbz("1"); qjscList.add(sod); } } } if(sod.getDefect_flag()!= null){ if(sod.getDefect_flag().equals("1")){ pass = false; } } if(!pass){ judge = false; } } cro.setV_errCode(1); cro.setV_errMsg(judge?"合格":"不合格"); } }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl#PhyFstJudge:【" + smp_no + "," + specimen_no.toString() + "," + username + "】" + e); } SqlSession.close(); return cro; } /** * 材质重取样 * @param sum * @return */ public ResultModel AgainPhySendSample(List sum,QcmJhySampleConsignD sum1){ ResultModel rm=new ResultModel(); List listDItem = new ArrayList(); //去除重复的检验项 for(QcmJhySampleConsignDItem qjsc : sum){ Boolean flag = false; //检验项是否已存在 for(QcmJhySampleConsignDItem q : listDItem){ if(q.getPhy_code_s().equals(qjsc.getPhy_code_s())){ flag = true; break; } } if(!flag){ listDItem.add(qjsc); } } QcmJhySampleConsignD consignD=sum1; try { //在QCM_JHY_SAMPLE_CONSIGN_D表根据试样号新增一条跟最大取样类似的数据 List listConsignD=mapper.findQcmJhySampleConsignD(sum1.getSmp_no(), sum1.getInspection_lot(), sum1.getHeat_no()); SqlJoint.CopyEntity(listConsignD.get(0), consignD); consignD.setConsign_no(null); consignD.setConsign_no_seq(null); consignD.setSmp_type_code("409802"); consignD.setSmp_type_name("复样"); //获取最大取样编号 int count=0; // 获取材质结果集编号最大值 List qrlist=mapper.findQcmJhySampleConsignD2(consignD.getSmp_no()); if(qrlist!=null&&qrlist.size()>0){ String s=qrlist.get(0).getSpecimen_no(); count=Integer.parseInt(s.substring(s.length()-2, s.length())); } count++; String specimen_no=consignD.getSmp_no()+String.format("%02d",count); consignD.setSpecimen_no(specimen_no); consignD.setOld_consign_no(listConsignD.get(0).getSpecimen_no()); consignD.setStatus("0"); consignD.setValidflag("1"); consignD.setTest_qty((long)2); mapper.insertQcmJhySampleConsignD(consignD); //根据最大取样编号新增项目 Long seq=(long) 1;//检验项目流水号 for (QcmJhySampleConsignDItem ditem : listDItem) { /*ComBasePhyB findById = this.getMapper(ComBasePhyBMapper.class).findById(ditem.getPhy_code_l()); if (findById!=null) { if (findById.getRe_smp_mult()!=null) { for(int flag=1;flag<=findById.getRe_smp_mult();flag++) {*/ QcmJhySampleConsignDItem qcm=new QcmJhySampleConsignDItem(); qcm.setSpecimen_no(specimen_no); qcm.setPhy_code_l(ditem.getPhy_code_l()); qcm.setPhy_name_l(ditem.getPhy_name_l()); qcm.setPhy_code_m(ditem.getPhy_code_m()); qcm.setPhy_name_m(ditem.getPhy_name_m()); qcm.setPhy_code_s(ditem.getPhy_code_s()); qcm.setPhy_name_s(ditem.getPhy_name_s()); qcm.setItem_code_d(ditem.getItem_code_d()); qcm.setItem_name_d(ditem.getItem_name_d()); qcm.setItem_code_s(ditem.getItem_code_s()); qcm.setItem_name_s(ditem.getItem_name_s()); qcm.setItem_code_t(ditem.getItem_code_t()); qcm.setItem_name_t(ditem.getItem_name_t()); qcm.setCreate_name("SYSTEM"); qcm.setCreate_time(new Date()); qcm.setSeq(seq); qcm.setIs_send("1"); seq++; mapper.insertQcmJhySampleConsignDItem(qcm); } /*}*/ /*}*/ /*}*/ rm.setState("200"); } catch (Exception e) { // TODO: handle exception rm.setState("500"); rm.setMsgInfo("重取样失败"); rm.setErrorInfo(e.getMessage()); } return rm; } /** * 新增判定记录与判定结果集 * @param listResult * @param qcmJhySampleROrd * @param pass * @throws Exception */ public QcmJhySampleROrd UpdateData(List lists,List listResult,QcmJhySampleROrd qcmJhySampleROrd,boolean pass,String username,String steelname,String remark) throws Exception{ List listJudgeResult=CreatePhyresult(lists,listResult, qcmJhySampleROrd); QcmJudgePhysical phyCal=CreatePhyJudgeRecord(listResult.get(0).getSpecimen_no(),qcmJhySampleROrd,listJudgeResult.get(0).getPhy_id(),pass,username,steelname,remark); String phy_id=""; if (listJudgeResult!=null&&listJudgeResult.size()>0) { for (QcmPhyJudgeResult q : listJudgeResult) { mapper.insertQcmPhyJudgeResult(q); } phy_id=listJudgeResult.get(0).getPhy_id(); } mapper.insertQcmJudgePhysical(phyCal); //修改委托为已判定 QcmJhySampleROrd ord=new QcmJhySampleROrd(); ord.setPhy_id(phy_id); ord.setSmp_no(qcmJhySampleROrd.getSmp_no()); ord.setPsc(qcmJhySampleROrd.getPsc()); ord.setJudge_status("1"); ord.setDesign_key(qcmJhySampleROrd.getDesign_key()); ord.setJudge_memo(phyCal.getPhy_memo()); ord.setJudge_name(phyCal.getJudge_name()); ord.setJudge_time(phyCal.getJudge_ttime()); if (pass) { ord.setJudge_result_code(phyCal.getPhy_result_code()); ord.setJudge_result_desc(phyCal.getPhy_result_desc()); }else { ord.setJudge_result_code("2"); ord.setJudge_result_desc("不合格"); } mapper.update(ord); String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+phyCal.getInspection_lot()+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+phyCal.getInspection_lot()+"'"; List list2 = mapper.query(sql); sql = "select * from QCM_JUDGE_YT_COIL_RESULT where INSPECTION_LOT = '"+phyCal.getInspection_lot()+"'"; List list3 = mapper.query(sql); //判断试样号是否都已经判定完 List listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot()); List lstr=new ArrayList(); for (QcmJhySampleROrd l : listor) { if(l.getCert_inst_name().equals("检测中心")) { if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) { if ("0".equals(l.getJudge_result_code()) || "2".equals(l.getJudge_result_code())) { lstr.add("待判"); }else{ lstr.add(l.getJudge_result_desc()); } } else { lstr.add("null"); } } } //三国认证存在法国船级社,韩国船级社,挪威船级社,中国船级社、需这些合格才能材质初检合格 List listsg = mapper.query("select distinct a.org_name from qcm_ord_design_std_pic a where a.design_key = '"+qcmJhySampleROrd.getDesign_key()+"'"); if(listsg.size() >0 && listsg.size()==3){ for (QcmJhySampleROrd l : listor) { if(l.getCert_inst_name().equals("韩国船级社") || l.getCert_inst_name().equals("法国船级社") || l.getCert_inst_name().equals("挪威船级社") || l.getCert_inst_name().equals("中国船级社")) { if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) { if ("0".equals(l.getJudge_result_code()) || "2".equals(l.getJudge_result_code())) { lstr.add("待判"); }else{ lstr.add(l.getJudge_result_desc()); } } else { lstr.add("null"); } } } } //增加三国验证 if(qcmJhySampleROrd.getCert_inst_name().equals("检测中心") || (listsg.size() >0 && listsg.size()==3 && (qcmJhySampleROrd.getCert_inst_name().equals("法国船级社") || qcmJhySampleROrd.getCert_inst_name().equals("韩国船级社") || qcmJhySampleROrd.getCert_inst_name().equals("挪威船级社") || qcmJhySampleROrd.getCert_inst_name().equals("中国船级社")))){ if (!lstr.contains("待判")) { if (!lstr.contains("null")) { //更新库存初判结果 if(list1.size() >0 || list2.size() >0 || list3.size() >0){ List listv = mapper.findQcmJhySampleConsignD2(qcmJhySampleROrd.getSmp_no()); if(list1.size()>0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid_jy(phyCal.getInspection_lot()); if(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null){ zra.setPic_is_lock("0"); }else{ zra.setPic_is_lock(pass?"0":"1"); } zra.setPhyfstsid(phyCal.getPhy_id()); zra.setPhyfstsresult(pass?"1":"2"); zra.setPhyfstsresult_desc(pass?"合格":"不合格"); mapper.UpdateJugeResultB(zra); }else if(list2.size()>0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setInspection_lot(phyCal.getInspection_lot()); zra.setPic_is_lock(pass?"0":"1"); /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample())) { zra.setPic_is_lock(pass?"0":"1"); }else { zra.setPic_is_lock("0"); }*/ zra.setPhyfstsid(phyCal.getPhy_id()); zra.setPhyfstsresult(pass?"1":"2"); zra.setPhyfstsresult_desc(pass?"合格":"不合格"); mapper.UpdateJugeResultJ(zra); }else{ QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult(); zra.setInspection_lot(phyCal.getInspection_lot()); zra.setPic_is_lock(pass?"0":"1"); zra.setPhyfstsid(phyCal.getPhy_id()); zra.setPhyfstsresult(pass?"1":"2"); zra.setPhyfstsresult_desc(pass?"合格":"不合格"); mapper.UpdateJugeResultY(zra); } }else{ /*if(phyCal.getInspection_lot().startsWith("Z") ||phyCal.getInspection_lot().startsWith("H")){ ZHB1_QCM_JHY_SAMPLE_PHYSRESULT(qcmJhySampleROrd.getSmp_no(),qcmJhySampleROrd.getBatch_no()); }*/ throw new Exception("未找到该检验号下的库存信息!"); } } } } return ord; } /** * 为前端获取对比结果好标颜色 * 0 为null * 1 为合格 * 2为不合格 * @param sign 符号 * @param qsd 标准值 * @param val1 实测值 * @param val2 * @param val3 * @return */ public String getJudgeColor1(String sign,String qsd,String val1,String val2,String val3){ boolean min1=true; boolean min3=true; boolean min2=true; boolean v1=true; boolean v2=true; boolean v3=true; boolean q=true; if (SqlJoint.IsNullOrSpace(qsd)) { return "0"; } if (!SqlJoint.IsNullOrSpace(qsd)) { q=isNumeric(qsd); } if (!SqlJoint.IsNullOrSpace(val1)) { v1=isNumeric(val1); } if (!SqlJoint.IsNullOrSpace(val2)) { v2=isNumeric(val2); } if (!SqlJoint.IsNullOrSpace(val3)) { v3=isNumeric(val3); } if (!q) { if (!SqlJoint.IsNullOrSpace(val1)) { min1=qsd.equals(val1); } if (!SqlJoint.IsNullOrSpace(val2)) { min2=qsd.equals(val2); } if (!SqlJoint.IsNullOrSpace(val3)) { min3=qsd.equals(val3); } if (SqlJoint.IsNullOrSpace(val1)&&SqlJoint.IsNullOrSpace(val2)&&SqlJoint.IsNullOrSpace(val3)) { return "0"; } if (min1&&min2&&min3) { return "1"; }else { return "2"; } } ////111111111111111 if (!v1) { if (v2) { if (v3) { min1=qsd.equals(val1); min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2); min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3); }else { min1=qsd.equals(val1); min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2); min3=qsd.equals(val3); } }else { if (v3) { min1=qsd.equals(val1); min2=qsd.equals(val2); min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3); }else { min1=qsd.equals(val1); min2=qsd.equals(val2); min3=qsd.equals(val3); } } if (min1&&min2&&min3) { return "1"; }else { return "2"; } } //2222222222222222222222222 if (!v2) { if (v1) { if (v3) { min2=qsd.equals(val2); min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1); min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3); }else { min2=qsd.equals(val2); min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1); min3=qsd.equals(val3); } }else { if (v3) { min1=qsd.equals(val1); min2=qsd.equals(val2); min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3); }else { min1=qsd.equals(val1); min2=qsd.equals(val2); min3=qsd.equals(val3); } } if (min1&&min2&&min3) { return "1"; }else { return "2"; } } //3333333333333333333333333 if (!v3) { if (v1) { if (v2) { min3=qsd.equals(val3); min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1); min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2); }else { min2=qsd.equals(val2); min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1); min3=qsd.equals(val3); } }else { if (v2) { min1=qsd.equals(val1); min3=qsd.equals(val3); min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2); }else { min1=qsd.equals(val1); min2=qsd.equals(val2); min3=qsd.equals(val3); } } if (min1&&min2&&min3) { return "1"; }else { return "2"; } } if (qsd!=null) { min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1); min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2); min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3); if (min1&&min2&&min3) { return "1"; }else { return "2"; } }else { return "0"; } } /** * 为前端获取对比结果好标颜色 * 0 为null * 1 为合格 * 2为不合格 * @param sign 符号 * @param qsd 标准值 * @param val1 实测值 * @param val2 * @param val3 * @return */ public String getJudgeColor(String sign,String qsd,String val1,String val2,String val3,String val4,String val5,String val6,String val7,String val8,String val9){ boolean min1=true; boolean min3=true; boolean min2=true; boolean min4=true; boolean min5=true; boolean min6=true; boolean min7=true; boolean min8=true; boolean min9=true; boolean v1=true; boolean v2=true; boolean v3=true; boolean v4=true; boolean v5=true; boolean v6=true; boolean v7=true; boolean v8=true; boolean v9=true; boolean q=true; if (SqlJoint.IsNullOrSpace(qsd)) { return "0"; } if (!SqlJoint.IsNullOrSpace(qsd)) { q=isNumeric(qsd); } if (!SqlJoint.IsNullOrSpace(val1)) { v1=isNumeric(val1); } if (!SqlJoint.IsNullOrSpace(val2)) { v2=isNumeric(val2); } if (!SqlJoint.IsNullOrSpace(val3)) { v3=isNumeric(val3); } if (!SqlJoint.IsNullOrSpace(val4)) { v4=isNumeric(val4); } if (!SqlJoint.IsNullOrSpace(val5)) { v5=isNumeric(val5); } if (!SqlJoint.IsNullOrSpace(val6)) { v6=isNumeric(val6); } if (!SqlJoint.IsNullOrSpace(val7)) { v7=isNumeric(val7); } if (!SqlJoint.IsNullOrSpace(val8)) { v8=isNumeric(val8); } if (!SqlJoint.IsNullOrSpace(val9)) { v9=isNumeric(val9); } if (!q) { if (!SqlJoint.IsNullOrSpace(val1)) { min1=qsd.equals(val1); } if (!SqlJoint.IsNullOrSpace(val2)) { min2=qsd.equals(val2); } if (!SqlJoint.IsNullOrSpace(val3)) { min3=qsd.equals(val3); } if (!SqlJoint.IsNullOrSpace(val4)) { min4=qsd.equals(val4); } if (!SqlJoint.IsNullOrSpace(val5)) { min5=qsd.equals(val5); } if (!SqlJoint.IsNullOrSpace(val6)) { min6=qsd.equals(val6); } if (!SqlJoint.IsNullOrSpace(val7)) { min7=qsd.equals(val7); } if (!SqlJoint.IsNullOrSpace(val8)) { min8=qsd.equals(val8); } if (!SqlJoint.IsNullOrSpace(val9)) { min9=qsd.equals(val9); } if (SqlJoint.IsNullOrSpace(val1)&&SqlJoint.IsNullOrSpace(val2)&&SqlJoint.IsNullOrSpace(val3)&&SqlJoint.IsNullOrSpace(val4)&&SqlJoint.IsNullOrSpace(val5)&&SqlJoint.IsNullOrSpace(val6)&&SqlJoint.IsNullOrSpace(val7)&&SqlJoint.IsNullOrSpace(val8)&&SqlJoint.IsNullOrSpace(val9)) { return "0"; } if (min1&&min2&&min3&&min4&&min5&&min6&&min7&&min8&&min9) { return "1"; }else { return "2"; } } if(v1){ min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1); }else{ min1=qsd.equals(val1); } if(v2){ min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2); }else{ min2=qsd.equals(val2); } if(v3){ min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3); }else{ min3=qsd.equals(val3); } if(v4){ min4=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val4); }else{ min4=qsd.equals(val4); } if(v5){ min5=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val5); }else{ min5=qsd.equals(val5); } if(v6){ min6=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val6); }else{ min6=qsd.equals(val6); } if(v7){ min7=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val7); }else{ min7=qsd.equals(val7); } if(v8){ min8=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val8); }else{ min8=qsd.equals(val8); } if(v9){ min9=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val9); }else{ min9=qsd.equals(val9); } if (min1&&min2&&min3&&min4&&min5&&min6&&min7&&min8&&min9) { return "1"; }else { return "2"; } } /** * 判断字符串是否为数字-------蒋崇波 * @param str * @return */ public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("-?[0-9]*.?[0-9]*");//Pattern.compile("[0-9]+([.]{1}[0-9]+){0,1}"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; } /** * 拼接val值----异常材料处理用---2019.1.8 * @param jyx * @param val1 * @param val2 * @param val3 * @return */ public String connectVal(String jyx,String val1,String val2,String val3){ if (!SqlJoint.IsNullOrSpace(val1)) { if (!SqlJoint.IsNullOrSpace(val2)) { if (!SqlJoint.IsNullOrSpace(val3)) { jyx=jyx+":"+val1+"-"+val2+"-"+val3; }else { jyx=jyx+":"+val1+"-"+val2; } }else { if (!SqlJoint.IsNullOrSpace(val3)) { jyx=jyx+":"+val1+"-"+val3; }else { jyx=jyx+":"+val1; } } } if (!SqlJoint.IsNullOrSpace(val2)) { if (!SqlJoint.IsNullOrSpace(val1)) { if (!SqlJoint.IsNullOrSpace(val3)) { jyx=jyx+":"+val1+"-"+val2+"-"+val3; }else { jyx=jyx+":"+val1+"-"+val2; } }else { if (!SqlJoint.IsNullOrSpace(val3)) { jyx=jyx+":"+val2+"-"+val3; }else { jyx=jyx+":"+val2; } } } if (!SqlJoint.IsNullOrSpace(val3)) { if (!SqlJoint.IsNullOrSpace(val1)) { if (!SqlJoint.IsNullOrSpace(val2)) { jyx=jyx+":"+val1+"-"+val2+"-"+val3; }else { jyx=jyx+":"+val1+"-"+val3; } }else { if (!SqlJoint.IsNullOrSpace(val2)) { jyx=jyx+":"+val2+"-"+val3; }else { jyx=jyx+":"+val3; } } } return jyx; } /** * 查询判定信息的检测值 */ public CoreReturnObject querryJudgetItemss(String phy_id) { try { List list = mapper.queryQcmJudgePhysical("select * from QCM_JUDGE_PHYSICAL where phy_id = '"+phy_id+"'"); List qd = mapper.findQcmJhySampleConsignD2(list.get(0).getSmp_no()); List qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+list.get(0).getSmp_no()+"'"); List itemAll = new ArrayList(); List pic = new ArrayList(); if(list.get(0).getPline_code().equals("LT1")){ pic = mapper.findQcmOrdDesignStdPic2(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name(),"LT1"); }else if(list.get(0).getPline_code().equals("RZ1")){ pic = mapper.findQcmOrdDesignStdPic2(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name(),"RZ1"); }else { pic = mapper.findQcmOrdDesignStdPic(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name()); } //List pic = mapper.findQcmOrdDesignStdPic(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name()); itemAll.addAll(pic); String oldProject = null; String newProject = null; String oldProject1 = null; List targets=new ArrayList(); for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) { List items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no()); for (QcmJhySampleConsignDItem qi : items) { String sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"' and specimen_no || guid in (select z.specimen_no || z.guid from qcm_jhy_insp_physics z where z.specimen_no = '"+qi.getSpecimen_no()+"' and z.seq = '"+qi.getSeq()+"')"; List listz = mapper.queryQcmJudgePhysicalResult(sql); if(listz.size() == 0 && !list.get(0).getDesign_key().startsWith("19")){ continue; } oldProject = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d() + qi.getItem_code_s() + qi.getItem_code_t()+qrd.get(0).getSteel_code(); oldProject1 = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d() + qi.getItem_code_s() + qi.getItem_code_t(); //获取标准 for (QcmOrdDesignStdPic si : itemAll) { newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d() + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code(); if (oldProject.equals(newProject)) { if ("0".equals(si.getSpecl_fl())) { qi.setJf_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign()) +(si.getStdmax()==null?"":si.getStdmax())); qi.setJf_stdmax_sign(si.getStdmax_sign()); qi.setJf_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setJf_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); } else if ("1".equals(si.getSpecl_fl())) { qi.setKh_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); qi.setKh_stdmax_sign(si.getStdmax_sign()); qi.setKh_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setKh_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); } else if ("2".equals(si.getSpecl_fl())) { qi.setNk_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); qi.setNk_stdmax_sign(si.getStdmax_sign()); qi.setNk_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setNk_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); } else if ("3".equals(si.getSpecl_fl())) { qi.setFx_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); qi.setFx_stdmax_sign(si.getStdmax_sign()); qi.setFx_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setFx_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); }else if ("4".equals(si.getSpecl_fl())) { qi.setNk_stdmax(si.getStdmax()); qi.setNk_stdmax_sign(si.getStdmax_sign()); qi.setNk_stdmin(si.getStdmin()); qi.setNk_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); } } } //获取实测值 List qpt = mapper.findphyresults(qi.getSpecimen_no(),phy_id); //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) { for (QcmJudgePhysicalResult qp : qpt) { String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d() + qp.getItem_code_s() + qp.getItem_code_t(); if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) { if (str.equals(oldProject1)) { if (qi.getSeq().equals(qp.getSeq())) { qi.setVal1(qp.getVal1()); qi.setVal2(qp.getVal2()); qi.setVal3(qp.getVal3()); qi.setVal4(qp.getVal4()); qi.setVal5(qp.getVal5()); qi.setVal6(qp.getVal6()); qi.setVal7(qp.getVal7()); qi.setVal8(qp.getVal8()); qi.setVal9(qp.getVal9()); qi.setDefect_flag(qp.getDefect_flag()); qi.setAvg_val(qp.getAvg_val()); if( qi.getFy_quote_specimen_no() != null){ List q1 = mapper.query("select * from qcm_jhy_insp_physics z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"' and z.guid = '"+qp.getGuid()+"'"); if(q1.size() >0 && q1.get(0).get("QUOTE_SPECIMEN_NO") != null){ List q3 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+q1.get(0).get("QUOTE_SPECIMEN_NO")+"'"); qi.setSmp_type_name(q3.get(0).get("SMP_TYPE_NAME").toString()); if(q3.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){ if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(q3.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){ if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(q3.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){ if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(q3.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){ if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } } qi.setMaterial_no(q3.get(0).get("MATERIAL_NO").toString()); }else{ List q2 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"'"); qi.setSmp_type_name(q2.get(0).get("SMP_TYPE_NAME").toString()); qi.setSmp_location(q2.get(0).get("SMP_LOCATION").toString()); if(q2.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){ if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(q2.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){ if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(q2.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){ if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(q2.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){ if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } } qi.setMaterial_no(q2.get(0).get("MATERIAL_NO").toString()); } }else{ qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code()); if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("认证样(复样)"); }else { qi.setSmp_type_name("认证样"); } } else{ if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } }else{ qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name()); } qi.setSmp_location(qcmJhySampleConsignD.getSmp_location()); } qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no()); } } } } } //} if(qi.getJudge_basis() != null) { if(qi.getJudge_basis().equals("A")){ qi.setJudge_basis("最小值"); }else if(qi.getJudge_basis().equals("B")){ qi.setJudge_basis("最大值"); }else if(qi.getJudge_basis().equals("C")){ qi.setJudge_basis("平均值"); }else if(qi.getJudge_basis().equals("D")){ qi.setJudge_basis("逐值判定"); } } if(qi.getIsjudge() != null){ qi.setIsjudge(qi.getIsjudge().equals("0")?"否":"是"); } if(qi.getDefect_flag() != null){ qi.setDefect_flag(qi.getDefect_flag().equals("0")?"否":"是"); } if(qi.getSmp_type_name() == null){ if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){ qi.setSmp_type_code("0"); qi.setSmp_type_name("初样"); } else { qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code()); if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("认证样(复样)"); }else { qi.setSmp_type_name("认证样"); } } else{ if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } } else{ qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name()); } qi.setSmp_location(qcmJhySampleConsignD.getSmp_location()); } } } if(qi.getMaterial_no() == null){ qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no()); } qi.setHt_no(qcmJhySampleConsignD.getProcess_nos()); qi.setSteelname(list.get(0).getSteel_name()); qi.setThick(qrd.get(0).getThick()); /*List hashmap = new ArrayList(); if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no()); }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){ hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no()); } if(hashmap.size() > 0){ if(hashmap.get(0).get("HT_NO") != null) { qi.setHt_no(hashmap.get(0).get("HT_NO").toString()); } }*/ targets.add(qi); } } cro.setResult(targets); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); } SqlSession.close(); return cro; } /** 判定调用 * 查询对应项目实测值,标准值 */ public CoreReturnObject querryJudgetItemInfo(String smp_no, String design_key,String steel_name,String prod_line) { try { List qd = mapper.findQcmJhySampleConsignD2(smp_no); List qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+smp_no+"'"); List itemAll = new ArrayList(); List pic = new ArrayList(); if(prod_line.equals("LT1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"LT1"); }else if(prod_line.equals("RZ1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"RZ1"); }else if(prod_line.equals("YT1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"YT1"); }else { pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name); } //List pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name); itemAll.addAll(pic); String oldProject = null; String newProject = null; String oldProject1 = null; List targets=new ArrayList(); for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) { List items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no()); for (QcmJhySampleConsignDItem qi : items) { oldProject = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d() + qi.getItem_code_s() + qi.getItem_code_t()+qrd.get(0).getSteel_code(); oldProject1 = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d() + qi.getItem_code_s() + qi.getItem_code_t(); //获取标准 for (QcmOrdDesignStdPic si : itemAll) { newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d() + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code(); if (oldProject.equals(newProject)) { if ("0".equals(si.getSpecl_fl())) { qi.setJf_stdmax(si.getStdmax()); qi.setJf_stdmax_sign(si.getStdmax_sign()); qi.setJf_stdmin(si.getStdmin()); qi.setJf_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max(si.getAddstd_max()); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min(si.getAddstd_min()); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); } else if ("1".equals(si.getSpecl_fl())) { qi.setKh_stdmax(si.getStdmax()); qi.setKh_stdmax_sign(si.getStdmax_sign()); qi.setKh_stdmin(si.getStdmin()); qi.setKh_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max(si.getAddstd_max()); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min(si.getAddstd_min()); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); } else if ("2".equals(si.getSpecl_fl())) { qi.setNk_stdmax(si.getStdmax()); qi.setNk_stdmax_sign(si.getStdmax_sign()); qi.setNk_stdmin(si.getStdmin()); qi.setNk_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max(si.getAddstd_max()); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min(si.getAddstd_min()); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); }else if ("3".equals(si.getSpecl_fl())) { qi.setFx_stdmax(si.getStdmax()); qi.setFx_stdmax_sign(si.getStdmax_sign()); qi.setFx_stdmin(si.getStdmin()); qi.setFx_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if (SqlJoint.IsNullOrSpace(si.getIsjudge())) { qi.setIsjudge("1"); } else { qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(qi.getAddstdcon_code()); qi.setAddstd_max(si.getAddstd_max()); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min(si.getAddstd_min()); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); }else if ("4".equals(si.getSpecl_fl())) { qi.setNk_stdmax(si.getStdmax()); qi.setNk_stdmax_sign(si.getStdmax_sign()); qi.setNk_stdmin(si.getStdmin()); qi.setNk_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max(si.getAddstd_max()); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min(si.getAddstd_min()); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); } } } //获取实测值 List qpt = mapper.findphyresult1(qi.getSpecimen_no(),qi.getSeq()); //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) { for (QcmJhyPhyresult qp : qpt) { String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d() + qp.getItem_code_s() + qp.getItem_code_t(); if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) { if (str.equals(oldProject1)) { //if (SqlJoint.IsNullOrSpace(qi.getQuote_consign_no())) { qi.setVal1(qp.getVal1()); qi.setVal2(qp.getVal2()); qi.setVal3(qp.getVal3()); qi.setVal4(qp.getVal4()); qi.setVal5(qp.getVal5()); qi.setVal6(qp.getVal6()); qi.setVal7(qp.getVal7()); qi.setVal8(qp.getVal8()); qi.setVal9(qp.getVal9()); qi.setDefect_flag(qp.getDefect_flag()); qi.setAvg_val(qp.getAvg_val()); //} } } } //} /*else {//不为空则获取引用检验项目的实测值 List q = mapper.findphyresult(qi.getQuote_specimen_no()); for (QcmJhyPhyresult qjp : q) { String qutospe=qjp.getPhy_code_l() + qjp.getPhy_code_m() + qjp.getPhy_code_s() + qjp.getItem_code_d() + qjp.getItem_code_s() + qjp.getItem_code_t(); String qutospeI=qi.getQuote_phy_code_l()+qi.getQuote_phy_code_m()+qi.getQuote_phy_code_s()+qi.getQuote_item_code_d() +qi.getQuote_item_code_s()+qi.getQuote_item_code_t(); if (qutospe.endsWith(qutospeI)) { qi.setVal1(qjp.getVal1()); qi.setVal2(qjp.getVal2()); qi.setVal3(qjp.getVal3()); qi.setVal4(qjp.getVal4()); qi.setVal5(qjp.getVal5()); qi.setVal6(qjp.getVal6()); qi.setVal7(qjp.getVal7()); qi.setVal8(qjp.getVal8()); qi.setVal9(qjp.getVal9()); qi.setDefect_flag(qjp.getDefect_flag()); qi.setAvg_val(qjp.getAvg_val()); } } }*/ if(qi.getSmp_type_name() == null){ if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){ qi.setSmp_type_code("0"); qi.setSmp_type_name("初样"); } else { qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code()); if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("认证样(复样)"); }else { qi.setSmp_type_name("认证样"); } } else{ if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } } else{ qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name()); } qi.setSmp_location(qcmJhySampleConsignD.getSmp_location()); } } } qi.setHt_no(qcmJhySampleConsignD.getProcess_nos()); /*List hashmap = new ArrayList(); if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no()); }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){ hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no()); } if(hashmap.size() > 0){ if(hashmap.get(0).get("HT_NO") != null) { qi.setHt_no(hashmap.get(0).get("HT_NO").toString()); } }*/ targets.add(qi); } } cro.setResult(targets); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); } return cro; } /** * 查询订单力学性能特殊要求 * @param design_key * @return */ public CoreReturnObject queryTsyq(String design_key){ try{ String sql = "select phy_desc_l,phy_desc_m,PHY_NAME_S,item_desc_s,item_desc_d,item_desc_t,t.stdmin_sign||t.stdmin min,t.stdmax_sign||t.stdmax max,t.item_desc_l FROM qcm_ord_design_std_pic t where T.specl_fl ='1' AND t.design_key = '"+design_key+"'" + "union all" + " select '成分', '',t.chem_name,'','','',t.stdmin_sign || t.stdmin min,t.stdmax_sign || t.stdmax max, '' FROM qcm_ord_design_std_cic t where T.specl_fl ='1' AND t.design_key = '"+design_key+"' and t.std_type_code = 'C'"; 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; } /** 待判信息 * 查询对应项目实测值,标准值 */ public CoreReturnObject querryJudgetItems1(String smp_no, String design_key,String steel_name) { try { List qd = mapper.findQcmJhySampleConsignD2(smp_no); List qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+smp_no+"'"); List itemAll = new ArrayList(); List pic = new ArrayList(); if(qd.get(0).getPline_code().equals("LT1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"LT1"); }else if(qd.get(0).getPline_code().equals("RZ1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"RZ1"); }else if(qd.get(0).getPline_code().equals("YT1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"YT1"); }else { pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name); } //List pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name); itemAll.addAll(pic); String oldProject = null; String newProject = null; String oldProject1 = null; List targets=new ArrayList(); for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) { List items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no()); for (QcmOrdDesignStdPic si : itemAll) { oldProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d() + si.getItem_code_s() + si.getItem_code_t()+qrd.get(0).getSteel_code(); oldProject1 = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d() + si.getItem_code_s() + si.getItem_code_t(); //获取标准 for (QcmJhySampleConsignDItem qi : items) { newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d() + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code(); if (oldProject.equals(newProject)) { if ("0".equals(si.getSpecl_fl())) { si.setJf_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); si.setJf_stdmax_sign(si.getStdmax_sign()); si.setJf_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); si.setJf_stdmin_sign(si.getStdmin_sign()); si.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ si.setIsjudge("1"); }else{ si.setIsjudge(si.getIsjudge()); } si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); si.setAddcondition(si.getAddcondition()); si.setAddstdcon_code(si.getAddstdcon_code()); si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); si.setAdd_std_max_sign(si.getAddstd_max_sign()); si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); si.setAddstd_min_sign(si.getAddstd_min_sign()); si.setAddpercent(si.getAddpercent()); } else if ("1".equals(si.getSpecl_fl())) { si.setKh_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); si.setKh_stdmax_sign(si.getStdmax_sign()); si.setKh_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); si.setKh_stdmin_sign(si.getStdmin_sign()); si.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ si.setIsjudge("1"); }else{ si.setIsjudge(si.getIsjudge()); } si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); si.setAddcondition(si.getAddcondition()); si.setAddstdcon_code(si.getAddstdcon_code()); si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); si.setAdd_std_max_sign(si.getAddstd_max_sign()); si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); si.setAddstd_min_sign(si.getAddstd_min_sign()); si.setAddpercent(si.getAddpercent()); } else if ("2".equals(si.getSpecl_fl())) { si.setNk_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); si.setNk_stdmax_sign(si.getStdmax_sign()); si.setNk_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); si.setNk_stdmin_sign(si.getStdmin_sign()); si.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ si.setIsjudge("1"); }else{ si.setIsjudge(si.getIsjudge()); } si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); si.setAddcondition(si.getAddcondition()); si.setAddstdcon_code(si.getAddstdcon_code()); si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); si.setAdd_std_max_sign(si.getAddstd_max_sign()); si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); si.setAddstd_min_sign(si.getAddstd_min_sign()); si.setAddpercent(si.getAddpercent()); }else if ("3".equals(si.getSpecl_fl())) { si.setFx_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); si.setFx_stdmax_sign(si.getStdmax_sign()); si.setFx_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); si.setFx_stdmin_sign(si.getStdmin_sign()); si.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ si.setIsjudge("1"); }else{ si.setIsjudge(si.getIsjudge()); } si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); si.setAddcondition(si.getAddcondition()); si.setAddstdcon_code(si.getAddstdcon_code()); si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); si.setAdd_std_max_sign(si.getAddstd_max_sign()); si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); si.setAddstd_min_sign(si.getAddstd_min_sign()); si.setAddpercent(si.getAddpercent()); }else if ("4".equals(si.getSpecl_fl())) { qi.setNk_stdmax(si.getStdmax()); qi.setNk_stdmax_sign(si.getStdmax_sign()); qi.setNk_stdmin(si.getStdmin()); qi.setNk_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max(si.getAddstd_max()); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min(si.getAddstd_min()); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); } } //获取实测值 List qpt = mapper.findphyresult1(qi.getSpecimen_no(),qi.getSeq()); //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) { for (QcmJhyPhyresult qp : qpt) { String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d() + qp.getItem_code_s() + qp.getItem_code_t(); if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) { if (str.equals(oldProject1)) { //if (SqlJoint.IsNullOrSpace(qi.getQuote_consign_no())) { si.setVal1(qp.getVal1()); si.setVal2(qp.getVal2()); si.setVal3(qp.getVal3()); si.setVal4(qp.getVal4()); si.setVal5(qp.getVal5()); si.setVal6(qp.getVal6()); si.setVal7(qp.getVal7()); si.setVal8(qp.getVal8()); si.setVal9(qp.getVal9()); si.setDefect_flag(qp.getDefect_flag()); si.setAvg_val(qp.getAvg_val()); //} } } } if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){ si.setSmp_type_code("0"); si.setSmp_type_name("初样"); } } //} /*else {//不为空则获取引用检验项目的实测值 List q = mapper.findphyresult(qi.getQuote_specimen_no()); for (QcmJhyPhyresult qjp : q) { String qutospe=qjp.getPhy_code_l() + qjp.getPhy_code_m() + qjp.getPhy_code_s() + qjp.getItem_code_d() + qjp.getItem_code_s() + qjp.getItem_code_t(); String qutospeI=qi.getQuote_phy_code_l()+qi.getQuote_phy_code_m()+qi.getQuote_phy_code_s()+qi.getQuote_item_code_d() +qi.getQuote_item_code_s()+qi.getQuote_item_code_t(); if (qutospe.endsWith(qutospeI)) { qi.setVal1(qjp.getVal1()); qi.setVal2(qjp.getVal2()); qi.setVal3(qjp.getVal3()); qi.setDefect_flag(qjp.getDefect_flag()); qi.setAvg_val(qjp.getAvg_val()); } } }*/ if(si.getJudge_basis() != null) { if(si.getJudge_basis().equals("A")){ si.setJudge_basis("最小值"); }else if(si.getJudge_basis().equals("B")){ si.setJudge_basis("最大值"); }else if(si.getJudge_basis().equals("C")){ si.setJudge_basis("平均值"); }else if(si.getJudge_basis().equals("D")){ si.setJudge_basis("逐值判定"); } } if(si.getIsjudge() != null){ si.setIsjudge(si.getIsjudge().equals("0")?"否":"是"); } if(si.getDefect_flag()!=null){ si.setDefect_flag(si.getDefect_flag().equals("0")?"否":"是"); } else { si.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code()); if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ si.setSmp_type_name("认证样(复样)"); }else { si.setSmp_type_name("认证样"); } } else{ si.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name()); } } /*if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ si.setSmp_type_name("一次模拟焊后(复样)"); }else{ si.setSmp_type_name("一次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ si.setSmp_type_name("二次模拟焊后(复样)"); }else{ si.setSmp_type_name("二次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ si.setSmp_type_name("三次模拟焊后(复样)"); }else{ si.setSmp_type_name("三次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ si.setSmp_type_name("四次模拟焊后(复样)"); }else{ si.setSmp_type_name("四次模拟焊后"); } }*/ si.setMaterial_no(qcmJhySampleConsignD.getMaterial_no()); si.setHt_no(qcmJhySampleConsignD.getProcess_nos()); /*List hashmap = new ArrayList(); if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no()); }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){ hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no()); } if(hashmap.size() > 0){ if(hashmap.get(0).get("HT_NO") != null) { qi.setHt_no(hashmap.get(0).get("HT_NO").toString()); } }*/ targets.add(si); } } cro.setResult(targets); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); } SqlSession.close(); return cro; } /** 待判信息 * 查询对应项目实测值,标准值 */ public CoreReturnObject querryJudgetItems(String smp_no, String design_key,String steel_name) { try { List qd = mapper.findQcmJhySampleConsignD2(smp_no); List qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+smp_no+"'"); List itemAll = new ArrayList(); List pic = new ArrayList(); if(qd.get(0).getPline_code().equals("LT1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"LT1"); }else if(qd.get(0).getPline_code().equals("RZ1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"RZ1"); }else if(qd.get(0).getPline_code().equals("YT1")){ pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"YT1"); }else { pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name); } //List pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name); itemAll.addAll(pic); String oldProject = null; String newProject = null; String oldProject1 = null; List targets=new ArrayList(); for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) { List items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no()); for (QcmJhySampleConsignDItem qi : items) { oldProject = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d() + qi.getItem_code_s() + qi.getItem_code_t()+qrd.get(0).getSteel_code(); oldProject1 = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d() + qi.getItem_code_s() + qi.getItem_code_t(); //获取标准 for (QcmOrdDesignStdPic si : itemAll) { newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d() + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code(); if (oldProject.equals(newProject)) { if ("0".equals(si.getSpecl_fl())) { qi.setJf_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); qi.setJf_stdmax_sign(si.getStdmax_sign()); qi.setJf_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setJf_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); } else if ("1".equals(si.getSpecl_fl())) { qi.setKh_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); qi.setKh_stdmax_sign(si.getStdmax_sign()); qi.setKh_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setKh_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); } else if ("2".equals(si.getSpecl_fl())) { qi.setNk_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); qi.setNk_stdmax_sign(si.getStdmax_sign()); qi.setNk_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setNk_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); }else if ("3".equals(si.getSpecl_fl())) { qi.setFx_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax())); qi.setFx_stdmax_sign(si.getStdmax_sign()); qi.setFx_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin())); qi.setFx_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max())); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min())); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); }else if ("4".equals(si.getSpecl_fl())) { qi.setNk_stdmax(si.getStdmax()); qi.setNk_stdmax_sign(si.getStdmax_sign()); qi.setNk_stdmin(si.getStdmin()); qi.setNk_stdmin_sign(si.getStdmin_sign()); qi.setJudge_basis(si.getJudge_basis()); if(SqlJoint.IsNullOrSpace(si.getIsjudge())){ qi.setIsjudge("1"); }else{ qi.setIsjudge(si.getIsjudge()); } qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no()); qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no()); qi.setAddcondition(si.getAddcondition()); qi.setAddstdcon_code(si.getAddstdcon_code()); qi.setAddstd_max(si.getAddstd_max()); qi.setAdd_std_max_sign(si.getAddstd_max_sign()); qi.setAddstd_min(si.getAddstd_min()); qi.setAddstd_min_sign(si.getAddstd_min_sign()); qi.setAddpercent(si.getAddpercent()); } } } //获取实测值 List qpt = mapper.findphyresult1(qi.getSpecimen_no(),qi.getSeq()); //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) { for (QcmJhyPhyresult qp : qpt) { String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d() + qp.getItem_code_s() + qp.getItem_code_t(); if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) { if (str.equals(oldProject1)) { //if (SqlJoint.IsNullOrSpace(qi.getQuote_consign_no())) { qi.setVal1(qp.getVal1()); qi.setVal2(qp.getVal2()); qi.setVal3(qp.getVal3()); qi.setVal4(qp.getVal4()); qi.setVal5(qp.getVal5()); qi.setVal6(qp.getVal6()); qi.setVal7(qp.getVal7()); qi.setVal8(qp.getVal8()); qi.setVal9(qp.getVal9()); qi.setDefect_flag(qp.getDefect_flag()); qi.setAvg_val(qp.getAvg_val()); if(qi.getFy_quote_specimen_no() != null){ List q1 = mapper.query("select * from qcm_jhy_insp_physics z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"' and z.guid = '"+qp.getGuid()+"'"); if(q1.size() >0 && q1.get(0).get("QUOTE_SPECIMEN_NO") != null){ List q3 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+q1.get(0).get("QUOTE_SPECIMEN_NO")+"'"); qi.setSmp_type_name(q3.get(0).get("SMP_TYPE_NAME").toString()); if(q3.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){ qi.setSmp_type_name("一次模拟焊后"); }else if(q3.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){ qi.setSmp_type_name("二次模拟焊后"); }else if(q3.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){ qi.setSmp_type_name("三次模拟焊后"); }else if(q3.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){ qi.setSmp_type_name("四次模拟焊后"); } qi.setMaterial_no(q3.get(0).get("MATERIAL_NO").toString()); }else{ List q2 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"'"); qi.setSmp_type_name(q2.get(0).get("SMP_TYPE_NAME").toString()); if(q2.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){ qi.setSmp_type_name("一次模拟焊后"); }else if(q2.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){ qi.setSmp_type_name("二次模拟焊后"); }else if(q2.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){ qi.setSmp_type_name("三次模拟焊后"); }else if(q2.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){ qi.setSmp_type_name("四次模拟焊后"); } qi.setMaterial_no(q2.get(0).get("MATERIAL_NO").toString()); } }else{ qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code()); if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("认证样(复样)"); }else { qi.setSmp_type_name("认证样"); } } else{ if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } }else{ qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name()); } qi.setSmp_location(qcmJhySampleConsignD.getSmp_location()); } qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no()); } //} } } } //} /*else {//不为空则获取引用检验项目的实测值 List q = mapper.findphyresult(qi.getQuote_specimen_no()); for (QcmJhyPhyresult qjp : q) { String qutospe=qjp.getPhy_code_l() + qjp.getPhy_code_m() + qjp.getPhy_code_s() + qjp.getItem_code_d() + qjp.getItem_code_s() + qjp.getItem_code_t(); String qutospeI=qi.getQuote_phy_code_l()+qi.getQuote_phy_code_m()+qi.getQuote_phy_code_s()+qi.getQuote_item_code_d() +qi.getQuote_item_code_s()+qi.getQuote_item_code_t(); if (qutospe.endsWith(qutospeI)) { qi.setVal1(qjp.getVal1()); qi.setVal2(qjp.getVal2()); qi.setVal3(qjp.getVal3()); qi.setDefect_flag(qjp.getDefect_flag()); qi.setAvg_val(qjp.getAvg_val()); } } }*/ if(qi.getJudge_basis() != null) { if(qi.getJudge_basis().equals("A")){ qi.setJudge_basis("最小值"); }else if(qi.getJudge_basis().equals("B")){ qi.setJudge_basis("最大值"); }else if(qi.getJudge_basis().equals("C")){ qi.setJudge_basis("平均值"); }else if(qi.getJudge_basis().equals("D")){ qi.setJudge_basis("逐值判定"); } } if(qi.getIsjudge() != null){ qi.setIsjudge(qi.getIsjudge().equals("0")?"否":"是"); } if(qi.getDefect_flag()!=null){ qi.setDefect_flag(qi.getDefect_flag().equals("0")?"否":"是"); } if(qi.getSmp_type_name() == null){ if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){ qi.setSmp_type_code("0"); qi.setSmp_type_name("初样"); } else { qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code()); if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("认证样(复样)"); }else { qi.setSmp_type_name("认证样"); } } else{ if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } } else{ qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name()); } qi.setSmp_location(qcmJhySampleConsignD.getSmp_location()); } } } /*if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("一次模拟焊后(复样)"); }else{ qi.setSmp_type_name("一次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("二次模拟焊后(复样)"); }else{ qi.setSmp_type_name("二次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("三次模拟焊后(复样)"); }else{ qi.setSmp_type_name("三次模拟焊后"); } }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){ if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){ qi.setSmp_type_name("四次模拟焊后(复样)"); }else{ qi.setSmp_type_name("四次模拟焊后"); } }*/ if(qi.getMaterial_no() == null){ qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no()); } qi.setHt_no(qcmJhySampleConsignD.getProcess_nos()); qi.setSteelname(steel_name); qi.setThick(qrd.get(0).getThick()); /*List hashmap = new ArrayList(); if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no()); }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){ hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no()); } if(hashmap.size() > 0){ if(hashmap.get(0).get("HT_NO") != null) { qi.setHt_no(hashmap.get(0).get("HT_NO").toString()); } }*/ targets.add(qi); } } cro.setResult(targets); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); } SqlSession.close(); return cro; } /** * 比较val值,根据判定依据比较 * @param val1 * @param val2 * @param val3 * @param type * @return */ public String compareVal(String val1,String val2,String val3,String val4,String val5,String val6,String val7,String val8,String val9,String type){ String flag=""; String max = ""; String min = ""; //最小值 if (type.equalsIgnoreCase("A")) { //如果val1不为空 if (!SqlJoint.IsNullOrSpace(val1)) { flag=val1; if (!SqlJoint.IsNullOrSpace(val2)) { if (flag.compareTo(val2)>=0) { flag=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)>=0) { flag=val3; } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)>=0) { flag=val3; } } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)>=0) { flag=val3; } } } return flag; } //如果val1为空 if (!SqlJoint.IsNullOrSpace(val2)) { flag=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)>=0) { flag=val3; } } return flag; } //如果val1和val2都为空 if (!SqlJoint.IsNullOrSpace(val3)) { flag=val3; return flag; } } //最大值 if (type.equalsIgnoreCase("B")) { //如果val1不为空 if (!SqlJoint.IsNullOrSpace(val1)) { flag=val1; if (!SqlJoint.IsNullOrSpace(val2)) { if (flag.compareTo(val2)<=0) { flag=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)<=0) { flag=val3; } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)<=0) { flag=val3; } } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)<=0) { flag=val3; } } } return flag; } //如果val1为空 if (!SqlJoint.IsNullOrSpace(val2)) { flag=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (flag.compareTo(val3)<=0) { flag=val3; } } return flag; } //如果val1和val2都为空 if (!SqlJoint.IsNullOrSpace(val3)) { flag=val3; return flag; } } //平均值判定 if (type.equalsIgnoreCase("C")) { if (!SqlJoint.IsNullOrSpace(val1)) { flag=val1; if (!SqlJoint.IsNullOrSpace(val2)) { if (!SqlJoint.IsNullOrSpace(val3)) { Double a=(Double.parseDouble(val1)+Double.parseDouble(val2)+Double.parseDouble(val3))/3; flag=a.toString(); }else { Double a=(Double.parseDouble(val1)+Double.parseDouble(val2))/2; flag=a.toString(); } }else { if (!SqlJoint.IsNullOrSpace(val3)) { Double a=(Double.parseDouble(val1)+Double.parseDouble(val3))/2; flag=a.toString(); } } }else { if (!SqlJoint.IsNullOrSpace(val2)) { flag=val2; if (!SqlJoint.IsNullOrSpace(val3)) { Double a=(Double.parseDouble(val2)+Double.parseDouble(val3))/2; flag=a.toString(); } }else { if (!SqlJoint.IsNullOrSpace(val3)) { flag=val3; } } } return flag; } //最大最小差值 if (type.equalsIgnoreCase("D")) { //如果val1不为空 if (!SqlJoint.IsNullOrSpace(val1)) { min=val1; if (!SqlJoint.IsNullOrSpace(val2)) { if (min.compareTo(val2)>=0) { min=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (min.compareTo(val3)>=0) { min=val3; } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (min.compareTo(val3)>=0) { min=val3; } } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (min.compareTo(val3)>=0) { min=val3; } } } }else if (!SqlJoint.IsNullOrSpace(val2)) { min=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (min.compareTo(val3)>=0) { min=val3; } } }else if (!SqlJoint.IsNullOrSpace(val3)) { min=val3; } //如果val1不为空 if (!SqlJoint.IsNullOrSpace(val1)) { max=val1; if (!SqlJoint.IsNullOrSpace(val2)) { if (max.compareTo(val2)<=0) { max=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (max.compareTo(val3)<=0) { max=val3; } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (max.compareTo(val3)<=0) { max=val3; } } } }else { if (!SqlJoint.IsNullOrSpace(val3)) { if (max.compareTo(val3)<=0) { max=val3; } } } }else if (!SqlJoint.IsNullOrSpace(val2)) { max=val2; if (!SqlJoint.IsNullOrSpace(val3)) { if (max.compareTo(val3)<=0) { max=val3; } } }else if (!SqlJoint.IsNullOrSpace(val3)) { max=val3; } if(!SqlJoint.IsNullOrSpace(max)){ if(SqlJoint.IsNullOrSpace(min)){ flag = max; }else{ flag = String.valueOf(Double.parseDouble(max)-Double.parseDouble(min)); } } } return flag; } /** * 比较val值,根据判定依据比较 * @param val1 * @param val2 * @param val3 * @param type * @return */ public String compareVal1(String val1,String val2,String val3,String val4,String val5,String val6,String val7,String val8,String val9,String type){ String flag=val1; String max = val1; String min = val1; Double c = 0.0; Double d = 0.0; int count = 0; String[] a ={val1,val2,val3,val4,val5,val6,val7,val8,val9}; //最小值 if (type.equalsIgnoreCase("A")) { for (int i = 0; i < a.length; i++) { if(!SqlJoint.IsNullOrSpace(a[i])) { if (flag.compareTo(a[i])> 0 ) { flag=a[i]; } } } return flag; } //最大值 if (type.equalsIgnoreCase("B")) { for (int i = 0; i < a.length; i++) { if(!SqlJoint.IsNullOrSpace(a[i])) { if (flag.compareTo(a[i])< 0 ) { flag=a[i]; } } } return flag; } //平均值判定 if (type.equalsIgnoreCase("C")) { for (int i = 0; i < a.length; i++) { if(!SqlJoint.IsNullOrSpace(a[i])) { c = c+Double.parseDouble(a[i]); count ++; } } d= c/count; flag = d.toString(); return flag; } //最大最小差值 if (type.equalsIgnoreCase("D")) { for (int i = 0; i < a.length; i++) { if(!SqlJoint.IsNullOrSpace(a[i])) { if (min.compareTo(a[i])> 0 ) { min=a[i]; } if (max.compareTo(a[i])< 0 ) { max=a[i]; } } } flag = String.valueOf(Double.parseDouble(max)-Double.parseDouble(min)); return flag; } return flag; } /* * @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()); } } } private void ZHB1_QCM_JHY_SAMPLE_PHYSRESULT(String smp_no,String batch_no) throws java.lang.Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{ZHB1_QCM_JHY_SAMPLE_PHYSRESULT(?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, smp_no); cstmt.setString(2, batch_no); 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()); } } } @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); //库存表放 List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+utm_id+"'"); String inspection_lot = ""; if(list1.size() >0 || list2.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{ /*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{ 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()); qjog.setBatchno(qju.get(0).getBatch_no()); 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()); } } } /**param1 改判除外的异常材处置 * 产品序号、锁定记录号、封锁来源、处置去向、处置去向说明、操作人,单项判定记录号 * @param param1 * @return * @throws Exception */ @SuppressWarnings("rawtypes") public CoreReturnObject doInformationSure(ArrayList param1) throws Exception{ try{ if(param1 == null || param1.size() <= 0){ throw new Exception("请传入参数!"); } List hashmap = mapper.doQueryMaterialInfoHB(param1.get(0).toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(param1.get(0).toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(param1.get(0).toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoJ(param1.get(0).toString()); } String sql = "select * from qcm_judge_locking where material_no = '"+param1.get(0).toString()+"' and lock_seq = '"+param1.get(1).toString()+"' and unlock_type_code is null and lock_memo != '待判' "; List qjls = mapper.queryQCMJudgeLockings(sql); if(qjls.size() == 0){ // SqlSession.close(); return cro; } QCMJudgeLocking qjl = mapper.queryQCMJudgeLockings(sql).get(0); sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(0).toString()+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(0).toString()+"'"; List list2 = mapper.query(sql); //判废 if(param1.get(3).toString().equals("5")){ qjl.setUnlock_type_code("5"); qjl.setUnlock_type_desc("判废"); qjl.setUnlock_memo(param1.get(4).toString()); qjl.setUnlock_name(param1.get(5).toString()); if(param1.get(2).toString().equals("P")){ qjl.setPic_locking("0"); //修改库存锁定 //更新库存表放行 if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap lists:list1){ if(!lists.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能放行!"); } } ZjResultAll zra = new ZjResultAll(); if(param1.get(6).toString().equals(list1.get(0).get("PHYFSTSID"))){ zra.setPhyfstsresult("4"); zra.setPhyfstsresult_desc("判废"); } zra.setPhysresult("4"); zra.setPhysresult_desc("判废"); sql = "select * from qcm_judge_physical_utm_d a where a.phy_id = '"+list2.get(0).get("PHYFSTSID")+"'"; List list = mapper.query(sql); if(list.size() >0){ zra.setPhysid(list.get(0).get("PIC_ID").toString()); } zra.setBilletid(list1.get(0).get("BILLETID").toString()); zra.setPic_is_lock("0"); mapper.UpdateJugeResultB(zra); qjl.setMaterial_no(param1.get(0).toString()); qjl.setUnlock_name(param1.get(5).toString()); //qjl.setLock_id(param1.get(6).toString()); qjl.setReason_code(param1.get(7).toString()); List listsu = mapper.finddefecttype(param1.get(7).toString()); if(listsu.size() >0) { qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString()); qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString()); qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString()); } mapper.UpdateQcmJudgeLocking1(qjl); ultimateJudgeAuto1(param1.get(0).toString(),param1.get(5).toString(),"4"); //脱单 order_down(param1.get(0).toString(),"判废"); // SqlSession.commit(); }else{ for(HashMap lists:list2){ if(!lists.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能放行!"); } } QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); if(param1.get(6).toString().equals(list2.get(0).get("PHYFSTSID"))){ zra.setPhyfstsresult("4"); zra.setPhyfstsresult_desc("判废"); } zra.setPhysresult("4"); zra.setPhysresult_desc("判废"); sql = "select * from qcm_judge_physical_utm_d a where a.phy_id = '"+list2.get(0).get("PHYFSTSID")+"'"; List list = mapper.query(sql); if(list.size() >0){ zra.setPhysid(list.get(0).get("PIC_ID").toString()); } zra.setCoil_no(list2.get(0).get("COIL_NO").toString()); //zra.setInspection_lot(list2.get(0).get("INSPECTION_LOT").toString()); zra.setPic_is_lock("0"); mapper.UpdateJugeResultJ(zra); PhyUtmJudge(qjl.getDesign_key(),list2.get(0).get("INSPECTION_LOT").toString() , param1.get(5).toString()); qjl.setMaterial_no(param1.get(0).toString()); qjl.setUnlock_name(param1.get(5).toString()); //qjl.setLock_id(param1.get(6).toString()); qjl.setReason_code(param1.get(7).toString()); List listsu = mapper.finddefecttype(param1.get(7).toString()); if(listsu.size() >0) { qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString()); qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString()); qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString()); } mapper.UpdateQcmJudgeLocking1(qjl); //脱单 // SqlSession.commit(); } }else{ throw new Exception("未找到库存信息!"); } } } if(param1.get(3).toString().equals("10")){ qjl.setUnlock_type_code("10"); qjl.setUnlock_type_desc("待判"); qjl.setUnlock_memo(param1.get(4).toString()); qjl.setUnlock_result(""); qjl.setUnlock_name(param1.get(5).toString()); qjl.setLock_id(param1.get(6).toString()); qjl.setMaterial_no(param1.get(0).toString()); List listsu = mapper.finddefecttype(param1.get(7).toString()); if(listsu.size() >0) { qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString()); qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString()); qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString()); } mapper.UpdateQcmJudgeLocking1(qjl); int count = 0; String condition = " and MATERIAL_NO = '"+param1.get(0).toString()+"' order by LOCK_SEQ desc "; List qjlk = mapper.queryQCMJudgeLocking(condition); if(qjlk.size() > 0){ count=qjlk.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjl.setLock_seq(lock_seq); qjl.setUnlock_type_code(""); qjl.setUnlock_type_desc(""); qjl.setLock_memo("待判"); qjl.setTarget_design_key(""); qjl.setUnlock_name(""); mapper.insertQCMJudgeLocking(qjl); if(param1.get(0).toString().startsWith("Z") || param1.get(0).toString().startsWith("H")){ sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(0).toString() + "'" + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(0).toString() + "' UNION ALL " + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(0).toString() + "' union all " + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + param1.get(0).toString() + "'"; List listB = mapper.query(sql); if(listB.size() >0){ ultimateJudgeAuto1(param1.get(0).toString(),param1.get(5).toString(),"0"); } } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("异常处置待判"); qjog.setParams(param1.get(0).toString()); qjog.setBatchno(qjls.get(0).getBatch_no()); qjog.setProd_line(qjl.getPline_code()); mapper.insertQcmJudgeOperateLog(qjog); } //复样 if(param1.get(3).toString().equals("1")){ hashmap = mapper.doQueryMaterialInfoHB(param1.get(0).toString()); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(param1.get(0).toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(param1.get(0).toString()); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoJ(param1.get(0).toString()); } if(hashmap.size() == 0){ throw new Exception("找不到库存,不能复样!"); } //重新 //质量锁定解锁 /*sql = "select * from qcm_judge_locking where material_no = '"+param1.get(0).toString()+"' and lock_type_code = '"+param1.get(2).toString()+"' and unlock_type_code = '1' "; List qjlt = mapper.queryQCMJudgeLockings(sql);*/ /*if(qjlt.size() > 0){ throw new Exception("该产品序号["+param1.get(0).toString()+"]已经做了复样,不能重复复样!"); }*/ qjl.setUnlock_type_code("1"); qjl.setUnlock_type_desc("复样"); qjl.setUnlock_memo(param1.get(4).toString()); qjl.setUnlock_name(param1.get(5).toString()); if(param1.get(2).toString().equals("P")){ qjl.setPic_locking("0"); List list = mapper.queryQcmJudgePhysical(param1.get(6).toString()); //更新库存表 if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap lists:list1){ if(!lists.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能复样!"); } } ZjResultAll zra = new ZjResultAll(); if(list.get(0).getCert_inst_name().equals("检测中心")) { zra.setPhyfstsresult("0"); zra.setPhyfstsresult_desc(""); } zra.setPhysresult("0"); zra.setPhysresult_desc(""); zra.setPic_is_lock("0"); List qjsrt = mapper.queryQcmJhySampleROrd1("select * from QCM_JHY_SAMPLE_R_ORD where INSPECTION_LOT = '"+list1.get(0).get("BILLETID_JY").toString()+"' and JUDGE_STATUS = '0'"); if(qjsrt.size() > 0 && !param1.get(0).toString().startsWith("Z") && !param1.get(0).toString().startsWith("H")){ throw new Exception("该检验号下存在未判信息,不能复样!"); } sql = "select * from qcm_jhy_sample_r_ord z where z.smp_no in (select a.smp_no from qcm_judge_physical a where a.phy_id = '"+param1.get(6).toString()+"') and z.duplicate_sample = '复样'"; List listF= mapper.query(sql); if(listF.size() >0){ throw new Exception("已复样的不能复样!"); } sql = "SELECT * FROM QCM_JHY_SAMPLE_CONSIGN_D A WHERE A.INSPECTION_LOT = '"+list1.get(0).get("BILLETID_JY").toString()+"' and a.phy_item like '%夹杂%'"; List listd1 = mapper.query(sql); for(HashMap lists:list1){ if((param1.get(0).toString().startsWith("H") || param1.get(0).toString().startsWith("Z")) && qjl.getLock_memo().contains("夹杂") && listd1.get(0).get("FREQ_CODE").equals("D")){ List listd = mapper.query("select t.* from QCM_JHY_SAMPLE_CONSIGN_D t where substr(t.HEAT_NO,0,9) = substr('"+list.get(0).getHeat_no()+"',0,9) and t.FREQ_CODE = 'D' and t.smp_type_code = '0' and T.QUOTE_CONSIGN_NO is null and rownum <=1"); /*if(listd.get(0).get("BATCH_NO").toString().equals(qjl.getBatch_no())){ throw new Exception("夹杂不能选择初样不合格的轧批进行复样!"); }*/ //非初样轧批质量异常材处置 qjl = new QCMJudgeLocking(); qjl.setUnlock_type_code("1"); qjl.setUnlock_type_desc("复样"); qjl.setUnlock_memo(param1.get(4).toString()); qjl.setUnlock_result(""); qjl.setPic_locking("0"); qjl.setHeat_no(list.get(0).getHeat_no()); //qjl.setMaterial_no(lists.get("BILLETID").toString()); qjl.setBatch_no(listd.get(0).get("BATCH_NO").toString()); qjl.setUnlock_name(param1.get(5).toString()); qjl.setLock_id(param1.get(6).toString()); qjl.setReason_code(param1.get(7).toString()); qjl.setLock_type_code(param1.get(2).toString()); List listsu = mapper.finddefecttype(param1.get(7).toString()); if(listsu.size() >0) { qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString()); qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString()); qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString()); } mapper.UpdateQcmJudgeLocking7(qjl); sql = "select * from qcm_judge_locking where batch_no = '"+qjls.get(0).getBatch_no()+"'"; List qjlf = mapper.queryQCMJudgeLockings(sql); for(QCMJudgeLocking qjll:qjlf){ QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("复样"); qjog.setParams(qjll.getMaterial_no()); qjog.setBatchno(qjls.get(0).getBatch_no()); qjog.setProd_line(qjll.getPline_code()); mapper.insertQcmJudgeOperateLog(qjog); } //初样质量异常材处置 qjl = new QCMJudgeLocking(); qjl.setUnlock_type_code("0"); qjl.setUnlock_type_desc("待判"); qjl.setUnlock_memo("初样取样批号不可复样"); qjl.setPic_locking("0"); //qjl.setMaterial_no(lists.get("BILLETID").toString()); qjl.setBatch_no(listd.get(0).get("BATCH_NO").toString()); qjl.setUnlock_name(param1.get(5).toString()); qjl.setLock_id(param1.get(6).toString()); qjl.setReason_code(param1.get(7).toString()); qjl.setLock_type_code(param1.get(2).toString()); qjl.setLock_name(param1.get(5).toString()); listsu = mapper.finddefecttype(param1.get(7).toString()); if(listsu.size() >0) { qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString()); qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString()); qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString()); } List qjl2 = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking x where substr(x.heat_no,0,9) = substr('"+list.get(0).getHeat_no()+"',0,9) and batch_no <> '"+list.get(0).getBatch_no()+"' and unlock_type_code is null"); for(QCMJudgeLocking qjl22 : qjl2){ zra.setBilletid(qjl22.getMaterial_no()); mapper.UpdateJugeResultB(zra); } List qjl3 = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking x where substr(x.heat_no,0,9) = substr('"+list.get(0).getHeat_no()+"',0,9) and batch_no = '"+list.get(0).getBatch_no()+"' and material_no = '"+lists.get("BILLETID").toString()+"' and unlock_type_code is null"); mapper.UpdateQcmJudgeLocking1(qjl); for(QCMJudgeLocking qjl22 : qjl3){ int count = 0; String condition = " and MATERIAL_NO = '"+qjl22.getMaterial_no()+"' order by LOCK_SEQ desc "; List qjlk = mapper.queryQCMJudgeLocking(condition); if(qjlk.size() > 0){ count=qjlk.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; qjl22.setLock_seq(lock_seq); qjl22.setUnlock_type_code(""); qjl22.setUnlock_type_desc(""); qjl22.setLock_memo("待判"); qjl22.setTarget_design_key(""); qjl22.setUnlock_name(""); mapper.insertQCMJudgeLocking(qjl22); } //param1.set(6, listd.get(0).get("SMP_NO").toString()); SendGenerationSampleInfo2(listd.get(0).get("BATCH_NO").toString(),hashmap,param1,"1","1",listd.get(0).get("SMP_NO").toString(),"1"); }else{ //质量异常材处置 qjl = new QCMJudgeLocking(); qjl.setUnlock_type_code("1"); qjl.setUnlock_type_desc("复样"); qjl.setUnlock_memo(param1.get(4).toString()); qjl.setUnlock_result(""); qjl.setPic_locking("0"); //qjl.setMaterial_no(lists.get("BILLETID").toString()); qjl.setBatch_no(qjls.get(0).getBatch_no()); qjl.setUnlock_name(param1.get(5).toString()); if(param1.get(0).toString().startsWith("H") || param1.get(0).toString().startsWith("Z")){ qjl.setLock_id(param1.get(6).toString()); } qjl.setReason_code(param1.get(7).toString()); qjl.setLock_type_code(param1.get(2).toString()); List listsu = mapper.finddefecttype(param1.get(7).toString()); if(listsu.size() >0) { qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString()); qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString()); qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString()); } mapper.UpdateQcmJudgeLocking1(qjl); SendGenerationSampleInfo("",hashmap,param1,"1","1","2"); zra.setBilletid_jy(list1.get(0).get("BILLETID_JY").toString()); mapper.UpdateJugeResultB(zra); sql = "select * from qcm_judge_locking where batch_no = '"+qjls.get(0).getBatch_no()+"'"; List qjlf = mapper.queryQCMJudgeLockings(sql); for(QCMJudgeLocking qjll:qjlf){ QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("复样"); qjog.setParams(qjll.getMaterial_no()); qjog.setBatchno(qjls.get(0).getBatch_no()); qjog.setProd_line(qjll.getPline_code()); mapper.insertQcmJudgeOperateLog(qjog); } } } }else{ for(HashMap lists:list2){ if(!lists.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能复样!"); } } QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); if(list.get(0).getCert_inst_name().equals("检测中心")) { zra.setPhyfstsresult("0"); zra.setPhyfstsresult_desc(""); } zra.setPhysresult("0"); zra.setPhysresult_desc(""); zra.setInspection_lot(list2.get(0).get("INSPECTION_LOT").toString()); zra.setPic_is_lock("0"); List qjsrt = mapper.queryQcmJhySampleROrd1("select * from QCM_JHY_SAMPLE_R_ORD where INSPECTION_LOT = '"+list2.get(0).get("COIL_NO").toString()+"' and JUDGE_STATUS = '0'"); if(qjsrt.size() > 0){ throw new Exception("该检验号下存在未判信息,不能复样!"); } sql = "select * from qcm_jhy_sample_r_ord z where z.smp_no in (select a.smp_no from qcm_judge_physical a where a.phy_id = '"+param1.get(6).toString()+"') and z.duplicate_sample = '复样'"; List listF= mapper.query(sql); if(listF.size() >0){ throw new Exception("已复样的不能复样!"); } for(HashMap lists:list2){ //质量异常材处置 qjl = new QCMJudgeLocking(); qjl.setUnlock_type_code("1"); qjl.setUnlock_type_desc("复样"); qjl.setUnlock_memo(param1.get(4).toString()); qjl.setUnlock_result(""); qjl.setPic_locking("0"); //qjl.setMaterial_no(lists.get("COIL_NO").toString()); qjl.setBatch_no(qjls.get(0).getBatch_no()); qjl.setUnlock_name(param1.get(5).toString()); qjl.setLock_id(param1.get(6).toString()); qjl.setReason_code(param1.get(7).toString()); qjl.setLock_type_code(param1.get(2).toString()); List listsu = mapper.finddefecttype(param1.get(7).toString()); if(listsu.size() >0) { qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString()); qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString()); qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString()); } mapper.UpdateQcmJudgeLocking1(qjl); sql = "select * from qcm_judge_locking where batch_no = '"+qjls.get(0).getBatch_no()+"'"; List qjlf = mapper.queryQCMJudgeLockings(sql); for(QCMJudgeLocking qjll:qjlf){ QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(param1.get(5).toString()); qjog.setOperate_type("复样"); qjog.setParams(qjll.getMaterial_no()); qjog.setBatchno(qjls.get(0).getBatch_no()); qjog.setProd_line(qjll.getPline_code()); mapper.insertQcmJudgeOperateLog(qjog); } } //QcmJhyPhyresultServiceImpl qjps = new QcmJhyPhyresultServiceImpl(); SendGenerationSampleInfo("",hashmap,param1,"1","1",""); mapper.UpdateJugeResultJ(zra); } }else{ throw new Exception("未找到库存信息!"); } }else{ throw new Exception("封锁来源与所选的异常材处置操作不一致,请重新选择处置操作!"); } SqlSession.commit(); // } }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg(e.getMessage()); logger.info(e.getMessage()); // SqlSession.rollback(); } // SqlSession.close(); return cro; } 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()); } } } /*** * 判次、判废综合判定: * @param sum * @return */ @SuppressWarnings({ "rawtypes", "unused" }) public CoreReturnObject ultimateJudgeAuto1(String material_no, String username,String type) throws Exception{ try{ int count = 0; List hashmap = mapper.doQueryMaterialInfoHB(material_no); if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoZB(material_no); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoX(material_no); } if(hashmap.size() == 0){ hashmap = mapper.doQueryMaterialInfoJ(material_no); } String sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'"; int flag = 0; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'"; List list2 = mapper.query(sql); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ for(HashMap list:list1){ QcmJudgeUltimate qju=new QcmJudgeUltimate(); //获取判定记录号当天的最大值 Date now = new Date(); String opr_time = new SimpleDateFormat("yyyyMMddHHmmss").format(now); //操作时间 SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(now); count=0; String type1 = ""; if(material_no.startsWith("Z")||material_no.startsWith("H")){ type1 = "ZB"; }else{ type1 = "ZX"; } sql ="select * from (select * from qcm_judge_ultimate where UTM_ID like '"+type1+date+"%' order by UTM_ID desc) where rownum <= 1"; List listUl=mapper.QcmJudgeUltimate(sql); if (listUl!=null&&listUl.size()>0) { String s=listUl.get(0).getUtm_id(); count=Integer.parseInt(s.substring(s.length()-4,s.length())); } count++; String utm_id=type1+sdf.format(now)+String.format("%04d",count); qju.setUtm_id(utm_id); //更新库存表综合判定结果 ZjResultAll zra = new ZjResultAll(); zra.setBilletid(material_no); zra.setJudgeid(utm_id); if(type.equals("3")){ zra.setJudgeresult("3"); zra.setJudgeresult_desc("次品"); } else if(type.equals("4")){ zra.setJudgeresult("4"); zra.setJudgeresult_desc("废品"); }else if(type.equals("0")){ zra.setJudgeresult("0"); zra.setJudgeresult_desc("待判"); } if(zra.getJudgeresult().equals("2")){ throw new Exception("综合判定不合格!"); } mapper.UpdateJugeResultB(zra); //插入综合判定记录表 qju.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qju.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qju.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qju.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qju.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qju.setMaterial_no(material_no); qju.setUtm_id(utm_id); qju.setUtm_memo(""); qju.setUtm_result_code(zra.getJudgeresult()); qju.setUtm_result_desc(zra.getJudgeresult_desc()); qju.setCic_id(list1.get(0).get("CHEMID") == null?"":list1.get(0).get("CHEMID").toString()); qju.setCic_result_code(list1.get(0).get("CHEMRESULT")==null?"":list1.get(0).get("CHEMRESULT").toString()); qju.setCic_result_desc(list1.get(0).get("CHEMRESULT_DESC")==null?"":list1.get(0).get("CHEMRESULT_DESC").toString()); qju.setR_cic_id(list1.get(0).get("R_CHEMID") == null?"":list1.get(0).get("R_CHEMID").toString()); qju.setR_cic_result_code(list1.get(0).get("R_CHEMRESULT")==null?"":list1.get(0).get("R_CHEMRESULT").toString()); qju.setR_cic_result_desc(list1.get(0).get("R_CHEMRESULT_DESC")==null?"":list1.get(0).get("R_CHEMRESULT_DESC").toString()); qju.setPic_id(list1.get(0).get("PHYSID") == null?"":list1.get(0).get("PHYSID").toString()); qju.setPic_result_code(list1.get(0).get("PHYSRESULT")==null?"":list1.get(0).get("PHYSRESULT").toString()); qju.setPic_result_desc(list1.get(0).get("PHYSRESULT_DESC")==null?"":list1.get(0).get("PHYSRESULT_DESC").toString()); qju.setSic_id(list1.get(0).get("SIZEID") == null?"":list1.get(0).get("SIZEID").toString()); qju.setSic_result_code(list1.get(0).get("SIZERESULT")==null?"":list1.get(0).get("SIZERESULT").toString()); qju.setSic_result_desc(list1.get(0).get("SIZERESULT_DESC")==null?"":list1.get(0).get("SIZERESULT_DESC").toString()); qju.setDic_id(list1.get(0).get("SPYID")==null?"":list1.get(0).get("SPYID").toString()); qju.setDic_result_code(list1.get(0).get("SPYRESULT")==null?"":list1.get(0).get("SPYRESULT").toString()); qju.setDic_result_desc(list1.get(0).get("SPYRESULT_DESC")==null?"":list1.get(0).get("SPYRESULT_DESC").toString()); qju.setSfd_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString()); qju.setSfd_result_code(list1.get(0).get("UD_SURFACE_RESULT")==null?"":list1.get(0).get("UD_SURFACE_RESULT").toString()); qju.setSfd_result_desc(list1.get(0).get("UD_SURFACE_RESULT_DESC")==null?"":list1.get(0).get("UD_SURFACE_RESULT_DESC").toString()); qju.setSfu_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString()); qju.setSfu_result_code(list1.get(0).get("UP_SURFACE_RESULT")==null?"":list1.get(0).get("UP_SURFACE_RESULT").toString()); qju.setSfu_result_desc(list1.get(0).get("UP_SURFACE_RESULT_DESC")==null?"":list1.get(0).get("UP_SURFACE_RESULT_DESC").toString()); qju.setSfe_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString()); qju.setSfe_result_code(list1.get(0).get("MARGINAL_RESULT")==null?"":list1.get(0).get("MARGINAL_RESULT").toString()); qju.setSfe_result_desc(list1.get(0).get("MARGINAL_RESULT_DESC")==null?"":list1.get(0).get("MARGINAL_RESULT_DESC").toString()); qju.setMst_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString()); qju.setMst_result_code(list1.get(0).get("SURFACERESULT")==null?"":list1.get(0).get("SURFACERESULT").toString()); qju.setMst_result_desc(list1.get(0).get("SURFACERESULT_DESC")==null?"":list1.get(0).get("SURFACERESULT_DESC").toString()); qju.setFst_id(list1.get(0).get("PHYFSTSID")==null?"":list1.get(0).get("PHYFSTSID").toString()); qju.setFst_result_code(list1.get(0).get("PHYFSTSRESULT")==null?"":list1.get(0).get("PHYFSTSRESULT").toString()); qju.setFst_result_desc(list1.get(0).get("PHYFSTSRESULT_DESC")==null?"":list1.get(0).get("PHYFSTSRESULT_DESC").toString()); qju.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qju.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qju.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qju.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qju.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qju.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString()); qju.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qju.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qju.setJudge_name(username); qju.setJudge_time(new Date()); qju.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qju.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); mapper.insertQcmJudgeUltimate(qju); String judgeresult = ""; if(zra.getJudgeresult().equals("1")){ judgeresult = "40140101"; }else if(zra.getJudgeresult().equals("3")){ if(zra.getSurfaceresult() != null && zra.getSurfaceresult().equals("3")){ judgeresult = "40140301"; }else{ judgeresult = "40140302"; } }else if(zra.getJudgeresult().equals("4")){ judgeresult = "40140303"; }else if(zra.getJudgeresult().equals("0")){ judgeresult = "40140401"; } String cj_result = ""; 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(),judgeresult,"","","",cj_result,material_no,username,hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString(),utm_id,hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString(),steelname); } }else{ for(HashMap list:list2){ QcmJudgeUltimate qju=new QcmJudgeUltimate(); //获取判定记录号当天的最大值 Date now = new Date(); String opr_time = new SimpleDateFormat("yyyyMMddHHmmss").format(now); //操作时间 SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(now); count=0; sql ="select * from qcm_judge_ultimate where UTM_ID like 'ZJ"+date+"%' order by UTM_ID desc"; List listUl=mapper.QcmJudgeUltimate(sql); if (listUl!=null&&listUl.size()>0) { String s=listUl.get(0).getUtm_id(); count=Integer.parseInt(s.substring(s.length()-4,s.length())); } count++; String utm_id="ZJ"+sdf.format(now)+String.format("%04d",count); //更新库存表综合判定结果 QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(material_no); zra.setJudgeid(utm_id); if(type.equals("3")){ zra.setJudgeresult("3"); zra.setJudgeresult_desc("次品"); } else if(type.equals("4")){ zra.setJudgeresult("4"); zra.setJudgeresult_desc("废品"); } if(zra.getJudgeresult().equals("2")){ throw new Exception("综合判定不合格!"); } mapper.UpdateJugeResultJ(zra); //插入综合判定记录表 qju.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qju.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qju.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qju.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qju.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null ?"":hashmap.get(0).get("INSPECTION_LOT").toString()); qju.setMaterial_no(material_no); qju.setUtm_id(utm_id); qju.setUtm_memo(""); qju.setUtm_result_code(zra.getJudgeresult()); qju.setUtm_result_desc(zra.getJudgeresult_desc()); qju.setCic_id(list2.get(0).get("CHEMID") == null?"":list2.get(0).get("CHEMID").toString()); qju.setCic_result_code(list2.get(0).get("CHEMRESULT")==null?"":list2.get(0).get("CHEMRESULT").toString()); qju.setCic_result_desc(list2.get(0).get("CHEMRESULT_DESC")==null?"":list2.get(0).get("CHEMRESULT_DESC").toString()); qju.setR_cic_id(list2.get(0).get("R_CHEMID") == null?"":list2.get(0).get("R_CHEMID").toString()); qju.setR_cic_result_code(list2.get(0).get("R_CHEMRESULT")==null?"":list2.get(0).get("R_CHEMRESULT").toString()); qju.setR_cic_result_desc(list2.get(0).get("R_CHEMRESULT_DESC")==null?"":list2.get(0).get("R_CHEMRESULT_DESC").toString()); qju.setPic_id(list2.get(0).get("PHYSID") == null?"":list2.get(0).get("PHYSID").toString()); qju.setPic_result_code(list2.get(0).get("PHYSRESULT")==null?"":list2.get(0).get("PHYSRESULT").toString()); qju.setPic_result_desc(list2.get(0).get("PHYSRESULT_DESC")==null?"":list2.get(0).get("PHYSRESULT_DESC").toString()); qju.setSic_id(list2.get(0).get("SIZEID") == null?"":list2.get(0).get("SIZEID").toString()); qju.setSic_result_code(list2.get(0).get("SIZERESULT")==null?"":list2.get(0).get("SIZERESULT").toString()); qju.setSic_result_desc(list2.get(0).get("SIZERESULT_DESC")==null?"":list2.get(0).get("SIZERESULT_DESC").toString()); qju.setDic_id(list2.get(0).get("SPYID")==null?"":list2.get(0).get("SPYID").toString()); qju.setDic_result_code(list2.get(0).get("SPYRESULT")==null?"":list2.get(0).get("SPYRESULT").toString()); qju.setDic_result_desc(list2.get(0).get("SPYRESULT_DESC")==null?"":list2.get(0).get("SPYRESULT_DESC").toString()); qju.setSfd_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString()); qju.setSfd_result_code(list2.get(0).get("UD_SURFACE_RESULT")==null?"":list2.get(0).get("UD_SURFACE_RESULT").toString()); qju.setSfd_result_desc(list2.get(0).get("UD_SURFACE_RESULT_DESC")==null?"":list2.get(0).get("UD_SURFACE_RESULT_DESC").toString()); qju.setSfu_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString()); qju.setSfu_result_code(list2.get(0).get("UP_SURFACE_RESULT")==null?"":list2.get(0).get("UP_SURFACE_RESULT").toString()); qju.setSfu_result_desc(list2.get(0).get("UP_SURFACE_RESULT_DESC")==null?"":list2.get(0).get("UP_SURFACE_RESULT_DESC").toString()); qju.setSfe_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString()); qju.setSfe_result_code(list2.get(0).get("MARGINAL_RESULT")==null?"":list2.get(0).get("MARGINAL_RESULT").toString()); qju.setSfe_result_desc(list2.get(0).get("MARGINAL_RESULT_DESC")==null?"":list2.get(0).get("MARGINAL_RESULT_DESC").toString()); qju.setMst_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString()); qju.setMst_result_code(list2.get(0).get("SURFACERESULT")==null?"":list2.get(0).get("SURFACERESULT").toString()); qju.setMst_result_desc(list2.get(0).get("SURFACERESULT_DESC")==null?"":list2.get(0).get("SURFACERESULT_DESC").toString()); qju.setFst_id(list2.get(0).get("PHYFSTSID")==null?"":list2.get(0).get("PHYFSTSID").toString()); qju.setFst_result_code(list2.get(0).get("PHYFSTSRESULT")==null?"":list2.get(0).get("PHYFSTSRESULT").toString()); qju.setFst_result_desc(list2.get(0).get("PHYFSTSRESULT_DESC")==null?"":list2.get(0).get("PHYFSTSRESULT_DESC").toString()); qju.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qju.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qju.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qju.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qju.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString()); qju.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString()); qju.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qju.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qju.setTic_id(list2.get(0).get("TIC_ID")==null?"":list2.get(0).get("TIC_ID").toString()); qju.setTic_result_code(list2.get(0).get("TIC_RESULT")==null?"":list2.get(0).get("TIC_RESULT").toString()); qju.setTic_result_desc(list2.get(0).get("TIC_RESULT_DESC")==null?"":list2.get(0).get("TIC_RESULT_DESC").toString()); qju.setJudge_name(username); qju.setJudge_time(new Date()); qju.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qju.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); mapper.insertQcmJudgeUltimate(qju); } } }else{ throw new Exception("未找到该检验号下的库存信息!"); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name("system"); qjog.setOperate_type("轧钢自动判定:综合判定ultimateJudgeAuto"); qjog.setParams(material_no); 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()); mapper.insertQcmJudgeOperateLog(qjog); //cro = creatUltimateResultByHand(material_no,username);//手动进行综合判定 }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg(ex.getMessage()); //SqlSession.rollback(); } //SqlSession.close(); return cro; } private void judge_call(String aPlanStand,String aPlanPurpose,String aStand, String aPurpose, String aHIC,String aCollResult,String aJudgeReason, String aJudgeMemo , String aXJudgeMemo, String aMuliSteelInfo , String aSlabNos, String aOperator, String aProductName, String aRclStae,String sBH, String aApplyOrderno,String steelname) throws java.lang.Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call GETJHTOMESPLAN.JudgeRec_Add@xgcx(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, aPlanStand); cstmt.setString(2, aPlanPurpose); cstmt.setString(3, aStand); cstmt.setString(4, aPurpose); cstmt.setString(5, aHIC); cstmt.setString(6, aCollResult); cstmt.setString(7, aJudgeReason); cstmt.setString(8, aJudgeMemo); cstmt.setString(9, aXJudgeMemo); cstmt.setString(10, aMuliSteelInfo); cstmt.setString(11, aSlabNos); cstmt.setString(12, aOperator); cstmt.setString(13, aProductName); cstmt.setString(14, aRclStae); cstmt.setString(15, sBH); cstmt.setString(16, aApplyOrderno); cstmt.setString(17, steelname); cstmt.registerOutParameter(18, java.sql.Types.INTEGER); cstmt.execute(); if(cstmt.getString(18) != null){ if(cstmt.getString(18).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 void PhyUtmJudge(String design_key,String inspection_lot,String username)throws Exception{ try { //判断试样号是否都已经判定完 List listor = mapper.findInfo(design_key, "B",inspection_lot); String pic_id=""; List lstr=new ArrayList(); for (QcmJhySampleROrd l : listor) { if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) { lstr.add(l.getJudge_result_desc()); } /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) { lstr.add("待判"); }*/ else { lstr.add("null"); } } QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM(); QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD(); if (!lstr.contains("待判")) { if (!lstr.contains("null")) { if (lstr.contains("不合格")) { qpu.setPic_result_desc("不合格"); qpu.setPic_result_code("2"); }else if(lstr.contains("判次")){ qpu.setPic_result_desc("判次"); qpu.setPic_result_code("3"); }else if(lstr.contains("判废")){ qpu.setPic_result_desc("判废"); qpu.setPic_result_code("4"); }else{ qpu.setPic_result_desc("合格"); qpu.setPic_result_code("1"); } //把对应的数据加入qcm_judge_Physical_Utm_M表中 int a=0; for (QcmJhySampleROrd q : listor) { //获取当日最大编号 if (a==0) { int count=0; SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); // 获取材质结果集编号最大值 List qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC"); if(qrlist!=null&&qrlist.size()>0){ String s=qrlist.get(0).getPic_id(); count=Integer.parseInt(s.substring(s.length()-4, s.length())); } count++; pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count); qpu.setPic_id(pic_id); qpu.setInspection_lot(q.getInspection_lot()); qpu.setDesign_key(q.getDesign_key()); mapper.insertQcmJudgePhysicalUtmM(qpu); a++; } qpd.setPic_id(pic_id); qpd.setSmp_no(q.getSmp_no()); qpd.setHeat_no(q.getHeat_no()); qpd.setBatch_no(q.getBatch_no()); qpd.setInspection_lot(q.getInspection_lot()); qpd.setDesign_key(q.getDesign_key()); qpd.setPsc(q.getPsc()); qpd.setCert_inst_code(q.getCert_inst_code()); qpd.setCert_inst_name(q.getCert_inst_name()); qpd.setSmp_type_code(q.getSmp_type_code()); qpd.setSmp_type_name(q.getSmp_type_name()); qpd.setJudge_result_code(q.getJudge_result_code()); qpd.setJudge_result_desc(q.getJudge_result_desc()); qpd.setPhy_id(q.getPhy_id()); qpd.setJudge_ttime(new Date()); qpd.setJudge_name("system"); //pme.setPhysresult_id(pic_id); mapper.insertQcmJudgePhysicalUtmD(qpd); String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+inspection_lot+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+inspection_lot+"'"; List list2 = mapper.query(sql); if(list1.size() >0 || list2.size() >0){ if(list1.size()>0){ // 更新库存表材质判定结果 ZjResultAll zra = new ZjResultAll(); zra.setBilletid_jy(inspection_lot); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultB(zra); }else{ // 更新库存表材质判定结果 QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setInspection_lot(inspection_lot); zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0"); zra.setPhysid(pic_id); zra.setPhysresult(qpu.getPic_result_code()); zra.setPhysresult_desc(qpu.getPic_result_desc()); mapper.UpdateJugeResultJ(zra); } }else{ continue; } } } } }catch(Exception e){ throw new Exception(e.getMessage()); } } public void SendGenerationSampleInfo(String batch_no,List hashmap,ArrayList param1,String type,String type2,String hj_name)throws Exception{ JSONObject jsobj1 = new JSONObject(); JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); String smp_no = ""; String psc = ""; if(hashmap.size() == 0){ throw new Exception("找不到库存!"); } QcmJhySampleROrd qjsp = mapper.queryQcmJhySampleROrd(hashmap.get(0).get("DESIGN_KEY").toString()); List listz = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where phy_id = '"+param1.get(6).toString()+"'"); if(listz.size()>0){ smp_no = listz.get(0).getSmp_no(); psc = listz.get(0).getPsc(); } else{ List lists = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '"+param1.get(6).toString()+"'"); if(lists.size()>0){ smp_no = lists.get(0).getSmp_no(); psc = lists.get(0).getPsc(); } } /*int count=Integer.parseInt(hashmap.get(0).get("INSPECTION_LOT").toString().substring(hashmap.get(0).get("INSPECTION_LOT").toString().length()-4, hashmap.get(0).get("INSPECTION_LOT").toString().length())); count++; String INSPECTION_LOT=hashmap.get(0).get("INSPECTION_LOT").toString().substring(0,hashmap.get(0).get("INSPECTION_LOT").toString().length()-4)+String.format("%04d",count);*/ jsobj2.put("INSPECTION_LOT", hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); jsobj2.put("DESIGN_KEY", hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); jsobj2.put("PSC", psc); jsobj2.put("HEAT_NO", hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); jsobj2.put("BATCH_NO", hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); jsobj2.put("BOARD_NO", hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); jsobj2.put("GRADE_CODE", hashmap.get(0).get("GRADE_CODE")==null?"":hashmap.get(0).get("GRADE_CODE").toString()); jsobj2.put("GRADE_NAME", hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); jsobj2.put("PLINE_ABBR", hashmap.get(0).get("PLINE_ABBR")==null?"":hashmap.get(0).get("PLINE_ABBR").toString()); jsobj2.put("MATERIAL_NO", hashmap.get(0).get("MATERIAL_NO")==null?"":hashmap.get(0).get("MATERIAL_NO").toString()); jsobj2.put("MSC_PLINE", "12345"); jsobj2.put("PLINE_CODE", hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); jsobj2.put("PLINE_NAME", hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); jsobj2.put("DELIVERY_STATE_CODE", hashmap.get(0).get("DELIVERY_STATE_CODE")==null?"":hashmap.get(0).get("DELIVERY_STATE_CODE").toString()); jsobj2.put("DELIVERY_STATE_DESC", hashmap.get(0).get("DELIVERY_STATE_DESC")==null?"":hashmap.get(0).get("DELIVERY_STATE_DESC").toString()); jsobj2.put("PROCESS_CODE", ""); jsobj2.put("THICK", hashmap.get(0).get("THICK")==null?"": hashmap.get(0).get("THICK").toString()); jsobj2.put("WIDTH", hashmap.get(0).get("WIDTH")==null?"":hashmap.get(0).get("WIDTH").toString()); jsobj2.put("LENGTH", hashmap.get(0).get("LENGTH")==null?"": hashmap.get(0).get("LENGTH").toString()); jsobj2.put("IS_QTLY", type.equals("2")?"1":(type2.equals("0")?"0":"1")); jsobj2.put("IS_CHEM", type.equals("2")?"1":(type2.equals("0")?"1":"0")); jsobj2.put("TYPE", type); jsobj2.put("MEMO", param1.get(4).toString()); jsobj2.put("QLTY_SMP_NO", smp_no); jsobj2.put("HJ_NAME", hj_name); if(!batch_no.equals("")){ jsobj2.put("BATCH_NO", batch_no); } ttmaps.add(jsobj2); jsobj1.put("KEY", ttmaps); WebService1Impl web = new WebService1Impl(); //复样 try { String result = web.sendDuplicateSample(jsobj1.toString()); if(!result.equals("1")){ throw new Exception(result); } } catch (Exception e) { // TODO Auto-generated catch block throw new Exception(e.getMessage()); } } public void SendGenerationSampleInfo2(String batch_no,List hashmap,ArrayList param1,String type,String type2,String smp_no,String hj_name)throws Exception{ JSONObject jsobj1 = new JSONObject(); JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); String psc = ""; if(hashmap.size() == 0){ throw new Exception("找不到库存!"); } QcmJhySampleROrd qjsp = mapper.queryQcmJhySampleROrd(hashmap.get(0).get("DESIGN_KEY").toString()); List listz = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where phy_id = '"+param1.get(6).toString()+"'"); if(listz.size()>0){ psc = listz.get(0).getPsc(); } else{ List lists = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '"+param1.get(6).toString()+"'"); if(lists.size()>0){ psc = lists.get(0).getPsc(); } } /*int count=Integer.parseInt(hashmap.get(0).get("INSPECTION_LOT").toString().substring(hashmap.get(0).get("INSPECTION_LOT").toString().length()-4, hashmap.get(0).get("INSPECTION_LOT").toString().length())); count++; String INSPECTION_LOT=hashmap.get(0).get("INSPECTION_LOT").toString().substring(0,hashmap.get(0).get("INSPECTION_LOT").toString().length()-4)+String.format("%04d",count);*/ jsobj2.put("INSPECTION_LOT", hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString()); jsobj2.put("DESIGN_KEY", hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); jsobj2.put("PSC", psc); jsobj2.put("HEAT_NO", hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); jsobj2.put("BATCH_NO", hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); jsobj2.put("BOARD_NO", hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); jsobj2.put("GRADE_CODE", hashmap.get(0).get("GRADE_CODE")==null?"":hashmap.get(0).get("GRADE_CODE").toString()); jsobj2.put("GRADE_NAME", hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); jsobj2.put("PLINE_ABBR", hashmap.get(0).get("PLINE_ABBR")==null?"":hashmap.get(0).get("PLINE_ABBR").toString()); jsobj2.put("MATERIAL_NO", hashmap.get(0).get("MATERIAL_NO")==null?"":hashmap.get(0).get("MATERIAL_NO").toString()); jsobj2.put("MSC_PLINE", "12345"); jsobj2.put("PLINE_CODE", hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); jsobj2.put("PLINE_NAME", hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); jsobj2.put("DELIVERY_STATE_CODE", hashmap.get(0).get("DELIVERY_STATE_CODE")==null?"":hashmap.get(0).get("DELIVERY_STATE_CODE").toString()); jsobj2.put("DELIVERY_STATE_DESC", hashmap.get(0).get("DELIVERY_STATE_DESC")==null?"":hashmap.get(0).get("DELIVERY_STATE_DESC").toString()); jsobj2.put("PROCESS_CODE", ""); jsobj2.put("THICK", hashmap.get(0).get("THICK")==null?"": hashmap.get(0).get("THICK").toString()); jsobj2.put("WIDTH", hashmap.get(0).get("WIDTH")==null?"":hashmap.get(0).get("WIDTH").toString()); jsobj2.put("LENGTH", hashmap.get(0).get("LENGTH")==null?"": hashmap.get(0).get("LENGTH").toString()); jsobj2.put("IS_QTLY", type.equals("2")?"1":(type2.equals("0")?"0":"1")); jsobj2.put("IS_CHEM", type.equals("2")?"1":(type2.equals("0")?"1":"0")); jsobj2.put("TYPE", type); jsobj2.put("MEMO", param1.get(4).toString()); jsobj2.put("QLTY_SMP_NO", smp_no); jsobj2.put("HJ_NAME", hj_name); if(!batch_no.equals("")){ jsobj2.put("BATCH_NO", batch_no); } ttmaps.add(jsobj2); jsobj1.put("KEY", ttmaps); WebService1Impl web = new WebService1Impl(); //复样 try { String result = web.sendDuplicateSample(jsobj1.toString()); if(!result.equals("1")){ throw new Exception(result); } } catch (Exception e) { // TODO Auto-generated catch block throw new Exception(e.getMessage()); } } }