| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365 |
- package xin.glue.ui.G.G03;
- import java.math.BigDecimal;
- import xin.glue.ui.G.G01.XTBGCOMM;
- import xin.glue.ui.G.G01.XTBGCreateMaterial;
- 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.PosGenericDao;
- 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 王小炎
- * @date 2008.08.11
- */
- public class PosSaveSmsProg extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- PosGenericDao dao = getDao("mesdao");
- PosParameter param ;
- PosRowSet rowset;
- PosRow row;
- XTBGCOMM xtbgcom = new XTBGCOMM(dao);
- XTBGCreateMaterial xtbcm = new XTBGCreateMaterial(dao);
-
- //从页面获取参数数据,供更新数据用
- String[] status = (String[]) context.get("rowStuts");
- String[] mChargeNo = (String[]) context.get("CHARGE_NO");
- String[] mPlanChargeNo = (String[]) context.get("PLAN_CHARGE_NO");
- String[] mEventCd = (String[]) context.get("SM_CD");
- String[] mTreatDtime = (String[]) context.get("TREAT_DTIME");
- String[] mProcCd = (String[]) context.get("PROC_CD");
- if(mProcCd == null || mTreatDtime == null){
- return PosBizControlConstants.SUCCESS;
- }
- //status为空,则前台没有数据传送过来,返回
- if (status == null){
- context.put("MESSAGES", "请选择工序");
- return PosBizControlConstants.SUCCESS;
- }
-
- for (int i = 0; i < status.length; i++)
- {
- String sBOF_STA_DTIME = null;
- String sBOF_END_DTIME = null;
- String sRH_STA_DTIME = null;
- String sRH_END_DTIME = null;
- String sLF_STA_DTIME = null;
- String sLF_END_DTIME = null;
- String sCAS_STA_DTIME = null;
- String sCAS_END_DTIME = null;
- String sLT_ARRV_DTIME = null;
- String sCASTING_STA_DTIME = null;
- String sCASTING_END_DTIME = null;
- String sCCM_DEP_DTIME = null;
-
- BigDecimal chargeWgt = null; //炉次重量
- BigDecimal tappingWgt = null; //转炉出钢重量
- String befProgCd = null; //前进程
- String progCd = null;
- String chargeStat = null;
-
- BigDecimal sCastChargeSeq = null;
- BigDecimal sCastEdtChargeCnt = null;
- String sStlGrd = null;
- BigDecimal sPrevChargeWgt = null;
- //计划板坯号
- if(mPlanChargeNo[i] == null || mPlanChargeNo[i].equals("")){
- mPlanChargeNo[i] = "3" + mChargeNo[i].substring(1, 10);
- }
-
- param = new PosParameter();
- param.setWhereClauseParameter(0,mPlanChargeNo[i]);
- PosRowSet L2Send = dao.find("UIG020020_L2_SEND_CHARGE.select", param);
- if(!L2Send.hasNext()){
- context.put("MESSAGES", "指示没有下发2级,不能操作");
- return PosBizControlConstants.SUCCESS;
- }
-
- if (chargeStat != null && chargeStat.equals("3")){
- context.put("MESSAGES", "炉次已经结束,不能操作");
- return PosBizControlConstants.SUCCESS;
- }
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, mPlanChargeNo[i]);
- rowset = dao.find("NIG020200_SPEC_CHARGE.select",param);
- if(rowset.hasNext()){
- row = rowset.next();
- sCastChargeSeq = (BigDecimal)row.getAttribute("CAST_CHARGE_SEQ"); //浇次内顺序
- sCastEdtChargeCnt = (BigDecimal)row.getAttribute("CAST_EDT_CHARGE_CNT"); //浇次内炉次数
- sStlGrd = (String)row.getAttribute("STL_GRD"); //牌号
- sPrevChargeWgt = (BigDecimal)row.getAttribute("PREV_CHARGE_WGT");
- }
-
- if (mEventCd[i].equals("B03")) {sBOF_STA_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("B04")) {sBOF_END_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("R03")) {sRH_STA_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("R04")) {sRH_END_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("L02")) {sLF_STA_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("L03")) {sLF_END_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("C02")) {sCAS_STA_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("C03")) {sCAS_END_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("J01")) {sLT_ARRV_DTIME = mTreatDtime[i];sCASTING_END_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("J02")) {sCASTING_STA_DTIME = mTreatDtime[i];sCASTING_END_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("J03")) {sCASTING_END_DTIME = mTreatDtime[i];
- } else if (mEventCd[i].equals("J04")) {
- sCCM_DEP_DTIME = mTreatDtime[i];sCASTING_END_DTIME = mTreatDtime[i];
- PosParameter pram = new PosParameter();
- pram.setWhereClauseParameter(0, sCCM_DEP_DTIME);
- pram.setWhereClauseParameter(1,mChargeNo[i]);
- getDao("mesdao").update("NIG020200_LD_CCM_DEP_DTIME.update", pram);
- }
-
- //中包,结晶器修改
- String TdNo = null;
- String MdNo1 = null;
- String MdNo2 = null;
- param = new PosParameter();
- if (mProcCd[i].substring(0,1).equals("J")) {
- String sMC = mProcCd[i].substring(1,2);
- param.setWhereClauseParameter(0, "2");
- param.setWhereClauseParameter(1, "2");
- param.setWhereClauseParameter(2, sMC);
- param.setWhereClauseParameter(3, sMC);
- rowset = this.getDao("mesdao").find("NIG020200_TD_MD.select", param);
- if (rowset.hasNext() ) {
- row = rowset.next();
- TdNo = (String)row.getAttribute("TD_NO");
- MdNo1 = (String)row.getAttribute("MD_NO1");
- MdNo2 = (String)row.getAttribute("MD_NO2");
- }
- }
-
- // 回送炉次信息修改
- String RtnChNo = null;
- Number RtnChWgt = null;
- if (mEventCd[i].substring(0,1).equals("B")) {
- PosParameter paramB = new PosParameter();
- String sql1 = "select CHARGE_NO,RTN_CHARGE_WGT from tbg02_charge_comm where NEW_PLAN_CHARGE_NO = ?";
- paramB.setWhereClauseParameter(0, mPlanChargeNo[i]);
- PosRowSet rtnChVO = this.getDao("mesdao").findByQueryStatement(sql1,paramB);
- if(rtnChVO.hasNext()) {
- PosRow rtnChROW = rtnChVO.next();
- RtnChNo = (String)rtnChROW.getAttribute("CHARGE_NO");
- RtnChWgt = (Number)rtnChROW.getAttribute("RTN_CHARGE_WGT");
- }
- }
-
- //检查炉次,板坯记录是否存在
- String sql = "select * from tbg02_charge_comm where CHARGE_NO = ?";
- param = new PosParameter();
-
- param.setWhereClauseParameter(0, mChargeNo[i]);
- rowset = this.getDao("mesdao").findByQueryStatement(sql,param);
- if(!rowset.hasNext()){
- xtbcm.CreateCharge(mPlanChargeNo[i]);
- xtbcm.CreateSlab(mPlanChargeNo[i]);
- }else{
- row = rowset.next();
- chargeStat = (String)row.getAttribute("CHARGE_STAT");
- tappingWgt = (BigDecimal)row.getAttribute("BOF_TAPPING_WGT"); //转炉出钢量
- chargeWgt = (BigDecimal)row.getAttribute("CHARGE_WGT"); //装入量
- progCd = (String)row.getAttribute("CUR_PROG_CD");
- befProgCd = (String)row.getAttribute("BEF_PROG_CD");
-
- sBOF_STA_DTIME = (sBOF_STA_DTIME != null && !sBOF_STA_DTIME.equals(""))?sBOF_STA_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sBOF_END_DTIME = (sBOF_END_DTIME != null && !sBOF_END_DTIME.equals(""))?sBOF_END_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sRH_STA_DTIME = (sRH_STA_DTIME != null && !sRH_STA_DTIME.equals(""))?sRH_STA_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sRH_END_DTIME = (sRH_END_DTIME != null && !sRH_END_DTIME.equals(""))?sRH_END_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sLF_STA_DTIME = (sLF_STA_DTIME != null && !sLF_STA_DTIME.equals(""))?sLF_STA_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sLF_END_DTIME = (sLF_END_DTIME != null && !sLF_END_DTIME.equals(""))?sLF_END_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sCAS_STA_DTIME = (sCAS_STA_DTIME != null && !sCAS_STA_DTIME.equals(""))?sCAS_STA_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sCAS_END_DTIME = (sCAS_END_DTIME != null && !sCAS_END_DTIME.equals(""))?sCAS_END_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sLT_ARRV_DTIME = (sLT_ARRV_DTIME != null && !sLT_ARRV_DTIME.equals(""))?sLT_ARRV_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sCASTING_STA_DTIME = (sCASTING_STA_DTIME != null && !sCASTING_STA_DTIME.equals(""))?sCASTING_STA_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
- sCASTING_END_DTIME = (sCASTING_END_DTIME != null && !sCASTING_END_DTIME.equals(""))?sCASTING_END_DTIME:(String)row.getAttribute("BOF_STA_DTIME");
-
- }
-
- //steel making progress table and Steel making tracking table update
- xtbgcom.steelEventUpt(mChargeNo[i], mProcCd[i], mEventCd[i], new BigDecimal(0), chargeWgt, mTreatDtime[i], "2", sStlGrd, sCastEdtChargeCnt, sCastChargeSeq);
-
- //炉次事件实绩修改
- param = new PosParameter();
- param.setWhereClauseParameter(0,TdNo); //中包号
- param.setWhereClauseParameter(1,MdNo1); //结晶器1
- param.setWhereClauseParameter(2,MdNo2); //结晶器2
- param.setWhereClauseParameter(3,sBOF_STA_DTIME);
- param.setWhereClauseParameter(4,sBOF_END_DTIME);
- param.setWhereClauseParameter(5,sRH_STA_DTIME);
- param.setWhereClauseParameter(6,sRH_END_DTIME);
- param.setWhereClauseParameter(7,sCAS_STA_DTIME);
- param.setWhereClauseParameter(8,sCAS_END_DTIME);
- param.setWhereClauseParameter(9,sLF_STA_DTIME);
- param.setWhereClauseParameter(10,sLF_END_DTIME);
- param.setWhereClauseParameter(11,sLT_ARRV_DTIME);
- param.setWhereClauseParameter(12,sCASTING_STA_DTIME);
- param.setWhereClauseParameter(13,sCASTING_END_DTIME);
- param.setWhereClauseParameter(14,RtnChNo); //回送炉号
- param.setWhereClauseParameter(15,RtnChWgt); //回送重量
- param.setWhereClauseParameter(16,chargeWgt); //装入量
- param.setWhereClauseParameter(17,tappingWgt); //转炉出钢重量
- param.setWhereClauseParameter(18,mChargeNo[i]);
- this.getDao("mesdao").update("UIG030010_TREAT_DTIME_UPT_01", param);
-
-
-
- //炉次信息修改
- String PgmId = null;
- if(mEventCd[i].equals("J02")) {
- PgmId = "XinCcmStart";
- } else {
- PgmId = "ManSaveChargeProc";
- }
- if(mEventCd[i].substring(0,1).equals("B")||mEventCd[i].substring(0,1).equals("J")){
- if (mEventCd[i].substring(0,1).equals("B")){
- if (progCd == null || progCd.equals("") || progCd.equals("JBB")){
- progCd = "JBB";
- befProgCd = "JBA";
- }
- }else{
- if (progCd == null || progCd.equals("")){
- progCd = "JJB";
- }
- }
- }
-
- //计划信息修改
- xtbgcom.specChargeProcUpt(mPlanChargeNo[i], "B", progCd);
- xtbgcom.specSlabProcUpt(mPlanChargeNo[i], "B");
-
- xtbgcom.chargeProcUpt(mChargeNo[i], "2", progCd, PgmId);
-
- //进程调用
- SendProg_NIE012070( mPlanChargeNo[i],befProgCd,progCd,sPrevChargeWgt,PgmId);
- SendProg_NIE012080();
- }
-
- context.put("MESSAGES", "操作成功!");
- return PosBizControlConstants.SUCCESS;
- }
- public PosContext SendProg_NIE012070(String ChargeNo ,String befProgCd,String ProgCD,Number prevChargeWgt,String PgmId)
- {
- logger.logDebug("XinSaveChargeProc SendProg_NIE012070 " );
-
- 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",befProgCd);
- message.setObject("PROG_CD",ProgCD);
- message.setObject("MAT_TYPE","CH");
- message.setObject("MAT_NO",ChargeNo);
- message.setObject("WGT",prevChargeWgt);
- message.setObject("PGMID",PgmId);
- message.setObject("REG_ID","LEVEL2");
-
- context.setMessage(message);
- this.processComponent(PosConstants.CREATE_MESSAGE, context);
- String transactionCode = context.getMessage().getTC();
-
-
- logger.logDebug("XinSaveChargeProc---> 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.logDebug("XinSaveChargeProc---> NIE012070 TC SendProgress end" );
-
-
- return null;
- }
- public PosContext SendProg_NIE012080()
- {
- logger.logDebug("XinSaveChargeProc 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();
-
-
- logger.logDebug("XinSaveChargeProc---> transactionCode:("+transactionCode+")" );
-
- 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);
-
- String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
- logger.logDebug("XinSaveChargeProc SERVICE_ERR_MSG:"+SERVICE_ERR_MSG );
-
-
-
-
- return null;
- }
- }
|