#
mrzhssss
2022-03-24 acad71339e2a131f6ef72c9be912b9e70dd00af0
src/main/java/zy/cloud/wms/manager/controller/WaveController.java
@@ -6,7 +6,13 @@
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;
@@ -15,14 +21,22 @@
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
@@ -77,9 +91,49 @@
    @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();
    }
@@ -120,4 +174,16 @@
        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());
    }
}