| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427 |
- 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.biz.control.PosBizControlIF;
- import com.posdata.glue.biz.control.PosBizProvider;
- 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;
- /*
- * author:wangxiaoyan
- * Date:08-10-25
- * desc:接收转炉实绩的电文信息 更新转炉实绩表 TBG02_BOF_RESULT
- */
- public class XinSaveBofResult extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- try{
- PosMessage message = context.getMessage();
-
- logger.logDebug("XinSaveBofResult start " );
-
- // 从电文中获取的数据项
-
- String RsvDate = (String)message.get("MSG_RSV_DATE");
- String chargeNo = (String)message.get("CHARGE_NO"); //炉次号
- String planChargeNo = (String)message.get("PLAN_CHARGE_NO"); //炉次计划号
- String bofNo = (String)message.get("BOF_NO"); //转炉站号
- // String stlGrd = (String)message.get("STL_GRD"); //钢号
- String specAbbsym = (String)message.get("SPEC_ABBSYM"); //标准号
- BigDecimal tappingWgt = (BigDecimal)message.get("TAPPING_WGT"); //出钢钢水重量
- BigDecimal prodPlanWgt = (BigDecimal)message.get("PROD_PLAN_WGT"); //生产预定量
- BigDecimal rateio = (BigDecimal)message.get("RATEIO"); //回收率
- BigDecimal eptLdWgt = (BigDecimal)message.get("EPT_LD_WGT"); //空钢包重量
- String treatRt = (String)message.get("TREAT_RT"); //处理路径
- BigDecimal bofWkHour = (BigDecimal)message.get("BOF_WK_HOUR"); //转炉作业时间
- BigDecimal chargeHour = (BigDecimal)message.get("CHARGE_HOUR"); //装入时间
- BigDecimal o2blowHour = (BigDecimal)message.get("O2BLOW_HOUR"); //吹炼时间
- BigDecimal tappingHour = (BigDecimal)message.get("TAPPING_HOUR"); //出钢时间
- BigDecimal o2blowstepNo = (BigDecimal)message.get("O2BLOW_STEPNO"); //吹炼次数
- BigDecimal o2blowAftTemp = (BigDecimal)message.get("O2BLOW_AFT_TEMP"); //吹炼后温度
- String fstO2blowStaDtime = (String)message.get("FST_O2BLOW_STA_DTIME"); //1次吹炼开始时刻
- String fstO2blowEndDtime = (String)message.get("FST_O2BLOW_END_DTIME"); //1次吹炼结束时刻
- BigDecimal fstO2blowAftTemp = (BigDecimal)message.get("FST_O2BLOW_AFT_TEMP"); //1次吹炼后温度
- BigDecimal fstO2blowAftO2Consume = (BigDecimal)message.get("FST_O2BLOW_AFT_O2_CONSUME"); //1次吹炼后吹氧量
- String sndO2blowStaDtime = (String)message.get("SND_O2BLOW_STA_DTIME"); //2次吹炼开始时刻
- String sndO2blowEndDtime = (String)message.get("SND_O2BLOW_END_DTIME"); //2次吹炼结束时刻
- BigDecimal sndO2blowAftTemp = (BigDecimal)message.get("SND_O2BLOW_AFT_TEMP"); //2次吹炼后温度
- BigDecimal sndO2blowAftO2Consume = (BigDecimal)message.get("SND_O2BLOW_AFT_O2_CONSUME"); //2次吹炼后吹氧量
- String trdO2blowStaDtime = (String)message.get("TRD_O2BLOW_STA_DTIME"); //3次吹炼开始时刻
- String trdO2blowEndDtime = (String)message.get("TRD_O2BLOW_END_DTIME"); //3次吹炼结束时刻
- BigDecimal trdOwblowAftTemp = (BigDecimal)message.get("TRD_O2BLOW_AFT_TEMP"); //3次吹炼后温度
- BigDecimal trdO2blowAftO2Consume = (BigDecimal)message.get("TRD_O2BLOW_AFT_O2_CONSUME"); //3次吹炼后吹氧量
- String fthO2blowStaDtime = (String)message.get("FTH_O2BLOW_STA_DTIME"); //4次吹炼开始时刻
- String fthO2blowEndDtime = (String)message.get("FTH_O2BLOW_END_DTIME"); //4次吹炼结束时刻
- BigDecimal fthO2blowAftTemp = (BigDecimal)message.get("FTH_O2BLOW_AFT_TEMP"); //4次吹炼后温度
- BigDecimal fthO2blowAftO2Consume = (BigDecimal)message.get("FTH_O2BLOW_AFT_O2_CONSUME"); //4次吹炼后吹氧量
- BigDecimal chargeTemp = (BigDecimal)message.get("CHARGE_TEMP"); //装入铁水温度
- BigDecimal tappingAftTemp = (BigDecimal)message.get("TAPPING_AFT_TEMP"); //出钢时温度
- String scrapChargeStaDtime = (String)message.get("SCRAP_CHARGE_STA_DTIME"); //废钢装炉开始时刻
- String ironChargeStaDtime = (String)message.get("IRON_CHARGE_STA_DTIME"); //铁水装炉开始时刻
- String tappingStaDtime = (String)message.get("TAPPING_STA_DTIME"); //出钢开始时刻
- String tappingEndDtime = (String)message.get("TAPPING_END_DTIME"); //出钢完成时刻
- BigDecimal scrapZincChargeWgt = (BigDecimal)message.get("SCRAP_ZINC_CHARGE_WGT"); //生铁装入量
- BigDecimal scrapChargeWgt = (BigDecimal)message.get("SCRAP_CHARGE_WGT"); //废钢装入量
- BigDecimal ironChargeWgt = (BigDecimal)message.get("IRON_CHARGE_WGT"); //铁水装入量
- BigDecimal subrawWgt = (BigDecimal)message.get("SUBRAW_WGT"); //副原料用量
- BigDecimal O2LanceId = (BigDecimal)message.get("O2_LANCE_ID"); //氧枪号
- BigDecimal O2LanceUseCnt = (BigDecimal)message.get("O2_LANCE_USE_CNT"); //枪龄
- BigDecimal bofUseStepno = (BigDecimal)message.get("BOF_USE_STEPNO"); //转炉使用次数
- BigDecimal tappingGateStepno = (BigDecimal)message.get("TAPPING_GATE_STEPNO"); //出刚口次数
- BigDecimal O2consume = (BigDecimal)message.get("O2_CONSUME"); //氧气用量
- BigDecimal arConsume = (BigDecimal)message.get("AR_CONSUME"); //氩气使用量
- BigDecimal n2Consume = (BigDecimal)message.get("N2_CONSUME");
-
- logger.logDebug("XinSaveBofResult tappingWgt:"+tappingWgt );
-
-
-
-
- int chLth = chargeNo.trim().length();
-
- if (chLth < 10 ) {
-
- logger.logError("XinSaveBofResult CHARGE_NO ERROR !!!!-->"+chargeNo );
-
- return PosBizControlConstants.SUCCESS;
- }
-
-
- // 通过电文发送时间获取当前班次信息
- String sShift = null;
- // 如果接收时间为空的话,就取当前时间
- if ( RsvDate == null || RsvDate.equals("") ) {
-
-
- DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
- RsvDate = formatter.format(new Date());
- logger.logDebug("XinSaveBofResult start RsvDate: "+RsvDate );
-
- }
-
- 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 param0 = new PosParameter();
- PosParameter param1 = new PosParameter();
- PosParameter param2 = new PosParameter();
- // PosParameter param3 = new PosParameter();
-
- param0.setWhereClauseParameter(0, chargeNo);
- PosRowSet rowset0 = this.getDao("mesdao").find("NIG020210_01.select", param0);
- if(rowset0.hasNext())
- {
- param1.setValueParamter(0,planChargeNo); //1 炉次计划号
- param1.setValueParamter(1,bofNo); //2 转炉站号
- param1.setValueParamter(2,specAbbsym); //3 标准号
- param1.setValueParamter(3,tappingWgt); //4 出钢钢水重量
- param1.setValueParamter(4,prodPlanWgt); //5 生产预定量
- param1.setValueParamter(5,rateio); //6 回收率
- param1.setValueParamter(6,eptLdWgt); //7 空钢包重量
- param1.setValueParamter(7,treatRt); //8 处理路径
- param1.setValueParamter(8,bofWkHour); //9 转炉 作业时间
- param1.setValueParamter(9,chargeHour); //10装入时间
- param1.setValueParamter(10,o2blowHour); //11吹? 妒奔?
- param1.setValueParamter(11,tappingHour); //12出钢时间
- param1.setValueParamter(12,o2blowstepNo); //13吹炼次数
- param1.setValueParamter(13,o2blowAftTemp); //14吹炼? 笪露?
- param1.setValueParamter(14,fstO2blowStaDtime); //151次吹炼开始时刻
- param1.setValueParamter(15,fstO2blowEndDtime); //161? 未盗督崾�笨?
- param1.setValueParamter(16,fstO2blowAftTemp); //171次 吹炼后温度
- param1.setValueParamter(17,fstO2blowAftO2Consume); //181次吹炼后吹氧量
- param1.setValueParamter(18,sndO2blowStaDtime); //192次吹炼开始时刻
- param1.setValueParamter(19,sndO2blowEndDtime); //202次吹炼结束时刻
- param1.setValueParamter(20,sndO2blowAftTemp); //212次吹炼后温度
- param1.setValueParamter(21,sndO2blowAftO2Consume); //222次吹炼后吹氧量
- param1.setValueParamter(22,trdO2blowStaDtime); //233次吹炼开始时刻
- param1.setValueParamter(23,trdO2blowEndDtime); //243次吹炼结束时刻
- param1.setValueParamter(24,trdOwblowAftTemp); //253次吹炼后温度
- param1.setValueParamter(25,trdO2blowAftO2Consume); //263次吹炼后吹氧量
- param1.setValueParamter(26,fthO2blowStaDtime); //274次吹炼开始时刻
- param1.setValueParamter(27,fthO2blowEndDtime); //284次吹炼结束时刻
- param1.setValueParamter(28,fthO2blowAftTemp); //294次吹炼后温度
- param1.setValueParamter(29,fthO2blowAftO2Consume); //304次吹炼后吹氧量
- param1.setValueParamter(30,chargeTemp); //31装入铁水温度
- param1.setValueParamter(31,tappingAftTemp); //32出钢时温度
- param1.setValueParamter(32,scrapChargeStaDtime); //33废钢装炉开始时刻
- param1.setValueParamter(33,ironChargeStaDtime); //34铁水装炉开始时刻
- param1.setValueParamter(34,tappingStaDtime); //35出钢开始时刻
- param1.setValueParamter(35,tappingEndDtime); //36出钢完成时刻
- param1.setValueParamter(36,scrapZincChargeWgt); //37生铁装入量
- param1.setValueParamter(37,scrapChargeWgt); //38废钢装入量
- param1.setValueParamter(38,ironChargeWgt); //39铁水装入量
- param1.setValueParamter(39,subrawWgt); //40副原料用量
- param1.setValueParamter(40,O2LanceId); //41氧枪号
- param1.setValueParamter(41,O2LanceUseCnt); //42枪龄
- param1.setValueParamter(42,bofUseStepno); //43转炉使用次数
- param1.setValueParamter(43,tappingGateStepno); //44出刚口次数
- param1.setValueParamter(44,O2consume); //45氧气用量
- param1.setValueParamter(45,arConsume); //46氩气使用量
- param1.setValueParamter(46,n2Consume); //47氮气使用量
- param1.setValueParamter(47,sShift); //48炉次号
- param1.setValueParamter(48,sGroup); //48炉次号
- param1.setValueParamter(49,RsvDate.substring(0,8)); //48炉次号
- param1.setValueParamter(50,chargeNo ); //48炉次号
-
- this.getDao("mesdao").update("NIG020210_01.update",param1);
- }
- else
- {
- param1.setValueParamter(0,chargeNo); //1 炉次号
- param1.setValueParamter(1,planChargeNo); //2 炉次计划号
- param1.setValueParamter(2,bofNo); //3 转炉站号
- param1.setValueParamter(3,specAbbsym); //4 标准号
- param1.setValueParamter(4,tappingWgt); //5 出钢钢水重量
- param1.setValueParamter(5,prodPlanWgt); //6 生产预定量
- param1.setValueParamter(6,rateio); //7 回收率
- param1.setValueParamter(7,eptLdWgt); //8 空钢包重量
- param1.setValueParamter(8,treatRt); //9 处理路径
- param1.setValueParamter(9,bofWkHour); //10转炉 作业时间
- param1.setValueParamter(10,chargeHour); //11装入时间
- param1.setValueParamter(11,o2blowHour); //12吹? 妒奔?
- param1.setValueParamter(12,tappingHour); //13出钢时间
- param1.setValueParamter(13,o2blowstepNo); //14吹炼次数
- param1.setValueParamter(14,o2blowAftTemp); //15吹炼? 笪露?
- param1.setValueParamter(15,fstO2blowStaDtime); //161次吹炼开始时刻
- param1.setValueParamter(16,fstO2blowEndDtime); //171? 未盗督崾�笨?
- param1.setValueParamter(17,fstO2blowAftTemp); //181次 吹炼后温度
- param1.setValueParamter(18,fstO2blowAftO2Consume); //191次吹炼后吹氧量
- param1.setValueParamter(19,sndO2blowStaDtime); //202次吹炼开始时刻
- param1.setValueParamter(20,sndO2blowEndDtime); //212次吹炼结束时刻
- param1.setValueParamter(21,sndO2blowAftTemp); //222次吹炼后温度
- param1.setValueParamter(22,sndO2blowAftO2Consume); //232次吹炼后吹氧量
- param1.setValueParamter(23,trdO2blowStaDtime); //243次吹炼开始时刻
- param1.setValueParamter(24,trdO2blowEndDtime); //253次吹炼结束时刻
- param1.setValueParamter(25,trdOwblowAftTemp); //263次吹炼后温度
- param1.setValueParamter(26,trdO2blowAftO2Consume); //273次吹炼后吹氧量
- param1.setValueParamter(27,fthO2blowStaDtime); //284次吹炼开始时刻
- param1.setValueParamter(28,fthO2blowEndDtime); //294次吹炼结束时刻
- param1.setValueParamter(29,fthO2blowAftTemp); //304次吹炼后温度
- param1.setValueParamter(30,fthO2blowAftO2Consume); //314次吹炼后吹氧量
- param1.setValueParamter(31,chargeTemp); //32装入铁水温度
- param1.setValueParamter(32,tappingAftTemp); //33出钢时温度
- param1.setValueParamter(33,scrapChargeStaDtime); //34废钢装炉开始时刻
- param1.setValueParamter(34,ironChargeStaDtime); //35铁水装炉开始时刻
- param1.setValueParamter(35,tappingStaDtime); //36出钢开始时刻
- param1.setValueParamter(36,tappingEndDtime); //37出钢完成时刻
- param1.setValueParamter(37,scrapZincChargeWgt); //38生铁装入量
- param1.setValueParamter(38,scrapChargeWgt); //39废钢装入量
- param1.setValueParamter(39,ironChargeWgt); //40铁水装入量
- param1.setValueParamter(40,subrawWgt); //41副原料用量
- param1.setValueParamter(41,O2LanceId); //42氧枪号
- param1.setValueParamter(42,O2LanceUseCnt); //43枪龄
- param1.setValueParamter(43,bofUseStepno); //44转炉使用次数
- param1.setValueParamter(44,tappingGateStepno); //45出刚口次数
- param1.setValueParamter(45,O2consume); //46氧气用量
- param1.setValueParamter(46,arConsume); //47氩气使用量
- param1.setValueParamter(47,n2Consume); //48氮气使用量
- param1.setValueParamter(48,sShift); //48炉次号
- param1.setValueParamter(49,sGroup); //48炉次号
- param1.setValueParamter(50,RsvDate.substring(0,8)); //48炉次号
- this.getDao("mesdao").insert("NIG020210_01.insert",param1);
-
- // 上一工序
- String BefProg = "JBB";
- /*
- param3.setWhereClauseParameter(0, chargeNo);
- // 判断炉次公共表是否有跟电文信息对应的数据,有则获取当前工序号
- PosRowSet chargeVO = this.getDao("mesdao").find("NIG020210_03.select", param3);
- if(chargeVO.hasNext())
- {
- PosRow chargeROW = chargeVO.next();
- BefProg = (String)chargeROW.getAttribute("CUR_PROG_CD");
- }
- */
-
- // 下面的代码就是当转炉处理完成以后,修改指示相关的 炉次参数表,板坯参数表,板坯详细参数表
-
- // 更新炉次公共表的工序为转炉处理,炉次状态为进行
-
- String ChargeStat = null;
- String PlanhargeNo = null;
-
- PosParameter paramZ = new PosParameter();
- paramZ.setWhereClauseParameter(0, chargeNo);
- PosRowSet chargeVO = this.getDao("mesdao").find("NIG020210_03.select", paramZ);
- if(chargeVO.hasNext())
- {
- PosRow chargeROW = chargeVO.next();
-
- ChargeStat = (String)chargeROW.getAttribute("CHARGE_STAT");
- PlanhargeNo = (String)chargeROW.getAttribute("PLAN_CHARGE_NO");
- }
-
- if (ChargeStat != null && ChargeStat.equals("2") && PlanhargeNo != null) {
- PosParameter param5 = new PosParameter();
- String sProgCd = "JBF";
- param5.setValueParamter(0, sProgCd);
- param5.setValueParamter(1, "B");
- param5.setValueParamter(2, PlanhargeNo);
- // 修改炉次参数表的炉次状态为进行
- this.getDao("mesdao").update("NIG020200_SPEC_PROG.update", param5);
- PosParameter param6 = new PosParameter();
- param6.setValueParamter(0, "B" );
- param6.setValueParamter(1, PlanhargeNo );
- // 修改板坯参数表的状态为进行? 炉次状态还是板坯状态
-
- this.getDao("mesdao").update("NIG020200_SPEC_CHARGE_IDX.update", param6);
-
- this.getDao("mesdao").update("NIG020610_SPEC_SLAB.update", param6);
-
- param2.setWhereClauseParameter(0, PlanhargeNo);
- // 获得板坯编制号,通过板坯编制号修改相应的板坯详细参数表
- PosRowSet specslabVo = this.getDao("mesdao").find("NIG020210_SPEC_SLAB.select", param2);
-
- while(specslabVo.hasNext()) {
- PosRow specslabROW = specslabVo.next();
- Number SlabEdtSeq = (Number)specslabROW.getAttribute("SLAB_EDT_SEQ");
-
- PosParameter param7 = new PosParameter();
- param7.setValueParamter(0, "B" );
- param7.setValueParamter(1, SlabEdtSeq );
- this.getDao("mesdao").update("NIG020610_SPEC_SLAB_D.update", param7);
-
- }
- }
-
- SendProg_NIE012070(planChargeNo,BefProg,tappingWgt);
- SendProg_NIE012080();
-
- }
- }catch(Exception ex){
- logger.logDebug("--------------------->" + ex);
- logger.logError("--------------------->" + ex);
- }
-
-
- return PosBizControlConstants.SUCCESS;
- }
- public PosContext SendProg_NIE012070(String ChargeNo,String BefProg,Number wgt )
- {
-
- logger.logDebug("XinSaveBofResult wgt:"+wgt );
- // 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",null);
- message.setObject("BEF_ORD_SEQ",null);
- message.setObject("ORD_NO",null);
- message.setObject("ORD_SEQ",null);
- message.setObject("BEF_PROG_CD","JBB");
- message.setObject("PROG_CD","JBF");
- message.setObject("MAT_TYPE","CH");
- message.setObject("MAT_NO",ChargeNo);
- message.setObject("WGT", wgt );
- message.setObject("PGMID","XinSaveBoFResult");
- message.setObject("REG_ID","LEVEL2");
- message.setTCID(TcId);
-
- context.setMessage(message);
- // this.processComponent(PosConstants.CREATE_MESSAGE, context);
- // String transactionCode = context.getMessage().getTC();
-
-
- 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.logDebug("XinSaveBofResult---> NIE012070 TC SendProgress end" );
-
-
-
- return null;
- }
- public PosContext SendProg_NIE012080()
- {
- logger.logDebug("XinSaveBofResult 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);
- message.setTCID(TcId);
-
- context.setMessage(message);
- // this.processComponent(PosConstants.CREATE_MESSAGE, context);
- // String transactionCode = context.getMessage().getTC();
-
-
- 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);
-
-
- logger.logDebug("XinSaveBofResult---> NIE012080 TC SendProgress end" );
-
-
-
- return null;
- }
- }
|