package zy.cloud.wms.manager.service.impl;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.core.common.Cools;
|
import com.core.common.R;
|
import com.core.exception.CoolException;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import zy.cloud.wms.manager.entity.WaveDetl;
|
import zy.cloud.wms.manager.mapper.WaveMapper;
|
import zy.cloud.wms.manager.entity.Wave;
|
import zy.cloud.wms.manager.service.OrderService;
|
import zy.cloud.wms.manager.service.WaveDetlService;
|
import zy.cloud.wms.manager.service.WaveService;
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.HashSet;
|
import java.util.List;
|
|
@Service("waveService")
|
public class WaveServiceImpl extends ServiceImpl<WaveMapper, Wave> implements WaveService {
|
@Autowired
|
private WaveDetlService waveDetlService;
|
@Autowired
|
private OrderService orderService;
|
@Autowired
|
private WaveService waveService;
|
|
/**
|
* 通过波次生成拣货单
|
* @param wave
|
* @param userId
|
* @param hostId
|
*/
|
@Override
|
public R createOut(Wave wave, Long userId, Long hostId) {
|
HashSet<String> orderIds = new HashSet<>();
|
/**
|
* 控管
|
*/
|
List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>()
|
.eq("wave_id", wave.getId()));
|
if (Cools.isEmpty(waveDetls)) {
|
throw new CoolException("找不到该波次单的详情,请联系管理员");
|
}
|
|
/**
|
* 更改出库单状态,从"生成波次"到"波次拣货中"
|
*/
|
for (WaveDetl waveDetl : waveDetls) {
|
String orderNos = waveDetl.getOrderNos();
|
String[] split = orderNos.split(",");
|
for (String s : split) {
|
orderIds.add(s);
|
}
|
}
|
for (String s : new ArrayList<String>(orderIds)) {
|
orderService.changeSettleTo12(s);
|
}
|
/**
|
* 更改波次单状态,从"待处理"到"处理中"
|
*/
|
wave.setStatus((short) 1);
|
waveService.update(wave,new EntityWrapper<Wave>()
|
.eq("id",wave.getId()));
|
|
/**
|
* 生成拣货单
|
*/
|
|
|
return R.ok();
|
}
|
}
|