| | |
| | | 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.common.model.PickOutDto; |
| | | import zy.cloud.wms.manager.entity.*; |
| | | 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 zy.cloud.wms.manager.service.*; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | |
| | |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private WaveService waveService; |
| | | @Autowired |
| | | private PickoutService pickoutService; |
| | | @Autowired |
| | | private PickoutDetlService pickoutDetlService; |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | /** |
| | | * 通过波次生成拣货单 |
| | | * @param wave |
| | | * @param |
| | | * @param userId |
| | | * @param hostId |
| | | */ |
| | | @Override |
| | | public R createOut(Wave wave, Long userId, Long hostId) { |
| | | public R createOut(List<PickOutDto> pickOutDtosk, Long userId, Long hostId) { |
| | | HashSet<String> orderIds = new HashSet<>(); |
| | | /** |
| | | * 控管 |
| | | */ |
| | | if (Cools.isEmpty(pickOutDtosk)) { |
| | | throw new CoolException("数据传输错误,请联系管理员"); |
| | | } |
| | | Wave wave = waveService.selectOne(new EntityWrapper<Wave>() |
| | | .eq("id", pickOutDtosk.get(0).getWaveId())); |
| | | List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>() |
| | | .eq("wave_id", wave.getId())); |
| | | if (Cools.isEmpty(waveDetls)) { |
| | | throw new CoolException("找不到该波次单的详情,请联系管理员"); |
| | | |
| | | /** |
| | | * 生成拣货单 |
| | | */ |
| | | Pickout pickout = new Pickout(); |
| | | pickout.setHostId(hostId); |
| | | pickout.setUserId(userId); |
| | | pickout.setWrkNo("PO-"+new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); |
| | | pickout.setWrkSts(1L); |
| | | pickout.setCreateBy(userId.intValue()); |
| | | pickout.setUpdateBy(userId.intValue()); |
| | | pickout.setOrderQty(wave.getOrdersQty()); |
| | | pickout.setWaveNo(wave.getWaveNo()); |
| | | pickoutService.insert(pickout); |
| | | for (PickOutDto pickOutDto : pickOutDtosk) { |
| | | Mat mat = matService.selectByMatnr(hostId, pickOutDto.getMatnr()); |
| | | if (Cools.isEmpty(mat)) { |
| | | pickoutService.delete(new EntityWrapper<Pickout>() |
| | | .eq("id",pickout.getId())); |
| | | throw new CoolException("查询不到该物料明细"); |
| | | |
| | | } |
| | | PickoutDetl pickoutDetl = new PickoutDetl(); |
| | | pickoutDetl.setHeadId(pickout.getId()); |
| | | pickoutDetl.setNodeId(pickOutDto.getNodeId().longValue()); |
| | | pickoutDetl.setNodeName(pickOutDto.getLocNo()); |
| | | pickoutDetl.setAnfme(pickOutDto.getAnfme().doubleValue()); |
| | | pickoutDetl.setMatnr(pickOutDto.getMatnr()); |
| | | pickoutDetl.setMaktx(mat.getMaktx()); |
| | | pickoutDetl.setName(mat.getName()); |
| | | pickoutDetl.setSpecs(mat.getSpecs()); |
| | | pickoutDetl.setModel(mat.getModel()); |
| | | pickoutDetl.setUnit(mat.getUnit()); |
| | | pickoutDetl.setPrice(mat.getPrice()); |
| | | pickoutDetl.setWeight(mat.getWeight()); |
| | | pickoutDetl.setStatus(1); |
| | | pickoutDetl.setCreateBy(userId.intValue()); |
| | | pickoutDetl.setUpdateBy(userId.intValue()); |
| | | pickoutDetl.setWrkNo(pickout.getWrkNo()); |
| | | pickoutDetlService.insert(pickoutDetl); |
| | | } |
| | | |
| | | /** |
| | |
| | | wave.setStatus((short) 1); |
| | | waveService.update(wave,new EntityWrapper<Wave>() |
| | | .eq("id",wave.getId())); |
| | | |
| | | /** |
| | | * 生成拣货单 |
| | | */ |
| | | |
| | | |
| | | return R.ok(); |