为什么我的代码执行时会走else里的logger

2019-03-25 13:40|来源: 网路

以下是我的程序代码 为什么我走的if (tbYibanwupin != null)还会执行else中的
logger.debug("error in " + className + "doInsert()添加的一般物品不能为空 \n");
并且
else中的
String message = "添加的一般物品不能为空";
messForm = successTabMessage.setMessageForm(0, message);
这两句话没有走

/**
   * 根据从dataBus取得的非空一般物品对象,调用dao的doInsert方法来完成数据的插入工作<br>
   * 1.取出刑事案件的id及表名并将其存放于一般物品信息中的信息来源表名及信息来源id中<br>
   * 2.插入一般物品表,然后将其表名及ID存放于物品汇总表及刑事案件中然后插入汇总表及更新案件
   * @param dataBus中的一般物品对象不能为空
   * @return 操作的结果消息及操作的对象
   */
  public DataBus doInsert(DataBus dataBus)
  {
    if (dataBus == null)
      return null;
    //声明对象
    XingShiAnJian xingShiAnJian = null;
    XingShiAnJian[] xingShiAnJians = null;

    WuPin wuPin = null;
    WuPin[] wuPins = null;
    TbYibanwupin tbYibanwupin = null; //一般物品
    TbWphzb wphzb = null; //物品汇总
    TbAjjbxx tbAjjbxx = null; //案件
//   XianYiRen[] xianYiRens=null;
//   XianYiRen xianYiRen=null;
//   TbXyr tbXyr=null;
    try
    {
      //取出dataBus中的对象
      int len = 0;
      if(dataBus.getPojos()!=null)
      {
        len = dataBus.getPojos().length;
        xingShiAnJians = new XingShiAnJian[len];
        xingShiAnJians = (XingShiAnJian[]) dataBus.getPojos();
        xingShiAnJian = xingShiAnJians[0];
      }
      dao = new DAOBaseObject();
      session = SessionControl.doGetSession(); //获得Session对象
      dao.doSetSession(session); //赋予DAO对象Session
      tm = new TransActionManager(session); //创建事务管理对象
      tm.beginTransaction();
      if (xingShiAnJian != null)
      {
        //从大对象中取出其属性
        int length = 0;
        tbAjjbxx = xingShiAnJian.getTbAjjbxx();
        if(xingShiAnJian.getWupins()!=null)
        {
          wuPins = new WuPin[xingShiAnJian.getWupins().length];
          wuPins = xingShiAnJian.getWupins();
          wuPin = wuPins[0];
        }
        if(wuPin!=null)
        {
          tbYibanwupin = wuPin.getYibanwupin();
          wphzb = wuPin.getWphzb();
        }
      }
      Long tbAjjbxxId = null;
      if(tbAjjbxx!=null)
      {
        tbAjjbxxId = tbAjjbxx.getAjjbxxid();
      }
      //如果接刑事案件基本信息不为空则插入案件,否则不允许办理
      if (tbAjjbxxId != null)
      {
        tbAjjbxx = (TbAjjbxx) dao.doGetPojo(tbAjjbxxId, tbAjjbxx.getClass());
        if (tbAjjbxx != null)
        {
          String bid = tbAjjbxx.getBid();
          if (bid == null || bid.equals(""))
          {
            String message = "案件编号为空,不能进行新增一般物品操作";
            messForm = successTabMessage.setMessageForm(0, message);
            returnDataBus.setMessageForm(messForm);
            returnDataBus.setPojos(null);
            return returnDataBus;
          }
          Long tbYibanwupinId = null;
          if (tbYibanwupin != null)
          {
            //插入一般物品
             tbYibanwupin.setXxlyajbm("AJJBXX"); //信息来源案件表名
             tbYibanwupin.setXxlyajid(tbAjjbxxId.toString()); //信息来源案件ID
            tbYibanwupin.setShanchubiaoji("0"); //将一般物品中的删除标记置为0表明为可删除
             tbYibanwupin.setJilushijian(Calendar.getInstance().getTime()); //设置记录时间
             tbYibanwupin.setDuxiekongzhi("w"); //将读写控制设为可写入
             dataMap = dao.doInsert(tbYibanwupin);
            tbYibanwupinId = tbYibanwupin.getYibanwupinid(); //取出一般物品ID

            if(wphzb==null) wphzb=new TbWphzb();
            wphzb.setShanchubiaoji("0");
            wphzb.setDuxiekongzhi("w");
            wphzb.setJingshishijian(Calendar.getInstance().getTime());
            //物品表名及ID
            wphzb.setWupinbiaoming("YIBANWUPIN");
            wphzb.setWpbmslbh(tbYibanwupinId.toString());
            //案件表明及ID
            wphzb.setXxlyajbm("AJJBXX"); //信息来源案件表名
             wphzb.setXxlyajid(tbAjjbxxId.toString()); //信息来源案件ID
            //信息来源业务表名
             wphzb.setXxlyywbm("AJJBXX");
            wphzb.setXxlyywid(tbAjjbxxId.toString());
            //物品名称
             wphzb.setWupinmingcheng(tbYibanwupin.getMingcheng());
            //物品类型
             wphzb.setWupinleixing("一般物品");
            //物品数量
             wphzb.setWupinshuliang(tbYibanwupin.getShuliang());
            //物品价值
             wphzb.setWupinjiazhi(tbYibanwupin.getJiazhi());
            dataMap = dao.doInsert(wphzb);
            Long wphzbId = wphzb.getWphzbid();
            //更新一般物品
             tbYibanwupin.setXxlyywbm("WPHZB");
            tbYibanwupin.setXxlyywid(wphzbId.toString());
            dataMap = dao.doUpdate(tbYibanwupin);
            tm.commit();
/*            //案件与物品相关联
             if(tbAjjbxx.getAjqtxxslbh()!=null&&!tbAjjbxx.getAjqtxxslbh().equals(""))
            {
              String ajqtxxslbh = tbAjjbxx.getAjqtxxslbh();
              ajqtxxslbh = ajqtxxslbh + "#" + wphzbId.toString();
              tbAjjbxx.setSaryxxslbh(ajqtxxslbh);
            }
            else
            {
              tbAjjbxx.setAjqtxxbm("WPHZB");
              tbAjjbxx.setAjqtxxslbh(wphzbId.toString());
            }
            dataMap = dao.doUpdate(tbAjjbxx);*/

            //封装为一个大对象

              xingShiAnJian = new XingShiAnJian();
            xingShiAnJians=new XingShiAnJian[1];

            xingShiAnJian.setJiebaojing(null);
            xingShiAnJian.setTbAjjbxx(tbAjjbxx);
            wuPin=new WuPin();
            wuPin.setYibanwupin(tbYibanwupin);
            wuPin.setWphzb(wphzb);
            //封装一般物品
              wuPins=new WuPin[1];
            wuPins[0]=wuPin;
            xingShiAnJian.setWupins(wuPins);
            xingShiAnJian.setXianyirens(null);
            xingShiAnJians[0] = xingShiAnJian;
            returnDataBus.setPojos(xingShiAnJians);
            messForm = successTabMessage.setMessageForm(dataMap);
          }
         else
         {
           String message = "添加的一般物品不能为空";
           messForm = successTabMessage.setMessageForm(0, message);
           logger.debug("error in " + className + "doInsert()添加的一般物品不能为空 \n");
         }
       }
       else
       {
         String message = "案件不存在,不能进行新增一般物品操作";
         messForm = successTabMessage.setMessageForm(0, message);
         logger.debug("error in " + className + "doInsert()刑事案件不能为空 ;\n");
       }
     }
   }
  catch(Exception ex)
  {
    tm.rollback();
    String message = "操作失败";
    int code = 0;
    messForm = successTabMessage.setMessageForm(code, message);
  }
  finally
  {
    SessionControl.doCloseSession();
    returnDataBus.setMessageForm(messForm);
    return returnDataBus;
  }
}

为什么我走的if (tbYibanwupin != null)还会执行else中的
logger.debug("error in " + className + "doInsert()添加的一般物品不能为空 \n");
并且
else中的
String message = "添加的一般物品不能为空";
messForm = successTabMessage.setMessageForm(0, message);
这两句话没有走

是不是我的代码写的不规范,另请高手帮我规范一下代码的写法   谢谢了

问题补充:
anyasir 写道
if(){}else{}
只要没有出现既进了if 又进了else 就说明是你的条件问题了
如果都进了,那就 大条了
至于规范,完全可以看jdk源码的风格



最奇怪的是 他只执行了else 中的logger.debug()其他两条语句都不走,
???????

相关问答

更多