| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package xin.glue.ui.H.H05;
- import java.sql.CallableStatement;
- import java.sql.SQLException;
- import com.posdata.glue.PosException;
- import com.posdata.glue.biz.activity.PosActivity;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- 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;
- /*****************************
- * 这个类专门用于给销售重新发送重量信息,前提是销售先进行退结算操作。
- * TL 090829
- * ********************************/
- public class SendWgt extends PosActivity{
- public String runActivity(PosContext context) {
- //磅重
- String[] ACT_WGT = (String[])context.get("ACT_WGT");
- //理论重量
- String[] CAL_WGT = (String[])context.get("CAL_WGT");
- // 操作人
- String[] REG_ID = (String[])context.get("REG_ID");
- //钢卷号
- String[] coil_no = (String[])context.get("coil_no");
-
- PosParameter param1 = new PosParameter();
- String sql2 = "select a.CUR_PROG_CD,a.SHIP_PROG_CD,a.COIL_STAT,a.SEND_WGT,a.DLIV_DIRNO from tbh02_coil_comm a where a.old_sampl_no = ?";
- param1.setWhereClauseParameter(0,coil_no[0] );
- PosRowSet CoilVo = getDao("mesdao").findByQueryStatement(sql2, param1);
-
- String CUR_PROG_CD = null;
- String SHIP_PROG_CD = null;
- String COIL_STAT = null;
- String SEND_WGT = null;
- String DLIV_DIRNO = null;
-
- if(CoilVo.hasNext()){
- PosRow CoilRow = CoilVo.next();
- CUR_PROG_CD = (String) CoilRow.getAttribute("CUR_PROG_CD");
- SHIP_PROG_CD = (String) CoilRow.getAttribute("SHIP_PROG_CD");
- COIL_STAT = (String) CoilRow.getAttribute("COIL_STAT");
- SEND_WGT = (String) CoilRow.getAttribute("SEND_WGT");
- DLIV_DIRNO = (String) CoilRow.getAttribute("DLIV_DIRNO");
-
- if(null != CUR_PROG_CD && CUR_PROG_CD.equals("SFF")){
- //这里需要判断卷重修改标志是否修改,以及销售的回退标志是否置为1.
- PosParameter param2 = new PosParameter();
- String sql22 = "select max(a.ISCHANGEWGT) ISCHANGEWGT from tbj02_coil_comm a,tbh02_coil_comm b where a.DLIV_DIRNO = b.DLIV_DIRNO and a.DLIV_DIRNO = ?";
- param2.setWhereClauseParameter(0,DLIV_DIRNO);
- PosRowSet ISCHANGEWGTVo = getDao("mesdao").findByQueryStatement(sql22, param2);
-
- String ISCHANGEWGT = null;
-
- if(ISCHANGEWGTVo.hasNext()){
- PosRow ISCHANGEWGTRow = ISCHANGEWGTVo.next();
-
- ISCHANGEWGT = (String) ISCHANGEWGTRow.getAttribute("ISCHANGEWGT");
-
- if(null != ISCHANGEWGT && !ISCHANGEWGT.equals("0")){
- // 如果标志为1的情况下,说明结算已经进行了退结算操作。这里可以进行发送操作
- if(SEND_WGT.equals("1")){
- //必须先进行明细后的重量修改,才能进行重量的再次发送
- PosParameter param3 = new PosParameter();
-
- param3.setWhereClauseParameter(0, DLIV_DIRNO);
-
- getDao("mesdao").update("UIH051500_04.update", param3);
-
- }else{
- //没有进行卷重修改操作不能再次进行卷重发送
- logger.logDebug("SendWgt 没有对打完明细的卷进行卷重修改不能进行卷重发送,卷重修改标志为; "+SEND_WGT+" 卷号为: "+coil_no[0]);
- String vtemp="SEND_WGT";
- context.put("rs", vtemp);
- }
- }else{
- //结算没有进行相应的退结算操作,这里提示发送不成功
- logger.logDebug("SendWgt 结算科没有进行退结算操作,成品不能点击发送按钮。退结算标志为; "+ISCHANGEWGT+" 卷号为: "+coil_no[0]);
- String vtemp="ISCHANGEWGT";
- context.put("rs", vtemp);
- }
- }else{
- //卷号信息在接口表中不存在
- logger.logDebug("SendWgt 接口表中不存在卷号为; "+coil_no[0]+" 的数据");
- String vtemp="coil_no";
- context.put("rs", vtemp);
- }
-
- }else{
- //没有发行明细的卷,不能在此改重量
- logger.logDebug("SendWgt 钢卷状态没有到发货完成,不能再次发送卷重:"+CUR_PROG_CD+" ;卷号为; "+coil_no[0]);
- String vtemp="CUR_PROG_CD";
- context.put("rs", vtemp);
- }
- }else{
- //此卷在库中没有,给出相应的提示
- logger.logDebug("SendWgt 钢卷在公共表中不存在,卷号为; "+coil_no[0]);
- String vtemp="old_sampl_no";
- context.put("rs", vtemp);
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|