434d76c1d35025d9f28baef4ad78dfee77706994.svn-base 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package xin.glue.nui.G.G02;
  2. import java.math.BigDecimal;
  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.vo.PosParameter;
  7. import com.posdata.glue.dao.vo.PosRowSet;
  8. import com.posdata.glue.msg.PosMessage;
  9. /*
  10. * author:wangxiaoyan
  11. * Date:08-10-28
  12. * desc:把CAS炉中所投入的铁合金,辅原料实绩从转炉LEVEL2开始接收录入到铁合金辅原料实绩 table中
  13. */
  14. public class XinSaveCasRawMaterialResult extends PosActivity
  15. {
  16. public String runActivity(PosContext context)
  17. {
  18. PosMessage message = context.getMessage();
  19. // 从电文中获取的数据项
  20. String chargeNo = (String)message.get("CHARGE_NO"); //炉次号
  21. String matCd = (String)message.get("MAT_CD"); //铁合金辅原料代码
  22. BigDecimal matWgt = (BigDecimal)message.get("MAT_WGT"); //铁合金辅原料重量
  23. int chLth = chargeNo.trim().length();
  24. if (chLth < 10 ) {
  25. logger.logInfo("XinSaveCasRawMaterialResult CHARGE_NO ERROR !!!!-->"+chargeNo );
  26. return PosBizControlConstants.SUCCESS;
  27. }
  28. PosParameter param0 = new PosParameter();
  29. PosParameter param1 = new PosParameter();
  30. PosParameter param2 = new PosParameter();
  31. // 通过电文中的炉次号来判断 炼钢公共表中是否有此条记录 没有则不能进行操作
  32. param0.setWhereClauseParameter(0, chargeNo);
  33. PosRowSet rowset0 = this.getDao("mesdao").find("NIG020430_01.select",param0);
  34. if(rowset0.hasNext())
  35. {
  36. param1.setWhereClauseParameter(0, chargeNo);
  37. param1.setWhereClauseParameter(1, matCd);
  38. // 判断此条记录是否存在 从而确定插入或删除操作
  39. PosRowSet rowset1 = this.getDao("mesdao").find("NIG020430_02.select", param1);
  40. if(rowset1.hasNext())
  41. {
  42. param2.setWhereClauseParameter(0, matWgt);
  43. param2.setWhereClauseParameter(1, chargeNo);
  44. param2.setWhereClauseParameter(2, matCd);
  45. this.getDao("mesdao").update("NIG020430_01.update", param2);
  46. }
  47. else
  48. {
  49. param2.setValueParamter(0, chargeNo);
  50. param2.setValueParamter(1, matCd);
  51. param2.setValueParamter(2, matWgt);
  52. this.getDao("mesdao").insert("NIG020430_01.insert", param2);
  53. }
  54. }
  55. return PosBizControlConstants.SUCCESS;
  56. }
  57. }