package xin.glue.ui.G.G03; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; 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.PosGenericDao; import com.posdata.glue.dao.vo.PosParameter; import com.posdata.glue.dao.vo.PosRow; import com.posdata.glue.dao.vo.PosRowSet; public class SynchLdGrade extends PosActivity { public String runActivity(PosContext ctx){ SynchLadleGrade(); if(alertChargeReady()){ ctx.put("MESSAGES", " Ò»ºÅת¯ȱÉÙ¸Ö°ü! "); return PosBizControlConstants.SUCCESS; } return PosBizControlConstants.SUCCESS; } private PosGenericDao dao = this.getDao("mesdao"); private PosParameter param = new PosParameter(); private PosRowSet rowSet = null; private void SynchLadleGrade(String ldNo){ PosRowSet rowSet = getLadleNo(ldNo); SynchHandl(rowSet); } private boolean alertChargeReady(){ param = new PosParameter(); PosRowSet rowset = dao.find("UIG030041_CHARGE_READY.select",param); if(rowset.hasNext()){ return true; }else return false; } private void SynchLadleGrade(){ PosRowSet rowSet = getLadleNo(); SynchHandl(rowSet); } private PosRowSet getLadleNo(){ rowSet = dao.find("UIG03COMM_SEARCHLDGRADE_LDNO.SELECT"); return rowSet; } private PosRowSet getLadleNo(String ldNo){ param = new PosParameter(); param.setWhereClauseParameter(0, ldNo); rowSet = dao.find("UIG03COMM_SEARCHLDGRADE_LDNO_02.SELECT", param); return rowSet; } private void SynchHandl(PosRowSet rowSet){ while(rowSet.hasNext()){ PosRow row = rowSet.next(); String ldGrade = (String)row.getAttribute("LD_GRADE"); String procCd = ""; String ldNo = (String)row.getAttribute("LD_NO"); String hkEndTime = (String)row.getAttribute("LD_ROAST_END_DTIME"); DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); String currDat = format.format(new Date()); if(hkEndTime != null && !"".equals(hkEndTime) && hkEndTime.compareTo(currDat) < 0){ ldGrade = "D"; String ldStat = "2"; param = new PosParameter(); param.setWhereClauseParameter(0, ldGrade); param.setWhereClauseParameter(1, ldStat); param.setWhereClauseParameter(2, ldNo); int updcnt = dao.update("UIG03COMM_HK_TIME.update", param); } param = new PosParameter(); param.setWhereClauseParameter(0, ldNo); param.setWhereClauseParameter(1, ldNo); param.setWhereClauseParameter(2, ldNo); PosRowSet rowSet2 = dao.find("UIG03COMM_SEARCHLDGRADE_LDNO_03.SELECT", param); while(rowSet2.hasNext()){ PosRow row2 = rowSet2.next(); String CCM_DEP_DTIME = (String)row2.getAttribute("CCM_DEP_DTIME"); procCd = (String)row2.getAttribute("PROC_CD"); if(CCM_DEP_DTIME != null && !"".equals(CCM_DEP_DTIME)){ procCd = ""; try{ DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); Date ccmDepTime = formatter.parse(CCM_DEP_DTIME); Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); double thisTime = calendar.getTimeInMillis(); calendar.setTime(ccmDepTime); double depTime = calendar.getTimeInMillis(); double res = (thisTime - depTime)/(1000*60); if(res <= 60){ ldGrade = "A"; }else if(60 < res && res <= 90){ ldGrade = "B"; }else if(90 < res && res <= 480){ ldGrade = "C"; }else if(480 < res ){ ldGrade = "D"; } }catch(Exception ex){ ex.printStackTrace(); } } param = new PosParameter(); param.setWhereClauseParameter(0, procCd); param.setWhereClauseParameter(1, ldGrade); param.setWhereClauseParameter(2, ldNo); int updcnt = dao.update("UIG03COMM_LST_PROC.update", param); } } } }