| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- package xin.glue.ui.H.H02;
- 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;
- /*
- * desc:加热炉装炉操作,修改,插入
- * author:王小炎
- * date:2008-10-7
- */
- public class PosSaveInHeatFurnace extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- // 从页面获取参数数据,供更新页面使用
- String[] slabNo = (String[])context.get("SLAB_NO");
- String[] CoilNo = (String[])context.get("COIL_NO");
- String[] devNo = (String[])context.get("DEVNO");
- String[] WkShift = (String[])context.get("WK_SHIFT1");
- String[] WkGroup = (String[])context.get("WK_GROUP1");
- String[] RegId = (String[])context.get("WK_EMP_NO1");
-
- String[] charingDtime = (String[])context.get("CHARING_DTIME");
- String[] chrgingBefWgt = (String[])context.get("CHRGING_BEF_WGT");
- String[] chrgingBefTemp = (String[])context.get("CHRGING_BEF_TEMP");
-
- Number SlabWgt = null;
- String BefProgCd = null;
- String OrdNo = null;
- String OrdSeq = null;
- String MsgChk = null;
- logger.logInfo("PosSaveInHeatFurnace slabNo[0] 1:("+slabNo[0]+")"+CoilNo[0]);
-
- //这里需要加控制,没有进行上料操作的。不能补录入炉实绩
- PosParameter param33 = new PosParameter();
-
- param33.setWhereClauseParameter(0, slabNo[0] );
- param33.setWhereClauseParameter(1, CoilNo[0] );
- PosRowSet coilVo = getDao("mesdao").find("UIH020020_06.select", param33);
-
- String OLD_SAMPL_NO = null;
-
- if(coilVo.hasNext()){
- PosRow coilRow = coilVo.next();
-
- OLD_SAMPL_NO = (String) coilRow.getAttribute("OLD_SAMPL_NO");
-
- if(null == OLD_SAMPL_NO){
- //如果不存在卷号,不能补录入炉实际
- // 如果卷号为空的话,给出提示,不能进行取消操作。
- logger.logInfo("PosSaveInHeatFurnace 没有获取到真实钢卷号信息! "+slabNo[0]+"流水号"+CoilNo[0]+"真实钢卷号 :"+OLD_SAMPL_NO);
- String vOLD_SAMPL_NO = "OLD_SAMPL_NO";
- context.put("rs", vOLD_SAMPL_NO);
- }else{
- //装入炉内位置,0是长板坯、1是西、2是东
- String[] ROW_NUM = (String[])context.get("ROW_NUM");
-
- if(ROW_NUM[0].equals("") || ROW_NUM[0] == null){
- ROW_NUM[0] = "1";
- }
-
- PosParameter param3 = new PosParameter();
-
- param3.setWhereClauseParameter(0, slabNo[0] );
- param3.setWhereClauseParameter(1, CoilNo[0] );
- PosRowSet specMillVo = getDao("mesdao").find("NIH020020_SPEC_MILL.select", param3);
- if (specMillVo.hasNext()) {
- PosRow specMillROW = specMillVo.next();
- Number SLAB_EDT_SEQ = (Number)specMillROW.getAttribute("SLAB_EDT_SEQ");
- String STATUS_CD = (String)specMillROW.getAttribute("STATUS_CD");
- //这里判断一次钢卷号与板坯号是否配对,如果输入的板坯号与钢卷号不是在轧制计划中配对的。给出错误提示
- String Coil_No_Spec = (String)specMillROW.getAttribute("COIL_NO");
-
- if(Coil_No_Spec.equals(CoilNo[0]) && Coil_No_Spec != null){
- logger.logInfo("PosSaveInHeatFurnace STATUS_CD 1:("+STATUS_CD+")");
-
- if(STATUS_CD != null && (STATUS_CD.equals("A") || STATUS_CD.equals("B")) ) {
-
- logger.logInfo("PosSaveInHeatFurnace STATUS_CD 2:("+STATUS_CD+")");
-
- PosParameter param4 = new PosParameter();
- param4.setWhereClauseParameter(0, "B" );
- param4.setWhereClauseParameter(1, slabNo[0] );
- param4.setWhereClauseParameter(2, CoilNo[0] );
- getDao("mesdao").update("NIH020020_SPEC_MILL.update", param4);
-
- PosParameter param5 = new PosParameter();
- param5.setWhereClauseParameter(0, "B" );
- param5.setWhereClauseParameter(1, SLAB_EDT_SEQ );
- getDao("mesdao").update("NIH020020_SPEC_MILL_D.update", param5);
-
- PosParameter param7 = new PosParameter();
- param7.setWhereClauseParameter(0, "B" );
- param7.setWhereClauseParameter(1, SLAB_EDT_SEQ );
- getDao("mesdao").update("NIH020020_MILL_IDX.update", param7);
-
-
- PosParameter param6 = new PosParameter();
- param6.setWhereClauseParameter(0,slabNo[0] );
- PosRowSet rowset5 = getDao("mesdao").find("UIH020020_05.select", param6);
- while(rowset5.hasNext())
- {
-
- PosRow row1 = rowset5.next();
- SlabWgt = (Number)row1.getAttribute("SLAB_WGT");
- BefProgCd = (String)row1.getAttribute("CUR_PROG_CD");
- OrdNo = (String)row1.getAttribute("ORD_NO");
- OrdSeq = (String)row1.getAttribute("ORD_SEQ");
- }
-
- PosParameter param1 = new PosParameter();
- PosParameter param2 = new PosParameter();
-
- //更新tbg02_slab_comm表 ,这里可能会出现空值异常需要相应的处理
- String sql1 = "select * from tbg02_slab_comm where slab_no = ? and slab_stat = '2' ";
- param2.setWhereClauseParameter(0, slabNo[0]);
-
- PosRowSet rowset1 = getDao("mesdao").findByQueryStatement(sql1, param2);
-
- //如果这块板坯在公共表中不存在,说明板坯号对应不上实物。因此抛出异常
- if(rowset1.hasNext()){
- //查询结果如果已经有值,则进行修改操作,否则插入
- String sql = "select * from TBH02_REHEATFUR where slab_no = ? and coil_no = ? ";
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0,slabNo[0] );
- param0.setWhereClauseParameter(1,CoilNo[0] );
-
- PosRowSet rowset0 = getDao("mesdao").findByQueryStatement(sql, param0);
-
- //这里为了处理板坯回炉的情况,用板坯号和钢卷号做为联合主键
- if(rowset0.hasNext()){
- param1.setWhereClauseParameter(0,charingDtime[0]);
- param1.setWhereClauseParameter(1,chrgingBefWgt[0]);
- param1.setWhereClauseParameter(2,chrgingBefTemp[0]);
- param1.setWhereClauseParameter(3,WkShift[0]);
- param1.setWhereClauseParameter(4,WkGroup[0]);
- param1.setWhereClauseParameter(5,RegId[0]);
- param1.setWhereClauseParameter(6,ROW_NUM[0]);
- param1.setWhereClauseParameter(7,slabNo[0]);
- param1.setWhereClauseParameter(8,CoilNo[0]);
-
- int updateResult = getDao("mesdao").update("UIH020020_01.update", param1);
- }else{
- param1.setValueParamter(0,slabNo[0]);
- param1.setValueParamter(1, devNo[0]);
- param1.setValueParamter(2, CoilNo[0]);
- param1.setValueParamter(3,charingDtime[0]);
- param1.setValueParamter(4,chrgingBefWgt[0]);
- param1.setValueParamter(5,chrgingBefTemp[0]);
- param1.setValueParamter(6,WkShift[0]);
- param1.setValueParamter(7,WkGroup[0]);
- param1.setValueParamter(8,RegId[0]);
- param1.setValueParamter(9,ROW_NUM[0]);
-
- getDao("mesdao").insert("UIH020020_01.insert",param1);
-
- }
-
-
- //TBG02_SLAB_COMM UPDATE CUR_PROG_CD = 'RBB'
- PosParameter param8 = new PosParameter();
- param8.setWhereClauseParameter(0, slabNo[0] );
- getDao("mesdao").update("UIH020020_02.update", param8);
-
- //RHF ENTRY slab is cleared in Roller table address
- PosParameter param9 = new PosParameter();
- param9.setWhereClauseParameter(0, slabNo[0] );
- PosRowSet rollerVo = getDao("mesdao").find("NIH020010_ROLLER.select", param9);
- while(rollerVo.hasNext()) {
- PosRow rollerROW = rollerVo.next();
- String YardAddr = (String)rollerROW.getAttribute("YARD_ADDR");
- PosParameter paramD = new PosParameter();
- paramD.setWhereClauseParameter(0, YardAddr );
-
- getDao("mesdao").update("NIH020010_ROLLER.update", paramD);
- }
-
- //SendProg_NIE012070( slabNo[0] ,BefProgCd,OrdNo,OrdSeq,SlabWgt,RegId[0] );
- //SendProg_NIE012080();
- } else {
- //板坯不存在tbg02_slab_comm表中的时候,抛出异常告诉前台知道
- logger.logDebug("PosSaveInHeatFurnace 输入的板坯号在板坯公共表 tbg02_slab_comm 中不存在! ");
- String vtemp="PosSaveInHeatFurnace";
- context.put("rs", vtemp);
- }
- } else {
-
- logger.logInfo("PosSaveInHeatFurnace Failed TBF02_SPEC_MILL STATUS_CD:("+STATUS_CD+")");
- MsgChk = "N";
-
- }
- }else{
- logger.logInfo("PosSaveInHeatFurnace Coil_No_Spec 1:("+Coil_No_Spec+")::::"+CoilNo[0]);
- //这里出现的异常情况是板坯号与钢卷号不匹配
- String vtemp="InHeatFurnacePart";
- context.put("rs", vtemp);
- }
- }else{
- logger.logInfo("PosSaveInHeatFurnace Failed ");
- MsgChk = "NOT";
- }
- }
- }else{
- // 如果卷号为空的话,给出提示,不能进行取消操作。
- logger.logInfo("PosSaveInHeatFurnace 没有获取到真实钢卷号信息! "+slabNo[0]+"流水号"+CoilNo[0]+"真实钢卷号 :"+OLD_SAMPL_NO);
- String vOLD_SAMPL_NO = "OLD_SAMPL_NO";
- context.put("rs", vOLD_SAMPL_NO);
- }
-
- context.put("MsgChk",MsgChk);
-
- return PosBizControlConstants.SUCCESS;
- }
- public void SendProg_NIE012070(String SlabNo,String BefProg,String OrdNo,String OrdSeq,Number wgt,String RegId )
- {
-
-
- // BigDecimal wgt = new BigDecimal();
- PosContext context = new PosContext();
- PosMessage message = new PosMESMessageImpl();
-
-
- String TcId = "NIE012070";
-
-
- message.setTCID(TcId);
- message.setObject("MSG_ID",TcId);
- message.setObject("BEF_ORD_NO",OrdNo);
- message.setObject("BEF_ORD_SEQ",OrdSeq);
- message.setObject("ORD_NO",OrdNo);
- message.setObject("ORD_SEQ",OrdSeq);
- message.setObject("BEF_PROG_CD",BefProg);
- message.setObject("PROG_CD","RAB");
- message.setObject("MAT_TYPE","TM");
- message.setObject("MAT_NO",SlabNo);
- message.setObject("WGT", wgt );
- message.setObject("PGMID","PosSaveInHeatFur");
- message.setObject("REG_ID",RegId);
-
- context.setMessage(message);
- this.processComponent(PosConstants.CREATE_MESSAGE, context);
- String transactionCode = context.getMessage().getTC();
-
-
- logger.logInfo("PosSAveOutHeatFurnace---> transactionCode:("+transactionCode+")" );
-
- message.setTCID(TcId);
-
- String serviceName = "NIE012070";
-
- String SERVICE_POSTFIX = "-service";
-
-
- context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
-
-
- context.setMessage(message);
-
-
- PosBizControlIF controller = PosBizProvider.getController();
-
- controller.doSubController(context,false);
-
-
- logger.logInfo("PosSAveOutHeatFurnace---> NIE012070 TC SendProgress end" );
-
-
-
-
- }
- 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);
-
-
-
-
- }
- }
|