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; }
public ResultVO dismantleStock(String stockID, boolean result, Map<String, String> dismantleMap) { ResultVO resultVO = new ResultVO(); resultVO.setResult(-1L); WareHouseStockDAO wareHouseStockDAO = Server.getInstance().getWareHouseStockDAO(); StockPO stockPO = wareHouseStockDAO.getStockPOByIDAndLocked(stockID); if (stockPO == null) { resultVO.addErrorInfo(-1262L, new Object[] {stockID}); return resultVO; } if (stockPO.getStockStatus() != 4) { resultVO.addErrorInfo(-1263L, new Object[] {stockPO.getStockStatusMeaning()}); return resultVO; } List<DismantlePO> dismantlePOList = wareHouseStockDAO.getDismantleList( " and stockID='" + stockPO.getStockID() + "' and status=0 "); if ((dismantlePOList == null) || (dismantlePOList.size() == 0) || (!"0".equals(((DismantlePO) dismantlePOList.get(0)).getStatus()))) { resultVO.addErrorInfo(-1264L, new Object[] {stockID}); return resultVO; } wareHouseStockDAO.deleteStockOperation(stockPO.getStockID(), StockOperation.DISMANTLE); if (result) { wareHouseStockDAO.updateStockStatus(stockPO.getStockID(), 3); for (DismantlePO wDismantlePO : dismantlePOList) { StockPO newStockPO = new StockPO(); newStockPO.setBreedID(stockPO.getBreedID()); newStockPO.setOwnerFirm(stockPO.getOwnerFirm()); newStockPO.setQuantity(wDismantlePO.getAmount()); if ((dismantleMap == null) || (dismantleMap.get(wDismantlePO.getDismantleID()) == null)) { resultVO.addErrorInfo(-1265L, new Object[] {Long.valueOf(wDismantlePO.getDismantleID())}); throw new BillCoreException(resultVO.getErrorDetailInfo()); } newStockPO.setRealStockCode((String) dismantleMap.get(wDismantlePO.getDismantleID())); newStockPO.setStockStatus(0); newStockPO.setUnit(stockPO.getUnit()); newStockPO.setWarehouseID(stockPO.getWarehouseID()); String newStockID = wareHouseStockDAO.insertStock(newStockPO) + ""; List<GoodsPropertyPO> propertyList = wareHouseStockDAO.getGoodsProperty(stockID); List<GoodsPropertyPO> newPropertyList = new ArrayList(); for (GoodsPropertyPO wGoodsPropertyPO : propertyList) { GoodsPropertyPO newGoodsPropertyPO = new GoodsPropertyPO(); newGoodsPropertyPO.setPropertyName(wGoodsPropertyPO.getPropertyName()); newGoodsPropertyPO.setPropertyValue(wGoodsPropertyPO.getPropertyValue()); newGoodsPropertyPO.setStockID(newStockID); newGoodsPropertyPO.setPropertyTypeID(wGoodsPropertyPO.getPropertyTypeID()); newPropertyList.add(newGoodsPropertyPO); } wareHouseStockDAO.insertGoodsProperty(newPropertyList); wareHouseStockDAO.dismantleSucess( wDismantlePO.getDismantleID(), newStockID, (String) dismantleMap.get(wDismantlePO.getDismantleID())); } } else { for (DismantlePO wDismantlePO : dismantlePOList) { wareHouseStockDAO.dismantleFail(wDismantlePO.getDismantleID()); } wareHouseStockDAO.updateStockStatus(stockPO.getStockID(), 0); } wareHouseStockDAO.addGlobalLog( "系统", Server.getInstance().getIp(), 1301, "处理拆仓单,仓单号为:" + stockID + ";仓库处理结果:" + (result ? "拆仓单处理成功" : "拆仓单处理失败"), 1); resultVO.setResult(1L); return resultVO; }