diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java index 33a8f12..3f6b598 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java @@ -501,6 +501,7 @@ public class OrderServiceImpl implements OrderService { @Transactional(rollbackFor = Exception.class) @Override public void deleteOrders(List ids) { + for (String id : ids) { log.info("开始删除单号为:" + id + "的单据"); //查询扫码单据 @@ -510,60 +511,65 @@ public class OrderServiceImpl implements OrderService { if (orderEntity.getStatus().equals(ConstantStatus.ORDER_STATUS_SUCCESS)) { //删除单据相关数据,更新库存 try { + //判断单据是否是预验收单据,如果是预验收单据,则删除预验收库库存 if (isPreInOrder(orderEntity)) { - //查询预验收库详情 - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setOrderIdFk(id); - List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); - Map> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk)); - - List invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size()); - - for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { - FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); - filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); - filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); - filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); - filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); - if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { - filterInvProductRequest.setBatchNo("empty"); - } else { - filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); - } - List invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); - InvProductEntity invProductEntity = invPerInProductEntities.get(0); - if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - //入库,扣减入库数量 - int count = invProductEntity.getInCount() - invProductDetailEntity.getCount(); - invProductEntity.setInCount(count); - } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - //出库,扣减出库数量 - int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount(); - invProductEntity.setOutCount(count); - } - invPreInProductList.add(invProductEntity); - } - - //删除库存详情 - invPreInProductDetailDao.deleteByOrderId(id); - //删除码详情 - codesDao.deleteByOrderId(id); - //更新库存 - for (InvProductEntity invProductEntity : invPreInProductList) { - //查询库存码详情,如果库存码详情为空,则删除此库存 - FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); - detailParams.setBatchNo(invProductEntity.getBatchNo()); - detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); - detailParams.setProductIdFk(invProductEntity.getRelIdFk()); - int count = invPreInProductDetailDao.statCount(detailParams); - if (count == 0) { - //如果库存码详情为空,则删除此库存 - invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); - } else { - invPreInProductDao.updateInvProduct(invProductEntity); - } - } + invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); + invPreInProductDao.deleteByOrderIdFk(orderEntity.getId()); + +// //查询预验收库详情 +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setOrderIdFk(id); +// List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); +// Map> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk)); +// +// List invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size()); +// +// for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { +// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); +// filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); +// filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); +// filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); +// if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { +// filterInvProductRequest.setBatchNo("empty"); +// } else { +// filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); +// } +// List invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); +// InvProductEntity invProductEntity = invPerInProductEntities.get(0); +// if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { +// //入库,在原有库存基础上减库存 +// int count = invProductEntity.getInCount() - invProductDetailEntity.getCount(); +// invProductEntity.setInCount(count); +// } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { +// //出库,在原有库存上增加库存 +// int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount(); +// invProductEntity.setOutCount(count); +// } +// +// invPreInProductList.add(invProductEntity); +// } +// +// //删除库存详情 +// invPreInProductDetailDao.deleteByOrderId(id); +// //删除码详情 +// codesDao.deleteByOrderId(id); +// //更新库存 +// for (InvProductEntity invProductEntity : invPreInProductList) { +// //查询库存码详情,如果库存码详情为空,则删除此库存 +// FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); +// detailParams.setBatchNo(invProductEntity.getBatchNo()); +// detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); +// detailParams.setProductIdFk(invProductEntity.getRelIdFk()); +// int count = invPreInProductDetailDao.statCount(detailParams); +// if (count == 0) { +// //如果库存码详情为空,则删除此库存 +// invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); +// } else { +// invPreInProductDao.updateInvProduct(invProductEntity); +// } +// } } else { //查询库存详情 FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); @@ -660,7 +666,7 @@ public class OrderServiceImpl implements OrderService { } //删除码 - codesTempDao.deleteByOrderId(id); + codesDao.deleteByOrderId(id); } catch (Exception e) { throw new RuntimeException("删除单据失败"); }