be3708950f5a9cfba1ad3f22c8bd75098e3b24bf.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-27
  12. * desc:把转炉中所投入的铁合金,辅原料实绩从转炉LEVEL2开始接收录入到铁合金辅原料实绩 table中
  13. */
  14. public class XinSaveBofRawMaterialResult 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. //chargeNo = chargeNo+"A";
  24. PosParameter param0 = new PosParameter();
  25. PosParameter param1 = new PosParameter();
  26. PosParameter param2 = new PosParameter();
  27. int chLth = chargeNo.trim().length();
  28. if (chLth < 10 ) {
  29. logger.logInfo("XinSaveBofRawMaterialResult CHARGE_NO ERROR !!!!-->"+chargeNo );
  30. return PosBizControlConstants.SUCCESS;
  31. }
  32. // 通过电文中的炉次号来判断 炼钢公共表中是否有此条记录 没有则不能进行操作
  33. param0.setWhereClauseParameter(0, chargeNo);
  34. PosRowSet rowset0 = this.getDao("mesdao").find("NIG020230_01.select",param0);
  35. if(rowset0.hasNext())
  36. {
  37. param1.setWhereClauseParameter(0, chargeNo);
  38. param1.setWhereClauseParameter(1, matCd);
  39. // 判断此条记录是否存在 从而确定插入或删除操作
  40. PosRowSet rowset1 = this.getDao("mesdao").find("NIG020230_02.select", param1);
  41. if(rowset1.hasNext())
  42. {
  43. param2.setWhereClauseParameter(0, matWgt);
  44. param2.setWhereClauseParameter(1, chargeNo);
  45. param2.setWhereClauseParameter(2, matCd);
  46. this.getDao("mesdao").update("NIG020230_01.update", param2);
  47. }
  48. else
  49. {
  50. param2.setValueParamter(0, chargeNo);
  51. param2.setValueParamter(1, matCd);
  52. param2.setValueParamter(2, matWgt);
  53. this.getDao("mesdao").insert("NIG020230_01.insert", param2);
  54. }
  55. }
  56. return PosBizControlConstants.SUCCESS;
  57. }
  58. }