7560aa3fd9845aee7d45a4a124a97253ad44e13e.svn-base 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package xin.glue.ui.common;
  2. import com.posdata.glue.biz.constants.PosBizControlConstants;
  3. import com.posdata.glue.context.PosContext;
  4. public class PosGridSave extends PosDBEngine {
  5. public String runActivity(PosContext ctx) {
  6. /*
  7. * rowStatus:网格状态属性
  8. * writeLog :是否需要记录到日志
  9. * dao :所使用的 DAO
  10. * sqlkey-u :更新语句
  11. * param-u :参数,以竖线分隔,如 REG_ID|REG_DATE
  12. * sqlkey-i :插入语句
  13. * param-i :参数
  14. * sqlkey-d :删除语句
  15. * param-d :参数
  16. */
  17. String[] rowStatus = null;
  18. if (getProperty("rowStatus") == null)
  19. rowStatus = (String[]) ctx.get("rowStatus");
  20. else
  21. rowStatus = (String[]) ctx.get(getProperty("rowStatus"));
  22. if (rowStatus == null || rowStatus.length == 0)
  23. return PosBizControlConstants.SUCCESS;
  24. Initialize();
  25. int rowCount = rowStatus.length;
  26. // 2. Get Parameter( 各语句参数名获取 )
  27. setParamMap(ctx, "sqlkey-u", "param-u", rowCount);
  28. setParamMap(ctx, "sqlkey-i", "param-i", rowCount);
  29. setParamMap(ctx, "sqlkey-d", "param-d", rowCount);
  30. setParamIndex();
  31. for (int i = 0; i < rowCount; i++) {
  32. if ("u".equals(rowStatus[i]))
  33. Execute(ctx, "sqlkey-u", "param-u", 'u');
  34. else if ("i".equals(rowStatus[i]))
  35. Execute(ctx, "sqlkey-i", "param-i", 'i');
  36. else if ("d".equals(rowStatus[i]))
  37. Execute(ctx, "sqlkey-d", "param-d", 'd');
  38. adjustParamIndex();
  39. }
  40. return PosBizControlConstants.SUCCESS;
  41. }
  42. }