예제 #1
0
  /**
   * 操作单据的时候修改它的引用次数根据操作的方式
   *
   * @param countEntity
   * @return
   */
  @Override
  public boolean updateIcitemCount(TScCountEntity countEntity) {
    // 判断操作的类型 1是新增,2是编辑,3是删除
    try {
      if (Globals.COUNT_ADD_TYPE.equals(countEntity.getType())) {
        // oldId是供应商的id,对引用次数进行累加
        if (StringUtils.isEmpty(countEntity.getOldId())) {
          return false;
        }
        TScIcitemEntity icitemEntity = this.get(TScIcitemEntity.class, countEntity.getOldId());
        if (icitemEntity == null) {
          return false;
        }
        if (icitemEntity.getCount() == null || icitemEntity.getCount() == 0) {
          icitemEntity.setCount(1);
        } else {
          icitemEntity.setCount(icitemEntity.getCount() + 1);
        }
        super.saveOrUpdate(icitemEntity);
      } else if (Globals.COUNT_UPDATE_TYPE.equals(countEntity.getType())) {
        // 单据引用oldId是旧数据,newId是新数据,对于引用次数进行操作,旧数据-1,修改后的数据+1
        if (StringUtils.isEmpty(countEntity.getOldId())
            || StringUtils.isEmpty(countEntity.getNewId())) {
          return false;
        }
        TScIcitemEntity icitemOldEntity = this.get(TScIcitemEntity.class, countEntity.getOldId());
        TScIcitemEntity icitemNewEntity = this.get(TScIcitemEntity.class, countEntity.getNewId());
        if (icitemOldEntity == null || icitemNewEntity == null) {
          return false;
        }
        if (icitemOldEntity.getCount() == null || icitemOldEntity.getCount() == 0) {
          icitemOldEntity.setCount(0);
        } else {
          icitemOldEntity.setCount(icitemOldEntity.getCount() - 1);
        }
        if (icitemNewEntity.getCount() == null || icitemNewEntity.getCount() == 0) {
          icitemNewEntity.setCount(1);
        } else {
          icitemNewEntity.setCount(icitemNewEntity.getCount() + 1);
        }
        super.saveOrUpdate(icitemOldEntity);
        super.saveOrUpdate(icitemNewEntity);

      } else if (Globals.COUNT_DEL_TYPE.equals(countEntity.getType())) {
        if (StringUtils.isEmpty(countEntity.getOldId())) {
          return false;
        }
        TScIcitemEntity icitemOldEntity = this.get(TScIcitemEntity.class, countEntity.getOldId());
        if (icitemOldEntity == null) {
          return false;
        }
        if (icitemOldEntity.getCount() == null || icitemOldEntity.getCount() == 0) {
          icitemOldEntity.setCount(0);
        } else {
          icitemOldEntity.setCount(icitemOldEntity.getCount() - 1);
        }
        super.saveOrUpdate(icitemOldEntity);
      }
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }
    return true;
  }