package xin.glue.nui.G.G02; import java.math.BigDecimal; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import xin.glue.ui.common.PosDateFormat; 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; /** * * @auth: wangxiaoyan * @date: 2008-12-25 * @desc: KR实绩录入 */ public class XinSaveKRResult extends PosActivity { public XinSaveKRResult() { } public String runActivity(PosContext context) { PosMessage message = context.getMessage(); String RsvDate = (String)message.get("RSV_DATE"); String KrChrgeNo = (String)message.get("KR_CHARGE_NO"); String ocrDtime = (String)message.get("OCR_DTIME"); String krNo = (String)message.get("KR_NO"); String ldNo = (String)message.get("LD_NO"); String ldArrivDtime = (String)message.get("LD_ARRIV_DTIME"); String staDtime = (String)message.get("STA_DTIME"); String endDtime = (String)message.get("END_DTIME"); String ldDepDtime = (String)message.get("LD_DEP_DTIME"); BigDecimal ironRecvWgt = (BigDecimal)message.get("IRON_RECV_WGT"); BigDecimal treatAftSWgt = (BigDecimal)message.get("TREAT_AFT_S_WGT"); BigDecimal treatAftPWgt = (BigDecimal)message.get("TREAT_AFT_P_WGT"); BigDecimal treatAftCWgt = (BigDecimal)message.get("TREAT_AFT_C_WGT"); BigDecimal treatAftMnWgt = (BigDecimal)message.get("TREAT_AFT_MN_WGT"); BigDecimal treatAftSiWgt = (BigDecimal)message.get("TREAT_AFT_SI_WGT"); BigDecimal treatAftTiWgt = (BigDecimal)message.get("TREAT_AFT_TI_WGT"); BigDecimal endTemp = (BigDecimal)message.get("END_TEMP"); String befSlagRemoveYn = (String)message.get("BEF_SLAG_REMOVE_YN"); String aftSlagRemoveYn = (String)message.get("AFT_SLAG_REMOVE_YN"); BigDecimal mgoCalWgt = (BigDecimal)message.get("MGO_CAL_WGT"); BigDecimal caoCalWgt = (BigDecimal)message.get("CAO_CAL_WGT"); BigDecimal mgoWkerInputWgt = (BigDecimal)message.get("MGO_WKER_INPUT_WGT"); BigDecimal caoWkerInputWgt = (BigDecimal)message.get("CAO_WKER_INPUT_WGT"); BigDecimal mixTreatHour = (BigDecimal)message.get("MIX_TREAT_HOUR"); String mixStaDtime = (String)message.get("MIX_STA_DTIME"); String mixEndDtime = (String)message.get("MIX_END_DTIME"); String befSlagRemoveStaDtime = (String)message.get("BEF_SLAG_REMOVE_STA_DTIME"); String befSlagRemoveEndDtime = (String)message.get("BEF_SLAG_REMOVE_END_DTIME"); BigDecimal befSlagRemoveHour = (BigDecimal)message.get("BEF_SLAG_REMOVE_HOUR"); BigDecimal befSlagRemoveWgt = (BigDecimal)message.get("BEF_SLAG_REMOVE_WGT"); String aftSlagRemoveStadtime = (String)message.get("AFT_SLAG_REMOVE_STA_DTIME"); String aftSlagRemoveEndDtime = (String)message.get("AFT_SLAG_REMOVE_END_DTIME"); BigDecimal aftSlagRemoveHour = (BigDecimal)message.get("AFT_SLAG_REMOVE_HOUR"); BigDecimal aftSlagRemoveWgt = (BigDecimal)message.get("AFT_SLAG_REMOVE_WGT"); String sShift = null; if ( RsvDate.equals("") || RsvDate == null ) { DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); RsvDate = formatter.format(new Date()); } sShift = PosDateFormat.getShift(RsvDate); // 获取工作组 PosParameter paramA = new PosParameter(); paramA.setWhereClauseParameter(0, RsvDate.substring(0,6)); paramA.setWhereClauseParameter(1, RsvDate.substring(6,8)); paramA.setWhereClauseParameter(2, sShift); paramA.setWhereClauseParameter(3, "S"); PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA); String sGroup = null; if (groupVO.hasNext()){ PosRow groupROW = groupVO.next(); sGroup = (String)groupROW.getAttribute("GR_GROUP_CD"); } PosParameter parm0 = new PosParameter(); PosParameter parm1 = new PosParameter(); parm0.setWhereClauseParameter(0, KrChrgeNo); PosRowSet rowset0 = getDao("mesdao").find("NIG020100_01.select", parm0); if(rowset0.hasNext()) { parm1.setValueParamter(0, ocrDtime); parm1.setValueParamter(1, krNo); parm1.setValueParamter(2, ldNo); parm1.setValueParamter(3, ldArrivDtime); parm1.setValueParamter(4, staDtime); parm1.setValueParamter(5, endDtime); parm1.setValueParamter(6, ldDepDtime); parm1.setValueParamter(7, ironRecvWgt); parm1.setValueParamter(8, treatAftSWgt); parm1.setValueParamter(9, treatAftPWgt); parm1.setValueParamter(10, treatAftCWgt); parm1.setValueParamter(11, treatAftMnWgt); parm1.setValueParamter(12, treatAftSiWgt); parm1.setValueParamter(13, treatAftTiWgt); parm1.setValueParamter(14, endTemp); parm1.setValueParamter(15, befSlagRemoveYn); parm1.setValueParamter(16, aftSlagRemoveYn); parm1.setValueParamter(17, mgoCalWgt); parm1.setValueParamter(18, caoCalWgt); parm1.setValueParamter(19, mgoWkerInputWgt); parm1.setValueParamter(20, caoWkerInputWgt); parm1.setValueParamter(21, mixTreatHour); parm1.setValueParamter(22, mixStaDtime); parm1.setValueParamter(23, mixEndDtime); parm1.setValueParamter(24, befSlagRemoveStaDtime); parm1.setValueParamter(25, befSlagRemoveEndDtime); parm1.setValueParamter(26, befSlagRemoveHour); parm1.setValueParamter(27, befSlagRemoveWgt); parm1.setValueParamter(28, aftSlagRemoveStadtime); parm1.setValueParamter(29, aftSlagRemoveEndDtime); parm1.setValueParamter(30, aftSlagRemoveHour); parm1.setValueParamter(31, aftSlagRemoveWgt); parm1.setValueParamter(32, RsvDate.substring(0,8)); parm1.setValueParamter(33, sShift); parm1.setValueParamter(34, sGroup); parm1.setValueParamter(35, KrChrgeNo); getDao("mesdao").update("NIG020100_01.update", parm1); } else { parm1.setValueParamter(0, KrChrgeNo); parm1.setValueParamter(1, ocrDtime); parm1.setValueParamter(2, krNo); parm1.setValueParamter(3, ldNo); parm1.setValueParamter(4, ldArrivDtime); parm1.setValueParamter(5, staDtime); parm1.setValueParamter(6, endDtime); parm1.setValueParamter(7, ldDepDtime); parm1.setValueParamter(8, ironRecvWgt); parm1.setValueParamter(9, treatAftSWgt); parm1.setValueParamter(10, treatAftPWgt); parm1.setValueParamter(11, treatAftCWgt); parm1.setValueParamter(12, treatAftMnWgt); parm1.setValueParamter(13, treatAftSiWgt); parm1.setValueParamter(14, treatAftTiWgt); parm1.setValueParamter(15, endTemp); parm1.setValueParamter(16, befSlagRemoveYn); parm1.setValueParamter(17, aftSlagRemoveYn); parm1.setValueParamter(18, mgoCalWgt); parm1.setValueParamter(19, caoCalWgt); parm1.setValueParamter(20, mgoWkerInputWgt); parm1.setValueParamter(21, caoWkerInputWgt); parm1.setValueParamter(22, mixTreatHour); parm1.setValueParamter(23, mixStaDtime); parm1.setValueParamter(24, mixEndDtime); parm1.setValueParamter(25, befSlagRemoveStaDtime); parm1.setValueParamter(26, befSlagRemoveEndDtime); parm1.setValueParamter(27, befSlagRemoveHour); parm1.setValueParamter(28, befSlagRemoveWgt); parm1.setValueParamter(29, aftSlagRemoveStadtime); parm1.setValueParamter(30, aftSlagRemoveEndDtime); parm1.setValueParamter(31, aftSlagRemoveHour); parm1.setValueParamter(32, aftSlagRemoveWgt); parm1.setValueParamter(33, RsvDate.substring(0,8)); parm1.setValueParamter(34, sShift); parm1.setValueParamter(35, sGroup); parm1.setValueParamter(36, "1"); getDao("mesdao").insert("NIG020100_01.insert", parm1); } // 下面代码更新工序 EVENT 的KR实绩 ,用来实时跟踪 PosParameter parm2 = new PosParameter(); parm2.setValueParamter(0, "K02"); parm2.setValueParamter(1, ironRecvWgt); parm2.setValueParamter(2, endTemp); parm2.setValueParamter(3, endDtime); parm2.setValueParamter(4, KrChrgeNo); parm2.setValueParamter(5, krNo); this.getDao("mesdao").update("NIG020100_TRACK.update", parm2); return PosBizControlConstants.SUCCESS; } }