| | |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.common.DateUtils; |
| | | import com.core.exception.CoolException; |
| | | import zy.cloud.wms.common.model.PickOutDto; |
| | | import zy.cloud.wms.manager.entity.Wave; |
| | | import zy.cloud.wms.manager.entity.WaveDetl; |
| | | import zy.cloud.wms.manager.entity.param.StockOutParam; |
| | | import zy.cloud.wms.manager.service.OrderService; |
| | | import zy.cloud.wms.manager.service.WaveDetlService; |
| | | import zy.cloud.wms.manager.service.WaveService; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.BaseRes; |
| | |
| | | import zy.cloud.wms.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import zy.cloud.wms.manager.service.WorkService; |
| | | |
| | | import java.util.*; |
| | | |
| | | |
| | | @RestController |
| | | public class WaveController extends BaseController { |
| | | |
| | | @Autowired |
| | | private WaveService waveService; |
| | | @Autowired |
| | | private WaveDetlService waveDetlService; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private WorkService workService; |
| | | |
| | | @RequestMapping(value = "/wave/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | @RequestMapping(value = "/wave/delete/auth") |
| | | @ManagerAuth |
| | | public R delete(@RequestParam(value="ids[]") Long[] ids){ |
| | | for (Long id : ids){ |
| | | waveService.deleteById(id); |
| | | /** |
| | | * 控管与初始化 |
| | | */ |
| | | HashSet<String> orders = new HashSet<>(); |
| | | for (Long id : ids){ |
| | | Wave wave = waveService.selectOne(new EntityWrapper<Wave>() |
| | | .eq("id", id)); |
| | | if (Cools.isEmpty(wave)) { |
| | | throw new CoolException("找不到该波次"); |
| | | } |
| | | if (wave.getStatus() != 0){ |
| | | throw new CoolException("仅支持撤销'待处理'状态的订单"); |
| | | } |
| | | List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>() |
| | | .eq("wave_id", id)); |
| | | |
| | | for (WaveDetl waveDetl : waveDetls) { |
| | | |
| | | String orderNos = waveDetl.getOrderNos(); |
| | | String[] split = orderNos.split(","); |
| | | for (String s : split) { |
| | | orders.add(s); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 删除波次表身 |
| | | */ |
| | | waveDetlService.delete(new EntityWrapper<WaveDetl>() |
| | | .eq("wave_id",id)); |
| | | /** |
| | | * 删除波次表头 |
| | | */ |
| | | waveService.deleteById(id); |
| | | /** |
| | | * 更改出库单状态 |
| | | */ |
| | | for (String order : orders) { |
| | | orderService.updateStatus(order); |
| | | } |
| | | |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping("/wave/createOut") |
| | | @ManagerAuth |
| | | public R createWaveOut(@RequestBody List<PickOutDto> pickOutDtosk){ |
| | | return waveService.createOut(pickOutDtosk,getUserId(),getHostId()); |
| | | } |
| | | |
| | | @RequestMapping("/wave/preview") |
| | | @ManagerAuth |
| | | public R createWavePreview(@RequestBody StockOutParam stockOutParam){ |
| | | return workService.wavePreview(stockOutParam, getUserId(), getHostId()); |
| | | } |
| | | |
| | | } |