|
|
|
@ -17,6 +17,7 @@ import com.glxp.sale.admin.entity.basic.BussinessTypeEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inout.OrderEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inout.StockOrderEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inout.StockOrderPrintEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inout.WarehouseEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inventory.InvProductEntity;
|
|
|
|
|
import com.glxp.sale.admin.req.inout.StockOrderFilterRequest;
|
|
|
|
@ -24,6 +25,7 @@ import com.glxp.sale.admin.req.inout.StockOrderQueryRequest;
|
|
|
|
|
import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest;
|
|
|
|
|
import com.glxp.sale.admin.req.inventory.FilterInvProductRequest;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.BussinessTypeService;
|
|
|
|
|
import com.glxp.sale.admin.service.inout.CodesTempService;
|
|
|
|
|
import com.glxp.sale.admin.service.inout.StockOrderService;
|
|
|
|
|
import com.glxp.sale.admin.util.BusTypeCheckUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@ -57,6 +59,8 @@ public class StockOrderServiceImpl implements StockOrderService {
|
|
|
|
|
@Resource
|
|
|
|
|
private CodesDao codesDao;
|
|
|
|
|
@Resource
|
|
|
|
|
private CodesTempService codesTempService;
|
|
|
|
|
@Resource
|
|
|
|
|
BussinessTypeService bussinessTypeService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -196,6 +200,11 @@ public class StockOrderServiceImpl implements StockOrderService {
|
|
|
|
|
stockOrderDao.deleteById(stockOrderEntity.getId());
|
|
|
|
|
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
|
|
|
|
|
orderDao.updateOrder(orderEntity);
|
|
|
|
|
List<WarehouseEntity> warehouseEntityList = codesDao.findByReceiptId(orderEntity.getId());
|
|
|
|
|
if (CollUtil.isNotEmpty(warehouseEntityList)) {
|
|
|
|
|
codesTempService.insertCodesTemp(warehouseEntityList);
|
|
|
|
|
codesDao.deleteByOrderId(orderEntity.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -213,38 +222,29 @@ public class StockOrderServiceImpl implements StockOrderService {
|
|
|
|
|
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
|
|
|
|
|
filterInvProductDetailRequest.setOrderIdFk(orderEntity.getId());
|
|
|
|
|
List<InvProductDetailEntity> invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
|
|
|
|
|
|
|
|
|
|
Map<String, List<InvProductDetailEntity>> invPreInProductDetailMap = invProductDetailEntities
|
|
|
|
|
.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk));
|
|
|
|
|
|
|
|
|
|
List<InvProductEntity> invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size());
|
|
|
|
|
|
|
|
|
|
for (String productId : invPreInProductDetailMap.keySet()) {
|
|
|
|
|
List<InvProductDetailEntity> detailList = invPreInProductDetailMap.get(productId);
|
|
|
|
|
List<InvProductEntity> invPreInProductList = new ArrayList<>();
|
|
|
|
|
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
|
|
|
|
|
FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
|
|
|
|
|
filterInvProductRequest.setRelIdFk(productId);
|
|
|
|
|
filterInvProductRequest.setSupId(detailList.get(0).getSupId());
|
|
|
|
|
filterInvProductRequest.setInvWarehouseCode(detailList.get(0).getInvWarehouseCode());
|
|
|
|
|
filterInvProductRequest.setInvStorageCode(detailList.get(0).getInvStorageCode());
|
|
|
|
|
if (StrUtil.isBlank(detailList.get(0).getBatchNo())) {
|
|
|
|
|
filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk());
|
|
|
|
|
filterInvProductRequest.setSupId(invProductDetailEntity.getSupId());
|
|
|
|
|
filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode());
|
|
|
|
|
filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode());
|
|
|
|
|
if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) {
|
|
|
|
|
filterInvProductRequest.setBatchNo("empty");
|
|
|
|
|
} else {
|
|
|
|
|
filterInvProductRequest.setBatchNo(detailList.get(0).getBatchNo());
|
|
|
|
|
filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo());
|
|
|
|
|
}
|
|
|
|
|
List<InvProductEntity> invProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest);
|
|
|
|
|
if (CollUtil.isNotEmpty(invProductEntities) && invProductEntities.size() > 0) {
|
|
|
|
|
InvProductEntity invProductEntity = invProductEntities.get(0);
|
|
|
|
|
detailList.forEach(invProductDetailEntity -> {
|
|
|
|
|
calculateInvCount(invProductEntity, invProductDetailEntity);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
invPreInProductList.add(invProductEntity);
|
|
|
|
|
} else {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//删除库存详情
|
|
|
|
|
invPreInProductDetailDao.deleteByOrderId(orderEntity.getId());
|
|
|
|
|
//删除码详情
|
|
|
|
|
codesDao.deleteByOrderId(orderEntity.getId());
|
|
|
|
|
//更新库存
|
|
|
|
|
for (InvProductEntity invProductEntity : invPreInProductList) {
|
|
|
|
|
//查询库存码详情,如果库存码详情为空,则删除此库存
|
|
|
|
@ -329,6 +329,11 @@ public class StockOrderServiceImpl implements StockOrderService {
|
|
|
|
|
stockOrderDao.deleteById(stockOrderEntity.getId());
|
|
|
|
|
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
|
|
|
|
|
orderDao.updateOrder(orderEntity);
|
|
|
|
|
List<WarehouseEntity> warehouseEntityList = codesDao.findByReceiptId(orderEntity.getId());
|
|
|
|
|
if (CollUtil.isNotEmpty(warehouseEntityList)) {
|
|
|
|
|
codesTempService.insertCodesTemp(warehouseEntityList);
|
|
|
|
|
codesDao.deleteByOrderId(orderEntity.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|