e9e1a080eab614489187132da1dd50ca5abe9089.svn-base 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package xin.glue.ui.G.G02;
  2. import xin.glue.ui.G.G01.XTBGCreateMaterial;
  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. import com.posdata.glue.dao.vo.PosRow;
  9. import com.posdata.glue.dao.vo.PosRowSet;
  10. public class PosCreateSlab extends PosActivity {
  11. public String runActivity(PosContext context)
  12. {
  13. try{
  14. PosGenericDao dao = getDao("mesdao");
  15. PosParameter param;
  16. PosRowSet rowset;
  17. PosRow row;
  18. XTBGCreateMaterial cr = new XTBGCreateMaterial(dao);
  19. //从电文中获取的数据项
  20. String[] CHARGE_NO = (String[])context.get("CHARGE_NO"); //炉次号
  21. String[] PLAN_CHARGE_NO = (String[])context.get("PLAN_CHARGE_NO"); //计划炉次号
  22. String chargeNo = CHARGE_NO[0]; //炉次号
  23. String planChargeNo = PLAN_CHARGE_NO[0];
  24. //通过电文中接收的炉次号查询板坯参数表 TBF01_SPEC_CHARGE 取得一个炉次的板坯的数据项 ,修改炼钢公共表 更新板坯公共表,和板坯详细公共表
  25. String sql = "select * from tbg02_charge_comm where CHARGE_NO = ?";
  26. param = new PosParameter();
  27. param.setWhereClauseParameter(0, chargeNo);
  28. rowset = this.getDao("mesdao").findByQueryStatement(sql,param);
  29. if(rowset.hasNext()){
  30. row = rowset.next();
  31. String ROW_CHARGE_STAT = (String)row.getAttribute("CHARGE_STAT");
  32. if (ROW_CHARGE_STAT != null && ROW_CHARGE_STAT.equals("3")){
  33. context.put("MESSAGES", "炉次已经结束,不能操作");
  34. return PosBizControlConstants.SUCCESS;
  35. }
  36. }
  37. param = new PosParameter();
  38. param.setWhereClauseParameter(0, planChargeNo);
  39. rowset = getDao("mesdao").find("NIG020200_SPEC_SLAB.select", param);
  40. while(rowset.hasNext()) {
  41. row = rowset.next();
  42. String sPlanSlabNo= (String)row.getAttribute("SLAB_MANA_NO");
  43. String sSlabSeq = sPlanSlabNo.substring(10,13);
  44. String sSlabNo = chargeNo+sSlabSeq;
  45. //检查是否需要插入板坯
  46. param = new PosParameter();
  47. param.setWhereClauseParameter(0,sSlabNo);
  48. rowset = getDao("mesdao").find("NIG020200_CREATE_SLAB.select", param);
  49. if (!rowset.hasNext()){
  50. cr.CreateSlab(sPlanSlabNo);
  51. }
  52. }
  53. }catch(Exception ex){
  54. logger.logDebug("NUI SAVE BOFRESULT-------->" + ex);
  55. logger.logError("NUI SAVE BOFRESULT-------->" + ex);
  56. }
  57. return PosBizControlConstants.SUCCESS;
  58. }
  59. }