package xin.glue.ui.G.G04; import java.math.BigDecimal; import java.sql.CallableStatement; import java.sql.SQLException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.biz.control.PosBizControlIF; import com.posdata.glue.biz.control.PosBizProvider; import com.posdata.glue.component.PosConstants; 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.PosMESMessageImpl; import com.posdata.glue.msg.PosMessage; /** * @auth: wangxiaoyan * @date: 2009-2-17 * @desc: 板坯部分废钢实绩 */ public class XinSaveScrapSlab extends PosActivity { public String runActivity(PosContext context) { String SIZE_UPDT_CAUSE_CD = "05"; // RESIZE UPDATE String[] SLAB_THK = (String[])context.get("SLAB_THK"); String[] SLAB_WTH = (String[])context.get("SLAB_WTH"); String[] SLAB_LEN = (String[])context.get("SLAB_LEN"); String[] SLAB_WGT = (String[])context.get("SLAB_WGT"); String[] SIZE_UPDT_BEF_THK = (String[])context.get("SIZE_UPDT_BEF_THK"); String[] SIZE_UPDT_BEF_WTH = (String[])context.get("SIZE_UPDT_BEF_WTH"); String[] SIZE_UPDT_BEF_LEN = (String[])context.get("SIZE_UPDT_BEF_LEN"); String[] SIZE_UPDT_BEF_WGT = (String[])context.get("SIZE_UPDT_BEF_WGT"); String[] SIZE_UPDT_AFT_THK = (String[])context.get("SLAB_THK"); String[] SIZE_UPDT_AFT_WTH = (String[])context.get("SLAB_WTH"); String[] SIZE_UPDT_AFT_LEN = (String[])context.get("SLAB_LEN"); String[] SIZE_UPDT_AFT_WGT = (String[])context.get("SLAB_WGT"); String[] SIZE_UPDT_WKSHIFT = (String[])context.get("WKSHIFT"); String[] SIZE_UPDT_WKGROUP = (String[])context.get("GROUP"); String[] SIZE_UPDT_EMP_NO = (String[])context.get("REG_ID"); String[] SLAB_SIZE_DEC_GRD = (String[])context.get("SIZE_DEC_FL"); String[] SLAB_NO = (String[])context.get("SLAB_NO"); String[] SCRAP_WGT = (String[])context.get("SCRAP_WGT"); //String matrlEndCauseCd = "05"; // scrap PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, SLAB_NO[0]); PosRowSet slabComVo = getDao("mesdao").find("UIG040070_04.select", param1); String OrdNo = null; String OrdSeq = null; String OrdFl = null; String CurProgCd = null; String BefProgCd = null; String BefOrdNo = null; String BefOrdSeq = null; String NonOrdResCd = null; String NonOrdResDate = null; String slabRt = null; if (slabComVo.hasNext()) { PosRow slabComROW = slabComVo.next(); OrdNo = (String)slabComROW.getAttribute("ORD_NO"); OrdSeq = (String)slabComROW.getAttribute("ORD_SEQ"); CurProgCd = (String)slabComROW.getAttribute("CUR_PROG_CD"); OrdFl = (String)slabComROW.getAttribute("ORD_FL"); slabRt = (String)slabComROW.getAttribute("SLAB_RT"); } BefProgCd = CurProgCd; if(slabRt != null && (slabRt.equals("Z")||slabRt.equals("P"))){ CurProgCd = "RGB"; }else{ CurProgCd = "RRC"; //板坯充当待机 } if (OrdFl.equals("1")) { NonOrdResCd = "3A"; DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); NonOrdResDate = formatter.format(new Date()); } OrdFl = "2"; BefOrdNo = OrdNo; BefOrdSeq = OrdSeq; OrdNo = null; OrdSeq = null; PosParameter param = new PosParameter(); if(SLAB_NO.length > 0){ //增加降级历史记录 20101227 wxy CallableStatement cstm = null; param = new PosParameter(); try{ cstm = this.getDao("mesdao").getCallableStatement("ORD_HIS_INSERT.call"); cstm.setString(1, "B"); cstm.setString(2, "S"); cstm.setString(3, ""); cstm.setString(4, "UIG040070"); cstm.setString(5, ""); cstm.setString(6, ""); cstm.setString(7, ""); cstm.setString(8, SLAB_NO[0]); cstm.setString(9, "TM"); cstm.setString(10, ""); cstm.setString(11, ""); cstm.setString(12, ""); cstm.setString(13, ""); cstm.execute(); }catch(Exception ex){ logger.logError(ex.getMessage(), ex); }finally{ if (cstm != null) { try { cstm.close(); } catch (SQLException e) { logger.logWarn(e.getMessage(), e); } } } //end 增加降级历史记录 param.setWhereClauseParameter(0, SIZE_UPDT_CAUSE_CD); param.setWhereClauseParameter(1, SLAB_THK[0]); param.setWhereClauseParameter(2, SLAB_WTH[0]); param.setWhereClauseParameter(3, SLAB_LEN[0]); param.setWhereClauseParameter(4, SLAB_WGT[0]); param.setWhereClauseParameter(5, SIZE_UPDT_BEF_THK[0]); param.setWhereClauseParameter(6, SIZE_UPDT_BEF_WTH[0]); param.setWhereClauseParameter(7, SIZE_UPDT_BEF_LEN[0]); param.setWhereClauseParameter(8, SIZE_UPDT_BEF_WGT[0]); param.setWhereClauseParameter(9, SIZE_UPDT_AFT_THK[0]); param.setWhereClauseParameter(10, SIZE_UPDT_AFT_WTH[0]); param.setWhereClauseParameter(11, SIZE_UPDT_AFT_LEN[0]); param.setWhereClauseParameter(12, SIZE_UPDT_AFT_WGT[0]); param.setWhereClauseParameter(13, SIZE_UPDT_WKSHIFT[0]); param.setWhereClauseParameter(14, SIZE_UPDT_WKGROUP[0]); param.setWhereClauseParameter(15, SIZE_UPDT_EMP_NO[0]); param.setWhereClauseParameter(16, SCRAP_WGT[0]); param.setWhereClauseParameter(17, NonOrdResCd); param.setWhereClauseParameter(18, NonOrdResDate); param.setWhereClauseParameter(19, CurProgCd); param.setWhereClauseParameter(20, SLAB_SIZE_DEC_GRD[0]); param.setWhereClauseParameter(21, SLAB_NO[0]); this.getDao("mesdao").update("UIG040070_SIZE_CORRECT.update", param); PosParameter paramz = new PosParameter(); paramz.setValueParamter(0, OrdFl); paramz.setValueParamter(1, SLAB_NO[0]); this.getDao("mesdao").update("NIG020610_SLAB_COMM_D.update",paramz); if (NonOrdResCd != null && !NonOrdResCd.equals("") ) { BigDecimal SlabWgt = new BigDecimal(SLAB_WGT[0]); SendProg_NIE012070(SLAB_NO[0],OrdNo,OrdSeq,BefOrdNo,BefOrdSeq,CurProgCd,BefProgCd,"TM",SlabWgt); SendProg_NIE012080(); } } return PosBizControlConstants.SUCCESS; } public PosContext SendProg_NIE012070(String MatNo,String sOrdNo,String sOrdSeq,String sBefOrdNo,String sBefOrdSeq,String sProgCd,String BefProcCd,String sKind,BigDecimal nwgt ) { PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); String TcId = "NIE012070"; message.setTCID(TcId); message.setObject("MSG_ID",TcId); message.setObject("BEF_ORD_NO",sBefOrdNo); message.setObject("BEF_ORD_SEQ",sBefOrdSeq); message.setObject("ORD_NO",sOrdNo); message.setObject("ORD_SEQ",sOrdSeq); message.setObject("BEF_PROG_CD",BefProcCd); message.setObject("PROG_CD",sProgCd); message.setObject("MAT_TYPE",sKind); message.setObject("MAT_NO",MatNo); message.setObject("WGT", nwgt ); message.setObject("PGMID","UIG040070"); message.setObject("REG_ID","UIG040070"); message.setTCID(TcId); context.setMessage(message); // this.processComponent(PosConstants.CREATE_MESSAGE, context); // String transactionCode = context.getMessage().getTC(); String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX); // context.setMessage(message); PosBizControlIF controller = PosBizProvider.getController(); controller.doSubController(context,false); return null; } public void SendProg_NIE012080() { PosContext context = new PosContext(); PosMessage message = new PosMESMessageImpl(); String TcId = "NIE012080"; message.setTCID(TcId); message.setObject("MSG_ID",TcId); message.setObject("AA",null); context.setMessage(message); this.processComponent(PosConstants.CREATE_MESSAGE, context); String transactionCode = context.getMessage().getTC(); message.setTCID(TcId); String serviceName = "NIE012080"; String SERVICE_POSTFIX = "-service"; context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX); context.setMessage(message); PosBizControlIF controller = PosBizProvider.getController(); controller.doSubController(context,false); } }