package xin.glue.ui.G.G04; import java.math.BigDecimal; import java.sql.CallableStatement; import java.sql.SQLException; 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 XinSaveAllScrapSlab extends PosActivity { public String runActivity(PosContext context) { String[] scrapWgt = (String[])context.get("SCRAP_WGT"); String[] slabNo = (String[])context.get("SLAB_NO"); String matrlEndCauseCd = "2"; // scrap PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, slabNo[0]); //select from tbg02_slab_comm 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; 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"); } BefOrdNo = OrdNo; BefOrdSeq = OrdSeq; OrdNo = null; OrdSeq = null; OrdFl = "2"; NonOrdResCd = "2C"; //余材原因:板坯不良 if(slabNo.length > 0){ //增加降级历史记录 20101227 wxy CallableStatement cstm = null; PosParameter 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, slabNo[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 = new PosParameter(); param.setWhereClauseParameter(0, scrapWgt[0]); param.setWhereClauseParameter(1, OrdFl); param.setWhereClauseParameter(2, OrdNo); param.setWhereClauseParameter(3, OrdSeq); param.setWhereClauseParameter(4, BefOrdNo); param.setWhereClauseParameter(5, BefOrdSeq); param.setWhereClauseParameter(6, NonOrdResCd); param.setWhereClauseParameter(7, matrlEndCauseCd); param.setWhereClauseParameter(8, slabNo[0]); this.getDao("mesdao").update("UIG040070_ALL_SCRAP_COMM.update", param); param = new PosParameter(); param.setWhereClauseParameter(0, slabNo[0]); getDao("mesdao").update("UIG040070_ALL_SCRAP_YARD_ADDR.update", param); if (OrdFl!= null && OrdFl.equals("1") ) { BigDecimal SlabWgt = new BigDecimal(scrapWgt[0]); SendProg_NIE012070(slabNo[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); } }