package zy.cloud.wms.manager.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import org.springframework.beans.factory.annotation.Autowired; import zy.cloud.wms.manager.entity.Order; import zy.cloud.wms.manager.entity.Pickout; import zy.cloud.wms.manager.entity.Wave; import zy.cloud.wms.manager.mapper.OrderDetlMapper; import zy.cloud.wms.manager.entity.OrderDetl; import zy.cloud.wms.manager.service.OrderDetlService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import zy.cloud.wms.manager.service.OrderService; import zy.cloud.wms.manager.service.PickoutService; import zy.cloud.wms.manager.service.WaveService; import java.util.ArrayList; import java.util.List; @Service("orderDetlService") public class OrderDetlServiceImpl extends ServiceImpl implements OrderDetlService { @Autowired private OrderDetlService orderDetlService; @Autowired private OrderService orderService; @Autowired private WaveService waveService; @Autowired private PickoutService pickoutService; @Override public List selectByOrderNo(String orderNo, Long hostId) { return this.baseMapper.selectByOrderNo(orderNo, hostId); } @Override public List selectBatchByOrderNo(List orders) { return this.baseMapper.selectBatchByOrderNo(orders); } @Override public List selectOutList(String matnr, ArrayList strings) { return this.baseMapper.selectOutList(matnr,strings); } /** * 通过orderid来查询所有orderDetl * @param id * @return */ @Override public Boolean checkFinish(Long id) { List orderDetls = orderDetlService.selectList(new EntityWrapper() .eq("order_id", id)); for (OrderDetl orderDetl : orderDetls) { if (orderDetl.getAnfme() - orderDetl.getOutQty() != 0 ){ return false; } } return true; } @Override public void finishOrder(Long id) { /** * 更改order状态 */ Order order = orderService.selectOne(new EntityWrapper() .eq("id", id)); order.setSettle(5L); orderService.update(order,new EntityWrapper() .eq("id", id)); /** * 更改波次状态 */ Wave wave = waveService.selectOne(new EntityWrapper() .eq("wave_no", order.getWaveNo())); wave.setStatus((short) 2); waveService.update(wave,new EntityWrapper() .eq("wave_no", order.getWaveNo())); /** * 更改拣货单状态 */ Pickout pickout = pickoutService.selectOne(new EntityWrapper() .eq("wave_no", wave.getWaveNo())); pickout.setWrkSts(3L); pickoutService.update(pickout,new EntityWrapper() .eq("wave_no", wave.getWaveNo())); } }