package xin.glue.nui.H.H04; import java.text.SimpleDateFormat; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.context.PosContext; import com.posdata.glue.dao.vo.PosParameter; import com.posdata.glue.dao.vo.PosRow; import com.posdata.glue.dao.vo.PosRowSet; import com.posdata.glue.msg.PosMessage; /* * 轧辊磨削实绩 * @author TangLiang 唐亮 * @data 2008.10.31 */ public class SaveRollGrind extends PosActivity{ public String runActivity(PosContext context) { //轧辊的上次磨消时间 String GRIND_DTIME_OLD = ""; //磨消次数 Number GrindStepNo1 ; // 磨消次数 int GrindStepNo = 0; // 取得查询的结果集对象 PosRowSet rows =(PosRowSet) context.get("RollGrid"); logger.logDebug("SaveRollGrind START"); // 如果结果集存在值的情况下 if(rows.hasNext()){ //获取每一行的数据 PosRow row = rows.next(); //磨削时间 GRIND_DTIME_OLD = (String) row.getAttribute("GRIND_DTIME"); //磨削次数 GrindStepNo1 = (Number)row.getAttribute("GRIND_STEPNO"); if(GrindStepNo1 == null || GrindStepNo1.equals("")){ GrindStepNo = 0; logger.logDebug("SaveRollGrind GrindStepNo1 IS NULL" + GrindStepNo); }else{ GrindStepNo = GrindStepNo1.intValue(); logger.logDebug("SaveRollGrind GrindStepNo1 IS NOT NULL" + GrindStepNo); } } //接收Message 编辑 PosMessage message = context.getMessage(); //轧辊号 1 String ROLLNO = (String) message.get("ROLL_NO"); //磨床号 2 String GRINDDEV_NO = (String) message.get("GRINDDEV_NO"); //磨削开始时间 3 String GRIND_BEF_DTIME = (String) message.get("GRIND_BEF_DTIME"); //磨削完成时间 4 String GRIND_USE_DTIME = (String) message.get("GRIND_USE_DTIME"); //磨削前头部直径 String BEFORE_DIAMETER_HEAD = (String) message.get("BEFORE_DIAMETER_HEAD"); //磨削前头部测量点位置 String BEFORE_DIAMETER_POSITION = (String) message.get("BEFORE_DIAMETER_POSITION"); //磨削前中部直径 String BEFORE_DIAMETER_MIDDLE = (String) message.get("BEFORE_DIAMETER_MIDDLE"); //磨削前中部测量点位置 String BEFORE_DIAMETER_M_POSITION = (String) message.get("BEFORE_DIAMETER_M_POSITION"); //磨削前尾部直径 String BEFORE_DIAMETER_TAIL = (String) message.get("BEFORE_DIAMETER_TAIL"); //磨削前尾部测量点位置 String BEFORE_DIAMETER_T_POSITION = (String) message.get("BEFORE_DIAMETER_T_POSITION"); //磨削后头部直径 String AFTER_DIAMETER_HEAD = (String) message.get("AFTER_DIAMETER_HEAD"); //磨削后头部测量点位置 String AFTER_DIAMETER_POSITION = (String) message.get("AFTER_DIAMETER_POSITION"); //磨削后中部直径 String AFTER_DIAMETER_MIDDLE = (String) message.get("AFTER_DIAMETER_MIDDLE"); //磨削后中部测量点位置 String AFTER_DIAMETER_MIDDLE_POSITION = (String) message.get("AFTER_DIAMETER_MIDDLE_POSITION"); //磨削后尾部直径 String AFTER_DIAMETER_TAIL = (String) message.get("AFTER_DIAMETER_TAIL"); //磨削后尾部测量点位置 String AFTER_DIAMETER_T_POSITION = (String) message.get("AFTER_DIAMETER_T_POSITION"); //磨削量(中部) String STOCK_REMOVAL = (String) message.get("STOCK_REMOVAL"); //轧辊最大凸度 String ROLL_CROWN_MAX = (String) message.get("ROLL_CROWN_MAX"); //轧辊最小凸度 String ROLL_CROWN_MIN= (String) message.get("ROLL_CROWN_MIN"); //轧辊代码 String ROLL_CODE = (String) message.get("ROLL_CODE"); //磨削程序名 String GPROG_CODE= (String) message.get("GPROG_CODE"); //锥度 String TAPER = (String) message.get("TAPER"); //圆度 String ROUNDESS = (String) message.get("ROUNDESS"); //偏心度 String RUNOUT = (String) message.get("RUNOUT"); //轧辊粗糙度 String ROLL_ROUGHNESS = (String) message.get("ROLL_ROUGHNESS"); //形状代码 String ROLL_SHAPE_CD = (String) message.get("ROLL_SHAPE_CD"); //砂轮代码 String DRESS_CODE = (String) message.get("DRESS_CODE"); //磨削人工号 String OEPARTORID = (String) message.get("OEPARTORID"); //轧辊硬度 String HARDNESS = (String) message.get("HARDNESS"); //处理状态 String VALIDATE_OR_DISCARD = (String) message.get("VALIDATE_OR_DISCARD"); //裂纹深度 String Crack_SEVERITY = (String) message.get("Crack_SEVERITY"); //裂纹位置 String Crack_Position = (String) message.get("Crack_Position"); //裂纹角度 String Crack_Angle = (String) message.get("Crack_Angle"); //硬度急剧变化点深度 String BRUISE_SEVERITY = (String) message.get("BRUISE_SEVERITY"); //硬度急剧变化点位置 String BRUISE_POSITION = (String) message.get("BRUISE_POSITION"); //硬度急剧变化点角度 String BRUISE_ANGLE = (String) message.get("BRUISE_ANGLE"); //缺陷代码 String DEFECT_CODE = (String) message.get("DEFECT_CODE"); //轮廓点个数 String PROFILE_POINTS_NUM = (String) message.get("PROFILE_POINTS_NUM"); //轮廓点1 String PROFILE_POINT1 = (String) message.get("PROFILE_POINT1"); //轮廓点....... String PROFILE_POINT = (String) message.get("PROFILE_POINT"); //轮廓点200 String PROFILE_POINT200 = (String) message.get("PROFILE_POINT200"); logger.logDebug("SaveRollGrind ROLLNO" + ROLLNO); String RollStat = "G"; //磨削时间 String GRIND_DTIME = null; long GRIND_DTIME1 = 0; int GRIND_DTIME11; //如果磨削的开始时间和结束时间不相等,就让磨消次数加一 if(!GRIND_USE_DTIME.equals(GRIND_BEF_DTIME)){ GrindStepNo = GrindStepNo+1; logger.logDebug("SaveRollGrind GrindStepNo" + GrindStepNo); SimpleDateFormat inputFormat = new SimpleDateFormat("yyyyMMddhhmmss"); //获取秒 try{ GRIND_DTIME1 = (inputFormat.parse(GRIND_USE_DTIME).getTime() - inputFormat.parse(GRIND_BEF_DTIME).getTime())/1000; logger.logDebug("SaveRollGrind GRIND_DTIME1 right" + GRIND_DTIME1); }catch(Exception e){ logger.logDebug("SaveRollGrind GRIND_DTIME1 error" + GRIND_DTIME1); e.printStackTrace(); } //获取分 GRIND_DTIME11 = (int)GRIND_DTIME1/60; //磨削完成时间-磨削开始时间 GRIND_DTIME = String.valueOf(GRIND_DTIME11); } //更新轧辊信息 PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0,GRINDDEV_NO); param1.setWhereClauseParameter(1,GRIND_BEF_DTIME); param1.setWhereClauseParameter(2,GRIND_USE_DTIME); param1.setWhereClauseParameter(3,String.valueOf(GrindStepNo)); param1.setWhereClauseParameter(4,BEFORE_DIAMETER_HEAD); param1.setWhereClauseParameter(5,BEFORE_DIAMETER_POSITION); param1.setWhereClauseParameter(6,BEFORE_DIAMETER_MIDDLE); param1.setWhereClauseParameter(7,BEFORE_DIAMETER_M_POSITION); param1.setWhereClauseParameter(8,BEFORE_DIAMETER_TAIL); param1.setWhereClauseParameter(9,BEFORE_DIAMETER_T_POSITION); param1.setWhereClauseParameter(10,AFTER_DIAMETER_HEAD); param1.setWhereClauseParameter(11,AFTER_DIAMETER_POSITION); param1.setWhereClauseParameter(12,AFTER_DIAMETER_MIDDLE); param1.setWhereClauseParameter(13,AFTER_DIAMETER_MIDDLE_POSITION); param1.setWhereClauseParameter(14,AFTER_DIAMETER_TAIL); param1.setWhereClauseParameter(15,AFTER_DIAMETER_T_POSITION); param1.setWhereClauseParameter(16,STOCK_REMOVAL); param1.setWhereClauseParameter(17,ROLL_CROWN_MAX); param1.setWhereClauseParameter(18,ROLL_CROWN_MIN); param1.setWhereClauseParameter(19,ROLL_CODE); param1.setWhereClauseParameter(20,GPROG_CODE); param1.setWhereClauseParameter(21,TAPER); param1.setWhereClauseParameter(22,ROUNDESS); param1.setWhereClauseParameter(23,RUNOUT); param1.setWhereClauseParameter(24,ROLL_ROUGHNESS); param1.setWhereClauseParameter(25,ROLL_SHAPE_CD); param1.setWhereClauseParameter(26,DRESS_CODE); param1.setWhereClauseParameter(27,OEPARTORID); param1.setWhereClauseParameter(28,HARDNESS); param1.setWhereClauseParameter(29,VALIDATE_OR_DISCARD); param1.setWhereClauseParameter(30,Crack_SEVERITY); param1.setWhereClauseParameter(31,Crack_Position); param1.setWhereClauseParameter(32,Crack_Angle); param1.setWhereClauseParameter(33,BRUISE_SEVERITY); param1.setWhereClauseParameter(34,BRUISE_POSITION); param1.setWhereClauseParameter(35,BRUISE_ANGLE); param1.setWhereClauseParameter(36,DEFECT_CODE); param1.setWhereClauseParameter(37,PROFILE_POINTS_NUM); param1.setWhereClauseParameter(38,PROFILE_POINT1); param1.setWhereClauseParameter(39,PROFILE_POINT); param1.setWhereClauseParameter(40,PROFILE_POINT200); param1.setWhereClauseParameter(41,RollStat); param1.setWhereClauseParameter(42,AFTER_DIAMETER_MIDDLE); param1.setWhereClauseParameter(43,GRIND_DTIME); param1.setWhereClauseParameter(44,ROLLNO); getDao("mesdao").update("NIH040010_01.update", param1); logger.logDebug("SaveRollGrind END"); return PosBizControlConstants.SUCCESS; } }