| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- package QCM.QCM03.QCM0304;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import org.apache.ibatis.session.SqlSession;
- import com.alibaba.fastjson.JSONObject;
- import QCM.COMMUNAL.QCM02.SqlJoint;
- import QCM.COMMUNAL.VO.QCMJudgeLocking;
- import QCM.COMMUNAL.VO.QcmJudgeDetectionD;
- import QCM.COMMUNAL.VO.QcmJudgeDetectionM;
- import UIB.COM.XmlSqlParsersFactory;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- public class QcmJudgeDefectionServiceImpl extends CoreIComponent{
- CoreReturnObject cro = new CoreReturnObject();
- ResultSet rs = null;
- SqlSession SqlSession =
- QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
- QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
- /**
- * 根据条件获得待判记录
- */
- /**
- * 根据产品序号获得探伤明细
- */
- /**
- * 获得探伤项目
- */
- public CoreReturnObject QueryQcmDetection(){
- String sql = "select detection_code,detection_name from qcm_base_detection where validflag= '1'";
- List<HashMap> list = mapper.query(sql);
- cro.setResult(list);
- SqlSession.close();
- return cro;
- }
- /**
- * 根据条件获得检验判定记录
- */
- public CoreReturnObject QueryDefection(String begintime,String endtime,String Sbatchno,String Ebatchno,String orderno,String psc) {
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("select \n"+
- "DIC_ID,BATCH_NO,MATERIAL_NO,DESIGN_KEY,PSC_DESC,DIC_RESULT_DESC,DELIVERY_STATE_DESC, \n"+
- "THICK || CASE WHEN WIDTH IS NULL THEN '' ELSE '*' END || WIDTH || CASE WHEN LENGTH IS NULL \n "+
- " THEN '' ELSE '*' END || LENGTH SPET,DIC_REMARK_DESC,DIC_MEMO,JUDGE_NAME,JUDGE_TIME \n"+
- " FROM QCM_JUDGE_DETECTION_M \n"+
- " WHERE 1=1 ");
- if(!"".equals(orderno)){
- sqlucomm.append(" and DESIGN_KEY='"+orderno+"' ");
- }
- if(!"".equals(psc)){
- sqlucomm.append(" and PSC_DESC='"+psc+"' ");
- }
- if(!"".equals(begintime)){
- sqlucomm.append(" and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') >= to_date('"+begintime+"','yyyy-mm-dd') ");
- }
- if(!"".equals(endtime)){
- sqlucomm.append("and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') <= to_date('"+endtime+"','yyyy-mm-dd') ");
- }
- if(!"".equals(Sbatchno)){
- sqlucomm.append(" and BATCH_NO >='"+Sbatchno+"' ");
- }
- if(!"".equals(Ebatchno)){
- sqlucomm.append(" and BATCH_NO <='"+Ebatchno+"' ");
- }
- List<HashMap> list = mapper.query(sqlucomm.toString());
- cro.setResult(list);
- SqlSession.close();
- return cro;
- }
- /**
- * params0 产品序号 params1 design_key
- * 人为质量判定--探伤
- */
- public CoreReturnObject JudgeDefectionByhuman(String material_no,String ispass,String username)
- throws SQLException {
- try{
- //判断是否已判
- String sql = "select count(*) count from QCM_JUDGE_DETECTION_M where material_no = '"+material_no+"'";
- String count = mapper.query(sql).get(0).get("COUNT").toString();
- if(!count.equals("0")){
- throw new Exception("该产品序号已经判定,不能重复判定!");
- }
- //查询是否锁定,锁定不能判定
- sql = "select COUNT(1) COUNT from qcm_judge_locking where material_no = '"+material_no+"' and = 'D'";
- count = mapper.query(sql).get(0).get("COUNT").toString();
- if(!count.equals("0")){
- throw new Exception("该产品序号已经探伤锁定,不能判定!");
- }
- QcmJudgeDetectionM qjdm = new QcmJudgeDetectionM();
- QcmJudgeDetectionD qjdd = new QcmJudgeDetectionD();
- //插入探伤检验结果表
- mapper.insertQcmJudgeDetectionD(qjdd);
- mapper.insertQcmJudgeDetectionM(qjdm);
- //系统如果判不合格,插入质量锁定表,走异常材流程
- if(ispass.equals("0")){
- MaterialAbnormalTreatment(material_no);
- }
- SqlSession.commit();
- }catch(Exception ex){
- cro.setV_errCode(-1);
- cro.setV_errMsg(ex.getMessage());
- SqlSession.rollback();
- }
- SqlSession.close();
- return cro;
- }
- /**
- * 异常材料处理--封锁物料
- */
- public void MaterialAbnormalTreatment(String material_no){
- try {
- //生成质量封锁记录号
- 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 a.LOCK_SEQ desc ";
- List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
- if(qjl.size() > 0){
- count=qjl.get(0).getLock_seq();
- }
- count++;
- //锁定记录号
- int lock_seq=count;
- //获取探伤不合格原因
- //String lock_memo = jo.getString("DIC_REMARK_DESC");
- //插入封锁表
- qjlk.setLock_type_code("D");
- qjlk.setLock_type_desc("探伤检验");
- qjlk.setLock_seq(lock_seq);
- qjlk.setHeat_no("");
- qjlk.setBatch_no("");
- qjlk.setBoard_no("");
- qjlk.setPlan_no("");
- qjlk.setHt_no("");
- qjlk.setDesign_key("");
- qjlk.setPsc("");
- qjlk.setPline_code("");
- qjlk.setPline_name("");
- qjlk.setFic_locking("1");
- //qjlk.setLock_name(username);
- //qjlk.setLock_memo(lock_memo);
- mapper.insertQCMJudgeLocking(qjlk);
- //更改库存表封锁状态
- } catch (Exception e) {
- cro.setV_errMsg(e.getMessage());
- }
- }
- }
|