|  |  | @ -1,13 +1,36 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | package com.glxp.api.admin.service.inout.impl; |  |  |  | package com.glxp.api.admin.service.inout.impl; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import cn.hutool.core.collection.CollUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import cn.hutool.core.util.StrUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.github.pagehelper.PageHelper; |  |  |  | import com.github.pagehelper.PageHelper; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.constant.ConstantStatus; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.constant.ConstantType; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.dao.business.StockOrderDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.dao.business.StockOrderDetailDao; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.dao.inout.CodesDao; |  |  |  | import com.glxp.api.admin.dao.inout.CodesDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.dao.inout.OrderDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.dao.inout.OrderDetailDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.dao.inventory.InvProductDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.dao.inventory.InvProductDetailDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.business.StockOrderDetailEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.inout.ErpOrderEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.inout.OrderEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inout.WarehouseEntity; |  |  |  | import com.glxp.api.admin.entity.inout.WarehouseEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.inventory.InvProductEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.req.inout.CodesReplaceRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.req.inout.WarehouseQueryRequest; |  |  |  | import com.glxp.api.admin.req.inout.WarehouseQueryRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.req.inventory.FilterInvProductRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.inout.CodesService; |  |  |  | import com.glxp.api.admin.service.inout.CodesService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.service.inout.OrderService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.stereotype.Service; |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import org.springframework.transaction.annotation.Transactional; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.annotation.Resource; |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import java.util.ArrayList; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.Collections; |  |  |  | import java.util.Collections; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.List; |  |  |  | import java.util.List; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -16,6 +39,20 @@ public class CodesServiceImpl implements CodesService { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     CodesDao codesDao; |  |  |  |     CodesDao codesDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private InvProductDao invProductDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private InvProductDetailDao invProductDetailDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private OrderDetailDao orderDetailDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private StockOrderDetailDao stockOrderDetailDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private OrderDao orderDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private StockOrderDao stockOrderDao; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private OrderService orderService; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Override |  |  |  |     @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |     public List<WarehouseEntity> listWarehouse(WarehouseQueryRequest warehouseQueryRequest) { |  |  |  |     public List<WarehouseEntity> listWarehouse(WarehouseQueryRequest warehouseQueryRequest) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -130,4 +167,139 @@ public class CodesServiceImpl implements CodesService { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return codesDao.updateSupId(sup, nameCode, orderId); |  |  |  |         return codesDao.updateSupId(sup, nameCode, orderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Transactional(rollbackFor = Exception.class) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public void replaceCodes(CodesReplaceRequest codesReplaceRequest) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         OrderEntity orderEntity = orderDao.selectByBillNo(codesReplaceRequest.getOrderId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //查询所有单据
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<OrderEntity> orderList = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         orderList.add(orderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         orderService.getAllOrder(orderEntity, orderList); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         for (OrderEntity order : orderList) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //查询条码
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             warehouseQueryRequest.setOrderId(order.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             warehouseQueryRequest.setCode(codesReplaceRequest.getCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             List<WarehouseEntity> warehouseEntities = codesDao.findByOrderId(warehouseQueryRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (CollUtil.isNotEmpty(warehouseEntities)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 WarehouseEntity warehouseEntity = warehouseEntities.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (warehouseEntity.getCount() > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     //删除一个条码
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     warehouseEntity.setCount(warehouseEntity.getCount() - 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     codesDao.updateCode(warehouseEntity); //更新码详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     //如果数量扣减之后为0,直接删除此条码
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     codesDao.deleteById(warehouseEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 //库存详情扣减1
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (order.getStatus().equals(ConstantStatus.ORDER_STATUS_SUCCESS)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     filterInvProductDetailRequest.setOriginCode(codesReplaceRequest.getCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     filterInvProductDetailRequest.setProductIdFk(warehouseEntity.getRelId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     filterInvProductDetailRequest.setOrderIdFk(order.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if (StrUtil.isNotBlank(warehouseEntity.getBatchNo())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         filterInvProductDetailRequest.setBatchNo(warehouseEntity.getBatchNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         filterInvProductDetailRequest.setBatchNo("empty"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     List<InvProductDetailEntity> invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if (CollUtil.isNotEmpty(invProductDetailEntities)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //库存详情不为空,单据已验收,扣减库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         InvProductDetailEntity invProductDetailEntity = invProductDetailEntities.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (invProductDetailEntity.getCount() > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             invProductDetailEntity.setCount(invProductDetailEntity.getCount() - 1); //更新库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             invProductDetailDao.updateInvProductDetail(invProductDetailEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //库存详情扣减之后等于0,删除库存详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             invProductDetailDao.deleteByOrderIdAndCode(order.getId(), warehouseEntity.getCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //查询原库存详情和新的库存详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             filterInvProductRequest.setBatchNo("empty"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         InvProductEntity invProductEntity = invProductDao.filterInvProduct(filterInvProductRequest).get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //入库
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             invProductEntity.setInCount(invProductEntity.getInCount() - 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } else if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //出库
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             invProductEntity.setOutCount(invProductEntity.getOutCount() - 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //查询库存码详情,如果库存码详情为空,则删除此库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         detailParams.setBatchNo(invProductEntity.getBatchNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         detailParams.setProductIdFk(invProductEntity.getRelIdFk()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         int count = invProductDetailDao.statCount(detailParams); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (count == 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //如果库存码详情为空,则删除此库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             invProductDao.deleteById(String.valueOf(invProductEntity.getId())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //更新库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             invProductDao.updateInvProduct(invProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //查询扫码单据详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         FilterErpOrderRequest orderDetailRequest = new FilterErpOrderRequest(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         orderDetailRequest.setOrderIdFk(order.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         orderDetailRequest.setGoodsid(warehouseEntity.getRelId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         orderDetailRequest.setBatchNo(warehouseEntity.getBatchNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         List<ErpOrderEntity> erpOrderEntities = orderDetailDao.filterErpOrder(orderDetailRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (CollUtil.isNotEmpty(erpOrderEntities)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             ErpOrderEntity erpOrderEntity = erpOrderEntities.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             if (erpOrderEntity.getReCount() > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 erpOrderEntity.setReCount(erpOrderEntity.getReCount() - 1); //应收数量 - 1
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 erpOrderEntity.setCount(erpOrderEntity.getCount() - 1); //实际数量 - 1
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 //更新扫码单据详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 orderDetailDao.updateErpOrder(erpOrderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 orderDetailDao.deleteByPrimiyId(String.valueOf(erpOrderEntity.getId())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //查询业务单据详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         StockOrderDetailFilterRequest stockOrderDetailFilterRequest = new StockOrderDetailFilterRequest(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         stockOrderDetailFilterRequest.setProductId(warehouseEntity.getRelId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         stockOrderDetailFilterRequest.setBatchNo(warehouseEntity.getBatchNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //查询业务单据数据ID
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         Integer stockOrderId = stockOrderDao.selectIdByOrderIdFk(order.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         stockOrderDetailFilterRequest.setOrderIdFk(String.valueOf(stockOrderId)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailDao.filterStockOrderDetail3(stockOrderDetailFilterRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (CollUtil.isNotEmpty(stockOrderDetailEntities)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             StockOrderDetailEntity stockOrderDetailEntity = stockOrderDetailEntities.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             if (stockOrderDetailEntity.getReCount() > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 stockOrderDetailEntity.setReCount(stockOrderDetailEntity.getReCount()- 1); //实际数量 - 1
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 stockOrderDetailEntity.setSweepCount(stockOrderDetailEntity.getSweepCount() -1); //扫码数量 -1
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 //更新业务单据详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 stockOrderDetailDao.updateById(stockOrderDetailEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 //删除业务单据详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 stockOrderDetailDao.deleteById(stockOrderDetailEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //若扫码单据详情已全部被删除,关联删除扫码单据和业务单据
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         int orderDetailCount = orderDetailDao.countByOrderId(order.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (orderDetailCount == 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //当单据详情数量为0时,删除扫码单据和业务单据
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             orderDao.deleteById(order.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             stockOrderDao.deleteByOrderIdFk(order.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |