package com.dk.mdm.controller.ivt.outBound;

import com.dk.common.model.pojo.PageList;
import com.dk.common.response.ResponseResultVO;
import com.dk.mdm.model.pojo.ivt.Outbound;
import com.dk.common.service.BaseService;
import com.dk.mdm.model.query.ivt.OutboundQuery;
import com.dk.mdm.model.response.ivt.OutboundResponse;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.annotations.Api;
import com.dk.mdm.service.ivt.outbound.OutboundService;


@Api(tags = "出库单API接口")
@RestController
@RequestMapping("/ivt/outbound")
public class OutboundController {

    public BaseService<Outbound> getService() {
        return outboundService;
    }

    @Autowired
    private OutboundService outboundService;

    /**
     * @desc : 一览页销售出库
     * @author : 付斌
     * @date : 2023/1/9 10:36
     */
    @ApiOperation(value = "分页、关联、条件查询", notes = "分页、关联、条件查询")
    @PostMapping({"list_by"})
    public ResponseResultVO<PageList<OutboundResponse>> selectByCond(@RequestBody OutboundQuery outboundQuery) {
        return outboundService.selectByCond(outboundQuery);
    }
//
//    /**
//     * @desc : 一览页销售出库明细（货物、附件）
//     * @author : 付斌
//     * @date : 2024-03-07 16:36
//     */
//    @PostMapping({"select_outbound_info_by_id/{id}"})
//    public ResponseResultVO<Map<String, Object>> selectOutboundInfoById(@PathVariable String id) {
//        return outboundService.selectOutboundInfoById(id);
//    }
//
//
    /**
     * @desc : 查询出库明细（货物、附件）
     * @author : 付斌
     * @date : 2024/3/6 10:36
     */
    @PostMapping({"/{id}"})
    public ResponseResultVO selectById(@PathVariable String id) {
        return outboundService.selectById(id);
    }
//
//    /**
//     * @desc : 获取销售出库信息（编辑用）
//     * @author : 付斌
//     * @date : 2024-03-03 9:28
//     */
//    @ApiOperation(value = "编辑出库单", notes = "编辑出库单")
//    @PostMapping({"get_outbound_for_update/{id}"})
//    public ResponseResultVO<?> getOutboundForUpdate(@PathVariable String id) {
//        return outboundService.getOutboundForUpdate(id);
//    }
//
//    /**
//     * @desc : 获取销售退货信息（编辑用）
//     * @author : 付斌
//     * @date : 2024-03-03 9:28
//     */
//    @ApiOperation(value = "编辑出库单", notes = "编辑出库单")
//    @PostMapping({"get_out_return_for_update/{id}"})
//    public ResponseResultVO<?> getOutReturnForUpdate(@PathVariable String id) {
//        return outboundService.getOutReturnForUpdate(id);
//    }

//    /**
//     * @desc : 新建销售出库单
//     * @author : 付斌
//     * @date : 2023/1/9 10:48
//     */
//    @ApiOperation(value = "新建出库单", notes = "新建出库单")
//    @PostMapping({"insert"})
//    public ResponseResultVO<?> insert(@RequestBody OutboundVO outboundVO) {
//        return outboundService.insert(outboundVO);
//    }

//    /**
//     * @desc : 编辑销售出库单
//     * @author : 付斌
//     * @date : 2023/1/9 10:49
//     */
//    @ApiOperation(value = "编辑出库单", notes = "编辑出库单")
//    @PostMapping({"update"})
//    public ResponseResultVO<Boolean> update(@RequestBody OutboundVO outboundVO) {
//        return outboundService.update(outboundVO);
//    }

//    /**
//     * @desc : 作废销售出库单
//     * @author : 付斌
//     * @date : 2024-03-08 16:36
//     */
//    @ApiOperation(value = "作废", notes = "作废")
//    @PostMapping({"invalid/{id}"})
//    public ResponseResultVO<?> invalid(@PathVariable String id) {
//        return outboundService.invalid(id);
//    }

//    /**
//     * @desc : 新建销售退货出库单
//     * @author : 付斌
//     * @date : 2023/1/9 10:48
//     */
//    @ApiOperation(value = "新建出库单", notes = "新建出库单")
//    @PostMapping({"insert_out_return"})
//    public ResponseResultVO<?> insertOutReturn(@RequestBody OutboundVO outboundVO) {
//        return outboundService.insertOutReturn(outboundVO);
//    }
//
//    /**
//     * @desc : 编辑销售退货出库单
//     * @author : 付斌
//     * @date : 2023/1/9 10:49
//     */
//    @ApiOperation(value = "编辑出库单", notes = "编辑出库单")
//    @PostMapping({"update_out_return"})
//    public ResponseResultVO<Boolean> updateOutReturn(@RequestBody OutboundVO outboundVO) {
//        return outboundService.updateOutReturn(outboundVO);
//    }
//
//    /**
//     * @desc : 作废销售退货出库单
//     * @author : 付斌
//     * @date : 2024-03-08 16:36
//     */
//    @ApiOperation(value = "作废", notes = "作废")
//    @PostMapping({"invalid_out_return/{id}"})
//    public ResponseResultVO<?> invalidOutReturn(@PathVariable String id) {
//        return outboundService.invalidOutReturn(id);
//    }
}
