|
|
@ -57,6 +57,7 @@ import javax.validation.Validator; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; |
|
|
@ -418,11 +419,9 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque |
|
|
|
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
|
} |
|
|
|
|
|
|
|
private BigDecimal validatorBalance(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDO) { |
|
|
|
ArrayList<String> inventoryStatus = new ArrayList<>(); |
|
|
|
inventoryStatus.add(detailDo.getInventoryStatus()); |
|
|
|
private BigDecimal validatorBalance(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDO, List<String> inventoryStatusList) { |
|
|
|
BigDecimal bigDecimal = new BigDecimal(0); |
|
|
|
List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); |
|
|
|
List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatusList); |
|
|
|
if (balance != null) { |
|
|
|
for (BalanceDO balanceDO : balance) { |
|
|
|
bigDecimal = bigDecimal.add(balanceDO.getQty()); |
|
|
@ -471,7 +470,9 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque |
|
|
|
mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber()); |
|
|
|
mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber()); |
|
|
|
ifDetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); |
|
|
|
BigDecimal bigDecimal = validatorBalance(detailDo, mainDo); |
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRequest"); |
|
|
|
List<String> inventoryStatusList = Arrays.asList(businesstypeDO.getOutInventoryStatuses().split(",")); |
|
|
|
BigDecimal bigDecimal = validatorBalance(detailDo, mainDo, inventoryStatusList); |
|
|
|
ifDetailQtyBigThanQty(detailDo.getQty(), bigDecimal); |
|
|
|
} |
|
|
|
|
|
|
@ -559,7 +560,9 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque |
|
|
|
message.append(ex.getMessage()).append(","); |
|
|
|
} |
|
|
|
try { |
|
|
|
BigDecimal bigDecimal = validatorBalance(detailDo, mainDo); |
|
|
|
List<String> inventoryStatusList = new ArrayList<>(); |
|
|
|
inventoryStatusList.add(detailDo.getInventoryStatus()); |
|
|
|
BigDecimal bigDecimal = validatorBalance(detailDo, mainDo, inventoryStatusList); |
|
|
|
try { |
|
|
|
ifDetailQtyBigThanQty(detailDo.getQty(), bigDecimal); |
|
|
|
} catch (Exception ex) { |
|
|
|