package xin.glue.nui.E.E03; import java.util.Iterator; import java.util.Map; import xin.glue.ui.common.PosDBEngine; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.context.PosContext; import com.posdata.glue.dao.vo.PosRowSet; public class HMIRepDelete extends PosDBEngine { public String runActivity(PosContext ctx) { /* * rowStatus:网格状态属性 * writeLog :是否需要记录到日志 * dao :所使用的 DAO * sqlkey-u :更新语句 * param-u :参数,以竖线分隔,如 REG_ID|REG_DATE * sqlkey-i :插入语句 * param-i :参数 * sqlkey-d :删除语句 * param-d :参数 */ String[] rowStatus = null; if (getProperty("rowStatus") == null) rowStatus = (String[]) ctx.get("rowStatus"); else rowStatus = (String[]) ctx.get(getProperty("rowStatus")); if (rowStatus == null || rowStatus.length == 0) return PosBizControlConstants.SUCCESS; Initialize(); int rowCount = rowStatus.length; // 2. Get Parameter( 各语句参数名获取 ) setParamMap(ctx, "sqlkey-f0", "param-f0", rowCount); setParamMap(ctx, "sqlkey-f1", "param-f1", rowCount); setParamMap(ctx, "sqlkey-o", "param-o", rowCount); setParamMap(ctx, "sqlkey-u0", "param-u0", rowCount); setParamMap(ctx, "sqlkey-u1", "param-u1", rowCount); setParamMap(ctx, "sqlkey-d0", "param-d0", rowCount); setParamMap(ctx, "sqlkey-d1", "param-d1", rowCount); setParamIndex(); for (int i = 0; i < rowCount; i++) { PosRowSet rowSet = (PosRowSet)Execute(ctx, "sqlkey-f0", "param-f0"); if (rowSet != null && rowSet.hasNext()) { while (rowSet.hasNext()) { for (Iterator iterator = rowSet.next().getAttributes().entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = (Map.Entry) iterator.next(); ctx.put(entry.getKey().toString(), entry.getValue()); } Execute(ctx, "sqlkey-o", "param-o", 'u'); } } rowSet = (PosRowSet)Execute(ctx, "sqlkey-f1", "param-f1"); if (rowSet != null && rowSet.hasNext()) { while (rowSet.hasNext()) { for (Iterator iterator = rowSet.next().getAttributes().entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = (Map.Entry) iterator.next(); ctx.put(entry.getKey().toString(), entry.getValue()); } Execute(ctx, "sqlkey-o", "param-o", 'u'); } } Execute(ctx, "sqlkey-u0", "param-u0", 'u'); Execute(ctx, "sqlkey-u1", "param-u1", 'u'); Execute(ctx, "sqlkey-d0", "param-d0", 'd'); Execute(ctx, "sqlkey-d1", "param-d1", 'd'); adjustParamIndex(); } return PosBizControlConstants.SUCCESS; } }