LotMapper.java
package com.mycim.server.wip.dao.mapper;
import com.mycim.framework.jdbc.mapper.RowMapper;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.valueobject.wip.Lot;
import com.mycim.valueobject.wip.LotStatus;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Objects;
public class LotMapper implements RowMapper<Lot> {
@Override
public Lot mapRow(ResultSet rs, int rowNum) throws SQLException {
Lot lot = new Lot();
lot.setReworkTransRrn(new Long(rs.getLong("rework_trans_rrn")));
lot.setFacilityRrn(new Long(rs.getLong("FACILITY_RRN")));
lot.setLotId(rs.getString("LOT_ID"));
lot.setBasedLotRrn(new Long(rs.getLong("BASED_LOT_RRN")));
lot.setCreatedPlanLotRrn(new Long(rs.getLong("CREATED_PLAN_LOT_RRN")));
lot.setHotFlag(rs.getString("HOT_FLAG"));
lot.setPriority(new Integer(rs.getInt("PRIORITY")));
lot.setStartedFlag(rs.getString("STARTED_FLAG"));
lot.setStartedTimestamp(rs.getTimestamp("STARTED_TIMESTAMP"));
lot.setCreateCategory(rs.getString("CREATE_CATEGORY"));
lot.setCreatedTimestamp(rs.getTimestamp("CREATED_TIMESTAMP"));
lot.setEndTimestamp(rs.getTimestamp("END_TIMESTAMP"));
lot.setDueDate(rs.getTimestamp("DUE_DATE"));
lot.setScheduleDueDate(rs.getTimestamp("SCHEDULE_DUE_DATE"));
lot.setLastScheduleFlag(rs.getString("LATE_SCHEDULED_FLAG"));
lot.setEstimatedRemainTime(new Long(rs.getLong("ESTIMATED_REMAIN_TIME")));
lot.setDummyFlag(rs.getString("DUMMY_FLAG"));
lot.setLotType(rs.getString("LOT_TYPE"));
lot.setLotOwner(rs.getString("LOT_OWNER"));
lot.setQty1(new Double(rs.getDouble("QTY1")));
lot.setQty2(new Double(rs.getDouble("QTY2")));
lot.setDummyQty1(new Integer(rs.getInt("DUMMY_QTY1")));
lot.setInputQty1(new Double(rs.getDouble("INPUT_QTY1")));
lot.setInputQty2(new Double(rs.getDouble("INPUT_QTY2")));
lot.setSubcontractorRrn(new Long(rs.getLong("SUBCONTRACTOR_RRN")));
lot.setLotComments(rs.getString("LOT_COMMENTS"));
lot.setStepSequence(new Long(rs.getLong("STEP_SEQUENCE")));
lot.setStepNumberInProcess(new Long(rs.getLong("STEP_NUMBER_IN_PROCESS")));
lot.setHoldTimestamp(rs.getTimestamp("HOLD_TIMESTAMP"));
lot.setReworkCategory(rs.getString("REWORK_CATEGORY"));
lot.setCarrierRrn(new Long(rs.getLong("CARRIER_RRN")));
lot.setBeforeStatus(rs.getString("BEFORE_STATUS"));
lot.setLotStatus(rs.getString("LOT_STATUS"));
lot.setProcessingStatus(rs.getString("PROCESSING_STATUS"));
lot.setQueueTimestamp(rs.getTimestamp("QUEUE_TIMESTAMP"));
if (Objects.nonNull(lot.getQueueTimestamp())) {
long waitTime = (new java.util.Date().getTime() - lot.getQueueTimestamp().getTime()) / (60 * 1000);
lot.setwaitTime(Long.toString(waitTime));
}
lot.setProductRrn(new Long(rs.getLong("PRODUCT_RRN")));
lot.setProductVersion(rs.getInt("PRODUCT_VERSION"));
lot.setReticleRrn(new Long(rs.getLong("RETICLE_RRN")));
lot.setProductLayer(rs.getString("PRODUCT_LAYER"));
lot.setOperationSeq(rs.getString("OPERATION_SEQ"));
lot.setRouteSeq(rs.getString("ROUTE_SEQ"));
lot.setRecipeLogicalRrn(new Long(rs.getLong("RECIPE_LOGICAL_RRN")));
lot.setRecipePhysicalId(rs.getString("RECIPE_PHYSICAL_ID"));
lot.setChamberType(rs.getString("CHAMBER_TYPE"));
lot.setIsSapphire(rs.getString("IS_SAPPHIRE"));
lot.setLotPlanType(rs.getString("LOT_PLAN_TYPE"));
lot.setProcessRrn(new Long(rs.getLong("PROCESS_RRN")));
lot.setProcessVersion(new Integer(rs.getInt("PROCESS_VERSION")));
lot.setProcessStepVersion(rs.getString("PROCESS_STEP_VERSION"));
lot.setProcessStepIdVersion(rs.getString("PROCESS_STEP_ID_VERSION"));
lot.setWflStepPath(rs.getString("WFL_STEP_PATH"));
lot.setOperationRrn(new Long(rs.getLong("OPERATION_RRN")));
lot.setOperationVersion(new Integer(rs.getInt("OPERATION_VERSION")));
lot.setNextStepVersion1(rs.getString("NEXT_STEP_VERSION1"));
lot.setNextStepIdVersion1(rs.getString("NEXT_STEP_ID_VERSION1"));
lot.setNextOperationRrn1(new Long(rs.getLong("NEXT_OPERATION_RRN1")));
lot.setNextStepVersion2(rs.getString("NEXT_STEP_VERSION2"));
lot.setNextStepIdVersion2(rs.getString("NEXT_STEP_ID_VERSION2"));
lot.setNextOperationRrn2(new Long(rs.getLong("NEXT_OPERATION_RRN2")));
lot.setStageId(rs.getString("STAGE_ID"));
lot.setLayerId(rs.getString("LAYER_ID"));
lot.setBorRrn(new Long(rs.getLong("BOR_RRN")));
lot.setEqptRrn(new Long(rs.getLong("EQPT_RRN")));
lot.setReticleRrn(new Long(rs.getLong("reticle_rrn")));
lot.setRecipeString(rs.getString("RECIPE_STRING"));
lot.setNextRecipeString1(rs.getString("NEXT_RECIPE_STRING1"));
lot.setNextRecipeString2(rs.getString("NEXT_RECIPE_STRING2"));
lot.setJobRrn(new Long(rs.getLong("JOB_RRN")));
lot.setNextJobRrn1(new Long(rs.getLong("NEXT_JOB_RRN1")));
lot.setNextJobRrn2(new Long(rs.getLong("NEXT_JOB_RRN2")));
lot.setExecutionRrn(new Long(rs.getLong("EXECUTION_RRN")));
lot.setLotRrn(rs.getLong("LOT_RRN"));
lot.setShippedQty1(new Double(rs.getDouble("SHIPPED_QTY1")));
lot.setShippedQty2(new Double(rs.getDouble("SHIPPED_QTY2")));
lot.setRecipeLogicalRrn(new Long(rs.getLong("RECIPE_LOGICAL_RRN")));
lot.setRecipePhysicalId(rs.getString("RECIPE_PHYSICAL_ID"));
lot.setChamberType(rs.getString("CHAMBER_TYPE"));
if (StringUtils.equalsIgnoreCase(LotStatus.BANKED, lot.getLotStatus()) ||
StringUtils.equalsIgnoreCase(LotStatus.OUTSOURCING, lot.getLotStatus())) {
lot.setPrevOperationRrn(rs.getLong("PREV_OPERATION_RRN"));
}
lot.setFlowSeq(rs.getString("FLOW_SEQ"));
lot.setOperationDesc(rs.getString("OPERATION_DESC"));
lot.setProcessLocation(rs.getString("PROCESS_LOCATION"));
lot.setqTime(StringUtils.toString(rs.getDouble("Q_TIME")));
lot.setIsDummyLot(rs.getBoolean("IS_DUMMY_LOT"));
return lot;
}
}