package xin.glue.ui.D.D04; import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; 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; /** * 炉次浇次删除功能 * @author 王黎 * @date 2009-2-6 */ public class DeleteMatDnRst extends PosActivity { public String runActivity(PosContext context) { String[] MAT_SPEC_SEQ = (String[])context.get("MAT_SPEC_SEQ" ) ; //MAT_SPEC_SEQ 犁丰荤剧老访锅龋 String[] PMAT_SPEC_SEQ = (String[])context.get("PMAT_SPEC_SEQ" ) ; //PMAT_SPEC_SEQ 葛犁丰荤剧老访锅龋 // String[] DSN_SLAB_NO = (String[])context.get("DSN_SLAB_NO" ) ; //DSN_SLAB_NO 板坯号 PosParameter param = null; // PosParameter param2 = null; PosRowSet rowSet = null; if(MAT_SPEC_SEQ!=null) { int iRows = MAT_SPEC_SEQ.length; PosRow row = null; Map map = new HashMap(); String matSpecSeq = ""; // String dsnSlabNo = ""; BigDecimal rnum = null; for(int i = 0; i < iRows; i++) { param = new PosParameter(); //先判断表中是否存在该主键的条记录,如果存在,则只用更新就可以,如果不存在,则需重新插入 param = new PosParameter(); param.setWhereClauseParameter(0, MAT_SPEC_SEQ[i]); rowSet = getDao("mesdao").find("UID040010.DeleteMatDnRst.Row.Select", param); while(rowSet.hasNext()) { row = rowSet.next(); map = row.getAttributes(); matSpecSeq = (String)map.get("MAT_SPEC_SEQ"); param = new PosParameter(); param.setWhereClauseParameter(0, matSpecSeq); getDao("mesdao").delete("UID040010.DeleteMatDnRst.Row.Delete", param); } param = new PosParameter(); param.setWhereClauseParameter( 0, PMAT_SPEC_SEQ[i] ); rowSet = getDao("mesdao").find("UID040010.UpdateMatDnRst.Row.Select", param); while(rowSet.hasNext()) { param = new PosParameter(); row = rowSet.next(); map = row.getAttributes(); matSpecSeq = (String)map.get("MAT_SPEC_SEQ"); rnum = (BigDecimal)map.get("RNUM"); param.setValueParamter(0, rnum); param.setValueParamter(1, matSpecSeq); getDao("mesdao").update("UID040010.UpdateMatDnRst.Row.Update", param); } //} } /*String sql3 = "SELECT COUNT(MAT_SPEC_SEQ) AS COUNT FROM TBD01_MATDN_RST WHERE PMAT_SPEC_SEQ = '"+PMAT_SPEC_SEQ[1]+"'"; rowSet = getDao("mesdao").findByQueryStatement(sql3); PosRow row = null; Map map = new HashMap(); String count = ""; while(rowSet.hasNext()) { row = rowSet.next(); map = row.getAttributes(); count = (String)map.get("COUNT"); } for(int i = 1; i <= Integer.valueOf(count).intValue(); i++) { }*/ } return PosBizControlConstants.SUCCESS; } }