153df8eef3c77dd6b4483f9cbdddc187cfd32a10.svn-base 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package QCM.QCM03.QCM0304;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.ArrayList;
  6. import java.util.Date;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import org.apache.ibatis.session.SqlSession;
  10. import com.alibaba.fastjson.JSONObject;
  11. import QCM.COMMUNAL.QCM02.SqlJoint;
  12. import QCM.COMMUNAL.VO.QCMJudgeLocking;
  13. import QCM.COMMUNAL.VO.QcmJudgeDetectionD;
  14. import QCM.COMMUNAL.VO.QcmJudgeDetectionM;
  15. import UIB.COM.XmlSqlParsersFactory;
  16. import CoreFS.SA01.CoreIComponent;
  17. import CoreFS.SA06.CoreReturnObject;
  18. public class QcmJudgeDefectionServiceImpl extends CoreIComponent{
  19. CoreReturnObject cro = new CoreReturnObject();
  20. ResultSet rs = null;
  21. SqlSession SqlSession =
  22. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  23. QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  24. /**
  25. * 根据条件获得待判记录
  26. */
  27. /**
  28. * 根据产品序号获得探伤明细
  29. */
  30. /**
  31. * 获得探伤项目
  32. */
  33. public CoreReturnObject QueryQcmDetection(){
  34. String sql = "select detection_code,detection_name from qcm_base_detection where validflag= '1'";
  35. List<HashMap> list = mapper.query(sql);
  36. cro.setResult(list);
  37. SqlSession.close();
  38. return cro;
  39. }
  40. /**
  41. * 根据条件获得检验判定记录
  42. */
  43. public CoreReturnObject QueryDefection(String begintime,String endtime,String Sbatchno,String Ebatchno,String orderno,String psc) {
  44. StringBuffer sqlucomm = new StringBuffer();
  45. sqlucomm.append("select \n"+
  46. "DIC_ID,BATCH_NO,MATERIAL_NO,DESIGN_KEY,PSC_DESC,DIC_RESULT_DESC,DELIVERY_STATE_DESC, \n"+
  47. "THICK || CASE WHEN WIDTH IS NULL THEN '' ELSE '*' END || WIDTH || CASE WHEN LENGTH IS NULL \n "+
  48. " THEN '' ELSE '*' END || LENGTH SPET,DIC_REMARK_DESC,DIC_MEMO,JUDGE_NAME,JUDGE_TIME \n"+
  49. " FROM QCM_JUDGE_DETECTION_M \n"+
  50. " WHERE 1=1 ");
  51. if(!"".equals(orderno)){
  52. sqlucomm.append(" and DESIGN_KEY='"+orderno+"' ");
  53. }
  54. if(!"".equals(psc)){
  55. sqlucomm.append(" and PSC_DESC='"+psc+"' ");
  56. }
  57. if(!"".equals(begintime)){
  58. sqlucomm.append(" and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') >= to_date('"+begintime+"','yyyy-mm-dd') ");
  59. }
  60. if(!"".equals(endtime)){
  61. sqlucomm.append("and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') <= to_date('"+endtime+"','yyyy-mm-dd') ");
  62. }
  63. if(!"".equals(Sbatchno)){
  64. sqlucomm.append(" and BATCH_NO >='"+Sbatchno+"' ");
  65. }
  66. if(!"".equals(Ebatchno)){
  67. sqlucomm.append(" and BATCH_NO <='"+Ebatchno+"' ");
  68. }
  69. List<HashMap> list = mapper.query(sqlucomm.toString());
  70. cro.setResult(list);
  71. SqlSession.close();
  72. return cro;
  73. }
  74. /**
  75. * params0 产品序号 params1 design_key
  76. * 人为质量判定--探伤
  77. */
  78. public CoreReturnObject JudgeDefectionByhuman(String material_no,String ispass,String username)
  79. throws SQLException {
  80. try{
  81. //判断是否已判
  82. String sql = "select count(*) count from QCM_JUDGE_DETECTION_M where material_no = '"+material_no+"'";
  83. String count = mapper.query(sql).get(0).get("COUNT").toString();
  84. if(!count.equals("0")){
  85. throw new Exception("该产品序号已经判定,不能重复判定!");
  86. }
  87. //查询是否锁定,锁定不能判定
  88. sql = "select COUNT(1) COUNT from qcm_judge_locking where material_no = '"+material_no+"' and = 'D'";
  89. count = mapper.query(sql).get(0).get("COUNT").toString();
  90. if(!count.equals("0")){
  91. throw new Exception("该产品序号已经探伤锁定,不能判定!");
  92. }
  93. QcmJudgeDetectionM qjdm = new QcmJudgeDetectionM();
  94. QcmJudgeDetectionD qjdd = new QcmJudgeDetectionD();
  95. //插入探伤检验结果表
  96. mapper.insertQcmJudgeDetectionD(qjdd);
  97. mapper.insertQcmJudgeDetectionM(qjdm);
  98. //系统如果判不合格,插入质量锁定表,走异常材流程
  99. if(ispass.equals("0")){
  100. MaterialAbnormalTreatment(material_no);
  101. }
  102. SqlSession.commit();
  103. }catch(Exception ex){
  104. cro.setV_errCode(-1);
  105. cro.setV_errMsg(ex.getMessage());
  106. SqlSession.rollback();
  107. }
  108. SqlSession.close();
  109. return cro;
  110. }
  111. /**
  112. * 异常材料处理--封锁物料
  113. */
  114. public void MaterialAbnormalTreatment(String material_no){
  115. try {
  116. //生成质量封锁记录号
  117. int count=0;
  118. QCMJudgeLocking qjlk = new QCMJudgeLocking();
  119. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  120. String date=sdf.format(new Date());
  121. String condition = " and MATERIAL_NO = '"+material_no+"' order by a.LOCK_SEQ desc ";
  122. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  123. if(qjl.size() > 0){
  124. count=qjl.get(0).getLock_seq();
  125. }
  126. count++;
  127. //锁定记录号
  128. int lock_seq=count;
  129. //获取探伤不合格原因
  130. //String lock_memo = jo.getString("DIC_REMARK_DESC");
  131. //插入封锁表
  132. qjlk.setLock_type_code("D");
  133. qjlk.setLock_type_desc("探伤检验");
  134. qjlk.setLock_seq(lock_seq);
  135. qjlk.setHeat_no("");
  136. qjlk.setBatch_no("");
  137. qjlk.setBoard_no("");
  138. qjlk.setPlan_no("");
  139. qjlk.setHt_no("");
  140. qjlk.setDesign_key("");
  141. qjlk.setPsc("");
  142. qjlk.setPline_code("");
  143. qjlk.setPline_name("");
  144. qjlk.setFic_locking("1");
  145. //qjlk.setLock_name(username);
  146. //qjlk.setLock_memo(lock_memo);
  147. mapper.insertQCMJudgeLocking(qjlk);
  148. //更改库存表封锁状态
  149. } catch (Exception e) {
  150. cro.setV_errMsg(e.getMessage());
  151. }
  152. }
  153. }