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<PakoutMapper, Pakout> implements PakoutService {
|
@Autowired
|
private OrderService orderService;
|
|
@Autowired
|
private OrderDetlService orderDetlService;
|
|
@Override
|
public void deletePakout(String docNum) {
|
Order order = orderService.selectByNo(docNum);
|
List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().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<Pakout>().eq("doc_num",docNum))){
|
throw new RuntimeException("拣货单删除失败");
|
}
|
|
|
}
|
}
|