cc4e1d345998be316d058dd4fd2db372f9dc8255.svn-base 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package xin.glue.ui.B.B01;
  2. import xin.glue.ui.B.common.SaveModifyHistory;
  3. import com.posdata.glue.biz.activity.PosActivity;
  4. import com.posdata.glue.biz.constants.PosBizControlConstants;
  5. import com.posdata.glue.context.PosContext;
  6. import com.posdata.glue.dao.PosGenericDao;
  7. import com.posdata.glue.dao.vo.PosParameter;
  8. /**
  9. * 成分参数插入、删除、修改(对应界面ID:UIB010070)
  10. * @author 梅贵平
  11. * @date 2008-10-13
  12. */
  13. public class SaveSeqIngredient extends PosActivity
  14. {
  15. public String runActivity(PosContext context)
  16. {
  17. PosGenericDao dao = this.getDao("mesdao");
  18. String INFID = "UIB010070";
  19. String[]DISPLAY_SEQ = (String[])context.get("DISPLAY_SEQ");//标识序列
  20. String[]CHEM_CD = (String[])context.get("CHEM_CD"); //成分项目(更改后,主键被更新时候)
  21. String[]INGR = (String[])context.get("INGR"); //成分项目(修改前、或者未修改的成分项目)
  22. //元素详细内容,非复合内容时插入的为“-”
  23. String[]COMP_DETAIL = (String[])context.get("COMP_DETAIL");
  24. String[]DISPLAY_LEN = (String[])context.get("DISPLAY_LEN");//标识格式
  25. String[]COMP_CAL = (String[])context.get("COMP_CAL"); //复合内容
  26. String[]ID = (String[])context.get("ID"); //记录,修改人
  27. String[]DTIME = (String[])context.get("DTIME"); //记录,修改时间
  28. String[]rowStuts = (String[])context.get("rowStuts");
  29. String[]REG_NM = (String[])context.get("REG_NM");
  30. if(rowStuts != null)
  31. {
  32. int len = rowStuts.length;
  33. int j = 0;
  34. PosParameter param = null;
  35. String[]COMP_YN = new String[len]; //复合区分
  36. for(int i=0; i < len; i++)
  37. {
  38. j = 0;
  39. if("".equals(CHEM_CD[i]))//CHEM_CD(成分)为空的话,由于是主键,则进入下一个循环
  40. {
  41. continue;
  42. }
  43. /*
  44. * 以复合内容是否为空或者为“-”判断:
  45. * 若非复合元素的话,则字段COMP_DETAIL的值设为“-”,COMP_YN值设为"N"
  46. * 若是复合元素的话,则字段COMP_YN的值设为“Y”
  47. * */
  48. if("".equals(COMP_DETAIL[i])||"-".equals(COMP_DETAIL[i]))
  49. {
  50. COMP_DETAIL[i] = "-";
  51. COMP_YN[i] = "N";
  52. }
  53. else
  54. {
  55. COMP_YN[i] = "Y";
  56. }
  57. if("u".equals(rowStuts[i]))
  58. {
  59. param = new PosParameter();
  60. param.setWhereClauseParameter(j++, DISPLAY_SEQ[i]);//表示序号
  61. param.setWhereClauseParameter(j++, CHEM_CD[i]);//成分
  62. param.setWhereClauseParameter(j++, DISPLAY_LEN[i]);//保留位数
  63. param.setWhereClauseParameter(j++, COMP_YN[i]);//复合区分
  64. param.setWhereClauseParameter(j++, COMP_CAL[i]);//详细内容
  65. param.setWhereClauseParameter(j++, REG_NM[0]);//录入者或者修改者
  66. param.setWhereClauseParameter(j++, COMP_DETAIL[i]);//详细内容
  67. param.setWhereClauseParameter(j++, INGR[i]);//成分
  68. dao.update("UIB010070_01.UPDATE", param);
  69. SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010070_01.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
  70. }
  71. if("i".equals(rowStuts[i]))
  72. {
  73. param = new PosParameter();
  74. param.setValueParamter(j++, DISPLAY_SEQ[i]);//表示序号
  75. param.setValueParamter(j++, CHEM_CD[i]);//成分
  76. param.setValueParamter(j++, DISPLAY_LEN[i]);//保留位数
  77. param.setValueParamter(j++, COMP_YN[i]);//复合区分
  78. param.setValueParamter(j++, COMP_CAL[i]);//详细内容
  79. param.setValueParamter(j++, REG_NM[0]);//录入者
  80. param.setValueParamter(j++, COMP_DETAIL[i]);//详细内容
  81. dao.insert("UIB010070_01.INSERT", param);
  82. SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010070_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
  83. }
  84. if("d".equals(rowStuts[i]))
  85. {
  86. param = new PosParameter();
  87. param.setWhereClauseParameter(j++, CHEM_CD[i]);
  88. dao.delete("UIB010070_01.DELETE", param);
  89. //记录删除信息
  90. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010070_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  91. }
  92. }
  93. }
  94. return PosBizControlConstants.SUCCESS;
  95. }
  96. }