示例#1
0
  public ResultVO dismantleStock(String stockID, Double[] amountarr) {
    ResultVO resultVO = new ResultVO();
    resultVO.setResult(-1L);
    WareHouseStockDAO wareHouseStockDAO = Server.getInstance().getWareHouseStockDAO();

    StockPO stockPO = wareHouseStockDAO.getStockPOByIDAndLocked(stockID);
    if (stockPO == null) {
      resultVO.addErrorInfo(-1252L, new Object[] {stockID});
      return resultVO;
    }
    if (stockPO.getStockStatus() != 0) {
      resultVO.addErrorInfo(-1253L, new Object[] {stockPO.getStockStatusMeaning()});
      return resultVO;
    }
    double totalAmount = 0.0D;
    Double[] arrayOfDouble1;
    int j = (arrayOfDouble1 = amountarr).length;
    for (int i = 0; i < j; i++) {
      double amount = arrayOfDouble1[i].doubleValue();
      totalAmount = Arith.add(totalAmount, amount);
    }
    if (totalAmount != stockPO.getQuantity()) {
      resultVO.addErrorInfo(
          -1254L,
          new Object[] {Double.valueOf(stockPO.getQuantity()), Double.valueOf(totalAmount)});
      return resultVO;
    }
    StockOperationPO stockOperationPO = new StockOperationPO();
    stockOperationPO.setStockID(stockPO.getStockID());
    stockOperationPO.setOperationID(StockOperation.DISMANTLE.getOperation());
    wareHouseStockDAO.insertStockOperation(stockOperationPO);
    Double[] arrayOfDouble2;
    int k = (arrayOfDouble2 = amountarr).length;
    for (j = 0; j < k; j++) {
      double amount = arrayOfDouble2[j].doubleValue();
      DismantlePO DismantlePO = new DismantlePO();
      DismantlePO.setStockID(stockID);
      DismantlePO.setAmount(amount);
      wareHouseStockDAO.insertDismantle(DismantlePO);
    }
    wareHouseStockDAO.updateStockStatus(stockID, 4);

    wareHouseStockDAO.addGlobalLog(
        "系统", Server.getInstance().getIp(), 1301, "拆仓单,仓单号:" + stockID, 1);

    resultVO.setResult(1L);
    return resultVO;
  }