package pwc.taxtech.atms.controller;

import org.springframework.web.bind.annotation.*;
import pwc.taxtech.atms.dto.ApiResultDto;
import pwc.taxtech.atms.dto.billDetail.BillDetailParam;
import pwc.taxtech.atms.dto.billDetail.BillDetailResult;
import pwc.taxtech.atms.dto.input.CamelPagingResultDto;
import pwc.taxtech.atms.service.impl.BillDetailService;
import pwc.taxtech.atms.vat.entity.InvoiceRecord;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping(value = "api/v1/billDetail")
public class BillDetailController extends BaseController {

    @Resource
    private BillDetailService billDetailService;

    @PostMapping("queryPage")
    public CamelPagingResultDto<BillDetailResult> queryPage(@RequestBody BillDetailParam param) {
        return new CamelPagingResultDto<>(billDetailService.queryPage(param));
    }


    @PostMapping("queryBillTypeGroupBy")
    public List<String> queryBillTypeGroupBy( @RequestParam(name = "projectId",required = true) String projectId,
                                              @RequestParam(name = "period",required = true) Integer period) {
        return billDetailService.queryBillTypeGroupBy(projectId,period);
    }
    @PostMapping("update")
    public ApiResultDto updateConf(@RequestBody InvoiceRecord billDetail) {
        billDetailService.updateBillDetail(billDetail);
        return ApiResultDto.success();
    }
}