8921dd72e23c4477578f521038359ca8bd93574a.svn-base 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package xin.glue.ui.B.B02;
  2. import com.posdata.glue.biz.activity.PosActivity;
  3. import com.posdata.glue.biz.constants.PosBizControlConstants;
  4. import com.posdata.glue.context.PosContext;
  5. import com.posdata.glue.dao.PosGenericDao;
  6. import com.posdata.glue.dao.vo.PosParameter;
  7. /**
  8. *
  9. * @Description 钢卷号成分实绩修改保存{界面ID:UIB020060}
  10. * @author 梅贵平{meiguiping}
  11. * @date 2009-1-11 下午01:44:21
  12. * @JDK Version jdk1.4.2
  13. */
  14. public class SaveCoilChemAchievement extends PosActivity
  15. {
  16. public String runActivity(PosContext context)
  17. {
  18. ///ready
  19. PosParameter param = null;
  20. PosGenericDao dao = this.getDao("mesdao");
  21. ///get request data
  22. String[]REG_ID = (String[])context.get("REG_ID");//登录人
  23. //表格1
  24. String[]rowStuts1 = (String[])context.get("rowStuts1");
  25. String[]COIL_NO = (String[])context.get("COIL_NO");//钢卷号
  26. String[]CHEM_SEQ = (String[])context.get("CHEM_SEQ");//次数
  27. //仅在表2、3、4、5更新时期作用
  28. String[]COILNO = (String[])context.get("COILNO");//钢卷号
  29. String[]SEQ = (String[])context.get("SEQ");//次数
  30. //表格2、3、4、5
  31. String[]rowStuts2 = (String[])context.get("rowStuts2");
  32. String[]CHEM_CD = (String[])context.get("CHEM_CD");//成分
  33. String[]CHEM_MIN = (String[])context.get("CHEM_MIN");//最小
  34. String[]CHEM_MAX = (String[])context.get("CHEM_MAX");//最大
  35. String[]CHEM_VAL = (String[])context.get("CHEM_VAL");//值
  36. String[]EX = (String[])context.get("EX");//元素的插入或删除判断
  37. ///界面上更新或插入操作一次只允许有一种
  38. //界面上为UPDATE,rowStuts2只有更新("u")状态
  39. if(rowStuts2 != null && rowStuts1 == null)
  40. {
  41. int len2 = rowStuts2.length;
  42. for(int i = 0; i < len2; i++)
  43. {
  44. param = new PosParameter();
  45. //若EX值为Y,INSERT
  46. if("Y".equals(EX[i]))
  47. {
  48. param.setValueParamter(0, COILNO[0]);//钢卷号
  49. param.setValueParamter(1, SEQ[0]);
  50. param.setValueParamter(2, CHEM_CD[i]);//成分
  51. param.setValueParamter(3, CHEM_VAL[i]);//实绩值
  52. param.setValueParamter(4, REG_ID[0]);//登录人
  53. dao.insert("UIB020060_01.INSERT", param);
  54. }
  55. else//若非EX,则进行UPDATE操作
  56. {
  57. param.setWhereClauseParameter(0, CHEM_VAL[i]);//值
  58. param.setWhereClauseParameter(1, REG_ID[0]);
  59. param.setWhereClauseParameter(2, COILNO[0]);//钢卷号
  60. param.setWhereClauseParameter(3, SEQ[0]);//次数
  61. param.setWhereClauseParameter(4, CHEM_CD[i]);//成分代码
  62. dao.update("UIB020060_01.UPDATE", param);
  63. }
  64. }
  65. }
  66. //界面上为INSERT操作,即插入了一条新的钢号
  67. if(rowStuts2 != null && rowStuts1 != null)
  68. {
  69. int len2 = rowStuts2.length;
  70. for(int i = 0; i < len2; i++)
  71. {
  72. param = new PosParameter();
  73. /*
  74. * 在“次数增加”后,查询时的次数和增加后的次数不同,即CHEM_SEQ和SEQ可能不同,
  75. * 钢卷号由于在表格1没有任何钢卷号而增加一个后起作用
  76. * */
  77. param.setValueParamter(0, COILNO[0].equals(COIL_NO[0])?COILNO[0]:COIL_NO[0]);
  78. param.setValueParamter(1, SEQ[0].equals(CHEM_SEQ[0])?SEQ[0]:CHEM_SEQ[0]);
  79. param.setValueParamter(2, CHEM_CD[i]);//成分
  80. param.setValueParamter(3, CHEM_VAL[i]);//实绩值
  81. param.setValueParamter(4, REG_ID[0]);
  82. dao.insert("UIB020060_01.INSERT", param);
  83. }
  84. }
  85. return PosBizControlConstants.SUCCESS;
  86. }
  87. }