38f38c33e4c6ed39815ddd650607a46c5931258b.svn-base 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package xin.glue.nui.E.E03;
  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import xin.glue.ui.common.PosDBEngine;
  5. import com.posdata.glue.biz.constants.PosBizControlConstants;
  6. import com.posdata.glue.context.PosContext;
  7. import com.posdata.glue.dao.vo.PosRowSet;
  8. public class HMIRepDelete extends PosDBEngine {
  9. public String runActivity(PosContext ctx) {
  10. /*
  11. * rowStatus:网格状态属性
  12. * writeLog :是否需要记录到日志
  13. * dao :所使用的 DAO
  14. * sqlkey-u :更新语句
  15. * param-u :参数,以竖线分隔,如 REG_ID|REG_DATE
  16. * sqlkey-i :插入语句
  17. * param-i :参数
  18. * sqlkey-d :删除语句
  19. * param-d :参数
  20. */
  21. String[] rowStatus = null;
  22. if (getProperty("rowStatus") == null)
  23. rowStatus = (String[]) ctx.get("rowStatus");
  24. else
  25. rowStatus = (String[]) ctx.get(getProperty("rowStatus"));
  26. if (rowStatus == null || rowStatus.length == 0)
  27. return PosBizControlConstants.SUCCESS;
  28. Initialize();
  29. int rowCount = rowStatus.length;
  30. // 2. Get Parameter( 各语句参数名获取 )
  31. setParamMap(ctx, "sqlkey-f0", "param-f0", rowCount);
  32. setParamMap(ctx, "sqlkey-f1", "param-f1", rowCount);
  33. setParamMap(ctx, "sqlkey-o", "param-o", rowCount);
  34. setParamMap(ctx, "sqlkey-u0", "param-u0", rowCount);
  35. setParamMap(ctx, "sqlkey-u1", "param-u1", rowCount);
  36. setParamMap(ctx, "sqlkey-d0", "param-d0", rowCount);
  37. setParamMap(ctx, "sqlkey-d1", "param-d1", rowCount);
  38. setParamIndex();
  39. for (int i = 0; i < rowCount; i++) {
  40. PosRowSet rowSet = (PosRowSet)Execute(ctx, "sqlkey-f0", "param-f0");
  41. if (rowSet != null && rowSet.hasNext()) {
  42. while (rowSet.hasNext()) {
  43. for (Iterator iterator = rowSet.next().getAttributes().entrySet().iterator(); iterator.hasNext();) {
  44. Map.Entry entry = (Map.Entry) iterator.next();
  45. ctx.put(entry.getKey().toString(), entry.getValue());
  46. }
  47. Execute(ctx, "sqlkey-o", "param-o", 'u');
  48. }
  49. }
  50. rowSet = (PosRowSet)Execute(ctx, "sqlkey-f1", "param-f1");
  51. if (rowSet != null && rowSet.hasNext()) {
  52. while (rowSet.hasNext()) {
  53. for (Iterator iterator = rowSet.next().getAttributes().entrySet().iterator(); iterator.hasNext();) {
  54. Map.Entry entry = (Map.Entry) iterator.next();
  55. ctx.put(entry.getKey().toString(), entry.getValue());
  56. }
  57. Execute(ctx, "sqlkey-o", "param-o", 'u');
  58. }
  59. }
  60. Execute(ctx, "sqlkey-u0", "param-u0", 'u');
  61. Execute(ctx, "sqlkey-u1", "param-u1", 'u');
  62. Execute(ctx, "sqlkey-d0", "param-d0", 'd');
  63. Execute(ctx, "sqlkey-d1", "param-d1", 'd');
  64. adjustParamIndex();
  65. }
  66. return PosBizControlConstants.SUCCESS;
  67. }
  68. }