package QCM.QCM03.QCM0305; import CoreFS.SA01.CoreIComponent; import CoreFS.SA06.CoreReturnObject; import QCM.COMMUNAL.QCM02.SqlJoint; import QCM.COMMUNAL.VO.*; import QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl; import QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl; import QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicHeader; import org.apache.http.protocol.HTTP; import org.apache.ibatis.session.SqlSession; import org.apache.log4j.Logger; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; public class QcmJudgeSurfaceServiceImpl extends CoreIComponent{ CoreReturnObject cro = new CoreReturnObject(); ResultSet rs = null; SqlSession SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession(); QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class); Logger logger = Logger.getLogger(this.getClass().getName()); //QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl(); public String StrSky(String begintime,String endtime){ String sql = "select (to_date('"+endtime+"','yyyy-MM-dd') - to_date('"+begintime+"','yyyy-MM-dd')) SKY from dual"; HashMap list = mapper.queryOne(sql); Double ble = Double.parseDouble(list.get("SKY").toString()); String tstr="FALSE"; if(ble>=0 && ble <=30 ){ tstr="TRUE"; } return tstr; } /** * 质量判定-根据检验记录号获得缺陷信息 * sum.material_no 产品序号 * */ /** * @param surface_id * @return */ @SuppressWarnings("rawtypes") public CoreReturnObject findNameByMN(String surface_id){ String sql = ""; try { sql = "select case when IS_REPAIR = '0' or IS_REPAIR = '待修复' then '待修复' when IS_REPAIR = '2' or IS_REPAIR = '未冷矫' then '未冷矫' when IS_REPAIR = '3' or IS_REPAIR = '已冷矫' then '已冷矫' else '已修复' end IS_REPAIR, " + " case when PRIMARY_FLAG = '0' then '否' when PRIMARY_FLAG = '1' then '是' else '' end PRIMARY_FLAG, " + " t.SURFACE_ID,t.FLAW_SEQ,t.FLAW_DESC,FLAW_TYPE_DESC, " + " case when FLAW_AREA = 'U' THEN '上表面' when FLAW_AREA = 'D' THEN '下表面' WHEN FLAW_AREA = 'U' THEN '边部' ELSE '' end FLAW_AREA, " + " t.FLAW_POS_DESC,t.FLAW_DIR_DESC,t.FLAW_SIZE_DESC,FLAW_LV_DESC,FLAW_QUANTITY,memo, " + " CREATE_NAME,FIXED_NAME,to_char(t.create_time,'yyyy-mm-dd HH24:mi:ss') create_time from QCM_JUDGE_SURFACE_FLAW t where t.SURFACE_ID = '"+surface_id+"'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); logger.info(e.getMessage()); } SqlSession.close(); return cro; } //优特详细信息 优特综合判定界面 @SuppressWarnings("rawtypes") public CoreReturnObject findNameByXX(String surface_id){ String sql = ""; try { sql = "select t.COILNO,res.PK_RLT_DESC,t.THICK,t.WIDTH,t.DIAMETER_INN,nvl(soi.IS_SIDE_CUTE,'0') IS_SIDE_CUTE,sur.LEVEL_DESC,t.FACTWEIGHT/1000 FACTWEIGHT " +" from YDM_PRODUCT_DETAIL@LINK_YTG t " +" left join MES_PACK_RESULT@LINK_YTG res on t.COILNO = res.COIL_NO " +" left join QCM_JUDGE_SURFACE@LINK_YTG sur on t.COILNO = sur.MATERIAL_NO " +" left join SLM_ORDER_INFO@LINK_YTG soi on soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ =t.ORDERNO " +" where t.COILNO = '"+surface_id+"' "; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); logger.info(e.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findNameByMN1(String surface_id){ String sql = ""; try { sql = "select case\r\n" + " when t.IS_REPAIR = '0' or t.IS_REPAIR = '待修复' then\r\n" + " '待修复'\r\n" + " when t.IS_REPAIR = '1' or t.IS_REPAIR = '已修复' then\r\n" + " '已修复'\r\n" + " end IS_REPAIR,\r\n" + " case\r\n" + " when t.PRIMARY_FLAG = '0' then\r\n" + " '否'\r\n" + " when t.PRIMARY_FLAG = '1' then\r\n" + " '是'\r\n" + " else\r\n" + " ''\r\n" + " end PRIMARY_FLAG,\r\n" + " t.SURFACE_ID,\r\n" + " t.FLAW_SEQ,\r\n" + " t.FLAW_DESC,\r\n" + " t1.level_desc,\r\n" + " FLAW_TYPE_DESC,\r\n" + " case\r\n" + " when FLAW_AREA = 'U' THEN\r\n" + " '上表面'\r\n" + " when FLAW_AREA = 'D' THEN\r\n" + " '下表面'\r\n" + " WHEN FLAW_AREA = 'U' THEN\r\n" + " '边部'\r\n" + " ELSE\r\n" + " ''\r\n" + " end FLAW_AREA,\r\n" + " t.FLAW_POS_DESC,\r\n" + " t.FLAW_DIR_DESC,\r\n" + " t.FLAW_SIZE_DESC,\r\n" + " FLAW_LV_DESC,\r\n" + " FLAW_QUANTITY,\r\n" + " memo,\r\n" + " CREATE_NAME,\r\n" + " FIXED_NAME,\r\n" + " to_char(t.create_time, 'yyyy-mm-dd HH24:mi:ss') create_time\r\n" + " from qcm_judge_surface t1,QCM_JUDGE_SURFACE_FLAW t\r\n" + " where t1.surface_id = t.surface_id(+)\r\n" + " and t1.SURFACE_ID = '"+surface_id+"'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); logger.info(e.getMessage()); } SqlSession.close(); return cro; } /** * 质量判定-根据检验记录号获得缺陷信息 * sum.material_no 产品序号 * */ @SuppressWarnings("rawtypes") public CoreReturnObject findNameByMN2(String surface_id){ String sql = " "; try { sql = "select case when IS_REPAIR = '0' or IS_REPAIR = '待修复' then '待修复' when IS_REPAIR = '2' or IS_REPAIR = '未冷矫' then '未冷矫' when IS_REPAIR = '3' or IS_REPAIR = '已冷矫' then '已冷矫' else '已修复' end IS_REPAIR, " + " case when PRIMARY_FLAG = '0' then '否' when PRIMARY_FLAG = '1' then '是' else '' end PRIMARY_FLAG, " + " t.SURFACE_ID,t.FLAW_SEQ,t.FLAW_DESC,FLAW_TYPE_DESC, " + " case when FLAW_AREA = 'U' THEN '上表面' when FLAW_AREA = 'D' THEN '下表面' WHEN FLAW_AREA = 'U' THEN '边部' ELSE '' end FLAW_AREA, " + " t.FLAW_POS_DESC,t.FLAW_DIR_DESC,t.FLAW_SIZE_DESC,FLAW_LV_DESC,FLAW_QUANTITY,memo, " + " CREATE_NAME,to_char(CREATE_TIME,'yyyy-mm-dd hh24:mi:ss') CREATE_TIME from QCM_JUDGE_SURFACE_FLAW t where t.SURFACE_ID in (" + surface_id +") order by CREATE_TIME desc" ; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); logger.info(e.getMessage()); } SqlSession.close(); return cro; } /** * 质量判定-根据检验记录号获得缺陷信息 * sum.material_no 产品序号 * */ @SuppressWarnings("rawtypes") public CoreReturnObject findNameByMNLg(String surface_id){ String sql = ""; try { sql = "select case when IS_REPAIR = '0' or IS_REPAIR = '待修复' then '待修复' else '已修复' end IS_REPAIR, " + " case when PRIMARY_FLAG = '0' then '否' else '是' end PRIMARY_FLAG, " + " t.SURFACE_ID,t.FLAW_SEQ,t.FLAW_DESC,FLAW_TYPE_DESC, " + " case when FLAW_AREA = 'U' THEN '上表面' when FLAW_AREA = 'D' THEN '下表面' else '边部' end FLAW_AREA, " + " t.FLAW_POS_DESC,t.FLAW_DIR_DESC,t.FLAW_SIZE_DESC,FLAW_LV_DESC,FLAW_QUANTITY,memo, " + " CREATE_NAME,FIXED_TYPE_DESC,FIXED_THICK from QCM_JUDGE_SURFACE_FLAW t where t.SURFACE_ID = '"+surface_id+"'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("查询失败!"+e.getMessage()); logger.info(e.getMessage()); } SqlSession.close(); return cro; } @SuppressWarnings({ "unused", "unchecked" }) public CoreReturnObject getLgRejudgeInfobyMaterial_no(String begintime,String endtime,String heatno,String prodline,String prod_type,String judge_type){ try{ QcmJhyElementsServiceImpl qjes = new QcmJhyElementsServiceImpl(); JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("START_TIME", begintime); jsobj1.put("END_TIME",endtime); jsobj1.put("HEAT_NO",heatno==null?"":heatno); jsobj1.put("PROD_LINE",prodline); jsobj1.put("PROD_TYPE",prod_type); jsobj1.put("JUDGE_TYPE",judge_type); jsobj1.put("ISJUDGE","0"); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"StorageForJudge",JSON.toJSONString(jsobj1)); if(result.contains("DATA")){ JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("DATA"); List listqjb = new ArrayList(); for(int i = 0;i params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ throw new Exception("请传入数据!"); } List hashmap = new ArrayList(); try { final String material_no = params2.get(0).toString(); QcmJhyElementsServiceImpl qjes = new QcmJhyElementsServiceImpl(); String Inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); String c = ""; if(params2.get(9).toString().equals("4001LG0")){ c="UL"; }else{ c="UD"; } String sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+c+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-5,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid=c+ymd + String.format("%05d",icount); //插入表面实绩表 hashmap = (List) getLgRejudgeInfobyMaterial_no("", "", material_no, params2.get(9).toString(), params2.get(10).toString(), "S").getResult(); if(hashmap == null || hashmap.size() == 0){ throw new Exception("未找到库存信息!"); } for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("MATERIAL_NO") == null ?"":hashmap.get(0).get("MATERIAL_NO").toString()); qjsf.setBoard_no(""); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); if(params2.get(1).toString().equals("1") && params2.get(9).toString().equals("4001LG0") && (hashmap.get(0).get("DESIGN_KEY")== null || hashmap.get(0).get("DESIGN_KEY").toString().equals(""))){ qjsf.setSf_result_desc("订单外合格"); } qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); if(!flaw_area.equals("")){ if(flaw_area.equals("U")){ qjsf.setSfu_is_lock("1"); }else if(flaw_area.equals("D")){ qjsf.setSfd_is_lock("1"); }else if(flaw_area.equals("E")){ qjsf.setSfe_is_lock("1"); } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(""); qjsf.setPsc_desc(""); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(""); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(""); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(""); qjsf.setSteel_name(hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); qjsf.setThick(params2.get(11).toString()); qjsf.setWidth(params2.get(12).toString()); qjsf.setLength(params2.get(13).toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(seq); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsflist.add(qjsffs); //seq = Long.parseLong(qjs.get(1).toString()); seq++; } // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0 && qjsflist.size() == 0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); /*String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql); // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } }*/ for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } } if(!flag){ /*seq++; qjsf1.setFlaw_seq(seq);*/ qjsflist.add(qjsf1); } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ //将获取的缺陷实绩信息插入表面缺陷实绩表 //String[] strList = qjsff.getFlaw_area().split(","); //for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(qjsff.getFlaw_area()); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; //} QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(StringUtils.isBlank(qjsff.getFlaw_area()) ? "U" : qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(4).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //调用熔炼成分判定 RlChemAutoJudgeByHuman //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 if ("2".equals(params2.get(1).toString())) { //生成质量封锁记录号 int count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; //获取缺陷 String flaw=""; String strsql = "select * from QCM_JUDGE_SURFACE_FLAW where SURFACE_ID = '"+sid+"'"; //in (select SURFACE_ID from qcm_judge_surface where material_no = '"+material_no+"') "; List qjsft = mapper.queryQcmJudgeSurfaceFlaw(strsql); for(QcmJudgeSurfaceFlaw qjsf1 :qjsft){ flaw+=qjsf1.getFlaw_desc()+","; } String lock_memo = ""; if (",".equals(flaw.substring(flaw.length()-1, flaw.length()))) { lock_memo = "表面:"+flaw.substring(0,flaw.length()-1); }else { lock_memo = "表面:"+flaw.substring(0,flaw.length()); } //插入封锁表 qjlk.setLock_type_code("F"); qjlk.setLock_type_desc("表面检验"); qjlk.setMaterial_no(material_no); qjlk.setLock_seq(lock_seq); qjlk.setLock_id(sid); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("GRADE_NAME") == null ?"":hashmap.get(0).get("GRADE_NAME").toString()); qjlk.setSteel_name(hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(params2.get(6).toString()); qjlk.setLock_memo(lock_memo +"-"+ params2.get(4).toString()); if(hashmap.get(0).get("PLINE_CODE").toString().equals("4001LGX") && params2.get(4).toString().equals("废品")){ qjlk.setUnlock_type_code("6"); qjlk.setUnlock_type_desc("判废"); qjlk.setUnlock_name(params2.get(6).toString()); qjlk.setUnlock_time(new java.util.Date()); }else { mapper.insertQCMJudgeLocking(qjlk); } } /*String z_result = ""; if(params2.get(9).toString().equals("4001LGX") && params2.get(1).toString().equals("2")){ z_result = "7"; }*/ QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定"); qjog.setParams(material_no); qjog.setProd_line(params2.get(9).toString()); mapper.insertQcmJudgeOperateLog(qjog); List t = mapper.query("SELECT to_char(wmsys.wm_concat(distinct FLAW_DESC)) memo FROM QCM_JUDGE_SURFACE_FLAW A WHERE A.SURFACE_ID = '"+sid+"'"); String s = t.get(0).get("MEMO") == null?"": t.get(0).get("MEMO").toString(); if(hashmap.get(0).get("PLINE_CODE").toString().equals("4001LGX") && params2.get(4).toString().equals("废品")){ JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("CHEMRESULT_LK", ""); jsobj1.put("FACERESULT","4"); jsobj1.put("COMPREHENSIVERESULT",""); jsobj1.put("CHEMJUDGEID",""); jsobj1.put("FACECHECKID",sid); jsobj1.put("COMPREHENSIVEID",""); jsobj1.put("JUDGE_TYPE","S"); jsobj1.put("PROD_LINE",params2.get(9).toString()); jsobj1.put("ISJUDGE","1"); jsobj1.put("PROD_TYPE",params2.get(10).toString()); jsobj1.put("SLAB_NO",material_no); jsobj1.put("CHECKNO",""); jsobj1.put("OPTMAN", params2.get(6).toString()); jsobj1.put("ISFX", "0"); jsobj1.put("CHEMRESULT_FX", ""); jsobj1.put("REMARK", params2.get(5).toString()); jsobj1.put("XXREASON", s); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"ChemJudge",JSON.toJSONString(ttmaps)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("表面判废失败!"+jo.get("message").toString()); } //判废 LgultimateJudgeAutoBySystem(material_no,params2.get(6).toString(),params2.get(9).toString(), params2.get(10).toString()); }else{ JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("CHEMRESULT_LK", ""); if(params2.get(1).toString().equals("1") && params2.get(9).toString().equals("4001LG0") && (hashmap.get(0).get("DESIGN_KEY")== null||hashmap.get(0).get("DESIGN_KEY").toString().equals(""))){ jsobj1.put("FACERESULT","9"); } else{ jsobj1.put("FACERESULT",params2.get(1).toString()); } jsobj1.put("COMPREHENSIVERESULT",""); jsobj1.put("CHEMJUDGEID",""); jsobj1.put("FACECHECKID",sid); jsobj1.put("COMPREHENSIVEID",""); jsobj1.put("JUDGE_TYPE","S"); jsobj1.put("PROD_LINE",params2.get(9).toString()); jsobj1.put("ISJUDGE","1"); jsobj1.put("PROD_TYPE",params2.get(10).toString()); jsobj1.put("SLAB_NO",material_no); jsobj1.put("CHECKNO",""); jsobj1.put("OPTMAN", params2.get(6).toString()); jsobj1.put("ISFX", "0"); jsobj1.put("CHEMRESULT_FX", ""); jsobj1.put("REMARK", params2.get(5).toString()); jsobj1.put("XXREASON", s); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"ChemJudge",JSON.toJSONString(ttmaps)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("表面判定失败!"+jo.get("message").toString()); } } String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; JSONArray ttmaps1 = new JSONArray(); JSONObject jsobj3 = new JSONObject(); jsobj3.put("PROD_LINE", params2.get(9).toString()); jsobj3.put("SLAB_NO",material_no); jsobj3.put("PROD_TYPE",params2.get(10).toString()); jsobj3.put("REMARK",params2.get(5).toString()); if(params2.get(9).toString().equals("4001LGX")){ jsobj3.put("P_NO_HOT_REASON", ""); jsobj3.put("P_NO_DIRECT_REASON",""); jsobj3.put("P_NO_CRAFT_STEELNAME",""); jsobj3.put("REMARK",params2.get(5).toString()); jsobj3.put("P_REG_NM",params2.get(6).toString()); } ttmaps1.add(jsobj3); String result = QcmJhyElementsServiceImpl.callWebserviceASMX(url,"SlabDetailInput",JSON.toJSONString(ttmaps1)); JSONObject jo1 = JSONObject.parseObject(result); if(jo1.get("code").toString().equals("1")){ throw new Exception("备注录入失败!"+jo1.get("message").toString()); } SqlSession.commit(); //qje.LGRlChemJudgeByHuman(hashmap,hashmap.get(0).get("HEAT_NO").toString(),material_no,hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); //综合判定 QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl(); qjp.LgultimateJudgeAutoBySystem(material_no, "system",params2.get(9).toString(),params2.get(10).toString()); } catch (Exception e) { cro.setResult( "检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.doLgAddFlaw:【" + params1.toString() + "," + params2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); try { qje.LGRlChemJudgeBySystem(hashmap1.get(0).get("HEAT_NO")==null?"":hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY")==null?"":hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString(),params2.get(10).toString(),params2.get(9).toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }} }; t1.start(); Thread t2 = new Thread(){ @Override public void run(){QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl(); try { qjp.LgultimateJudgeAutoBySystem(params2.get(0).toString(), "SYSTEM",params2.get(9).toString(),params2.get(10).toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }} }; t2.start();*/ return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doLgAddFlawAuto(final ArrayList params2) throws Exception { if(params2.size() == 0){ throw new Exception("请传入数据!"); } List hashmap = new ArrayList(); try { final String material_no = params2.get(0).toString(); QcmJhyElementsServiceImpl qjes = new QcmJhyElementsServiceImpl(); String Inspection_lot = ""; String flaw_area = "U"; //判断是否进行了综合判定 String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String c= ""; if(params2.get(9).toString().equals("4001LG0")){ c="UL"; }else{ c="UD"; } String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); String sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+c+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-5,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid=c+ymd + String.format("%05d",icount); //插入表面实绩表 hashmap = (List) getLgRejudgeInfobyMaterial_no("", "", material_no, params2.get(9).toString(), params2.get(10).toString(), "S").getResult(); if(hashmap == null || hashmap.size() == 0){ throw new Exception("未找到库存信息!"); } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("MATERIAL_NO") == null ?"":hashmap.get(0).get("MATERIAL_NO").toString()); qjsf.setBoard_no(""); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); if(params2.get(1).toString().equals("1") && params2.get(9).toString().equals("4001LG0") && (hashmap.get(0).get("DESIGN_KEY")== null||hashmap.get(0).get("DESIGN_KEY").toString().equals(""))){ qjsf.setSf_result_desc("订单外合格"); } qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); if(!flaw_area.equals("")){ if(flaw_area.equals("U")){ qjsf.setSfu_is_lock("1"); }else if(flaw_area.equals("D")){ qjsf.setSfd_is_lock("1"); }else if(flaw_area.equals("E")){ qjsf.setSfe_is_lock("1"); } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(""); qjsf.setPsc_desc(""); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(""); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(""); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(""); qjsf.setSteel_name(hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString()); qjsf.setThick(params2.get(11).toString()); qjsf.setWidth(params2.get(12).toString()); qjsf.setLength(params2.get(13).toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ //将获取的缺陷实绩信息插入表面缺陷实绩表 String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } } JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("CHEMRESULT_LK", ""); if(params2.get(1).toString().equals("1") && params2.get(9).toString().equals("4001LG0") && (hashmap.get(0).get("DESIGN_KEY")== null || hashmap.get(0).get("DESIGN_KEY").toString().equals(""))){ jsobj1.put("FACERESULT","9"); } else{ jsobj1.put("FACERESULT",params2.get(1).toString()); } jsobj1.put("COMPREHENSIVERESULT",""); jsobj1.put("CHEMJUDGEID",""); jsobj1.put("FACECHECKID",sid); jsobj1.put("COMPREHENSIVEID",""); jsobj1.put("JUDGE_TYPE","S"); jsobj1.put("PROD_LINE",params2.get(9).toString()); jsobj1.put("ISJUDGE","1"); jsobj1.put("PROD_TYPE",params2.get(10).toString()); jsobj1.put("SLAB_NO",material_no); jsobj1.put("CHECKNO",""); jsobj1.put("OPTMAN", params2.get(6).toString()); jsobj1.put("ISFX", "0"); jsobj1.put("CHEMRESULT_FX", ""); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"ChemJudge",JSON.toJSONString(ttmaps)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("表面判定失败!"+jo.get("message").toString()); } SqlSession.commit(); } catch (Exception e) { cro.setResult( "检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); logger.info(e.getMessage()); //SqlSession.rollback(); } //SqlSession.close(); return cro; } /** 中厚板表面判定 * 质量判定-表面检验与表面:检验登记 * 检验实绩信息 params2 * * 产品序号 * 检验结果代码 * 检验结果 * 质量等级代码 * 质量等级 * 检验备注 * 用户名 * 班次 * 班组 * * 缺陷实绩信息 params1 * 主缺陷标识 * 缺陷序号 * 缺陷代码 * 缺陷描述 * 缺陷位置代码 * 缺陷位置描述 * 缺陷重量 * 缺陷数量 * 备注 * 是否修复 * */ @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doAddFlaw2(ArrayList params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入数据"); return cro; } String material_no = params2.get(0).toString(); String surface_type = params2.get(9).toString(); if(SqlJoint.IsNullOrSpace(surface_type) || !(surface_type.equals("上表面") || surface_type.equals("下表面"))) { cro.setV_errCode(-1); cro.setV_errMsg("表面类型传入异常"); return cro; } //判断是否进行综合判定,是否在库 List hashmap = new ArrayList(); List hashmap1 = new ArrayList(); String sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0){ if(hashmap1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(hashmap1.size() > 0) { List list1 = mapper.query(sql); sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + material_no + "'" + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + material_no + "' UNION ALL " + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + material_no + "' union all " + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + material_no + "' union all " + " select billetid from kcp_storagelist@xgcx where storagestatus = '501002' and billetid = '"+material_no+"' "; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } /*if (hashmap.size() == 0) { sql = "select * from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + material_no + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { sql = "select * from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + material_no + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { sql = "select * from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + material_no + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } } } }*/ //撤销判定 cancelUltimateJudge(params2.get(6).toString(),material_no,hashmap1.get(0).get("JUDGEID").toString()); } if(material_no.startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } /*if(hashmap.size() == 0){ if(material_no.startsWith("H")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } }*/ if(hashmap.size()==0){ throw new Exception("未找到库存信息!"); } try { String Inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'"; List list1 = mapper.query(sql); if(list1.size() >0){ for(HashMap list:list1){ if(list.get("JUDGERESULT") != null && !list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号【"+material_no+"】做了综合判定,不能做检验登记!"); } if(surface_type.equals("上表面")) { if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做检验登记" + surface_type + "!"); } } else if(surface_type.equals("下表面")) { if(list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做检验登记" + surface_type + "!"); } } Inspection_lot = list.get("BILLETID_JY")==null?"":list.get("BILLETID_JY").toString(); } }else{ throw new Exception("未找到库存信息!"); } /*sql = "select * from QCM_JUDGE_SURFACE where MATERIAL_NO = '"+material_no+"' order by SURFACE_ID desc"; List oldSuf = mapper.queryQcmJudgeSurfaces(sql); if(oldSuf.size() > 0){ if(surface_type.equals("上表面")) { if ("1".equals(oldSuf.get(0).getSfu_is_lock()) || "1".equals(oldSuf.get(0).getSfe_is_lock())) { cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"],已经上表面锁定,不能重新判定,请到异常材界面进行物料处理后操作!"); return cro; } } else if(surface_type.equals("下表面")) { if ("1".equals(oldSuf.get(0).getSfd_is_lock()) || "1".equals(oldSuf.get(0).getSfe_is_lock())) { cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"],已经下表面锁定,不能重新判定,请到异常材界面进行物料处理后操作!"); return cro; } } }*/ String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like 'UB"+ ymd+"%' order by surface_id desc) where rownum<= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-5,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid="UB"+ymd + String.format("%05d",icount); //插入表面实绩表 /*for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } }*/ String sf_type = surface_type.equals("上表面") ? "U" : "D"; String conn = "and material_no = '"+ material_no +"' and sf_type = '"+sf_type+"'"; sql = " select * from (select * from QCM_JUDGE_SURFACE where 1=1 "+conn+" order by judge_time desc) where rownum <=1"; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(surface_type.equals("上表面") ? "U" : "D"); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); if(!params2.get(4).toString().equals("订单外") && !params2.get(4).toString().equals("协议品") && !params2.get(4).toString().equals("次品") && !params2.get(4).toString().equals("废品")){ if(surface_type.equals("上表面") && params2.get(1).toString().equals("2")) { qjsf.setSfu_is_lock("1"); } else if(surface_type.equals("下表面") && params2.get(1).toString().equals("2")) { qjsf.setSfd_is_lock("1"); } } /*if(!flaw_area.equals("")){ if(flaw_area.equals("U")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("1"); }else if(flaw_area.equals("D")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfd_is_lock("1"); }else if(flaw_area.equals("E")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfe_is_lock("1"); }else if(params2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("1"); qjsf.setSfd_is_lock("1"); qjsf.setSfe_is_lock("1"); } }*/ qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); Long seq=1L; String memo = ""; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); if(qjs.get(4).toString().equals("")){ qjsffs.setFlaw_area(surface_type.equals("上表面") ? "U" : "D"); }else{ qjsffs.setFlaw_area(qjs.get(4).toString()); } List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); if(qjs.get(15).toString().equals("0") || qjs.get(15).toString().equals("1")){ if(qjs.get(3).toString().contains("4#飘曲")){ throw new Exception("缺陷与修复状态不一致!"); } } qjsffs.setFixed_name(qjs.get(16).toString()); qjsflist.add(qjsffs); if(!qjs.get(14).toString().equals("")){ if(memo.equals("")){ memo = qjs.get(14).toString(); }else { memo = memo +","+ qjs.get(14).toString(); } } seq = Long.parseLong(qjs.get(1).toString()); seq++; } if(!params2.get(5).toString().equals("")){ if(memo.equals("")){ memo = params2.get(5).toString(); }else { memo = memo +","+ params2.get(5).toString(); } } qjsf.setSf_memo(memo); mapper.insertQcmJudgeSurface(qjsf); // 获取物料历史缺陷集合 if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+") "; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); /*String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql);*/ // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 /*if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } }*/ for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; /*for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } }*/ if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ if(StringUtils.isNotEmpty(qjsff.getFlaw_area())) { //将获取的缺陷实绩信息插入表面缺陷实绩表 String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(qjsff.getCreate_name()==null?params2.get(6).toString():qjsff.getCreate_name());//创建人 qjsff.setCreate_time(qjsff.getCreate_time()==null?new Date():qjsff.getCreate_time());//创建时间 qjsff.setMemo(qjsff.getMemo()==null?params2.get(5).toString():qjsff.getMemo()); mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } } if(seq1==0 && params2.get(2).toString().equals("待判")){ throw new Exception("请录入缺陷信息!"); } //更新库存表上表,下表,边部结果 if(list1.size() >0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(material_no); zra.setMarginal_result("1"); zra.setMarginal_result_desc("合格"); zra.setMarginal_result_id_desc(sid); //不合格 if(!params2.get(1).toString().equals("1")){ if(surface_type.equals("上表面")) { zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); if(params2.get(4).toString().equals("订单外") || params2.get(4).toString().equals("协议品")|| params2.get(4).toString().equals("次品")|| params2.get(4).toString().equals("废品")){ zra.setSfu_is_lock("0"); }else{ zra.setSfu_is_lock(params2.get(1).toString().equals("2")?"1":"0"); } zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setUp_surface_result_id_desc(sid); } else if(surface_type.equals("下表面")) { zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); if(params2.get(4).toString().equals("订单外") || params2.get(4).toString().equals("协议品")|| params2.get(4).toString().equals("次品")|| params2.get(4).toString().equals("废品")){ zra.setSfd_is_lock("0"); }else{ zra.setSfd_is_lock(params2.get(1).toString().equals("2")?"1":"0"); } zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setUd_surface_result_id_desc(sid); } /*if(type.equals("U")){ zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else if(type.equals("D")){ zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else if(type.equals("E")){ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else{ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock(params2.get(1).toString().equals("2")?"1":"0"); }*/ } else { if(surface_type.equals("上表面")) { zra.setSfu_is_lock("0"); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc("合格"); zra.setUp_surface_result_id_desc(sid); } else if(surface_type.equals("下表面")) { zra.setSfd_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc("合格"); zra.setUd_surface_result_id_desc(sid); } } mapper.UpdateJugeResultB(zra); ///都合格 sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'"; List list2 = mapper.query(sql); if(list2.size() >0){ for(HashMap list3:list2){ if(list3.get("UP_SURFACE_RESULT").equals("1") && list3.get("UD_SURFACE_RESULT").equals("1")) { zra.setBilletid(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc("合格"); zra.setSurfaceid(sid); zra.setSfe_is_lock("0"); }else if(list3.get("UP_SURFACE_RESULT").equals("2") || list3.get("UD_SURFACE_RESULT").equals("2")) { zra.setBilletid(material_no); zra.setSurfaceresult("2"); zra.setSurfaceresult_desc("不合格"); zra.setSurfaceid(sid); zra.setSfe_is_lock("0"); }else if(list3.get("UP_SURFACE_RESULT").equals("0") || list3.get("UD_SURFACE_RESULT").equals("0")){ zra.setBilletid(material_no); zra.setSurfaceresult("0"); if((list3.get("UP_SURFACE_RESULT_DESC") != null &&list3.get("UP_SURFACE_RESULT_DESC").equals("待判")) || (list3.get("UD_SURFACE_RESULT_DESC") != null && list3.get("UD_SURFACE_RESULT_DESC").equals("待判"))){ zra.setSurfaceresult_desc("待判"); } else{ zra.setSurfaceresult_desc(""); } zra.setSurfaceid(sid); zra.setSfe_is_lock("0"); } mapper.UpdateJugeResultB(zra); } }else{ throw new Exception("未找到库存信息!"); } } String flag1 = ""; //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 if ("2".equals(params2.get(1).toString())) { //生成质量封锁记录号 int count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; //获取缺陷 String flaw=""; String strsql = "select * from QCM_JUDGE_SURFACE_FLAW where SURFACE_ID in (select SURFACE_ID from qcm_judge_surface where material_no = '"+material_no+"') "; List qjsft = mapper.queryQcmJudgeSurfaceFlaw(strsql); for(QcmJudgeSurfaceFlaw qjsf1 :qjsft){ if(!flaw.contains(qjsf1.getFlaw_desc())) { flaw+=qjsf1.getFlaw_desc()+","; } } String lock_memo = ""; if (",".equals(flaw.substring(flaw.length()-1, flaw.length()))) { lock_memo = "表面:"+flaw.substring(0,flaw.length()-1); }else { lock_memo = "表面:"+flaw.substring(0,flaw.length()); } //插入封锁表 qjlk.setLock_type_code("F"); qjlk.setLock_type_desc("表面检验"); qjlk.setMaterial_no(material_no); qjlk.setLock_seq(lock_seq); qjlk.setLock_id(sid); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(params2.get(6).toString()); qjlk.setLock_memo(lock_memo+"-"+ params2.get(4).toString()); if(params2.get(4).toString().equals("订单外") || params2.get(4).toString().equals("协议品") || params2.get(4).toString().equals("次品") || params2.get(4).toString().equals("废品")){ qjlk.setUnlock_type_code("6"); qjlk.setUnlock_type_desc("脱单"); qjlk.setUnlock_memo("系统自动脱单"); qjlk.setUnlock_name(params2.get(6).toString()); qjlk.setUnlock_time(new Date()); } if(flaw.contains("轧损")){ qjlk.setUnlock_type_code("5"); qjlk.setUnlock_type_desc("判废"); qjlk.setUnlock_memo("表面轧损判废"); qjlk.setUnlock_name(params2.get(6).toString()); qjlk.setUnlock_time(new Date()); flag1 = "1"; } mapper.insertQCMJudgeLocking(qjlk); } /*List listqx1 = mapper.query("select * " + " from qcm_judge_surface_flaw a " + " where surface_id = '"+sid+"' " + " and (is_repair = '0' or is_repair like '待修复%') "); List listqx2 = mapper.query("select * " + " from qcm_judge_surface_flaw a " + " where surface_id = '"+sid+"' ");*/ List listqx = mapper.query("select * " + " from qcm_judge_surface_flaw a " + " where surface_id = '"+sid+"' " + " and (is_repair = '0' or is_repair like '待修复%' or is_repair = '2' or is_repair like '未冷矫%') " + " and not exists (select * " + " from qcm_judge_surface_flaw b " + " where surface_id = '"+sid+"' " + " and (is_repair = '1' or is_repair like '已修复%' or is_repair = '3' or is_repair like '已冷矫%') " + " and (a.flaw_desc = b.flaw_desc or (a.flaw_desc like '未翻面%' and b.flaw_desc like '已翻面%')))" + " and flaw_desc not like '已翻面%' "); if(listqx.size() >0 && params2.get(2).toString().equals("合格")){ throw new Exception("该子板还有缺陷未修复,不能录入合格!"); } listqx = mapper.query("select * " + " from qcm_judge_surface_flaw a " + " where surface_id = '"+sid+"' " + " and (is_repair = '0' or is_repair like '待修复%' or is_repair = '2' or is_repair like '未冷矫%') " + " and a.flaw_desc like '未翻面%' and not exists (select * " + " from qcm_judge_surface_flaw b " + " where surface_id = '"+sid+"' " + " and (is_repair = '1' or is_repair like '已修复%' or is_repair = '3' or is_repair like '已冷矫%') " + " and b.flaw_desc like '已翻面%')"); if(listqx.size() >0 && params2.get(2).toString().equals("合格")){ throw new Exception("该子板未翻面状态,不能录入合格!"); } String aJudgeType = params2.get(2).toString(); if(params2.get(2).toString().equals("不合格") && params2.get(4).toString().equals("次品")){ aJudgeType = "判次"; }else if((params2.get(2).toString().equals("不合格") && params2.get(4).toString().equals("废品")) || flag1.equals("1")){ aJudgeType = "判废"; }else if(params2.get(2).toString().equals("不合格") && params2.get(4).toString().equals("协议品")){ aJudgeType = "协议品_表面"; }/*else if(params2.get(2).toString().equals("不合格") && params2.get(4).toString().equals("订单外")){ aJudgeType = "订单外合格"; }*/else if(params2.get(2).toString().equals("合格")){ aJudgeType = "订单内合格"; } String aGZLB = ""; String aGYLB = ""; String aXGLB = ""; if(params2.get(2).toString().equals("合格")){ List qjf = mapper.queryQcmJudgeSurfaceFlaw("select * from qcm_judge_surface_flaw where surface_id = '"+sid+"' and flaw_seq = '1' order by CREATE_TIME desc"); aXGLB = "402303"; if(qjf.size() >0) { List listgzl = mapper.query("select * from qcm_base_defect a where a.defect_desc = '"+qjf.get(0).getFlaw_desc()+"'"); if(listgzl.size() > 0){ String type1 = ""; if(material_no.startsWith("H")){ type1 = "HB"; }else{ type1 = "ZB"; } if(listgzl.get(0).get("DEFECT_TYPE_CODE").equals("S")){ List listgz = mapper.query("select * from scm_base_info@xgcx a where a.sort_code = '4124' and memo like '%钢质%' and name_ = '"+qjf.get(0).getFlaw_desc()+"' AND ID_ LIKE '%"+type1+"%'"); if(listgz.size() > 0){ aGZLB = listgz.get(0).get("ID_").toString(); }else{ aGZLB = qjf.get(0).getFlaw_desc(); } }else{ List listgy = mapper.query("select * from scm_base_info@xgcx a where a.sort_code = '4124' and memo like '%工艺%' and name_ = '"+qjf.get(0).getFlaw_desc()+"' AND ID_ LIKE '%"+type1+"%'"); if(listgy.size() > 0){ aGYLB = listgy.get(0).get("ID_").toString(); }else{ aGYLB = qjf.get(0).getFlaw_desc(); } } }else{ throw new Exception("请选择系统已有缺陷!"); } } }else if(params2.get(2).toString().equals("待判") || params2.get(2).toString().equals("不合格")){ List qjf1 = mapper.queryQcmJudgeSurfaceFlaw("select * " + " from qcm_judge_surface_flaw a " + " where surface_id = '"+sid+"' order by a.create_time,a.is_repair asc "); ArrayList Flaw_areas = new ArrayList(); String flaw_desc = ""; for(QcmJudgeSurfaceFlaw qs :qjf1){ if(qs.getIs_repair().equals("0") || qs.getIs_repair().equals("待修复") || qs.getIs_repair().equals("2") || qs.getIs_repair().equals("未冷矫")){ if(!Flaw_areas.contains(qs.getFlaw_desc())){ Flaw_areas.add(qs.getFlaw_desc()); } }else{ Flaw_areas.remove(qs.getFlaw_desc()); } } for(String s:Flaw_areas){ if(flaw_desc.equals("")){ flaw_desc = "'"+s+"'"; }else{ flaw_desc = flaw_desc+",'"+s+"'"; } } if(flaw_desc.equals("")){ flaw_desc = "''"; } List qjf = mapper.queryQcmJudgeSurfaceFlaw("select * " + " from qcm_judge_surface_flaw a " + " where surface_id = '"+sid+"' " + " and flaw_desc in ("+flaw_desc+") "); /*List qjf = mapper.queryQcmJudgeSurfaceFlaw("select * " + " from qcm_judge_surface_flaw a " + " where surface_id = '"+sid+"' " + " and (is_repair = '0' or is_repair like '待修复%' or is_repair = '2' or is_repair like '未冷矫%') " + " and not exists (select * " + " from qcm_judge_surface_flaw b " + " where surface_id = '"+sid+"' " + " and (is_repair = '1' or is_repair like '已修复%' or is_repair = '3' or is_repair like '已冷矫%') " + " and (a.flaw_desc = b.flaw_desc or (a.flaw_desc like '未翻面%' and b.flaw_desc like '已翻面%'))) ");*/ aXGLB = "402301"; if(qjf.size() ==0){ qjf = mapper.queryQcmJudgeSurfaceFlaw("select * from qcm_judge_surface_flaw where surface_id = '"+sid+"' and flaw_seq = '1' order by CREATE_TIME desc"); if(qjf.get(0).getIs_repair().equals("0")){ aXGLB = "402301"; }else{ aXGLB = "402303"; } } String type1 = ""; if(material_no.startsWith("H")){ type1 = "HB"; }else{ type1 = "ZB"; } for(QcmJudgeSurfaceFlaw qjsf2:qjf){ List listgzl = mapper.query("select * from qcm_base_defect a where a.defect_desc = '"+qjsf2.getFlaw_desc()+"'"); if(listgzl.size() > 0){ if(listgzl.get(0).get("DEFECT_TYPE_CODE").equals("S")){ List listgz = mapper.query("select * from scm_base_info@xgcx a where a.sort_code = '4124' and memo like '%钢质%' and name_ = '"+qjsf2.getFlaw_desc()+"' AND ID_ LIKE '%"+type1+"%'"); if(aGZLB.equals("")){ if(listgz.size() > 0){ aGZLB = listgz.get(0).get("ID_").toString(); }else{ aGZLB = qjf.get(0).getFlaw_desc(); } } else{ if(listgz.size() > 0){ if(!aGZLB.contains(listgz.get(0).get("ID_").toString())){ aGZLB = aGZLB +";"+listgz.get(0).get("ID_").toString(); } }else{ if(!aGZLB.contains(qjf.get(0).getFlaw_desc())){ aGZLB = aGZLB +";"+qjf.get(0).getFlaw_desc(); } } } }else{ List listgy = mapper.query("select * from scm_base_info@xgcx a where a.sort_code = '4124' and memo like '%工艺%' and name_ = '"+qjsf2.getFlaw_desc()+"' AND ID_ LIKE '%"+type1+"%'"); if(aGYLB.equals("")){ if(listgy.size() > 0){ aGYLB = listgy.get(0).get("ID_").toString(); }else{ aGYLB = qjf.get(0).getFlaw_desc(); } } else{ if(listgy.size() > 0){ if(!aGYLB.contains(listgy.get(0).get("ID_").toString())) { aGYLB = aGYLB+";"+listgy.get(0).get("ID_").toString(); } }else{ if(!aGYLB.contains(qjf.get(0).getFlaw_desc())) { aGYLB = aGYLB+";"+qjf.get(0).getFlaw_desc(); } } } } }else{ throw new Exception("请选择系统已有缺陷!"); } } } bmjy((surface_type.equals("上表面") ? "S" : "X")+sid,material_no,aJudgeType, aGZLB, aGYLB, aXGLB,hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString(), hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString() , hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString(), params2.get(6).toString() , params2.get(7).toString(), params2.get(8).toString(), memo, ""); if(params2.get(4).toString().equals("订单外") || params2.get(4).toString().equals("协议品") || params2.get(4).toString().equals("次品") || params2.get(4).toString().equals("废品")){ order_down(material_no,"表面判定:"+params2.get(4).toString()); } //轧损判废 if(flag1.equals("1")){ ultimateJudgeAuto(material_no,params2.get(6).toString(),"4"); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定/"+surface_type); 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").toString()); qjog.setJudge_result(params2.get(1).toString()); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); } catch (Exception e) { cro.setResult( "检验登记失败!"+ e.getMessage()); cro.setV_errMsg( "检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.doAddFlaw2:【" + params1.toString() + "," + params2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.FirstJudgeAutoBySystem(hashmap1,params2.get(0).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }; t2.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,params2.get(0).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } /** 中厚板表面判定 * 质量判定-表面检验与表面:检验登记 * 检验实绩信息 params2 * * 产品序号 * 检验结果代码 * 检验结果 * 质量等级代码 * 质量等级 * 检验备注 * 用户名 * 班次 * 班组 * * 缺陷实绩信息 params1 * 主缺陷标识 * 缺陷序号 * 缺陷代码 * 缺陷描述 * 缺陷位置代码 * 缺陷位置描述 * 缺陷重量 * 缺陷数量 * 备注 * 是否修复 * */ @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doAddFlaw(ArrayList params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入数据"); return cro; } String material_no = params2.get(0).toString(); List hashmap = new ArrayList(); if(material_no.startsWith("Z")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } if(hashmap.size() == 0){ if(material_no.startsWith("H")){ hashmap = mapper.doQueryMaterialInfoZB(material_no); }else{ hashmap = mapper.doQueryMaterialInfoHB(material_no); } } if(hashmap == null){ throw new Exception("未找到库存信息!"); } try { String Inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 String sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'"; List list1 = mapper.query(sql); if(list1.size() >0){ for(HashMap list:list1){ if(list.get("JUDGERESULT") != null && !list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号【"+material_no+"】做了综合判定,不能做检验登记!"); } if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做检验登记!"); } Inspection_lot = list.get("BILLETID_JY").toString(); } }else{ throw new Exception("未找到库存信息!"); } sql = "select * from QCM_JUDGE_SURFACE where MATERIAL_NO = '"+material_no+"' order by SURFACE_ID desc"; List oldSuf = mapper.queryQcmJudgeSurfaces(sql); if(oldSuf.size() > 0){ if ("1".equals(oldSuf.get(0).getSfu_is_lock()) || "1".equals(oldSuf.get(0).getSfd_is_lock()) || "1".equals(oldSuf.get(0).getSfe_is_lock())) { cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"],已经表面锁定,不能重新判定,请到异常材界面进行物料处理后操作!"); return cro; } } String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+type+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-5,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid=type+ymd + String.format("%05d",icount); //插入表面实绩表 for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); if(!flaw_area.equals("")){ if(flaw_area.equals("U")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("1"); }else if(flaw_area.equals("D")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfd_is_lock("1"); }else if(flaw_area.equals("E")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfe_is_lock("1"); }else if(params2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("1"); qjsf.setSfd_is_lock("1"); qjsf.setSfe_is_lock("1"); } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); qjsflist.add(qjsffs); seq = Long.parseLong(qjs.get(1).toString()); seq++; } // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql); // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } } for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } } if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ if(StringUtils.isNotEmpty(qjsff.getFlaw_area())) { //将获取的缺陷实绩信息插入表面缺陷实绩表 String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //更新库存表上表,下表,边部结果 if(list1.size() >0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc("合格"); zra.setSurfaceid(sid); zra.setSfd_is_lock("0"); zra.setSfe_is_lock("0"); zra.setSfu_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc("合格"); zra.setUd_surface_result_id_desc(sid); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc("合格"); zra.setUp_surface_result_id_desc(sid); zra.setMarginal_result("1"); zra.setMarginal_result_desc("合格"); zra.setMarginal_result_id_desc(sid); //不合格 if(!params2.get(1).toString().equals("1")){ if(type.equals("U")){ zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else if(type.equals("D")){ zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else if(type.equals("E")){ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else{ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock(params2.get(1).toString().equals("2")?"1":"0"); } } mapper.UpdateJugeResultB(zra); } //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 if ("2".equals(params2.get(1).toString())) { //生成质量封锁记录号 int count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; //获取缺陷 String flaw=""; String strsql = "select * from QCM_JUDGE_SURFACE_FLAW where SURFACE_ID in (select SURFACE_ID from qcm_judge_surface where material_no = '"+material_no+"') "; List qjsft = mapper.queryQcmJudgeSurfaceFlaw(strsql); for(QcmJudgeSurfaceFlaw qjsf1 :qjsft){ if(!flaw.contains(qjsf1.getFlaw_desc())) { flaw+=qjsf1.getFlaw_desc()+","; } } String lock_memo = ""; if (",".equals(flaw.substring(flaw.length()-1, flaw.length()))) { lock_memo = "表面:"+flaw.substring(0,flaw.length()-1); }else { lock_memo = "表面:"+flaw.substring(0,flaw.length()); } //插入封锁表 qjlk.setLock_type_code("F"); qjlk.setLock_type_desc("表面检验"); qjlk.setMaterial_no(material_no); qjlk.setLock_seq(lock_seq); qjlk.setLock_id(sid); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(params2.get(6).toString()); qjlk.setLock_memo(lock_memo+"-"+ params2.get(4).toString()); mapper.insertQCMJudgeLocking(qjlk); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定"); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); qjog.setParams(material_no); qjog.setBatchno(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setJudge_result(params2.get(1).toString()); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); } catch (Exception e) { cro.setResult( "检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t2 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); try { qjpc.FirstJudgeAutoBySystem(hashmap1,params2.get(0).toString(),"system"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }; t2.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,params2.get(0).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doAddFlawX(ArrayList params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入数据"); return cro; } String material_no = params2.get(0).toString(); //判断是否进行综合判定,是否在库 List hashmap = new ArrayList(); List hashmap1 = new ArrayList(); String sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0){ if(hashmap1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(hashmap1.size() > 0) { List list1 = mapper.query(sql); sql = "select billetid from kcx_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + material_no + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } //撤销判定 cancelUltimateJudge(params2.get(6).toString(),material_no,hashmap1.get(0).get("JUDGEID").toString()); } hashmap = mapper.doQueryMaterialInfoX(material_no); if(hashmap.size() == 0){ throw new Exception("未找到库存信息!"); } try { String Inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'"; List list1 = mapper.query(sql); if(list1.size() >0){ for(HashMap list:list1){ if(list.get("JUDGERESULT") != null && !list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号【"+material_no+"】做了综合判定,不能做检验登记!"); } if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做检验登记!"); } Inspection_lot = list.get("BILLETID_JY").toString(); } }else{ throw new Exception("未找到库存信息!"); } sql = "select * from QCM_JUDGE_SURFACE where MATERIAL_NO = '"+material_no+"' order by SURFACE_ID desc"; List oldSuf = mapper.queryQcmJudgeSurfaces(sql); if(oldSuf.size() > 0){ if ("1".equals(oldSuf.get(0).getSfu_is_lock()) || "1".equals(oldSuf.get(0).getSfd_is_lock()) || "1".equals(oldSuf.get(0).getSfe_is_lock())) { cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"],已经表面锁定,不能重新判定,请到异常材界面进行物料处理后操作!"); return cro; } } String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like 'UX"+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-5,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid="UX"+ymd + String.format("%05d",icount); //插入表面实绩表 for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); if(!flaw_area.equals("")){ if(flaw_area.equals("U")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("1"); }else if(flaw_area.equals("D")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfd_is_lock("1"); }else if(flaw_area.equals("E")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfe_is_lock("1"); }else if(params2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("1"); qjsf.setSfd_is_lock("1"); qjsf.setSfe_is_lock("1"); } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); qjsflist.add(qjsffs); seq = Long.parseLong(qjs.get(1).toString()); seq++; } // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql); // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } } for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } } if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ //将获取的缺陷实绩信息插入表面缺陷实绩表 if(StringUtils.isNotEmpty(qjsff.getFlaw_area())) { String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //更新库存表上表,下表,边部结果 if(list1.size() >0){ ZjResultAll zra = new ZjResultAll(); zra.setBilletid(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc("合格"); zra.setSurfaceid(sid); zra.setSfd_is_lock("0"); zra.setSfe_is_lock("0"); zra.setSfu_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc("合格"); zra.setUd_surface_result_id_desc(sid); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc("合格"); zra.setUp_surface_result_id_desc(sid); zra.setMarginal_result("1"); zra.setMarginal_result_desc("合格"); zra.setMarginal_result_id_desc(sid); //不合格 if(!params2.get(1).toString().equals("1")){ if(type.equals("U")){ zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else if(type.equals("D")){ zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else if(type.equals("E")){ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } else{ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock(params2.get(1).toString().equals("2")?"1":"0"); zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock(params2.get(1).toString().equals("2")?"1":"0"); } } mapper.UpdateJugeResultB(zra); } //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 if ("2".equals(params2.get(1).toString())) { //生成质量封锁记录号 int count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; //获取缺陷 String flaw=""; String strsql = "select * from QCM_JUDGE_SURFACE_FLAW where SURFACE_ID in (select SURFACE_ID from qcm_judge_surface where material_no = '"+material_no+"') "; List qjsft = mapper.queryQcmJudgeSurfaceFlaw(strsql); for(QcmJudgeSurfaceFlaw qjsf1 :qjsft){ if(!flaw.contains(qjsf1.getFlaw_desc())) { flaw+=qjsf1.getFlaw_desc()+","; } } String lock_memo = ""; if(StringUtils.isNotEmpty(flaw)) { if (",".equals(flaw.substring(flaw.length() - 1, flaw.length()))) { lock_memo = "表面:" + flaw.substring(0, flaw.length() - 1); } else { lock_memo = "表面:" + flaw.substring(0, flaw.length()); } } //插入封锁表 qjlk.setLock_type_code("F"); qjlk.setLock_type_desc("表面检验"); qjlk.setMaterial_no(material_no); qjlk.setLock_seq(lock_seq); qjlk.setLock_id(sid); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(params2.get(6).toString()); qjlk.setLock_memo(lock_memo+"-"+ params2.get(4).toString()); mapper.insertQCMJudgeLocking(qjlk); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定"); qjog.setParams(material_no); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setJudge_result(params2.get(1).toString()); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); } catch (Exception e) { cro.setV_errMsg( "检验登记失败!"+ e.getMessage()); cro.SetErrInfo("检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.doAddFlawX:【" + params1.toString() + "," + params2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,params2.get(0).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doAddFlawY(ArrayList params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入数据"); return cro; } String result= ""; String material_no = params2.get(0).toString(); String result1 = getresult2(material_no,params2.get(3).toString()); if(result1.equals("")){ throw new Exception("判定结果为空,不能进行判定!"); } //判断是否进行综合判定,是否在库 List hashmap = new ArrayList(); List hashmap1 = new ArrayList(); String sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '"+material_no+"' and JUDGERESULT <> '0' "; hashmap1 = mapper.query(sql); if(hashmap1.size() > 0){ if(hashmap1.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(hashmap1.size() > 0) { List list1 = mapper.query(sql); sql = "select COILNO from YDM_PRODUCT_DETAIL@LINK_YTG where STATE in ('0','-1', '7') and COILNO = '" + material_no + "'"; hashmap = mapper.query(sql); if (hashmap.size() == 0) { throw new Exception("未找到在库的库存信息!"); } //撤销判定 cancelUltimateJudge(params2.get(6).toString(),material_no,hashmap1.get(0).get("JUDGEID").toString()); } hashmap = mapper.doQueryMaterialInfoY(material_no); if(hashmap.size() == 0){ throw new Exception("未找到库存信息!"); } if(hashmap.get(0).get("DESIGN_KEY")==null){ throw new Exception("订单号为空!"); } try { String Inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '"+material_no+"'"; List list1 = mapper.query(sql); if(list1.size() >0){ for(HashMap list:list1){ if(list.get("JUDGERESULT") != null && !list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号【"+material_no+"】做了综合判定,不能做检验登记!"); } if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做检验登记!"); } Inspection_lot = hashmap.get(0).get("INSPECTION_LOT1")==null?"111":hashmap.get(0).get("INSPECTION_LOT1").toString(); } }else{ throw new Exception("未找到库存信息!"); } String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String id = "UY"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+id+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-5,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid=id+ymd + String.format("%05d",icount); //插入表面实绩表 for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); String Sf_result_code = result1; String Sf_result_desc = result1.equals("1")?"合格":"不合格"; qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setSf_result_code(Sf_result_code); qjsf.setSf_result_desc(Sf_result_desc); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); if(!flaw_area.equals("")){ if(flaw_area.equals("U")&&Sf_result_code.equals("2")){ qjsf.setSfu_is_lock("1"); }else if(flaw_area.equals("D")&&Sf_result_code.equals("2")){ qjsf.setSfd_is_lock("1"); }else if(flaw_area.equals("E")&&Sf_result_code.equals("2")){ qjsf.setSfe_is_lock("1"); }else if(Sf_result_code.equals("2")){ qjsf.setSfu_is_lock("1"); qjsf.setSfd_is_lock("1"); qjsf.setSfe_is_lock("1"); } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); mapper.insertQcmJudgeSurface(qjsf); List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); qjsffs.setCreate_name(params2.get(6).toString());//创建人 qjsffs.setCreate_time(new Date());//创建时间 qjsflist.add(qjsffs); } for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ //将获取的缺陷实绩信息插入表面缺陷实绩表 qjsff.setSurface_id(sid); mapper.insertQcmJudgeSurfaceFlaw(qjsff); QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(qjsff.getFlaw_seq().intValue()); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //更新库存表上表,下表,边部结果 if(list1.size() >0){ QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult(); String result_code = ""; String result_desc = ""; if(Sf_result_code.equals("1")){ result_code = "1"; result_desc = "合格"; }else if(Sf_result_code.equals("2")){ result_code = "2"; result_desc = "不合格"; }else if(Sf_result_code.equals("3")){ result_code = "3"; result_desc = "判次"; }else if(Sf_result_code.equals("4")){ result_code = "4"; result_desc = "判废"; } zra.setCoil_no(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc(result_desc); zra.setSurfaceid(sid); zra.setSfd_is_lock("0"); zra.setSfe_is_lock("0"); zra.setSfu_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc(result_desc); zra.setUd_surface_result_id_desc(sid); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc(result_desc); zra.setUp_surface_result_id_desc(sid); zra.setMarginal_result("1"); zra.setMarginal_result_desc(result_desc); zra.setMarginal_result_id_desc(sid); //不合格 if(!Sf_result_code.equals("1")){ if(type.equals("U")){ zra.setUp_surface_result(Sf_result_code); zra.setUp_surface_result_desc(result_desc); zra.setSurfaceresult(Sf_result_code); zra.setSurfaceresult_desc(result_desc); zra.setSfu_is_lock("1"); } else if(type.equals("D")){ zra.setUd_surface_result(Sf_result_code); zra.setUd_surface_result_desc(result_desc); zra.setSurfaceresult(Sf_result_code); zra.setSurfaceresult_desc(result_desc); zra.setSfd_is_lock("1"); } else if(type.equals("E")){ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(result_desc); zra.setSurfaceresult(Sf_result_code); zra.setSurfaceresult_desc(result_desc); zra.setSfe_is_lock("1"); } else{ zra.setMarginal_result(Sf_result_code); zra.setMarginal_result_desc(result_desc); zra.setSurfaceresult(Sf_result_code); zra.setSurfaceresult_desc(result_desc); zra.setUp_surface_result(Sf_result_code); zra.setUp_surface_result_desc(result_desc); zra.setUd_surface_result(Sf_result_code); zra.setUd_surface_result_desc(result_desc); zra.setSfd_is_lock("1"); zra.setSfe_is_lock("1"); zra.setSfu_is_lock("1"); } } mapper.UpdateJugeResultY(zra); //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 if ("2".equals(Sf_result_code)) { //生成质量封锁记录号 int count=0; QCMJudgeLocking qjlk = new QCMJudgeLocking(); SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(new Date()); String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; List qjl = mapper.queryQCMJudgeLocking(condition); if(qjl.size() > 0){ count=qjl.get(0).getLock_seq(); } count++; //锁定记录号 int lock_seq=count; String lock_memo = "表面:"+params2.get(3).toString(); //插入封锁表 qjlk.setLock_type_code("F"); qjlk.setLock_type_desc("表面检验"); qjlk.setMaterial_no(material_no); qjlk.setLock_seq(lock_seq); qjlk.setLock_id(sid); qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString()); qjlk.setFic_locking("1"); qjlk.setLock_name(params2.get(6).toString()); qjlk.setLock_memo(lock_memo); mapper.insertQCMJudgeLocking(qjlk); } String url = "http://172.16.81.200/xinsteel.maketx/service/SlmFundFirstDetailService/receiveResSurface"; JSONObject jsobj1 = new JSONObject(); JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONArray ttmaps1 = new JSONArray(); for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ JSONObject jsobj3 = new JSONObject(); jsobj3.put("surface_id",sid); jsobj3.put("primary_flag",qjsff.getPrimary_flag()); jsobj3.put("is_repair",qjsff.getIs_repair()); jsobj3.put("flaw_seq",qjsff.getFlaw_seq()); jsobj3.put("flaw_desc",qjsff.getFlaw_desc()); jsobj3.put("flaw_type_desc",qjsff.getFlaw_type_desc()); jsobj3.put("flaw_pos_desc",qjsff.getFlaw_pos_desc()); jsobj3.put("flaw_quantity",qjsff.getFlaw_quantity()); jsobj3.put("memo",qjsff.getMemo()); jsobj3.put("create_name",params2.get(6).toString()); jsobj3.put("create_time",new Date()); jsobj3.put("flaw_dir_desc",qjsff.getFlaw_dir_desc()); jsobj3.put("flaw_size_desc",qjsff.getFlaw_size_desc()); jsobj3.put("flaw_lv_desc",qjsff.getFlaw_lv_desc()); jsobj3.put("flaw_area",qjsff.getFlaw_area()); ttmaps.add(jsobj3); } jsobj1.put("objectList", ttmaps); jsobj1.put("surface_id",sid); jsobj1.put("heat_no",hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); jsobj1.put("batch_no",hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); jsobj1.put("inspection_lot",Inspection_lot); jsobj1.put("material_no",material_no); jsobj1.put("sf_result_desc",result_desc); jsobj1.put("level_desc",params2.get(4).toString()); jsobj1.put("prod_name",hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); jsobj1.put("steel_name",hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); jsobj1.put("std_name",hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); jsobj1.put("pline_name",hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); jsobj1.put("judge_name",params2.get(6).toString()); jsobj1.put("judge_time",new Date()); jsobj2.put("object", jsobj1); ttmaps1.add(jsobj2); result = post1(JSON.toJSONString(ttmaps1),url); JSONObject jo = JSONObject.parseObject(result); if(!"200".equals(jo.get("state").toString())){ throw new Exception(jo.get("msgInfo").toString()); } } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定"); qjog.setParams(material_no); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setJudge_result(Sf_result_code); qjog.setMemo(result); mapper.insertQcmJudgeOperateLog(qjog); SqlSession.commit(); } catch (Exception e) { cro.setV_errMsg( "检验登记失败!"+ e.getMessage()); cro.SetErrInfo("检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.doAddFlawX:【" + params1.toString() + "," + params2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,params2.get(0).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doAddFlawJ(ArrayList params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入数据"); return cro; } String material_no = params2.get(0).toString(); List hashmap = mapper.doQueryMaterialInfoJ(material_no); if(hashmap.size()==0){ throw new Exception("未找到库存信息!"); } try { String Inspection_lot = ""; String inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 String sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'"; List list2 = mapper.query(sql); if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(list2.size() >0){ for(HashMap list:list2){ if(list.get("JUDGERESULT") != null && !list.get("JUDGERESULT").toString().equals("0")){ if(hashmap.get(0).get("DESIGN_KEY") == null){ throw new Exception("该物料无订单,表面判定时取消综判失败"); } List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'"); if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(material_no,inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), material_no, null, null, null, null, "D", null, null,""); //throw new Exception("该产品序号【"+material_no+"】做了综合判定,不能做检验登记!"); } if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做检验登记!"); } Inspection_lot = list.get("INSPECTION_LOT")== null?"":list.get("INSPECTION_LOT").toString(); } }else{ throw new Exception("未找到库存信息!"); } sql = "select * from (select * from QCM_JUDGE_SURFACE where MATERIAL_NO = '"+material_no+"' order by SURFACE_ID desc) where rownum <= 1"; List oldSuf = mapper.queryQcmJudgeSurfaces(sql); if(oldSuf.size() > 0){ if ("1".equals(oldSuf.get(0).getSfu_is_lock()) || "1".equals(oldSuf.get(0).getSfd_is_lock()) || "1".equals(oldSuf.get(0).getSfe_is_lock())) { cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"],已经表面锁定,不能重新判定,请到异常材界面进行物料处理后操作!"); return cro; } } String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+type+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-4,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid=type+ymd + String.format("%05d",icount); //插入表面实绩表 for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } if(flaw_area.equals("")){ if(params1.size() >0){ flaw_area = params1.get(0).get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); if(!flaw_area.equals("")){ if(flaw_area.equals("U")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); }else if(flaw_area.equals("D")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfd_is_lock("0"); }else if(flaw_area.equals("E")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfe_is_lock("0"); }else if(params2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); qjsffs.setFlaw_origin(qjs.get(16).toString()); qjsflist.add(qjsffs); seq = Long.parseLong(qjs.get(1).toString()); seq++; } // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql); // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } } for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } } if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ if(qjsff.getFlaw_area() == null){ continue; } //将获取的缺陷实绩信息插入表面缺陷实绩表 String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //更新库存表上表,下表,边部结果 if(list2.size() >0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc("合格"); zra.setSurfaceid(sid); zra.setSfd_is_lock("0"); zra.setSfe_is_lock("0"); zra.setSfu_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc("合格"); zra.setUd_surface_result_id_desc(sid); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc("合格"); zra.setUp_surface_result_id_desc(sid); zra.setMarginal_result("1"); zra.setMarginal_result_desc("合格"); zra.setMarginal_result_id_desc(sid); //合格 if(!params2.get(1).toString().equals("1")){ if(type.equals("U")){ if("512602".equals(params2.get(3).toString())){ zra.setUp_surface_result("3"); zra.setUp_surface_result_desc("次品"); zra.setSfu_is_lock("0"); zra.setSurfaceresult("3"); zra.setSurfaceresult_desc("次品"); }else if("512603".equals(params2.get(3).toString())){ zra.setUp_surface_result("4"); zra.setUp_surface_result_desc("废品"); zra.setSfu_is_lock("0"); zra.setSurfaceresult("4"); zra.setSurfaceresult_desc("废品"); }else{ zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } } else if(type.equals("D")){ if("512602".equals(params2.get(3).toString())){ zra.setUd_surface_result("3"); zra.setUd_surface_result_desc("次品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("3"); zra.setSurfaceresult_desc("次品"); }else if("512603".equals(params2.get(3).toString())){ zra.setUd_surface_result("4"); zra.setUd_surface_result_desc("废品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("4"); zra.setSurfaceresult_desc("废品"); }else{ zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } /*zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判");*/ } else if(type.equals("E")){ if("512602".equals(params2.get(3).toString())){ zra.setMarginal_result("3"); zra.setMarginal_result_desc("次品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("3"); zra.setSurfaceresult_desc("次品"); }else if("512603".equals(params2.get(3).toString())){ zra.setMarginal_result("4"); zra.setMarginal_result_desc("废品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("4"); zra.setSurfaceresult_desc("废品"); zra.setUd_surface_result("4"); zra.setUd_surface_result_desc("废品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("4"); zra.setSurfaceresult_desc("废品"); zra.setUp_surface_result("4"); zra.setUp_surface_result_desc("废品"); zra.setSfu_is_lock("0"); zra.setSurfaceresult("4"); zra.setSurfaceresult_desc("废品"); }else{ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); } } else{ if("512602".equals(params2.get(3).toString())){ zra.setMarginal_result("3"); zra.setMarginal_result_desc("次品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("3"); zra.setSurfaceresult_desc("次品"); zra.setUd_surface_result("3"); zra.setUd_surface_result_desc("次品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("3"); zra.setSurfaceresult_desc("次品"); zra.setUd_surface_result("3"); zra.setUd_surface_result_desc("次品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("3"); zra.setSurfaceresult_desc("次品"); }else if("512603".equals(params2.get(3).toString())){ zra.setMarginal_result("4"); zra.setMarginal_result_desc("废品"); zra.setSfd_is_lock("0"); zra.setSurfaceresult("4"); zra.setSurfaceresult_desc("废品"); }else{ zra.setMarginal_result(params2.get(1).toString()); zra.setMarginal_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(params2.get(1).toString()); zra.setSurfaceresult_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setUp_surface_result(params2.get(1).toString()); zra.setUp_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setUd_surface_result(params2.get(1).toString()); zra.setUd_surface_result_desc(params2.get(1).toString().equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); } } } mapper.UpdateJugeResultJ(zra); } // //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 // if ("2".equals(params2.get(1).toString())) { // //生成质量封锁记录号 // int count=0; // QCMJudgeLocking qjlk = new QCMJudgeLocking(); // SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); // String date=sdf.format(new Date()); // String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; // List qjl = mapper.queryQCMJudgeLocking(condition); // if(qjl.size() > 0){ // count=qjl.get(0).getLock_seq(); // } // count++; // //锁定记录号 // int lock_seq=count; // //获取缺陷 // String flaw=""; // String strsql = "select * from QCM_JUDGE_SURFACE_FLAW where SURFACE_ID in (select SURFACE_ID from qcm_judge_surface where material_no = '"+material_no+"') "; // List qjsft = mapper.queryQcmJudgeSurfaceFlaw(strsql); // for(QcmJudgeSurfaceFlaw qjsf1 :qjsft){ // if(!flaw.contains(qjsf1.getFlaw_desc())) // { // flaw+=qjsf1.getFlaw_desc()+","; // } // } // String lock_memo = ""; // if (",".equals(flaw.substring(flaw.length()-1, flaw.length()))) { // lock_memo = "表面:"+flaw.substring(0,flaw.length()-1); // }else { // lock_memo = "表面:"+flaw.substring(0,flaw.length()); // } // //插入封锁表 // qjlk.setLock_type_code("F"); // qjlk.setLock_type_desc("表面检验"); // qjlk.setMaterial_no(material_no); // qjlk.setLock_seq(lock_seq); // qjlk.setLock_id(sid); // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); // qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); // qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); // qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); // qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); // qjlk.setFic_locking("1"); // qjlk.setLock_name(params2.get(6).toString()); // qjlk.setLock_memo(lock_memo+"-"+ params2.get(4).toString()); // mapper.insertQCMJudgeLocking(qjlk); // // } if("512602".equals(params2.get(3).toString())){ ultimateJudgeAuto(material_no,params2.get(6).toString(),"3"); }else if("512603".equals(params2.get(3).toString())){ ultimateJudgeAuto(material_no,params2.get(6).toString(),"4"); } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定"); 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").toString()); qjog.setJudge_result(params2.get(1).toString()); mapper.insertQcmJudgeOperateLog(qjog); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS /*if (hashmap.size() > 0) { if("1".equals(params2.get(1).toString())) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "1", null, null, null,""); } else if("2".equals(params2.get(1).toString())) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "2", null, null, null,""); } else if("0".equals(params2.get(1).toString())) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "D", null, null, null,""); } }*/ if (hashmap.size() > 0) { if("512601".equals(params2.get(3).toString())) {//正品 coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "1", null, null, null,""); } else if("512602".equals(params2.get(3).toString())) {//次品 coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "3", null, null, null,""); } else if("512603".equals(params2.get(3).toString())) {//废品 coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "4", null, null, null,""); } else if("512606".equals(params2.get(3).toString())) {//待判 coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "D", null, null, null,""); } else{//不合格 coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "2", null, null, null,""); } } SqlSession.commit(); } catch (Exception e) { cro.setResult( "检验登记失败!"+ e.getMessage()); cro.setV_errMsg("检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.doAddFlawJ:【" + params1.toString() + "," + params2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,params2.get(0).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doAddFlawL(ArrayList params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入数据"); return cro; } String material_no = params2.get(0).toString(); List hashmap = mapper.doQueryMaterialInfoJ(material_no); if(hashmap.size()==0){ throw new Exception("未找到库存信息!"); } try { String Inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 String sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'"; List list2 = mapper.query(sql); if(list2.size() >0){ for(HashMap list:list2){ if(list.get("JUDGERESULT") != null && !list.get("JUDGERESULT").toString().equals("0")){ throw new Exception("该产品序号【"+material_no+"】做了综合判定,不能做检验登记!"); } if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做检验登记!"); } Inspection_lot = list.get("INSPECTION_LOT")== null?"":list.get("INSPECTION_LOT").toString(); } }else{ throw new Exception("未找到库存信息!"); } sql = "select * from (select * from QCM_JUDGE_SURFACE where MATERIAL_NO = '"+material_no+"' order by SURFACE_ID desc) where rownum <= 1"; List oldSuf = mapper.queryQcmJudgeSurfaces(sql); if(oldSuf.size() > 0){ if ("1".equals(oldSuf.get(0).getSfu_is_lock()) || "1".equals(oldSuf.get(0).getSfd_is_lock()) || "1".equals(oldSuf.get(0).getSfe_is_lock())) { cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"],已经表面锁定,不能重新判定,请到异常材界面进行物料处理后操作!"); return cro; } } String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+type+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-4,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid=type+ymd + String.format("%05d",icount); //插入表面实绩表 for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } if(flaw_area.equals("")){ if(params1.size() >0){ flaw_area = params1.get(0).get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); String result = ""; if(!params2.get(1).toString().equals("")){ result = params2.get(1).toString(); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); if(flaw_area.equals("U")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); }else if(flaw_area.equals("D")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfd_is_lock("0"); }else if(flaw_area.equals("E")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfe_is_lock("0"); }else if(params2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); } }else{ if(hashmap.get(0).get("DESIGN_KEY")==null){ throw new Exception("订单号不能为空!"); } result = getresult(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString(),params2.get(3).toString()); qjsf.setSf_result_code(result); qjsf.setSf_result_desc(result.equals("1")?"合格":"不合格"); if(flaw_area.equals("U")&&result.equals("2")){ qjsf.setSfu_is_lock("0"); }else if(flaw_area.equals("D")&&result.equals("2")){ qjsf.setSfd_is_lock("0"); }else if(flaw_area.equals("E")&&result.equals("2")){ qjsf.setSfe_is_lock("0"); }else if(result.equals("2")){ qjsf.setSfu_is_lock("0"); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); qjsflist.add(qjsffs); seq = Long.parseLong(qjs.get(1).toString()); seq++; } // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql); // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } } for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } } if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ if(qjsff.getFlaw_area() == null){ continue; } //将获取的缺陷实绩信息插入表面缺陷实绩表 String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //更新库存表上表,下表,边部结果 if(list2.size() >0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc("合格"); zra.setSurfaceid(sid); zra.setSfd_is_lock("0"); zra.setSfe_is_lock("0"); zra.setSfu_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc("合格"); zra.setUd_surface_result_id_desc(sid); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc("合格"); zra.setUp_surface_result_id_desc(sid); zra.setMarginal_result("1"); zra.setMarginal_result_desc("合格"); zra.setMarginal_result_id_desc(sid); //合格 if(!result.equals("1")){ if(type.equals("U")){ zra.setUp_surface_result(result); zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else if(type.equals("D")){ zra.setUd_surface_result(result); zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else if(type.equals("E")){ zra.setMarginal_result(result); zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else{ zra.setMarginal_result(result); zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); zra.setUp_surface_result(result); zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setUd_surface_result(result); zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); } } mapper.UpdateJugeResultJ(zra); } //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 // if ("2".equals(result)) { // //生成质量封锁记录号 // int count=0; // QCMJudgeLocking qjlk = new QCMJudgeLocking(); // SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); // String date=sdf.format(new Date()); // String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; // List qjl = mapper.queryQCMJudgeLocking(condition); // if(qjl.size() > 0){ // count=qjl.get(0).getLock_seq(); // } // count++; // //锁定记录号 // int lock_seq=count; // //获取缺陷 // String flaw=""; // String strsql = "select * from QCM_JUDGE_SURFACE_FLAW where SURFACE_ID in (select SURFACE_ID from qcm_judge_surface where material_no = '"+material_no+"') "; // List qjsft = mapper.queryQcmJudgeSurfaceFlaw(strsql); // for(QcmJudgeSurfaceFlaw qjsf1 :qjsft){ // if(!flaw.contains(qjsf1.getFlaw_desc())) // { // flaw+=qjsf1.getFlaw_desc()+","; // } // } // String lock_memo = ""; // if (",".equals(flaw.substring(flaw.length()-1, flaw.length()))) { // lock_memo = "表面:"+flaw.substring(0,flaw.length()-1); // }else { // lock_memo = "表面:"+flaw.substring(0,flaw.length()); // } // //插入封锁表 // qjlk.setLock_type_code("F"); // qjlk.setLock_type_desc("表面检验"); // qjlk.setMaterial_no(material_no); // qjlk.setLock_seq(lock_seq); // qjlk.setLock_id(sid); // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); // qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); // qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); // qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); // qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); // qjlk.setFic_locking("1"); // qjlk.setLock_name(params2.get(6).toString()); // qjlk.setLock_memo(lock_memo+"-"+ params2.get(4).toString()); // mapper.insertQCMJudgeLocking(qjlk); // // } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定"); qjog.setParams(material_no); qjog.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); qjog.setBatchno(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); qjog.setJudge_result(result); mapper.insertQcmJudgeOperateLog(qjog); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if (hashmap.size() > 0) { if("1".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "1", null, null, null,params2.get(4).toString()); } else if("2".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "2", null, null, null,params2.get(4).toString()); }else if("0".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "D", null, null, null,params2.get(4).toString()); } } SqlSession.commit(); } catch (Exception e) { cro.setResult( "检验登记失败!"+ e.getMessage()); cro.setV_errMsg("检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.doAddFlawJ:【" + params1.toString() + "," + params2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,params2.get(0).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject doAddFlawL1(ArrayList params1,final ArrayList params2) throws Exception { if(params2.size() == 0){ cro.setV_errCode(-1); cro.setV_errMsg("请传入数据"); return cro; } String material_no = params2.get(0).toString(); List hashmap = mapper.doQueryMaterialInfoJ(material_no); if(hashmap.size()==0){ throw new Exception("未找到库存信息!"); } if(hashmap.get(0).get("DESIGN_KEY") == null){ throw new Exception("该物料无订单,不能进行表面判定"); } try { String Inspection_lot = ""; String inspection_lot = ""; String flaw_area = ""; //判断是否进行了综合判定 String sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'"; List list2 = mapper.query(sql); if(list2.size() > 0){ if(list2.get(0).get("JUDGERESULT").equals("4")){ throw new Exception("已判废品,不可操作!"); } } if(list2.size() >0){ for(HashMap list:list2){ if(list.get("JUDGERESULT") != null && !list.get("JUDGERESULT").toString().equals("0")){ List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'"); if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(material_no,inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), material_no, null, null, null, null, "D", null, null,""); //throw new Exception("该产品序号【"+material_no+"】做了综合判定,不能做检验登记!"); } if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){ throw new Exception("该该产品序号【"+material_no+"】已经锁定,不能做表面检验登记!"); } Inspection_lot = list.get("INSPECTION_LOT")== null?"":list.get("INSPECTION_LOT").toString(); } }else{ throw new Exception("未找到库存信息!"); } sql = "select * from (select * from QCM_JUDGE_SURFACE where MATERIAL_NO = '"+material_no+"' order by SURFACE_ID desc) where rownum <= 1"; List oldSuf = mapper.queryQcmJudgeSurfaces(sql); if(oldSuf.size() > 0){ if ("1".equals(oldSuf.get(0).getSfu_is_lock()) || "1".equals(oldSuf.get(0).getSfd_is_lock()) || "1".equals(oldSuf.get(0).getSfe_is_lock())) { cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"],已经表面锁定,不能重新判定,请到异常材界面进行物料处理后操作!"); return cro; } } String sid=""; List qjslisttt=new ArrayList(); //获取表检类型 String type = "U"; String ymd = new SimpleDateFormat("yyMMdd").format(new Date()); sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+type+ ymd+"%' order by surface_id desc) where rownum <= 1 "; List list=mapper.queryQcmJudgeSurfaces(sql); int icount = 0; if (list != null && list.size() > 0) { String s=list.get(0).getSurface_id(); icount = Integer.parseInt(s.substring(s.length()-4,s.length())); } //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001; icount++; sid=type+ymd + String.format("%05d",icount); //插入表面实绩表 for(List qjs:params1){ if(qjs.get(0).toString().equals("1")){ flaw_area = qjs.get(4).toString(); } } if(flaw_area.equals("")){ if(params1.size() >0){ flaw_area = params1.get(0).get(4).toString(); } } QcmJudgeSurface qjsf = new QcmJudgeSurface(); qjsf.setSurface_id(sid); qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString()); qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString()); qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString()); qjsf.setInspection_lot(Inspection_lot); qjsf.setMaterial_no(material_no); qjsf.setLevel_code(params2.get(3).toString()); qjsf.setLevel_desc(params2.get(4).toString()); qjsf.setSf_type(type); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); qjsf.setSfu_is_lock("0"); String result = ""; if(!params2.get(1).toString().equals("")){ result = params2.get(1).toString(); qjsf.setSf_result_code(params2.get(1).toString()); qjsf.setSf_result_desc(params2.get(2).toString()); if(flaw_area.equals("U")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); }else if(flaw_area.equals("D")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfd_is_lock("0"); }else if(flaw_area.equals("E")&¶ms2.get(1).toString().equals("2")){ qjsf.setSfe_is_lock("0"); }else if(params2.get(1).toString().equals("2")){ qjsf.setSfu_is_lock("0"); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); } }else{ if(hashmap.get(0).get("DESIGN_KEY")==null){ result = "0"; qjsf.setSf_result_code(result); qjsf.setSf_result_desc("待判"); }else{ result = getresult1(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString(),params2.get(3).toString()); qjsf.setSf_result_code(result); qjsf.setSf_result_desc(result.equals("1")?"合格":(result.equals("2")?"不合格":"待判")); } if(flaw_area.equals("U")&&result.equals("2")){ qjsf.setSfu_is_lock("0"); }else if(flaw_area.equals("D")&&result.equals("2")){ qjsf.setSfd_is_lock("0"); }else if(flaw_area.equals("E")&&result.equals("2")){ qjsf.setSfe_is_lock("0"); }else if(result.equals("2")){ qjsf.setSfu_is_lock("0"); qjsf.setSfd_is_lock("0"); qjsf.setSfe_is_lock("0"); } } if("LT1".equals(hashmap.get(0).get("PLINE_CODE"))){ if(hashmap.get(0).get("STEEL_CODE").toString().contains("TC")|| hashmap.get(0).get("STEEL_CODE").toString().contains("EK")|| hashmap.get(0).get("STEEL_CODE").toString().contains("SPP-H")){ if("不合格".equals(params2.get(9).toString())){ result = "2"; qjsf.setSf_result_code(result); qjsf.setSf_result_desc("不合格"); String sql11 = "update c_tbc02_coil_comm t set t.MAOCI = 'N' where " + " t.OLD_SAMPL_NO = '"+params2.get(0).toString()+"'"; mapper.upRZRemarks(sql11.toString()); }else if("合格".equals(params2.get(9).toString())){ String sql11 = "update c_tbc02_coil_comm t set t.MAOCI = 'Y' where " + " t.OLD_SAMPL_NO = '"+params2.get(0).toString()+"'"; mapper.upRZRemarks(sql11.toString()); }else if("".equals(params2.get(9).toString())&& "0".equals(result)){ cro.setV_errCode(-1); cro.setV_errMsg("物料["+material_no+"]表面需要判定边部毛刺,请勾选边部毛刺等级"); return cro; } } } qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString()); qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString()); qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString()); qjsf.setWrk_ord(params2.get(7).toString()); qjsf.setWrk_grp(params2.get(8).toString()); qjsf.setJudge_name(params2.get(6).toString()); qjsf.setSf_memo(params2.get(5).toString()); qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString()); qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString()); qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); mapper.insertQcmJudgeSurface(qjsf); Long seq=1L; List qjsflist = new ArrayList(); for(List qjs:params1){ QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw(); qjsffs.setPrimary_flag(qjs.get(0).toString()); qjsffs.setIs_repair("0"); qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString())); qjsffs.setFlaw_code(qjs.get(2).toString()); qjsffs.setFlaw_desc(qjs.get(3).toString()); qjsffs.setFlaw_area(qjs.get(4).toString()); List lists = finddefecttype(qjs.get(2).toString()); if(lists.size()>0){ qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString()); qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString()); qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString()); } qjsffs.setFlaw_pos_code(qjs.get(5).toString()); qjsffs.setFlaw_pos_desc(qjs.get(6).toString()); qjsffs.setFlaw_dir_code(qjs.get(7).toString()); qjsffs.setFlaw_dir_desc(qjs.get(8).toString()); qjsffs.setFlaw_size_code(qjs.get(9).toString()); qjsffs.setFlaw_size_desc(qjs.get(10).toString()); qjsffs.setFlaw_lv_code(qjs.get(11).toString()); qjsffs.setFlaw_lv_desc(qjs.get(12).toString()); if(!qjs.get(13).equals("")){ qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString())); } qjsffs.setMemo(qjs.get(14).toString()); qjsffs.setIs_repair(qjs.get(15).toString()); qjsffs.setFlaw_origin(qjs.get(16).toString()); qjsflist.add(qjsffs); seq = Long.parseLong(qjs.get(1).toString()); seq++; } // 获取物料历史缺陷集合 String conn = "and material_no = '"+ material_no +"'"; sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+""; List qjsListOld = mapper.queryQcmJudgeSurfaces(sql); if(qjsListOld!=null && qjsListOld.size()>0){ String sufIdStr=""; for(QcmJudgeSurface qjs1 : qjsListOld){ if("".equals(sufIdStr)) sufIdStr += "'"+qjs1.getSurface_id()+"'"; else sufIdStr += ",'"+qjs1.getSurface_id()+"'"; } String condition = "and surface_id in ("+sufIdStr+")"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+""; List qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql); String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'"; sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+""; List qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql); // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷 if(qjsffList1!=null && qjsffList1.size()>0){ //将获取的缺陷实绩信息插入表面缺陷实绩表 for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){ if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){ qjsff1.setPrimary_flag("0"); } } } for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){ Boolean flag = false; for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){ if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){ flag = true; break; } } if(!flag){ qjsf1.setFlaw_seq(seq); qjsflist.add(qjsf1); seq++; } } } int seq1 = 0; for(QcmJudgeSurfaceFlaw qjsff:qjsflist){ if(qjsff.getFlaw_area() == null){ continue; } //将获取的缺陷实绩信息插入表面缺陷实绩表 String[] strList = qjsff.getFlaw_area().split(","); for(String str : strList){ qjsff.setSurface_id(sid); qjsff.setFlaw_area(str); qjsff.setCreate_name(params2.get(6).toString());//创建人 qjsff.setCreate_time(new Date());//创建时间 mapper.insertQcmJudgeSurfaceFlaw(qjsff); seq1++; } QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason(); qjr.setMaterial_no(material_no); qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area()); qjr.setRecord_id(sid); qjr.setSeq(seq1); qjr.setPhy_code_s(qjsff.getFlaw_code()); qjr.setPhy_name_s(qjsff.getFlaw_desc()); qjr.setCreate_name(params2.get(6).toString()); qjr.setCreate_time(new Date()); mapper.insertQcmJudgeUltimateReason(qjr); } //更新库存表上表,下表,边部结果 if(list2.size() >0){ QcmJudgeCoilResult zra = new QcmJudgeCoilResult(); zra.setCoil_no(material_no); zra.setSurfaceresult("1"); zra.setSurfaceresult_desc("合格"); zra.setSurfaceid(sid); zra.setSfd_is_lock("0"); zra.setSfe_is_lock("0"); zra.setSfu_is_lock("0"); zra.setUd_surface_result("1"); zra.setUd_surface_result_desc("合格"); zra.setUd_surface_result_id_desc(sid); zra.setUp_surface_result("1"); zra.setUp_surface_result_desc("合格"); zra.setUp_surface_result_id_desc(sid); zra.setMarginal_result("1"); zra.setMarginal_result_desc("合格"); zra.setMarginal_result_id_desc(sid); //合格 if(!result.equals("1")){ if(type.equals("U")){ zra.setUp_surface_result(result); zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else if(type.equals("D")){ zra.setUd_surface_result(result); zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else if(type.equals("E")){ zra.setMarginal_result(result); zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); } else{ zra.setMarginal_result(result); zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfu_is_lock("0"); zra.setSurfaceresult(result); zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判"); zra.setUp_surface_result(result); zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfd_is_lock("0"); zra.setUd_surface_result(result); zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判"); zra.setSfe_is_lock("0"); } } mapper.UpdateJugeResultJ(zra); } // //异常材料处置,进行物料封锁合格时,直接进行异常材料处置业务 // if ("2".equals(result)) { // //生成质量封锁记录号 // int count=0; // QCMJudgeLocking qjlk = new QCMJudgeLocking(); // SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); // String date=sdf.format(new Date()); // String condition = " and MATERIAL_NO = '"+material_no+"' order by LOCK_SEQ desc "; // List qjl = mapper.queryQCMJudgeLocking(condition); // if(qjl.size() > 0){ // count=qjl.get(0).getLock_seq(); // } // count++; // //锁定记录号 // int lock_seq=count; // //获取缺陷 // String flaw=""; // String strsql = "select * from QCM_JUDGE_SURFACE_FLAW where SURFACE_ID in (select SURFACE_ID from qcm_judge_surface where material_no = '"+material_no+"') "; // List qjsft = mapper.queryQcmJudgeSurfaceFlaw(strsql); // for(QcmJudgeSurfaceFlaw qjsf1 :qjsft){ // if(!flaw.contains(qjsf1.getFlaw_desc())) // { // flaw+=qjsf1.getFlaw_desc()+","; // } // } // String lock_memo = ""; // if (",".equals(flaw.substring(flaw.length()-1, flaw.length()))) { // lock_memo = "表面:"+flaw.substring(0,flaw.length()-1); // }else { // lock_memo = "表面:"+flaw.substring(0,flaw.length()); // } // //插入封锁表 // qjlk.setLock_type_code("F"); // qjlk.setLock_type_desc("表面检验"); // qjlk.setMaterial_no(material_no); // qjlk.setLock_seq(lock_seq); // qjlk.setLock_id(sid); // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString()); // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString()); // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString()); // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ?"":hashmap.get(0).get("PLAN_NO").toString()); // qjlk.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString()); // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY")== null?"":hashmap.get(0).get("DESIGN_KEY").toString()); // qjlk.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString()); // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE").toString()); // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString()); // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString()); // qjlk.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString()); // qjlk.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString()); // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString()); // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString()); // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString()); // qjlk.setFic_locking("1"); // qjlk.setLock_name(params2.get(6).toString()); // qjlk.setLock_memo(lock_memo+"-"+ params2.get(4).toString()); // mapper.insertQCMJudgeLocking(qjlk); // // } QcmJudgeLog qjl = new QcmJudgeLog(); qjl.setJudge_type("R"); qjl.setMaterial_no(material_no); qjl.setCreate_name("system"); qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString()); mapper.insertQcmJudgeLog(qjl); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(params2.get(6).toString()); qjog.setOperate_type("表面检验判定"); 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").toString()); qjog.setJudge_result(result); mapper.insertQcmJudgeOperateLog(qjog); //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS if (hashmap.size() > 0) { if("1".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "1", null, null, null,params2.get(4).toString()); } else if("2".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "2", null, null, null,params2.get(4).toString()); }else if("0".equals(result)) { coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, "", null, null, null,params2.get(4).toString()); } } SqlSession.commit(); } catch (Exception e) { cro.setResult( "表面检验登记失败!"+ e.getMessage()); cro.setV_errMsg("表面检验登记失败!"+ e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.doAddFlawJ:【" + params1.toString() + "," + params2.toString() + "】" + e); } SqlSession.close(); /*final List hashmap1 = hashmap; Thread t1 = new Thread(){ @Override public void run(){ QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl(); //调用熔炼成分判定 RlChemAutoJudgeByHuman try { qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),params2.get(0).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString()); } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } }; t1.start(); Thread t3 = new Thread(){ @Override public void run(){ QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl(); //综合判定 try { qjpc.ultimateJudgeAutoBySystem(hashmap1,params2.get(0).toString(), "system"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; t3.start();*/ return cro; } /** * 获取检测机构 */ public CoreReturnObject findCretInstName(){ try{ String sql = "select '全部' cert_inst_code,'全部' cert_inst_name from dual union all select distinct a.cert_inst_code, a.cert_inst_name from qcm_jhy_sample_r_ord a "; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("获取检验机构失败"); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取检验位置 */ // @SuppressWarnings("rawtypes") // public CoreReturnObject findFlawArea(){ // try { // String sql = "select * from tbz00_commcd where lg_cd = 'B02003'"; // List list = mapper.query(sql); // cro.setResult(list); // } catch (Exception e) { // cro.setV_errCode(-1); // cro.setV_errMsg("获取检验位置代码失败" + e.getMessage()); // logger.info(e.getMessage()); // SqlSession.rollback(); // } // SqlSession.close(); // return cro; // // } /** * 获取检验位置 */ @SuppressWarnings("rawtypes") public CoreReturnObject findFlawArea(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02003'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取检验位置代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取卷板检验位置 */ @SuppressWarnings("rawtypes") public CoreReturnObject findJFlawArea(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02013'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取检验位置代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取质量等级 */ @SuppressWarnings("rawtypes") public CoreReturnObject findZlLevel(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B01016'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取质量等级代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取哪一头 */ @SuppressWarnings("rawtypes") public CoreReturnObject findFlawPosDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02004'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取哪一头代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取卷板哪一头 */ @SuppressWarnings("rawtypes") public CoreReturnObject findJFlawPosDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02014'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取哪一头代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取缺陷大小 */ @SuppressWarnings("rawtypes") public CoreReturnObject findFlawSizeDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02005'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷大小代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取卷板缺陷大小 */ @SuppressWarnings("rawtypes") public CoreReturnObject findJFlawSizeDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02015'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷大小代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取缺陷严重程度 */ @SuppressWarnings("rawtypes") public CoreReturnObject findFlawLvDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02006'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷严重程度代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取卷板缺陷严重程度 */ @SuppressWarnings("rawtypes") public CoreReturnObject findJFlawLvDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02016'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷严重程度代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取哪一侧 */ @SuppressWarnings("rawtypes") public CoreReturnObject findFlawDirDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02007'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取哪一侧代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 获取卷板哪一侧 */ @SuppressWarnings("rawtypes") public CoreReturnObject findJFlawDirDesc(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02019'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取哪一侧代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 质量判定-获取缺陷代码基础数据 * */ @SuppressWarnings("rawtypes") public CoreReturnObject findFlawDataJ(String prodline){ try { String sql =""; if(prodline.equals("热连轧")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('RZ1') ORDER BY DEFECT_TYPE_DESC"; }else if(prodline.equals("酸轧")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('SZ1') ORDER BY DEFECT_TYPE_DESC"; }else if(prodline.equals("连退")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('LT1') ORDER BY DEFECT_TYPE_DESC"; }else{ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('LT1','SZ1','RZ1') ORDER BY DEFECT_TYPE_DESC"; } List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findFlawDataB(String prodline){ try { String sql =""; if(prodline.equals("厚板线")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('HB1') order by DEFECT_DESC asc"; }else if(prodline.equals("中板线")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('ZB1') order by DEFECT_DESC asc"; }else{ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('ZB1','HB1') order by DEFECT_DESC asc"; } List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷代失败码" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findFlawDataB1(String prodline,String defect_desc){ try { String sql =""; if(prodline.equals("厚板线")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('HB1') and DEFECT_DESC like '"+defect_desc+"%' order by DEFECT_DESC asc"; }else if(prodline.equals("中板线")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('ZB1') and DEFECT_DESC like '"+defect_desc+"%' order by DEFECT_DESC asc"; }else{ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('ZB1','HB1') and DEFECT_DESC like '"+defect_desc+"%' order by DEFECT_DESC asc"; } List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷代失败码" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findFlawDataX(String prodline){ try { String sql =""; if(prodline.equals("高棒")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('BC1') order by DEFECT_DESC asc"; }else if(prodline.equals("棒二")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('BC2') order by DEFECT_DESC asc"; }else if(prodline.equals("高线")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('GX1') order by DEFECT_DESC asc"; }else{ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('GX1','GX2','BC2') order by DEFECT_DESC asc"; } List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findFlawDataY(String prodline){ try { String sql =""; if(prodline.equals("优特")){ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('YT1') order by DEFECT_DESC asc"; }else{ sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC,PLINE_NAME from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('YT1') order by DEFECT_DESC asc"; } List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findSfLv(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02008'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取质量等级失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } //板加开平表面等级 @SuppressWarnings("rawtypes") public CoreReturnObject findSfLvBj(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02008' and sm_cd in ('512602','512603','521605')"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取质量等级失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findSfLvY(){ try { String sql = "select * from tbz00_commcd where lg_cd = 'B02020'"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取质量等级失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findSfLv1(String judge_result){ try { String swhere = ""; if(judge_result.equals("0")){ swhere += " and sm_cd in ('512601')"; }else if(judge_result.equals("1")){ swhere += " and sm_cd in ('512602','512603','521604','521605')"; }else if(judge_result.equals("2")){ swhere += " and sm_cd in ('521606')"; } String sql = "select * from tbz00_commcd where lg_cd = 'B02008' "+swhere+""; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取质量等级失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings("rawtypes") public CoreReturnObject findFlawDataLg(String prodline){ try { String sql = "select DEFECT_DESC,DEFECT_CODE,DEFECT_TYPE_DESC from QCM_BASE_DEFECT where validflag = '1' AND PLINE_CODE IN ('"+prodline+"')"; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { cro.setV_errCode(-1); cro.setV_errMsg("获取缺陷代码失败" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 根据缺陷项目获取缺陷分类 */ @SuppressWarnings("rawtypes") public List finddefecttype(String defect_code) throws Exception{ try { String sql = "select * from QCM_BASE_DEFECT where validflag = '1' and defect_code = '"+defect_code+"'"; List list = mapper.query(sql); return list; } catch (Exception e) { logger.info(e.getMessage()); throw new Exception("获取缺陷分类失败" + e.getMessage()); } } /** * 修磨备注 */ @SuppressWarnings("rawtypes") public CoreReturnObject findXmMemo(){ try { String sql = "SELECT SM_CFNM,SM_CD FROM TBZ00_COMMCD WHERE LG_CD='G03009' ORDER BY CD_SEQ "; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { logger.info(e.getMessage()); cro.setV_errCode(-1); cro.setV_errMsg("获取修磨备注失败" + e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 抽查备注 */ @SuppressWarnings("rawtypes") public CoreReturnObject findCcMemo(){ try { String sql = "SELECT SM_CFNM,SM_CD FROM TBZ00_COMMCD WHERE LG_CD='G03008' ORDER BY CD_SEQ "; List list = mapper.query(sql); cro.setResult(list); } catch (Exception e) { logger.info(e.getMessage()); cro.setV_errCode(-1); cro.setV_errMsg("获取抽查备注失败" + e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 修复缺陷 * @param * @return */ public CoreReturnObject repairFlaw(String surface_id,String FlawSeq,String flag,String username,String userorder,String usergroup){ try { String sql = "select * from QCM_JUDGE_SURFACE where surface_id = '"+surface_id+"'"; List qjs = mapper.queryQcmJudgeSurfaces(sql); if(qjs.size() == 0){ throw new Exception("该产品序号未做表面检验判定,无法修复!"); } if(qjs.get(0).getSfd_is_lock().equals("1") || qjs.get(0).getSfe_is_lock().equals("1") || qjs.get(0).getSfu_is_lock().equals("1")){ throw new Exception("该产品序号已表面锁定,无法修复!"); } mapper.UpdateSurfaceFlaw(qjs.get(0).getSurface_id(), FlawSeq, flag); SqlSession.commit(); } catch (Exception e) { cro.setV_errMsg(e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.repairFlaw:【" + surface_id + "," + FlawSeq + "," + flag + "," + username + "," + userorder + "," + usergroup + "】" + e); } SqlSession.close(); return cro; } /** * 修复缺陷 * @param * @return */ public CoreReturnObject LgrepairFlaw(String surface_id,String FlawSeq,String flag,String username,String userorder,String usergroup,String fixed_type_desc,String fixed_thick){ try { QcmJhyElementsServiceImpl qjes = new QcmJhyElementsServiceImpl(); String sql = "select * from QCM_JUDGE_SURFACE where surface_id = '"+surface_id+"'"; List qjs = mapper.queryQcmJudgeSurfaces(sql); if(qjs.size() == 0){ throw new Exception("该产品序号未做表面检验判定,无法修复!"); } if(qjs.get(0).getSfd_is_lock().equals("1") || qjs.get(0).getSfe_is_lock().equals("1") || qjs.get(0).getSfu_is_lock().equals("1")){ throw new Exception("该产品序号已表面锁定,无法修复!"); } mapper.UpdateSurfaceFlaws(qjs.get(0).getSurface_id(), FlawSeq, flag,fixed_type_desc,fixed_thick); if(flag.equals("1")){ sql = "select * from QCM_JUDGE_SURFACE_FLAW where surface_id = '"+surface_id+"' AND FLAW_SEQ = '"+FlawSeq+"'"; List qjsf = mapper.queryQcmJudgeSurfaceFlaw(sql); if(qjsf.get(0).getFlaw_area().equals("E")){ return cro; } JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("PROD_LINE",qjs.get(0).getPline_code()); jsobj1.put("XMRESULT_S",qjsf.get(0).getFlaw_area().equals("U")?fixed_type_desc:""); jsobj1.put("XMRESULT_X",qjsf.get(0).getFlaw_area().equals("D")?fixed_type_desc:""); jsobj1.put("SLAB_NO",qjs.get(0).getMaterial_no()); jsobj1.put("OPTMAN",username); jsobj1.put("QBTHICK",fixed_thick.equals("")?0:Integer.parseInt(fixed_thick)); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"BmXMJudge ",JSON.toJSONString(jsobj1)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("修磨结果发送失败!"); } QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("修磨"); qjog.setParams(qjs.get(0).getMaterial_no()); qjog.setProd_line(qjs.get(0).getPline_code()); mapper.insertQcmJudgeOperateLog(qjog); } SqlSession.commit(); } catch (Exception e) { cro.setV_errMsg(e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.LgrepairFlaw:【" + surface_id + "," + FlawSeq + "," + flag + "," + username + "," + userorder + "," + usergroup + "," + fixed_type_desc + "," + fixed_thick + "】" + e); } SqlSession.close(); return cro; } public CoreReturnObject BMQX(String surface_id,String flag,String username,String userorder,String usergroup,String fixed_type_desc,String fixed_thick,String bmqx,final ArrayList param1){ try { QcmJhyElementsServiceImpl qjes = new QcmJhyElementsServiceImpl(); String sql = "select * from QCM_JUDGE_SURFACE where surface_id = '"+surface_id+"'"; String xmresult = "修磨失败"; Date date = new Date(); SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss"); List qjs = mapper.queryQcmJudgeSurfaces(sql); /*if(qjs.size() == 0){ throw new Exception("该产品序号未做表面检验判定,无法修复!"); } if(qjs.get(0).getSfd_is_lock().equals("1") || qjs.get(0).getSfe_is_lock().equals("1") || qjs.get(0).getSfu_is_lock().equals("1")){ throw new Exception("该产品序号已表面锁定,无法修复!"); }*/ //mapper.UpdateSurfaceFlaws(qjs.get(0).getSurface_id(), FlawSeq, flag,fixed_type_desc,fixed_thick); if(flag.equals("1")){ /*sql = "select * from QCM_JUDGE_SURFACE_FLAW where surface_id = '"+surface_id+"' AND FLAW_SEQ = '"+FlawSeq+"'"; List qjsf = mapper.queryQcmJudgeSurfaceFlaw(sql); if(qjsf.get(0).getFlaw_area().equals("E")){ return cro; }*/ JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("PROD_LINE",qjs.get(0).getPline_code()); jsobj1.put("XMRESULT_S",qjs.get(0).getSf_type().equals("U")?fixed_type_desc:""); jsobj1.put("XMRESULT_X",""); jsobj1.put("SLAB_NO",qjs.get(0).getMaterial_no()); jsobj1.put("OPTMAN",username); jsobj1.put("BMQX",bmqx); jsobj1.put("QBTHICK",fixed_thick.equals("")?0:Integer.parseInt(fixed_thick)); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"BmXMJudge ",JSON.toJSONString(jsobj1)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ throw new Exception("修磨结果发送失败!"); }else{ xmresult = "修磨成功"; } } String sql1= "insert into FIXRECORD(SURFACE_ID,FLAW,RESULT,BILLETNO,DESIGN_KEY,PROD_NAME,JUDGE_NAME,STEELCODE," + "JUDGETIME,THICK,WIDTH,LENGTH,STATUS,PROD_THK,PROD_WTH,HEATNO,PLANSTEEL,WEIGHT) " + " VALUES("+"'"+param1.get(0).toString()+"'"+","+"'"+param1.get(15).toString()+"'"+"," +"'"+xmresult+"'"+","+"'"+param1.get(1).toString()+"'"+","+"'"+param1.get(12).toString()+"'"+"" + ","+"'"+param1.get(8).toString()+"'"+","+"'"+username+"'"+","+"'"+param1.get(11).toString()+"'"+ ","+"sysdate"+","+"'"+param1.get(4).toString()+"'"+","+"'"+param1.get(5).toString()+"'"+ ","+"'"+param1.get(6).toString()+"'"+","+"'"+param1.get(2).toString()+"'"+","+"'"+param1.get(9).toString()+"'"+ ","+"'"+param1.get(10).toString()+"'"+","+"'"+param1.get(13).toString()+"'"+","+"'"+param1.get(14).toString()+"'"+ ","+"'"+param1.get(3).toString()+"'"+")"; mapper.Inxiumojilv(sql1.toString()); SqlSession.commit(); } catch (Exception e) { cro.setV_errMsg(e.getMessage()); cro.setV_errCode(-1); SqlSession.rollback(); logger.info(new Date().toString() + " QCM.QCM03.QCM0305.QcmJudgeSurfaceServiceImpl.LgrepairFlaw:【" + surface_id + "," + /*FlawSeq + */"," + flag + "," + username + "," + userorder + "," + usergroup + "," + fixed_type_desc + "," + fixed_thick + "】" + e); } SqlSession.close(); return cro; } /** * 查询检验信息 */ @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetSurfaceInfoJ(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String prodline,String steelname) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select surfaceid from QCM_JUDGE_COIL_RESULT"; /*String sql = "select a.surface_id, a.sf_result_desc, a.batch_no, a.material_no, a.design_key, a.psc_desc, a.level_desc,b.flaw_desc,a.judge_name,a.sf_memo,a.judge_time," + " a.steel_name,a.prod_name,a.std_name " + " from qcm_judge_surface a left join qcm_judge_surface_flaw b on a.surface_id = b.surface_id and b.primary_flag = '1'";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //起始轧批号 swhere += " and material_no like '"+sbatchno+"%'"; } /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += " and BATCH_NO <= '"+ebatchno+"'"; }*/ if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and ROLL_MANA_NO like '%"+psc_desc+"%'"; } if(!SqlJoint.IsNullOrSpace(steelname)){ swhere += " and steel_name = '" + steelname + "'"; } if(prodline.equals("热连轧")){ swhere += " and pline_code = 'RZ1'"; }else if(prodline.equals("酸轧")){ swhere += " and pline_code = 'SZ1'"; }else if(prodline.equals("连退")){ swhere += " and pline_code = 'LT1'"; } swhere += " and pline_code in ('RZ1','SZ1','LT1')"; //swhere += "and a.surface_id in ("+sqls+")"; //swhere += " order by judge_time desc"; String sql = "select a.surface_id, " + " a.sf_result_desc," + " a.batch_no," + " a.material_no," + " a.design_key," + " a.psc_desc," + " a.level_desc," + " b.flaw_desc," + " a.judge_name," + " a.sf_memo," + " a.judge_time," + " a.steel_name," + " a.prod_name," + " a.std_name," + " c.INSTR_COIL_THK thick," + " c.INSTR_COIL_WTH width," + " c.INSTR_COIL_LEN length," + " c.PRODNM_CD DELIVERY_STATE_DESC," + " c.ACT_WGT/1000 weight," + " d.ROLL_MANA_NO plan_no" + " from qcm_judge_surface a" + " left join qcm_judge_surface_flaw b" + " on a.surface_id = b.surface_id" + " and b.primary_flag = '1'" + " join tbh02_coil_comm c" + " on a.material_no = c.OLD_SAMPL_NO" + " left join tbf02_spec_mill d" + " on c.COIL_NO = d.COIL_NO "+swhere+"" /*+ " union all" + " select a.surface_id," + " a.sf_result_desc," + " a.batch_no," + " a.material_no," + " a.design_key," + " a.psc_desc," + " a.level_desc," + " b.flaw_desc," + " a.judge_name," + " a.sf_memo," + " a.judge_time," + " a.steel_name," + " a.prod_name," + " a.std_name," + " c.INSTR_COIL_THK thick," + " c.INSTR_COIL_WTH width," + " c.INSTR_COIL_LEN length," + " c.PRODNM_CD DELIVERY_STATE_DESC," + " c.ACT_WGT/1000 weight," + " d.CAL_NO plan_no" + " from qcm_judge_surface a" + " left join qcm_judge_surface_flaw b" + " on a.surface_id = b.surface_id" + " and b.primary_flag = '1'" + " join c_tbc02_coil_comm c" + " on a.material_no = c.OLD_SAMPL_NO" + " left join l_tbf03_spec_mill d" + " on c.COIL_NO = d.COIL_NO "+swhere+"" + " union all" + " select a.surface_id," + " a.sf_result_desc," + " a.batch_no," + " a.material_no," + " a.design_key," + " a.psc_desc," + " a.level_desc," + " b.flaw_desc," + " a.judge_name," + " a.sf_memo," + " a.judge_time," + " a.steel_name," + " a.prod_name," + " a.std_name," + " c.INSTR_COIL_THK thick," + " c.INSTR_COIL_WTH width," + " c.INSTR_COIL_LEN length," + " c.PRODNM_CD DELIVERY_STATE_DESC," + " c.ACT_WGT/1000 weight," + " d.ROLL_MANA_NO plan_no" + " from qcm_judge_surface a" + " left join qcm_judge_surface_flaw b" + " on a.surface_id = b.surface_id" + " and b.primary_flag = '1'" + " join c_tbl02_coil_comm c" + " on a.material_no = c.OLD_SAMPL_NO" + " left join c_tbf03_spec_mill d" + " on c.COIL_NO = d.COIL_NO"+swhere+""*/; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 查询修磨记录 * @param begintime * @param endtime * @param sbatchno * @param ebatchno * @param design_key * @param psc_desc * @param prodline * @param steelname * @return * @throws Exception */ @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetXiuMoJiLv(String begintime,String endtime,String slab_no,String prod_line) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select surfaceid from QCM_JUDGE_COIL_RESULT"; String sql = "select SURFACE_ID,FLAW,RESULT,BILLETNO,DESIGN_KEY,PROD_NAME,JUDGE_NAME,STEELCODE,\r\n" + " JUDGETIME, THICK,WIDTH,LENGTH,STATUS,PROD_THK,PROD_WTH,HEATNO,PLANSTEEL,WEIGHT\r\n" + " from FIXRECORD "; String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //修磨开始时间 swhere += " and to_date(to_char(JUDGETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(slab_no)) { //板坯号/产品序号 swhere += " and BILLETNO like '%"+slab_no+"%'"; } if (!SqlJoint.IsNullOrSpace(prod_line)) { //产线 swhere += " and PROD_NAME like '%"+prod_line+"%'"; } swhere += " order by JUDGETIME desc"; List list = mapper.query(sql+swhere); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询修磨记录出错" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetSurfaceInfoB(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String prodline) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select surfaceid from zj_result_all@xgcx WHERE 1=1 and (BILLETID LIKE 'Z%' OR BILLETID LIKE 'Z%')"; /*String sql = "select a.surface_id,a.heat_no, a.sf_result_desc, a.batch_no, a.material_no, a.design_key, a.psc_desc, a.level_desc, (select to_char(wmsys.wm_concat(distinct flaw_desc)) from qcm_judge_surface_flaw b where a.surface_id = b.surface_id) flaw_desc,a.judge_name,a.sf_memo,a.judge_time," + " a.steel_name,a.prod_name,a.std_name,decode(a.sf_type, 'U', '上表面', 'D', '下表面', '') sf_type,(select max(b.FIXED_NAME) from qcm_judge_surface_flaw b where a.surface_id = b.surface_id) FIXED_NAME " + " from qcm_judge_surface a ";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //起始轧批号 swhere += " and material_no like '"+sbatchno+"%'"; } /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += " and BATCH_NO <= '"+ebatchno+"'"; }*/ if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and psc_desc like '%"+psc_desc+"%'"; } if(prodline.equals("中板线")){ swhere += " and pline_code in ('ZB1') "; }else if(prodline.equals("厚板线")){ swhere += " and pline_code in ('HB1') "; } swhere += " and pline_code in ('ZB1','HB1')"; String sql = "select a.surface_id," +" a.heat_no," +" a.sf_result_desc," +" a.batch_no," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.level_desc," +" (select to_char(wmsys.wm_concat(distinct flaw_desc))" +" from qcm_judge_surface_flaw b" +" where a.surface_id = b.surface_id) flaw_desc," +" a.judge_name," +" a.sf_memo," +" a.judge_time," +" a.steel_name," +" a.prod_name," +" a.std_name," +" decode(a.sf_type, 'U', '上表面', 'D', '下表面', '') sf_type," +" (select max(b.FIXED_NAME)" +" from qcm_judge_surface_flaw b" +" where a.surface_id = b.surface_id) FIXED_NAME," +" b.ply THICK," +" b.WIDTH WIDTH," +" b.LENGTH LENGTH," +" b.theoryweight weight," +" psel_get_standroll@XGCX(c.STANDROLLER) DELIVERY_STATE_DESC," +" b.planorderform PLANORDERNO," +" b.allotorderform orderno," +" C2N@xgcx(b.INSTORAGECLASS) INSTORAGECLASS," +" C2N@xgcx(b.PRODUCECLASS) PRODUCECLASS" +" from qcm_judge_surface a" +" left join kch_turnofflist@xgcx b" +" on a.material_no = b.billetid" +" left join sel_pactdetail@xgcx c" +" on b.planorderform = c.orderno "+swhere+" AND A.MATERIAL_NO LIKE 'H%'" +" union all" +" select a.surface_id," +" a.heat_no," +" a.sf_result_desc," +" a.batch_no," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.level_desc," +" (select to_char(wmsys.wm_concat(distinct flaw_desc))" +" from qcm_judge_surface_flaw b" +" where a.surface_id = b.surface_id) flaw_desc," +" a.judge_name," +" a.sf_memo," +" a.judge_time," +" a.steel_name," +" a.prod_name," +" a.std_name," +" decode(a.sf_type, 'U', '上表面', 'D', '下表面', '') sf_type," +" (select max(b.FIXED_NAME)" +" from qcm_judge_surface_flaw b" +" where a.surface_id = b.surface_id) FIXED_NAME," +" b.ply THICK," +" b.WIDTH WIDTH," +" b.LENGTH LENGTH," +" b.theoryweight weight," +" psel_get_standroll@XGCX(c.STANDROLLER) DELIVERY_STATE_DESC," +" b.planorderno PLANORDERNO," +" b.orderno orderno," +" C2N@xgcx(b.INCLASSTEAM) INSTORAGECLASS," +" C2N@xgcx(b.PCLASSTEAM) PRODUCECLASS" +" from qcm_judge_surface a" +" left join kcz_turnofflist@xgcx b" +" on a.material_no = b.billetid" +" left join sel_pactdetail@xgcx c" +" on b.planorderno = c.orderno "+swhere+" AND A.MATERIAL_NO LIKE 'Z%'"; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetSurfaceInfoX(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String prodline) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select surfaceid from zj_result_all@xgcx WHERE BILLETID NOT LIKE 'Z%' AND BILLETID NOT LIKE 'Z%'"; /*String sql = "select a.surface_id, a.sf_result_desc, a.batch_no, a.material_no, a.design_key, a.psc_desc, a.level_desc,b.flaw_desc,a.judge_name,a.sf_memo,a.judge_time," + " a.steel_name,a.prod_name,a.std_name " + " from qcm_judge_surface a left join qcm_judge_surface_flaw b on a.surface_id = b.surface_id and b.primary_flag = '1'";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //起始轧批号 swhere += " and BATCH_NO >= '"+sbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += " and BATCH_NO <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc swhere += " and psc_desc like '%"+psc_desc+"%'"; } if(prodline.equals("高棒")){ swhere += " and pline_code in ('GX1','4001GX1') "; }else if(prodline.equals("棒二")){ swhere += " and pline_code in ('BC2','4001BC2') "; }else if(prodline.equals("高线")){ swhere += " and pline_code in ('GX2','4001GX2') "; } swhere += " and pline_code in ('GX1','BC1','BC2','GX2','4001GX1','4001GX2','4001BC2')"; //swhere += "and a.surface_id in ("+sqls+")"; //swhere += " order by BATCH_NO desc"; String sql = "select a.surface_id, " +" a.sf_result_desc," +" a.batch_no," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.level_desc," +" b.flaw_desc," +" a.judge_name," +" a.sf_memo," +" a.judge_time," +" a.steel_name," +" a.prod_name," +" a.std_name," +" c.PLY thick," +" c.WIDTH width," +" c.LENGTH length," +" c.THEORYWEIGHT weight," +" psel_get_standroll@XGCX(d.STANDROLLER) DELIVERY_STATE_DESC" +" from qcm_judge_surface a" +" left join qcm_judge_surface_flaw b" +" on a.surface_id = b.surface_id" +" and b.primary_flag = '1'" +" join kcx_turnofflist c" +" on a.material_no = c.BILLETID" +" left join sel_pactdetail d" +" on c.ORDERNO = d.ORDERNO "+swhere+""; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetSurfaceInfoK(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String prodline) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select surfaceid from zj_result_all@xgcx WHERE BILLETID NOT LIKE 'Z%' AND BILLETID NOT LIKE 'Z%'"; /*String sql = "select a.surface_id, a.sf_result_desc, a.batch_no, a.material_no, a.design_key, a.psc_desc, a.level_desc,b.flaw_desc,a.judge_name,a.sf_memo,a.judge_time," + " a.steel_name,a.prod_name,a.std_name " + " from qcm_judge_surface a left join qcm_judge_surface_flaw b on a.surface_id = b.surface_id and b.primary_flag = '1'";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(sbatchno)) { //起始轧批号 swhere += " and BATCH_NO >= '"+sbatchno+"'"; } if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号 swhere += " and BATCH_NO <= '"+ebatchno+"'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } swhere += " and pline_code in ('4001JB1')"; //swhere += "and a.surface_id in ("+sqls+")"; //swhere += " order by BATCH_NO desc"; String sql = "select a.surface_id, " +" a.sf_result_desc," +" a.batch_no," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.level_desc," +" b.flaw_desc," +" a.judge_name," +" a.sf_memo," +" a.judge_time," +" a.steel_name," +" a.prod_name," +" a.std_name," +" c.COIL_THK thick," +" c.COIL_WTH width," +" '' length," +" c.ACT_WGT/1000 weight," +" e.PRDNM_CD DELIVERY_STATE_DESC" +" from qcm_judge_surface a" +" left join qcm_judge_surface_flaw b" +" on a.surface_id = b.surface_id" +" and b.primary_flag = '1'" +" join kcj3_stufflist@xgcx c" +" on a.material_no = c.OLD_SAMPL_NO" +" left join tba01_ord_line d" +" on c.ord_no = d.ord_no and c.ord_seq = d.ord_seq left join tba01_ord_comm e on c.ord_no = e.ord_no "+swhere+""; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } @SuppressWarnings({ "unchecked", "rawtypes" }) public CoreReturnObject GetSurfaceInfoY(String begintime,String endtime,String material_no,String design_key,String prodline,String processes) throws Exception{ try{ if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(material_no)) { String sky=StrSky(begintime,endtime); if(sky.equals("FALSE")){ SqlSession.close(); cro.setV_errCode(-1); cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!"); return cro; } } //String sqls = "select surfaceid from zj_result_all@xgcx WHERE BILLETID NOT LIKE 'Z%' AND BILLETID NOT LIKE 'Z%'"; /*String sql = "select a.surface_id, a.sf_result_desc, a.batch_no, a.material_no, a.design_key, a.psc_desc, a.level_desc,b.flaw_desc,a.judge_name,a.sf_memo,a.judge_time," + " a.steel_name,a.prod_name,a.std_name " + " from qcm_judge_surface a left join qcm_judge_surface_flaw b on a.surface_id = b.surface_id and b.primary_flag = '1'";*/ String swhere = " where 1=1 "; if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间 swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')"; } if (!SqlJoint.IsNullOrSpace(material_no)) { //起始轧批号 swhere += " and material_no like '%"+material_no+"%'"; } if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号 swhere += " and design_key like '%"+design_key+"%'"; } if(prodline.equals("优特")){ swhere += " and pline_code in ('YT1') "; } swhere += " and pline_code in ('YT1')"; if(processes.equals("4mm分条机组")){ swhere += " and MACHINE_CODE = 'M0001'"; }else if(processes.equals("12mm分条机组")){ swhere += " and MACHINE_CODE = 'M0002'"; }else if(processes.equals("3mm横剪机组")){ swhere += " and MACHINE_CODE = 'M0003'"; }else if(processes.equals("退火炉宝信")){ swhere += " and MACHINE_CODE = 'M0004'"; }else if(processes.equals("退火炉南方D")){ swhere += " and MACHINE_CODE = 'M0005'"; }else if(processes.equals("退火炉艾伯纳")){ swhere += " and MACHINE_CODE = 'M0006'"; }else if(processes.equals("平整机组")){ swhere += " and MACHINE_CODE = 'M0007'"; }else if(processes.equals("轧机机组")){ swhere += " and MACHINE_CODE = 'M0008'"; }else if(processes.equals("退火炉南方G")){ swhere += " and MACHINE_CODE = 'M0009'"; }else if(processes.equals("酸洗机组")){ swhere += " and MACHINE_CODE = 'M0010'"; } //swhere += "and a.surface_id in ("+sqls+")"; //swhere += " order by BATCH_NO desc"; String sql = "select a.surface_id, " +" a.sf_result_desc," +" a.batch_no," +" a.material_no," +" a.design_key," +" a.psc_desc," +" a.level_desc," +" (select dbms_lob.substr(wmsys.wm_concat(DISTINCT(b.flaw_desc))) from qcm_judge_surface_flaw b where b.surface_id = a.surface_id) flaw_desc," +" a.judge_name," +" a.sf_memo," +" a.judge_time," +" a.steel_name," +" a.prod_name," +" a.std_name," +" c.thick," +" c.width," +" c.length," + " CASE WHEN d.FINAL_PROCESSES = '0' THEN (select max(use_desc) from qcm_ord_design_std_sic e where a.design_key = e.design_key and use_code in (select case when a.material_no like '%S%' THEN 'YTSX' when a.material_no like '%L%' and y.num='1' THEN 'YTZZ' when a.material_no like '%L%' and y.num='2' THEN 'YTZZ2' when a.material_no like '%P%' THEN 'YTPZ' when a.material_no like '%T%' THEN 'YTTH' when a.material_no like '%K%' THEN 'YTHJ' when a.material_no like '%F%' THEN 'YTZJ' END FROM DUAL)) ELSE soi.LEVEL_NAME END sf_level," +" c.FACTWEIGHT/1000 weight," +" C.DELIVERY_STATE_DESC" +" from qcm_judge_surface a" +" join YDM_PRODUCT_DETAIL@LINK_YTG c" +" on a.material_no = c.COILNO" + " left join qcm_judge_yt_coil_result d " + " on a.material_no = d.coil_no " + " left join SLM_ORDER_INFO@LINK_YTG soi on a.design_key = soi.CONTRACT_NO || soi.ORDER_SEQ left join ( select count(1) as num,MATERAILCOILNO from ( " + " select MATERAILCOILNO from YDM_PRODUCT_DETAIL@LINK_YTG ypd join MES_RCM_D@LINK_YTG d on ypd.COILNO = d.COIL_NO where substr(ypd.COILNO, -1, 1) not in ('H', 'B') and ypd.MACHINE_CODE = 'M0008' group by ypd.MATERAILCOILNO,d.PROCESS_NO ) group by MATERAILCOILNO )y on y.MATERAILCOILNO = c.MATERAILCOILNO "+swhere+""; List list = mapper.query(sql); cro.setResult(list); }catch(Exception e){ cro.setV_errCode(-1); cro.setV_errMsg("查询判定信息出错" + e.getMessage()); logger.info(e.getMessage()); SqlSession.rollback(); } SqlSession.close(); return cro; } /** * 炼钢表面修磨结果 */ @SuppressWarnings({ "unused", "unchecked" }) public CoreReturnObject GetXmResult(){ QcmJhyElementsServiceImpl qjes = new QcmJhyElementsServiceImpl(); try{ JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"XmResult",JSON.toJSONString(jsobj1)); if(result.contains("data")){ JSONObject jo = JSONObject.parseObject(result); JSONArray ja = jo.getJSONArray("data"); List listqjb = new ArrayList(); for(int i = 0;i list = mapper.doQueryMaterialInfoY(material_no); if(list.size()==0){ throw new Exception("找不到库存数据!"); } if(list.get(0).get("FINAL_PROCESSES").toString().equals("1")){ if(list.get(0).get("C_EXTSHAPE_REQ") ==null){ throw new Exception("表面标准未下发!"); } if(zl_result.compareTo(list.get(0).get("C_EXTSHAPE_REQ").toString()) >= 0){ result = "1"; }else{ result = "2"; } } else{ String use_code = ""; if(material_no.contains("S")) { use_code = "YTSX"; }else if(material_no.contains("L") && list.get(0).get("NUM").toString().equals("1")) { use_code = "YTZZ"; }else if(material_no.contains("L") && list.get(0).get("NUM").toString().equals("2")) { use_code = "YTZZ2"; }else if(material_no.contains("P")) { use_code = "YTPZ"; }else if(material_no.contains("T")) { use_code = "YTTH"; }else if(material_no.contains("K")) { use_code = "YTHJ"; }else if(material_no.contains("F")) { use_code = "YTZJ"; } List siclist=new ArrayList(); // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K; String sql = "select * from qcm_ord_design_std_sic where design_key = '"+list.get(0).get("DESIGN_KEY").toString()+"' and use_code = '"+use_code+"' AND USE_DESC IS NOT NULL"; List listSic = mapper.queryQCMOrdDesignStdSic(sql); if(listSic.size()==0){ throw new Exception("表面标准未下发!"); } if(zl_result.compareTo(listSic.get(0).getUse_desc().toString()) >= 0){ result = "1"; }else{ result = "2"; } } } }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取判定结果错误"+ex.getMessage()); SqlSession.rollback(); } return result; } private String getresult(String design_key,String zl_result){ String result = ""; try{ if(design_key.equals("") || zl_result.equals("") ){ throw new Exception("请传入正确参数!"); } if(zl_result.equals("CP") || zl_result.equals("FP") || zl_result.equals("S1")){ result = "2"; }else{ List list = mapper.query("select C_EXTSHAPE_REQ from tba01_ord_line a where a.ord_no||a.ord_seq = '"+design_key+"'"); if(list.size()==0){ throw new Exception("找不到订单数据!"); } if(zl_result.compareTo(list.get(0).get("C_EXTSHAPE_REQ").toString()) >= 0){ result = "1"; }else{ result = "2"; } } }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取判定结果错误"+ex.getMessage()); SqlSession.rollback(); } return result; } private String getresult1(String design_key,String zl_result){ String result = ""; try{ if(design_key.equals("") ){ throw new Exception("请传入正确参数!"); } if(zl_result.equals("CP") || zl_result.equals("FP") || zl_result.equals("S1")){ result = "2"; } else if(zl_result.equals("")){ result = "0"; } else{ List list = mapper.query("select C_EXTSHAPE_REQ from tba01_ord_line a where a.ord_no||a.ord_seq = '"+design_key+"'"); if(list.size()==0){ throw new Exception("找不到订单数据!"); } if(zl_result.compareTo(list.get(0).get("C_EXTSHAPE_REQ").toString()) >= 0){ result = "1"; }else{ result = "2"; } } }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取判定结果错误"+ex.getMessage()); SqlSession.rollback(); } return result; } /* * @desc coiljudge_status_call * @param pline 产线'RZ1' 'SZ1' 'LT1' * @param pcoilno 钢卷号 * @param chemrs 成分判定结果 '1'合格 '2'不合格 * @param qltyrs 材质判定结果 '1'合格 '2'不合格 * @param sizers 尺寸判定结果 '1'合格 '2'不合格 * @param exshrs 外观判定结果 '1'合格 '2'不合格,'3'次品 '4'废品 * @param totrs 综合判定 * @param fb_yn 是否封闭 * @param fb_reason 封闭原因 * @return void * * @date 2022/8/24 17:22 * @author Ljy */ public void coiljudge_status_call( String pline , String pcoilno , String chemrs , String qltyrs , String sizers , String exshrs , String totrs , String fb_yn , String fb_reason,String sf_lv) throws java.lang.Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call COILJUDGE_STATUSNEW(?,?,?,?,?,?,?,?,?,?,?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, StringUtils.isBlank(pline) ? "" : pline); cstmt.setString(2, StringUtils.isBlank(pcoilno) ? "" : pcoilno); cstmt.setString(3, StringUtils.isBlank(chemrs) ? "" : chemrs); cstmt.setString(4, StringUtils.isBlank(qltyrs) ? "" : qltyrs); cstmt.setString(5, StringUtils.isBlank(sizers) ? "" : sizers); cstmt.setString(6, StringUtils.isBlank(exshrs) ? "" : exshrs); cstmt.setString(7, StringUtils.isBlank(totrs) ? "" : totrs); cstmt.setString(8, StringUtils.isBlank(fb_yn) ? "" : fb_yn); cstmt.setString(9, StringUtils.isBlank(fb_reason) ? "" : fb_reason); cstmt.setString(10, StringUtils.isBlank(sf_lv) ? "" : sf_lv); cstmt.registerOutParameter(11, java.sql.Types.INTEGER); cstmt.registerOutParameter(12, java.sql.Types.VARCHAR); cstmt.execute(); if(cstmt.getString(11) != null){ if(cstmt.getString(11).equals("2")){ throw new java.lang.Exception(cstmt.getString(12).toString()); } } } catch (Exception e) { throw new Exception(e.getMessage()); } finally { try { if (rs != null) { rs.close(); } } catch (Exception e) { throw new Exception(e.getMessage()); } try { if (cstmt != null) { cstmt.close(); } } catch (Exception e) { throw new Exception(e.getMessage()); } } } //中厚板表面检验 private void bmjy(String aPreBH,String aCBID,String aJudgeType, String aGZLB, String aGYLB,String aXGLB,String aJudgeSteelName, String aJudgePurposeID , String aJudgeStandNo, String aRecorder , String aSquadOrder, String aSquadName, String aMemo, String aZYDW) throws java.lang.Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call GETJHTOMESPLAN.GET_BMJL@xgcx(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, aPreBH); cstmt.setString(2, aCBID); cstmt.setString(3, aJudgeType); cstmt.setString(4, aGZLB); cstmt.setString(5, aGYLB); cstmt.setString(6, aXGLB); cstmt.setString(7, aJudgeSteelName); cstmt.setString(8, aJudgePurposeID); cstmt.setString(9, aJudgeStandNo); cstmt.setString(10, aRecorder); cstmt.setString(11, aSquadOrder); cstmt.setString(12, aSquadName); cstmt.setString(13, aMemo); cstmt.setString(14, aZYDW); cstmt.registerOutParameter(15, java.sql.Types.INTEGER); cstmt.registerOutParameter(16, java.sql.Types.VARCHAR); cstmt.execute(); if(cstmt.getString(15) != null){ if(cstmt.getString(15).equals("0")){ throw new java.lang.Exception("["+ aCBID + "]" + " 调用接口失败: + "+cstmt.getString(16).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 (conn != null) { conn.close(); } } catch (Exception e) { throw new Exception(e.getMessage()); }*/ try { if (cstmt != null) { cstmt.close(); } } catch (Exception e) { throw new Exception(e.getMessage()); } } } //炼钢综合判定判废 @SuppressWarnings({ "rawtypes", "unused" }) public void LgultimateJudgeAutoBySystem(String material_no, String username,String prodline,String prod_name) throws Exception{ try{ int flag = 0; QcmJhyElementsServiceImpl qjes = new QcmJhyElementsServiceImpl(); List hashmap = (List) qjes.getLgRejudgeInfobyMaterial_no("", "", material_no, prodline, prod_name, "J").getResult(); if(hashmap.size() == 0){ return; } QcmJudgeUltimate qju=new QcmJudgeUltimate(); if(!hashmap.get(0).get("FACERESULT").equals("4")){ return; } String Judgeresult ="4"; String Judgeresult_desc = "废品"; List qj = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking where lock_id = '"+hashmap.get(0).get("CHEMJUDGEID").toString()+"' and unlock_type_code is null"); if(qj.size() > 0){ return; } qj = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking where lock_id = '"+hashmap.get(0).get("FACECHECKID").toString()+"' and unlock_type_code is null"); if(qj.size() > 0){ return; } qj = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking where material_no = '"+material_no+"' and unlock_type_code is null"); if(qj.size() > 0){ return; } //获取判定记录号当天的最大值 Date now = new Date(); String opr_time = new SimpleDateFormat("yyyyMMddHHmmss").format(now); //操作时间 SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd"); String date=sdf.format(now); int count=0; String sql ="select * from (select * from qcm_judge_ultimate where UTM_ID like 'ZL"+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="ZL"+sdf.format(now)+String.format("%04d",count); qju.setUtm_id(utm_id); //调用综合判定接口 String is_fx = "1"; if(prodline.equals("4001LGX")){ is_fx = "0"; } //插入综合判定记录表 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(material_no); qju.setBoard_no(material_no); qju.setInspection_lot(""); qju.setMaterial_no(material_no); qju.setUtm_id(utm_id); qju.setUtm_memo(hashmap.get(0).get("REMARK")==null?"":hashmap.get(0).get("REMARK").toString()); qju.setUtm_result_code(Judgeresult.equals("7")?"1":Judgeresult); qju.setUtm_result_desc(Judgeresult_desc); qju.setR_cic_id(hashmap.get(0).get("CHEMJUDGEID").toString()); qju.setR_cic_result_code(hashmap.get(0).get("CHEMRESULT_LK").toString()); qju.setR_cic_result_desc(hashmap.get(0).get("CHEMRESULT_LK").equals("1")?"合格":(hashmap.get(0).get("CHEMRESULT_LK").equals("2")?"不合格":(hashmap.get(0).get("CHEMRESULT_LK").equals("3")?"判次":"判废"))); qju.setSfd_id(hashmap.get(0).get("FACECHECKID").toString()); qju.setSfd_result_code(hashmap.get(0).get("FACERESULT").toString()); qju.setSfd_result_desc(hashmap.get(0).get("FACERESULT").equals("1")?"合格":(hashmap.get(0).get("FACERESULT").equals("2")?"不合格":(hashmap.get(0).get("FACERESULT").equals("3")?"判次":"判废"))); qju.setSfe_id(hashmap.get(0).get("FACECHECKID").toString()); qju.setSfe_result_code(hashmap.get(0).get("FACERESULT").toString()); qju.setSfe_result_desc(hashmap.get(0).get("FACERESULT").equals("1")?"合格":(hashmap.get(0).get("FACERESULT").equals("2")?"不合格":(hashmap.get(0).get("FACERESULT").equals("3")?"判次":"判废"))); qju.setSfu_id(hashmap.get(0).get("FACECHECKID").toString()); qju.setSfu_result_code(hashmap.get(0).get("FACERESULT").toString()); qju.setSfu_result_desc(hashmap.get(0).get("FACERESULT").equals("1")?"合格":(hashmap.get(0).get("FACERESULT").equals("2")?"不合格":(hashmap.get(0).get("FACERESULT").equals("3")?"判次":"判废"))); qju.setPsc(""); qju.setPsc_desc(""); qju.setProd_code(""); qju.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString()); qju.setSteel_code(hashmap.get(0).get("GRADE_NAME").toString()); qju.setSteel_name(hashmap.get(0).get("GRADE_NAME").toString()); qju.setStd_code(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").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); JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONObject jsobj1 = new JSONObject(); jsobj1.put("CHEMRESULT_LK", ""); jsobj1.put("FACERESULT",""); jsobj1.put("COMPREHENSIVERESULT",Judgeresult.equals("5")?"8":(Judgeresult.equals("6")?"7":(Judgeresult.equals("7")?"6":Judgeresult))); jsobj1.put("CHEMJUDGEID",""); jsobj1.put("FACECHECKID",""); jsobj1.put("COMPREHENSIVEID",utm_id); jsobj1.put("JUDGE_TYPE","J"); jsobj1.put("PROD_LINE",prodline); jsobj1.put("ISJUDGE","1"); jsobj1.put("PROD_TYPE",prod_name); jsobj1.put("SLAB_NO",material_no); jsobj1.put("CHECKNO",""); jsobj1.put("OPTMAN", username); jsobj1.put("ISFX", is_fx); jsobj1.put("CHEMRESULT_FX", ""); ttmaps.add(jsobj1); String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl"; String result = qjes.callWebserviceASMX(url,"ChemJudge",JSON.toJSONString(ttmaps)); JSONObject jo = JSONObject.parseObject(result); if(jo.get("code").toString().equals("1")){ return; } //judge_call(hashmap.get(0).get("STD_NAME"),hashmap.get(0).get("PROD_NAME"),hashmap.get(0).get("STD_NAME"),hashmap.get(0).get("PROD_NAME"),) //SqlSession.commit(); }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg(ex.getMessage()); SqlSession.rollback(); } //SqlSession.close(); } /** 综合判定-取消综合判定按钮 * 操作人、list<综合判定记录号> **/ @SuppressWarnings({ "unused", "rawtypes" }) public CoreReturnObject cancelUltimateJudge(String username,String material_no,String utm_id) throws Exception{ try { String sql = ""; sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'"; List list1 = mapper.query(sql); sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'"; List list2 = mapper.query(sql); sql = "select * from QCM_JUDGE_YT_COIL_RESULT where coil_no = '"+material_no+"' and judgeresult <> '0'"; List list3 = mapper.query(sql); //库存表放 List qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+utm_id+"'"); String inspection_lot = ""; if(list1.size() >0 || list2.size() >0 || list3.size() >0){ if(list1.size()>0){ if(list1.get(0).get("BILLETID_JY")==null || list1.get(0).get("BILLETID_JY").toString().equals("") ){ if(qju.size() > 0){ inspection_lot = qju.get(0).getInspection_lot(); } }else{ inspection_lot = list1.get(0).get("BILLETID_JY").toString(); } String design_key = qju.get(0).getDesign_key() == null?"":qju.get(0).getDesign_key().toString(); mapper.clearJUDGERESULT(material_no,inspection_lot); canceljudge_call(material_no,design_key); /*String steelname = hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString(); String phyid = list1.get(0).get("PHYSID")==null?"":list1.get(0).get("PHYSID").toString(); sql= "select max(t.steel_name) steel_name from qcm_judge_physical t where t.phy_id in (select phy_id from qcm_judge_physical_utm_d d where d.pic_id = '"+phyid+"')"; List liststeel = mapper.query(sql); if(liststeel != null && liststeel.size() >0 ){ steelname = liststeel.get(0).get("STEEL_NAME").toString(); } judge_call(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString(),hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString(),hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString(),"","","","","",material_no,username,"","","","",steelname);*/ }else if(list2.size() >0){ /*QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = qjms.doQueryMaterialInfoJ(material_no);*/ if(list2.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot(); }else{ inspection_lot = list2.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT1(material_no,inspection_lot); coiljudge_status_call(qju.get(0).getPline_code(), material_no, null, null, null, null, "D", null, null,""); }else{ List hashmap = mapper.doQueryMaterialInfoY(material_no); if(list3.get(0).get("INSPECTION_LOT")==null){ inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot(); }else{ inspection_lot = list3.get(0).get("INSPECTION_LOT")==null?"":list3.get(0).get("INSPECTION_LOT").toString(); } mapper.clearJUDGERESULT2(material_no,inspection_lot); String url = "http://172.16.81.200/xinsteel.maketx/service/SlmFundFirstDetailService/cancelReceiveUltimate"; JSONObject jsobj1 = new JSONObject(); JSONObject jsobj2 = new JSONObject(); JSONArray ttmaps = new JSONArray(); JSONArray ttmaps1 = new JSONArray(); jsobj1.put("utm_id", utm_id); jsobj1.put("material_no", material_no); jsobj2.put("object", jsobj1); ttmaps1.add(jsobj2); String result = post1(JSON.toJSONString(ttmaps1),url); JSONObject jo = JSONObject.parseObject(result); if(!"200".equals(jo.get("state").toString())){ throw new Exception(jo.get("msgInfo").toString()); } } }else{ throw new Exception("未找到库存信息!"); } mapper.CancelUltimate(utm_id, "表面判定",username); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("取消综合判定"); qjog.setParams(material_no); qjog.setProd_line(qju.get(0).getPline_code()); 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; } public CoreReturnObject AddFJHZHB(String material_no) throws Exception{ try { addFJH_call(material_no); SqlSession.commit(); } catch (Exception e) { SqlSession.rollback(); cro.setV_errCode(-1); cro.setV_errMsg("新增非计划子板失败"+e.getMessage()); logger.info(new Date().toString() + " 【" + material_no + "】" + e); } SqlSession.close(); 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()); } } } private void addFJH_call(String material_no) throws Exception { Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try { conn = SqlSession.getConnection(); String callSql = "{call GETJHTOMESPLAN.INST_PLANDETAILOFPLATE@xgcx(?) }"; cstmt = conn.prepareCall(callSql); cstmt.setString(1, material_no); cstmt.execute(); conn.commit(); } 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 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()); } } } 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()); } } } /*** * 判次、判废综合判定: * @param sum * @return */ @SuppressWarnings({ "rawtypes", "unused" }) public CoreReturnObject ultimateJudgeAuto(String material_no, String username,String type) throws Exception{ try{ int count = 0; QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl(); List hashmap = qjms.doQueryMaterialInfoBX(material_no); if(hashmap.size() == 0){ hashmap = qjms.doQueryMaterialInfoJ(material_no); } String sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'"; int flag = 0; String judge_result = ""; 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("综合判定不合格!"); } judge_result = zra.getJudgeresult(); 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 && liststeel.get(0).get("STEEL_NAME")!=null){ 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); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("综合判定"); 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()); qjog.setJudge_result(zra.getJudgeresult()); mapper.insertQcmJudgeOperateLog(qjog); } }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("综合判定不合格!"); } judge_result = zra.getJudgeresult(); 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.setJudge_name(username); qju.setJudge_time(new Date()); 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.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); coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, null, null, judge_result, null, null,""); QcmJudgeOperateLog qjog = new QcmJudgeOperateLog(); qjog.setOperate_name(username); qjog.setOperate_type("综合判定"); 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()); qjog.setJudge_result(zra.getJudgeresult()); mapper.insertQcmJudgeOperateLog(qjog); } } }else{ throw new Exception("未找到该检验号下的库存信息!"); } //cro = creatUltimateResultByHand(material_no,username);//手动进行综合判定 }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg(ex.getMessage()); //SqlSession.rollback(); } //SqlSession.close(); return cro; } /** * 查询物料明细信息 根据物料号 需增加炼钢牌号 * @return */ /*@SuppressWarnings("rawtypes") public List doQueryMaterialInfoZhb(String material_no) { String swhere = ""; String swhere1 = ""; if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号 swhere += " and material_no in "+material_no+""; } String sql = "select t1.* from (select C2N@xgcx(INSTORAGECLASS) INSTORAGECLASS,C2N@xgcx(PRODUCECLASS) PRODUCECLASS,'' ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,STOVENO HEAT_NO,to_char((SELECT substr(MAX(BILLETID),1,12)||'0' FROM zyhb_plandetailofplate@xgcx where MOTHERSLAB = MOTHERBOARDNUMBER)) BOARD_NO, a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, " + " case when allotorderform is null then planorderform else allotorderform end design_key,planorderform PLANORDERNO,allotorderform ORDERNO, " + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, " + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,(select BIGSHOPSIGN from kch_storagelist@xgcx " + " where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_code, " + " (select BIGSHOPSIGN from kch_storagelist@xgcx where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx " + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_name,b.BILLETID_jy INSPECTION_LOT from kch_turnofflist@xgcx a " + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" " + " union all " + " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, " + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC from (select C2N@xgcx(INCLASSTEAM),C2N@xgcx(PCLASSTEAM), '' ht_no, 'ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,a.STOVENO HEAT_NO,to_char((SELECT substr(MAX(BILLETID),1,12)||'0' FROM mb_plandetailofplate@xgcx where MOTHERPLATEID = MOTHERBOARDNUMBER)) BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, case when orderno is null then planorderno else orderno end DESIGN_KEY, " + " A.PLANORDERNO,A.ORDERNO,a.PLY thick, a.WIDTH, " + " a.LENGTH, a.THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, " + " PTIME PRODUCETIME, b.sizeid,(select BIGSHOPSIGN from kcz_storagelist@xgcx where BILLETID = (select BILLETID " + " from mb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_CODE, (select BIGSHOPSIGN " + " from kcz_storagelist@xgcx where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx " + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_NAME,b.BILLETID_jy INSPECTION_LOT from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID " + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "; try { System.out.print(sql); List list = mapper.query(sql); return list; } catch (Exception ex) { ex.printStackTrace(); } return null; }*/ public static String post1(String json,String URL) { HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(URL); post.setHeader("Content-Type", "application/x-www-form-urlencoded"); post.addHeader("Authorization", "Basic YWRtaW46"); String result = ""; try { StringEntity s = new StringEntity(json, "utf-8"); s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); post.setEntity(s); // 发送请求 HttpResponse httpResponse = client.execute(post); // 获取响应输入流 InputStream inStream = httpResponse.getEntity().getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader( inStream, "utf-8")); StringBuilder strber = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) strber.append(line + "\n"); inStream.close(); result = strber.toString(); System.out.println(result); if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { System.out.println("请求服务器成功,做相应处理"); } else { System.out.println("请求服务端失败"); } } catch (Exception e) { System.out.println("请求异常"); throw new RuntimeException(e); } return result; } public CoreReturnObject ZHflawDesc(String Entrust,String surface_id) { try{ String[] ja=Entrust.split(","); String msInfo=""; if (ja!=null && ja.length>0) { for (int i = 0; i < ja.length; i++) { String sp = ja[i]; if ("".equals(msInfo)) { msInfo="'"+sp+"'"; }else{ msInfo=msInfo+"'"+sp+"'"; } if (i !=ja.length-1) { msInfo=msInfo+","; } } } //排除正在做的项目 String sql ="SELECT FLAW_DESC FROM QCM_JUDGE_SURFACE_FLAW T WHERE T.SURFACE_ID = '"+surface_id+"' " +" and t.flaw_desc not in ("+msInfo+") GROUP BY FLAW_DESC "; List list= mapper.query(sql.toString()); if(list!=null && list.size()>=1){ for (HashMap hashMap : list) { String FLAW_DESC = hashMap.get("FLAW_DESC").toString(); sql ="SELECT * FROM QCM_JUDGE_SURFACE_FLAW T WHERE T.SURFACE_ID = '"+surface_id+"' " +" and t.flaw_desc = '"+FLAW_DESC+"' order by t.create_time desc "; List li= mapper.query(sql.toString()); if(li!=null && li.size()>=1){ String IS_REPAIR = li.get(0).get("IS_REPAIR").toString(); if("0".equals(IS_REPAIR)){ cro.setV_errCode(-1); cro.setV_errMsg("不可选择检验结果为合格!["+FLAW_DESC+"]待修复!"); SqlSession.close(); return cro; }else if("2".equals(IS_REPAIR)){ cro.setV_errCode(-1); cro.setV_errMsg("不可选择检验结果为合格!["+FLAW_DESC+"]未冷矫!"); SqlSession.close(); return cro; } } } } }catch(Exception ex){ cro.setV_errCode(-1); cro.setV_errMsg("获取出错"+ex.getMessage()); SqlSession.rollback(); SqlSession.close(); return cro; } cro.setV_errCode(0); SqlSession.close(); return cro; } }