| | |
| | | var inputDetails []*models.OperationDetails |
| | | var outputDetails []*models.OperationDetails |
| | | for _, v := range listDetails { |
| | | if locAmount, aok := mapLocAmount[strconv.Itoa(v.ToLocationID)+v.ProductId]; aok { |
| | | if locAmount.Amount.Equal(v.Amount) { |
| | | if _, aok := mapLocAmount[strconv.Itoa(v.ToLocationID)+v.ProductId]; aok { |
| | | if v.StockAmount.Equal(v.Amount) { //盘点数量和剩余数量一致 |
| | | continue |
| | | } |
| | | if v.Amount.GreaterThan(locAmount.Amount) { //todo 改成stockAmount |
| | | if v.Amount.GreaterThan(v.StockAmount) { |
| | | inputDetails = append(inputDetails, &models.OperationDetails{ |
| | | ProductId: v.ProductId, |
| | | Amount: v.Amount.Sub(locAmount.Amount), |
| | | Amount: v.Amount.Sub(v.StockAmount), |
| | | FromLocationID: v.FromLocationID, |
| | | ToLocationID: v.ToLocationID, |
| | | TotalGrossWeight: v.TotalGrossWeight, |
| | |
| | | } else { |
| | | outputDetails = append(outputDetails, &models.OperationDetails{ |
| | | ProductId: v.ProductId, |
| | | Amount: locAmount.Amount.Sub(v.Amount), |
| | | Amount: v.StockAmount.Sub(v.Amount), |
| | | FromLocationID: v.ToLocationID, |
| | | ToLocationID: v.FromLocationID, |
| | | TotalGrossWeight: v.TotalGrossWeight, |