入库管理bug修改
This commit is contained in:
+18
-3
@@ -55,6 +55,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -300,14 +301,17 @@ public class StockShelfOrderDomainService {
|
||||
StockShelfOrder stockShelfOrder = new StockShelfOrder();
|
||||
stockShelfOrder.setShelfOrderId(stockShelfOrderDO.getShelfOrderId());
|
||||
stockShelfOrder.setStatus(2);
|
||||
stockShelfOrder.setShelvesQuantity(stockShelfOrderPO.getShelvesQuantity().add(stockShelfOrderDO.getActualQuantity()));
|
||||
BigDecimal currentShelvesQuantity = stockShelfOrderPO.getShelvesQuantity() != null ? stockShelfOrderPO.getShelvesQuantity() : BigDecimal.ZERO;
|
||||
BigDecimal actualQuantity = stockShelfOrderDO.getActualQuantity() != null ? stockShelfOrderDO.getActualQuantity() : BigDecimal.ZERO;
|
||||
stockShelfOrder.setShelvesQuantity(currentShelvesQuantity.add(actualQuantity));
|
||||
stockShelfOrder.setShelvesMaterialQuantity(stockShelfOrderPO.getShelvesMaterialQuantity() + stockShelfOrderDO.getActualReceiptMaterialQuantity());
|
||||
stockShelfOrder.setUpdateBy(loginUser.getUserid());
|
||||
stockShelfOrder.setUpdateByName(loginUser.getUsername());
|
||||
stockShelfOrder.setUpdateTime(new Date());
|
||||
stockShelfOrderService.updateById(stockShelfOrder);
|
||||
//上架数量大于等于计划数量 直接完成上架
|
||||
if (stockShelfOrder.getShelvesQuantity().compareTo(stockShelfOrderPO.getReceiptQuantity()) >= 0){
|
||||
BigDecimal receiptQuantity = stockShelfOrderPO.getReceiptQuantity() != null ? stockShelfOrderPO.getReceiptQuantity() : BigDecimal.ZERO;
|
||||
if (stockShelfOrder.getShelvesQuantity().compareTo(receiptQuantity) >= 0){
|
||||
completeUpShelf(stockShelfOrderPO.getShelfOrderId());
|
||||
}
|
||||
return true;
|
||||
@@ -351,7 +355,9 @@ public class StockShelfOrderDomainService {
|
||||
throw new ServiceException("上架单【" + stockShelfOrderPO.getReceiptOrderNumber() + "】已完成上架,请重新选择");
|
||||
}
|
||||
int abnormal = 2;
|
||||
if (stockShelfOrderPO.getShelvesQuantity().compareTo(stockShelfOrderPO.getQuantity()) != 0){
|
||||
BigDecimal shelvesQuantity = stockShelfOrderPO.getShelvesQuantity() != null ? stockShelfOrderPO.getShelvesQuantity() : BigDecimal.ZERO;
|
||||
BigDecimal quantity = stockShelfOrderPO.getQuantity() != null ? stockShelfOrderPO.getQuantity() : BigDecimal.ZERO;
|
||||
if (shelvesQuantity.compareTo(quantity) != 0){
|
||||
abnormal = 1;
|
||||
}
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
@@ -418,7 +424,16 @@ public class StockShelfOrderDomainService {
|
||||
|
||||
public void updateSerialNumberforInventory(List<ShelfMaterialDetail> shelfMaterialDetailList){
|
||||
for (ShelfMaterialDetail shelfMaterialDetail : shelfMaterialDetailList){
|
||||
if (shelfMaterialDetail.getMaterialDetailId() == null) {
|
||||
continue;
|
||||
}
|
||||
MaterialInventory one = materialInventoryService.getOne(new QueryWrapper<MaterialInventory>().lambda().eq(MaterialInventory::getMaterialDetailId, shelfMaterialDetail.getMaterialDetailId()));
|
||||
if (one == null) {
|
||||
continue;
|
||||
}
|
||||
if (one.getMaterialInventoryId() == null) {
|
||||
continue;
|
||||
}
|
||||
iSerialNumberService.update(new UpdateWrapper<SerialNumber>().lambda().eq(SerialNumber::getMaterialDetailId, one.getMaterialDetailId()).set(SerialNumber::getMaterialInventoryId, one.getMaterialInventoryId()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user