package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.mapper.PakoutMapper; import com.zy.asrs.entity.Pakout; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.service.PakoutService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service("pakoutService") public class PakoutServiceImpl extends ServiceImpl implements PakoutService { @Autowired private OrderService orderService; @Autowired private OrderDetlService orderDetlService; @Override public void deletePakout(String docNum) { Order order = orderService.selectByNo(docNum); List orderDetls = orderDetlService.selectList(new EntityWrapper().eq("order_no", docNum)); for (OrderDetl orderDetl: orderDetls){ if (orderDetl.getQty() > 0.0){ throw new RuntimeException("拣货单已有出库任务,不可删除!"); } orderDetl.setWorkQty(0.0D); } if (!orderDetlService.updateBatchById(orderDetls)){ throw new RuntimeException("订单明细批量更新失败"); } order.setSettle(1L); if (!orderService.updateById(order)){ throw new RuntimeException("订单明细批量更新失败"); } if (!delete(new EntityWrapper().eq("doc_num",docNum))){ throw new RuntimeException("拣货单删除失败"); } } }