| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871 |
- package xin.glue.nui.H.H02;
- import java.math.BigDecimal;
- import java.sql.CallableStatement;
- import java.sql.SQLException;
- import xin.glue.ui.common.PosDateFormat;
- import xin.glue.ui.common.ProduceFactory;
- import com.posdata.glue.PosException;
- 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;
- public class XinSaveCoilReject extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- logger.logInfo("XinSaveCoilReject START " );
-
-
- PosMessage message = context.getMessage();
-
-
- String MSG_SLAB_NO = (String)message.get("SLAB_NO");
-
-
- String MISSNO_CAUSE_CD = (String)message.get("MISSNO_CAUSE_CD");
-
- String MSG_MISSNO_OCR_DTIME = (String)message.get("MISSNO_OCR_DTIME");
-
-
- //这里判断原因代码,1-4为轧回操作处理走SLABREJECT的处理方式。5-11以及FFF走轧废处理
- if(MISSNO_CAUSE_CD.equals("01") || MISSNO_CAUSE_CD.equals("02") || MISSNO_CAUSE_CD.equals("03") || MISSNO_CAUSE_CD.equals("04")){
- //轧回的情况走加回处理的方式
- //这里需要通过轧回时间获取相应的班组信息,因此需要进行下列判断
- PosDateFormat dateFormat = new PosDateFormat();
- // String sShift = dateFormat.getShiftT(MSG_MISSNO_OCR_DTIME);
-
- String sShift = null;
-
- // 这里的班次的时间段就由基础表维护。可能存在2班或者3班的情况,那么就是有值的就进行判断没有的就是没有设定的。
- PosParameter paramSA = new PosParameter();
- PosParameter paramSB = new PosParameter();
- PosParameter paramSC = new PosParameter();
-
- //这里获取三个班次相应的时间
- String sqlA = "SELECT to_number(A.SM_EFNM) SM_EFNM,to_number(A.SM_ESNM) SM_ESNM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'H07001' AND A.SM_CD = '1'";
- String sqlB = "SELECT to_number(A.SM_EFNM) SM_EFNM,to_number(A.SM_ESNM) SM_ESNM,A.SHRXM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'H07001' AND A.SM_CD = '2'";
- String sqlC = "SELECT to_number(A.SM_EFNM) SM_EFNM,to_number(A.SM_ESNM) SM_ESNM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'H07001' AND A.SM_CD = '3'";
-
- PosRowSet ShiftA = getDao("mesdao").findByQueryStatement(sqlA, paramSA);
- PosRowSet ShiftB = getDao("mesdao").findByQueryStatement(sqlB, paramSB);
- PosRowSet ShiftC = getDao("mesdao").findByQueryStatement(sqlC, paramSC);
-
- BigDecimal SM_EFNMA = null;
- BigDecimal SM_ESNMA = null;
-
- BigDecimal SM_EFNMB = null;
- BigDecimal SM_ESNMB = null;
-
- //这里是中班是否超过0点指标。如果超过0点就判断早班和晚班的情况,其它为中班。如果不超过0点就判断早班和中班的情况,其它为晚班
- String SHRXM = null;
-
- BigDecimal SM_EFNMC = null;
- BigDecimal SM_ESNMC = null;
-
- if(ShiftA.hasNext()){
- PosRow ShiftAA = ShiftA.next();
- SM_EFNMA = (BigDecimal) ShiftAA.getAttribute("SM_EFNM");
- SM_ESNMA = (BigDecimal) ShiftAA.getAttribute("SM_ESNM");
- }
-
- if(ShiftB.hasNext()){
- PosRow ShiftBB = ShiftB.next();
- SM_EFNMB = (BigDecimal) ShiftBB.getAttribute("SM_EFNM");
- SM_ESNMB = (BigDecimal) ShiftBB.getAttribute("SM_ESNM");
- SHRXM = (String) ShiftBB.getAttribute("SHRXM");
- }
-
- if(ShiftC.hasNext()){
- PosRow ShiftCC = ShiftC.next();
- SM_EFNMC = (BigDecimal) ShiftCC.getAttribute("SM_EFNM");
- SM_ESNMC = (BigDecimal) ShiftCC.getAttribute("SM_ESNM");
- }
-
- int SM_EFNMAA;
- int SM_ESNMAA;
-
- int SM_EFNMBB;
- int SM_ESNMBB;
-
- int SM_EFNMCC;
- int SM_ESNMCC;
-
- int hhmi = Integer.parseInt(MSG_MISSNO_OCR_DTIME.substring(8, 12));
-
- if(SM_EFNMA == null){
- SM_EFNMAA = 0;
- }else{
- SM_EFNMAA = SM_EFNMA.intValue();
- }
-
- if(SM_ESNMA == null){
- SM_ESNMAA = 0;
- }else{
- SM_ESNMAA = SM_ESNMA.intValue();
- }
-
- if(SM_EFNMB == null){
- SM_EFNMBB = 0;
- }else{
- SM_EFNMBB = SM_EFNMB.intValue();
- }
-
- if(SM_ESNMB == null){
- SM_ESNMBB = 0;
- }else{
- SM_ESNMBB = SM_ESNMB.intValue();
- }
-
- if(SM_EFNMC == null){
- SM_EFNMCC = 0;
- }else{
- SM_EFNMCC = SM_EFNMC.intValue();
- }
-
- if(SM_ESNMC == null){
- SM_ESNMCC = 0;
- }else{
- SM_ESNMCC = SM_ESNMC.intValue();
- }
-
- //如果出现中班输入为空的情况,说明是三班两倒。就一定会存在早班和晚班,那么只要判断早班即可
- if(SM_EFNMB == null || SM_ESNMB == null){
- if(hhmi > SM_EFNMAA && hhmi < SM_ESNMAA){
- //早班,这里只要判断符合不符合早班的情况即可
- sShift = "1";
- }else{
- sShift = "3";
- }
- }else{
- if(null != SHRXM && SHRXM.equals("Y")){
- //如果标志为Y,说明中班的结束时间超过0点,这时判断早班和晚班的情况。
- if(hhmi > SM_EFNMAA && hhmi < SM_ESNMAA){
- sShift = "1";
- }else if(hhmi > SM_EFNMCC && hhmi < SM_ESNMCC){
- sShift = "3";
- }else{
- sShift = "2";
- }
- }else{
- //如果标志不为Y,说明中班的结束时间没有超过0点,这时判断早班和中班的情况。
- if(hhmi > SM_EFNMAA && hhmi < SM_ESNMAA){
- sShift = "1";
- }else if(hhmi > SM_EFNMBB && hhmi < SM_ESNMBB){
- sShift = "2";
- }else{
- sShift = "3";
- }
- }
- }
-
- //这里需要用到天数前移一天和后退一天的共用方法,因为对三班和两班而言中班和晚班都可能存在跨天的情况。跨天后取班组时就要把时间前移
- // 这里需要获取昨天和明天的时间
- String ZDate = null;
- String MDate = null;
- // 当前时间加一天
- MDate = dateFormat.AddDateFunc(MSG_MISSNO_OCR_DTIME,1);
- //当前时间减一天
- ZDate = dateFormat.AddDateFunc(MSG_MISSNO_OCR_DTIME,-1);
-
- String sGroup = null;
-
- //判断,跨天的班组需要前移时间,这样才能对得上班组
- if(SM_EFNMB == null || SM_ESNMB == null){
- //两班的情况,这里需要对时间进行前移。把产量计算的昨天晚班的产量
- if(null != sShift && sShift.equals("3")){
- //这里还需要判断,当前时间是大于晚班开始时间小于2400还是大于0000小于结束时间
- if(hhmi >= SM_EFNMCC && hhmi <= 2400){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 两班早班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
- }else if(hhmi >= 0000 && hhmi <= SM_ESNMCC){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, ZDate.substring(0,6));
- paramA.setWhereClauseParameter(1, ZDate.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
- logger.logDebug(" 两班晚班当前的班次班组!! "+sShift+":"+sGroup+"轧回前移时间:"+ZDate);
- }
- }else if(null != sShift && sShift.equals("1")){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 两班早班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
- }else{
- //不存在
- logger.logDebug(" 两班班次班组不存在的情况!! ");
- }
- }else{
- //三班的情况
- if(null != SHRXM && SHRXM.equals("Y")){
- if(null != sShift && sShift.equals("1")){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 三班早班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
- }else if(null != sShift && sShift.equals("2")){
- if(hhmi >= SM_EFNMBB && hhmi <= 2400){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 三班中班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
- }else if(hhmi >= 0000 && hhmi <= SM_ESNMBB){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, ZDate.substring(0,6));
- paramA.setWhereClauseParameter(1, ZDate.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
- logger.logDebug(" 三班中班当前的班次班组!! "+sShift+":"+sGroup+"轧回前移时间:"+ZDate);
- }
- }else if(null != sShift && sShift.equals("3")){
- //中班超过0点,晚班是从当日的凌晨开始的
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 三班晚班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
- }
- }else{
- if(null != sShift && sShift.equals("1")){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 三班早班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
- }else if(null != sShift && sShift.equals("2")){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 三班中班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
- }else if(null != sShift && sShift.equals("3")){
- if(hhmi >= 0000 && hhmi <= SM_ESNMCC){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MSG_MISSNO_OCR_DTIME.substring(0,6));
- paramA.setWhereClauseParameter(1, MSG_MISSNO_OCR_DTIME.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 三班晚班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MSG_MISSNO_OCR_DTIME);
-
- }else if(hhmi >= SM_EFNMCC && hhmi <= 2400){
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, MDate.substring(0,6));
- paramA.setWhereClauseParameter(1, MDate.substring(6,8));
- paramA.setWhereClauseParameter(2, sShift);
- paramA.setWhereClauseParameter(3, "H");
- PosRowSet groupVO = this.getDao("mesdao").find("NIG020210_SHIFT.select", paramA);
-
-
- if (groupVO.hasNext()){
- PosRow groupROW = groupVO.next();
- sGroup = (String)groupROW.getAttribute("GR_GROUP_CD");
- }
-
- logger.logDebug(" 三班晚班当前的班次班组!! "+sShift+":"+sGroup+"轧回时间:"+MDate);
- }
- }
- }
- }
-
-
- String sysDate = dateFormat.getCurrentDate();
- logger.logDebug("XinSaveCoilReject sShift:"+sShift );
-
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0,MSG_SLAB_NO );
- PosRowSet specMillVo = getDao("mesdao").find("NIH020040_SPEC_MILL.select", param0);
-
- String CoilNo = null;
- Number SlabEdtSeq = null;
- if(specMillVo.hasNext()) {
- PosRow specMillROW = specMillVo.next();
-
- CoilNo = (String)specMillROW.getAttribute("COIL_NO");
- SlabEdtSeq = (Number)specMillROW.getAttribute("SLAB_EDT_SEQ");
-
- //这里走加回的处理方式
- PosParameter param00 = new PosParameter();
- param00.setWhereClauseParameter(0,MSG_SLAB_NO );
- param00.setWhereClauseParameter(1,CoilNo );
- PosRowSet rejVo = getDao("mesdao").find("NIH020030_01.select", param00);
-
- PosParameter param11 = new PosParameter();
- if(rejVo.hasNext())
- {
- //这里参数不够 ROLL_UNIT_NO、SLAB_NO
- //这里的作用应该是通过报文自动收一次,如果没有收成功的情况下再通过界面手工录入
- param11.setWhereClauseParameter(0, "");
- //3为轧回的情况
- param11.setWhereClauseParameter(1, "3");
- param11.setWhereClauseParameter(2, MISSNO_CAUSE_CD);
- // 这里标志轧回与加回的不同。所以改时间字段为标志
- param11.setWhereClauseParameter(3, sysDate);
- param11.setWhereClauseParameter(4, MSG_SLAB_NO);
-
- this.getDao("mesdao").update("NIH020030_REJ.update", param11);
- }
- else
- {
- param11.setValueParamter(0, MSG_SLAB_NO);
- param11.setValueParamter(1, CoilNo);
- param11.setValueParamter(2, "");
- param11.setValueParamter(3, "3");
- param11.setValueParamter(4, MISSNO_CAUSE_CD);
- //这里标志轧回与加回的不同。所以改时间字段为标志
- param11.setValueParamter(5, sysDate);
- //删除作业班次
- param11.setValueParamter(6, sShift);
- //删除作业班组
- param11.setValueParamter(7, sGroup);
- //删除作业人
- param11.setValueParamter(8, "NIH020040");
-
- this.getDao("mesdao").insert("NIH020040_REJ.insert", param11);
- }
-
- //如果出现多次吊销的情况,只在第一次的时候给予处理
- PosParameter param9 = new PosParameter();
- String sql9 = "select RHF_STAT from TBH02_REHEATFUR where slab_no = ? and coil_no = ? ";
- param9.setWhereClauseParameter(0, MSG_SLAB_NO);
- param9.setWhereClauseParameter(1, CoilNo);
- //这里做为是否调用品质的标志
- String RHF_STAT = null;
- PosRowSet rowset9 = getDao("mesdao").findByQueryStatement(sql9, param9);
- if(rowset9.hasNext()){
- PosRow row9 = rowset9.next();
- RHF_STAT = (String) row9.getAttribute("RHF_STAT");
- logger.logDebug("XinSaveSlabReject---> 加热炉吊销的状态:"+RHF_STAT);
- }
-
- PosParameter param2 = new PosParameter();
- param2.setWhereClauseParameter(0, "2");
- param2.setWhereClauseParameter(1,"C");
- param2.setWhereClauseParameter(2,MISSNO_CAUSE_CD);
- param2.setWhereClauseParameter(3,sysDate);
- param2.setWhereClauseParameter(4,"NIH020040");
- param2.setWhereClauseParameter(5,MSG_SLAB_NO);
- //改变板坯公共表中的板坯状态信息
- getDao("mesdao").update("UIH020020_04.update", param2);
-
- //把板坯数据放入C8辊道上
- PosParameter param77 = new PosParameter();
- param77.setWhereClauseParameter(0, MSG_SLAB_NO);
- param77.setWhereClauseParameter(1, "NIH020040");
- param77.setWhereClauseParameter(2, "C8");
-
- getDao("mesdao").update("UIH020020_10.update", param77);
-
- PosParameter param4 = new PosParameter();
- param4.setWhereClauseParameter(0,"3");
- param4.setWhereClauseParameter(1,MSG_SLAB_NO);
- param4.setWhereClauseParameter(2,CoilNo);
- //这个在UIH020020中,修改的是板坯缺号状态信息。这里为了回送板坯已板坯号和钢卷号做为联合主键
- getDao("mesdao").update("UIH020020_07.update", param4);
-
- // TBH02_COIL_COMM UPDATE
- PosParameter param8 = new PosParameter();
- param8.setWhereClauseParameter(0, "");
- param8.setWhereClauseParameter(1,"S");
- param8.setWhereClauseParameter(2,MISSNO_CAUSE_CD);
- param8.setWhereClauseParameter(3,sysDate);
- param8.setWhereClauseParameter(4, CoilNo);
- //改变板坯公共表中的板坯状态信息
- getDao("mesdao").update("NIH020030_COIL.update", param8);
-
- //调用存货异动点存储过程
- //ProduceFactory PD= new ProduceFactory();
- //PD.ErpDataCover("HSLAB", MSG_SLAB_NO,"11AZ","0","O","热轧加热炉","加回轧回");
-
-
- // 由计划修改,SendProg_NIF024060
- // PosParameter param3 = new PosParameter();
- // param3.setWhereClauseParameter(0, MSG_SLAB_NO );
- // param3.setWhereClauseParameter(1, CoilNo );
- // PosRowSet specMillVos = getDao("mesdao").find("NIH020020_SPEC_MILL.select", param3);
- // if (specMillVos.hasNext()) {
- // PosRow specMillROWs = specMillVos.next();
- // Number SLAB_EDT_SEQ = (Number)specMillROWs.getAttribute("SLAB_EDT_SEQ");
- //
- // PosParameter param5 = new PosParameter();
- // param5.setWhereClauseParameter(0, "C" );
- // param5.setWhereClauseParameter(1, MSG_SLAB_NO );
- // param5.setWhereClauseParameter(2, CoilNo );
- // getDao("mesdao").update("NIH020020_SPEC_MILL.update", param5);
- //
- // PosParameter param6 = new PosParameter();
- // param6.setWhereClauseParameter(0, "C" );
- // param6.setWhereClauseParameter(1, SLAB_EDT_SEQ );
- // getDao("mesdao").update("NIH020020_SPEC_MILL_D.update", param6);
- //
- // PosParameter param7 = new PosParameter();
- // param7.setWhereClauseParameter(0, "C" );
- // param7.setWhereClauseParameter(1, SLAB_EDT_SEQ );
- // getDao("mesdao").update("NIH020020_MILL_IDX.update", param7);
- // }
-
- //这里必须先调用求出状态,不然状态始终为3
- if(!RHF_STAT.equals("3")){
-
- //调用存货异动点存储过程
- ProduceFactory PD= new ProduceFactory();
- PD.ErpDataCover("HSLAB", MSG_SLAB_NO,"11AZ","0","O","热轧加热炉coil1","加回轧回");
-
- //Mill schedule cancel request
- SendProg_NIF024060( MSG_SLAB_NO);
-
- //调用品质存储过程
- logger.logDebug("XinSaveSlabReject---> NIB027010 TC sql call" );
-
- CallableStatement PlRtn = getDao("mesdao").getCallableStatement("NIH020020_NIB027010");
- logger.logDebug("XinSaveSlabReject---> NIB027010 TC try" );
-
- try {
- if(PlRtn != null) {
- PlRtn.setString(1,CoilNo);
- //新增加一个字段,为了废弃的时候使用
- PlRtn.setString(2,"S");
- PlRtn.registerOutParameter(3, java.sql.Types.VARCHAR);
- PlRtn.registerOutParameter(4, java.sql.Types.VARCHAR);
-
- PlRtn.execute();
-
- String sRetCode = PlRtn.getString(3);
- String sRetMsg = PlRtn.getString(4);
-
- logger.logDebug("XinSaveSlabReject---> NIB027010 TC PlRtn1:["+sRetCode+"]:"+ sRetMsg);
-
-
- } else {
- logger.logDebug("XinSaveSlabReject---> NIB027010 PlRtn2:"+PlRtn );
-
- }
- } catch (SQLException e) {
-
- throw new PosException(e.getMessage());
- }finally
- {
- if (PlRtn != null)
- {
- try
- {
- PlRtn.close();
- }
- catch (SQLException e)
- {
- logger.logWarn(e.getMessage(), e);
-
- logger.logDebug("XinSaveSlabReject---> NIB027010 SQLException:"+e );
- }
- }
- }
- }else{
- //吊销过一次的板坯,不能再次调用品质和进程
- logger.logDebug("XinSaveSlabReject---> 加热炉多次吊销时不允许调用品质和进程:"+RHF_STAT);
- }
- }else{
- logger.logDebug("XinSaveCoilReject 通过板坯号查询不到计划中的钢卷号信息 ");
- }
- }else{
- //走轧废处理的情况
- PosDateFormat dateFormat = new PosDateFormat();
- String sShift = dateFormat.getShiftT(MSG_MISSNO_OCR_DTIME);
-
- logger.logDebug("XinSaveCoilReject sShift:"+sShift );
-
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0,MSG_SLAB_NO );
- PosRowSet specMillVo = getDao("mesdao").find("NIH020040_SPEC_MILL.select", param0);
-
- String CoilNo = null;
- Number SlabEdtSeq = null;
- if(specMillVo.hasNext()) {
- PosRow specMillROW = specMillVo.next();
-
- CoilNo = (String)specMillROW.getAttribute("COIL_NO");
- SlabEdtSeq = (Number)specMillROW.getAttribute("SLAB_EDT_SEQ");
-
- }
-
- //如果出现多次吊销的情况,只在第一次的时候给予处理
- PosParameter param9 = new PosParameter();
- String sql9 = "select RHF_STAT from TBH02_REHEATFUR where slab_no = ? and coil_no = ? ";
- param9.setWhereClauseParameter(0, MSG_SLAB_NO);
- param9.setWhereClauseParameter(1, CoilNo);
- //这里做为是否调用品质的标志
- String RHF_STAT = null;
- PosRowSet rowset9 = getDao("mesdao").findByQueryStatement(sql9, param9);
- if(rowset9.hasNext()){
- PosRow row9 = rowset9.next();
- RHF_STAT = (String) row9.getAttribute("RHF_STAT");
-
- }
- if(!RHF_STAT.equals("3")){
- //调用存货异动点存储过程
- ProduceFactory PD= new ProduceFactory();
- PD.ErpDataCover("HSLAB", MSG_SLAB_NO,"11AZ","0","O","热轧加热炉coil2","加回轧回");
- }
-
-
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0,MSG_SLAB_NO );
- PosRowSet rejCoilVo = getDao("mesdao").find("NIH020040_COIL_COMM.select", param1);
-
- PosParameter param2 = new PosParameter();
- if(rejCoilVo.hasNext())
- {
-
- param2.setWhereClauseParameter(0, "1");
- param2.setWhereClauseParameter(1, "5");
- param2.setWhereClauseParameter(2, MISSNO_CAUSE_CD);
- param2.setWhereClauseParameter(3, MSG_SLAB_NO);
-
- this.getDao("mesdao").update("NIH020040_COIL.update", param2);
- }
- else
- {
- param2.setValueParamter(0, MSG_SLAB_NO);
- param2.setValueParamter(1, CoilNo);
- param2.setValueParamter(2, "1");
- param2.setValueParamter(3, "5");
- param2.setValueParamter(4, MISSNO_CAUSE_CD);
- this.getDao("mesdao").insert("NIH020040_COIL.insert", param2);
- }
-
- //修改板坯公共表,726TL
- PosParameter param66 = new PosParameter();
- param66.setWhereClauseParameter(0, MSG_SLAB_NO);
- getDao("mesdao").update("UIH020020_08.update", param66);
-
- String SlabCurrProgCd = null;
- String SlabBefProgCd = null;
- String SlabOrdNo = null;
- String SlabOrdSeq = null;
- BigDecimal SlabWgt = null;
-
- PosParameter param3 = new PosParameter();
- param3.setWhereClauseParameter(0, MSG_SLAB_NO);
- PosRowSet slabVo = getDao("mesdao").find("NIH020030_SLAB.select", param3);
- if(slabVo.hasNext()) {
-
- PosRow slabROW = slabVo.next();
- SlabCurrProgCd = (String)slabROW.getAttribute("CUR_PROG_CD");
- SlabBefProgCd = (String)slabROW.getAttribute("BEF_PROG_CD");
- SlabOrdNo = (String)slabROW.getAttribute("ORD_NO");
- SlabOrdSeq = (String)slabROW.getAttribute("ORD_SEQ");
- SlabWgt = (BigDecimal)slabROW.getAttribute("SLAB_WGT");
-
- }
-
- if (SlabEdtSeq != null) {
-
- PosParameter param4 = new PosParameter();
- param4.setWhereClauseParameter(0, "C" );
- param4.setWhereClauseParameter(1, MSG_SLAB_NO );
- param4.setWhereClauseParameter(2, CoilNo );
- getDao("mesdao").update("NIH020020_SPEC_MILL.update", param4);
-
- PosParameter param5 = new PosParameter();
- param5.setWhereClauseParameter(0, "C" );
- param5.setWhereClauseParameter(1, SlabEdtSeq );
- getDao("mesdao").update("NIH020020_SPEC_MILL_D.update", param5);
-
- PosParameter param6 = new PosParameter();
- param6.setWhereClauseParameter(0, "C" );
- param6.setWhereClauseParameter(1, SlabEdtSeq );
- getDao("mesdao").update("NIH020020_MILL_IDX.update", param6);
-
-
- }
-
- //调用存货异动点存储过程
- //ProduceFactory PD= new ProduceFactory();
- //PD.ErpDataCover("HSLAB", MSG_SLAB_NO,"11AZ","0","O","热轧加热炉","加回轧回");
-
-
- SendProg_NIE012070( MSG_SLAB_NO ,SlabOrdNo,SlabOrdSeq,SlabCurrProgCd,SlabBefProgCd,"TM",SlabWgt );
- SendProg_NIE012080();
-
- logger.logDebug("XinSaveCoilReject---> NIB027010 TC sql call" );
-
- CallableStatement PlRtn = getDao("mesdao").getCallableStatement("NIH020020_NIB027010");
- logger.logDebug("XinSaveCoilReject---> NIB027010 TC try" );
-
- try {
- if(PlRtn != null) {
- PlRtn.setString(1,CoilNo);
- //新增加一个字段,为了废弃的时候使用
- PlRtn.setString(2,"C");
- PlRtn.registerOutParameter(3, java.sql.Types.VARCHAR);
- PlRtn.registerOutParameter(4, java.sql.Types.VARCHAR);
-
- PlRtn.execute();
-
- String sRetCode = PlRtn.getString(3);
- String sRetMsg = PlRtn.getString(4);
-
- logger.logDebug("XinSaveCoilReject---> NIB027010 TC PlRtn1:["+sRetCode+"]:"+ sRetMsg);
-
-
- } else {
- logger.logDebug("XinSaveCoilReject---> NIB027010 PlRtn2:"+PlRtn );
-
- }
- } catch (SQLException e) {
-
- throw new PosException(e.getMessage());
- }finally
- {
- if (PlRtn != null)
- {
- try
- {
- PlRtn.close();
-
-
-
- }
- catch (SQLException e)
- {
- logger.logWarn(e.getMessage(), e);
-
- logger.logDebug("XinSaveCoilReject---> NIB027010 SQLException:"+e );
- }
- }
- }
- }
- return PosBizControlConstants.SUCCESS;
- }
- public void SendProg_NIE012070(String MatNo,String sOrdNo,String sOrdSeq,String sProgCd,String sBefProgCd,String sKind,BigDecimal wgt )
- {
-
- logger.logDebug("XinSaveCcmResult 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",sOrdNo);
- message.setObject("ORD_SEQ",sOrdSeq);
- message.setObject("BEF_PROG_CD",sBefProgCd);
- message.setObject("PROG_CD",sProgCd);
- message.setObject("MAT_TYPE",sKind);
- message.setObject("MAT_NO",MatNo);
- message.setObject("WGT", wgt );
- message.setObject("PGMID","XinSaveCoilRject");
- message.setObject("REG_ID", "MILL L2");
- context.setMessage(message);
- this.processComponent(PosConstants.CREATE_MESSAGE, context);
- String transactionCode = context.getMessage().getTC();
-
-
- 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);
-
- }
-
- 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);
-
-
-
- }
- public void SendProg_NIF024060(String SlabNo )
- {
-
- logger.logDebug("PosSaveMissionNo SendProg_NIF024060 " );
-
- PosContext context = new PosContext();
- PosMessage message = new PosMESMessageImpl();
-
- String TcId = "NIF024060";
- message.setTCID(TcId);
- message.setObject("MSG_ID",TcId);
- message.setObject("TYPE","C");
- message.setObject("FROM",SlabNo);
- message.setObject("TO",SlabNo);
- message.setObject("REG_ID","RHF L2");
-
- context.setMessage(message);
- this.processComponent(PosConstants.CREATE_MESSAGE, context);
- String transactionCode = context.getMessage().getTC();
-
- message.setTCID(TcId);
-
- String serviceName = "NIF024060";
-
- String SERVICE_POSTFIX = "-service";
-
-
- context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
-
-
- context.setMessage(message);
-
-
- PosBizControlIF controller = PosBizProvider.getController();
-
- controller.doSubController(context,false);
-
- }
-
- }
|