package com.xinelu.manage.controller.patientinfoimportmain;


import com.xinelu.common.core.controller.BaseController;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.manage.domain.dialtime.DialTime;
import com.xinelu.manage.service.patientinfoimportmain.IPatientInfoImportMainService;
import com.xinelu.manage.vo.patientinfo.PatientInfoVo;
import com.xinelu.manage.vo.patientinfoimportmain.PatientInfoImportMainVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

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

/**
 * 患者信息Controller
 *
 * @author zyk
 * @date 2024-11-27
 */
@RestController
@RequestMapping("/manage/patientInfoimportmain")
@Api(tags = "患者导入信息控制器")
public class PatientInfoImportMainController extends BaseController {


    @Resource
    IPatientInfoImportMainService patientInfoImportMainService;

    /**
     * 查询患者信息列表
     */
    @ApiOperation("查询患者导入信息列表")
    // @PreAuthorize("@ss.hasPermi('manage:patientInfoimporttemp:list')")
    @GetMapping("/list")
    public TableDataInfo list(PatientInfoImportMainVO patientInfoImportMainVO) {
        startPage();
        List<PatientInfoImportMainVO> list = patientInfoImportMainService.GetPatientInfoImport(patientInfoImportMainVO);
        return getDataTable(list);
    }

    /**
     * 查询患者信息列表
     */
    @ApiOperation("删除批次患者导入信息列表")
    @PostMapping("/updateSn")
    public AjaxResult updateSn(String sn) {
        return AjaxResult.success(patientInfoImportMainService.updateSn(sn));
    }

    @ApiOperation("删除单个患者导入信息列表")
    @PostMapping("/updatePatientInfoImport")
    public AjaxResult updatePatientInfoImport(@RequestBody PatientInfoVo patientInfoVo) {
        return AjaxResult.success(patientInfoImportMainService.updatePatientInfoImport(patientInfoVo));
    }

    /**
     * 获取医院外呼时间起止详细信息
     */
    @ApiOperation("获取医院外呼时间起止详细信息")
    @GetMapping(value = "/selectDialTime")
    public AjaxResult selectDialTimeById() {
        return patientInfoImportMainService.selectDialTimeById();
    }

    /**
     * 新增医院外呼时间起止
     */
    @PostMapping("/addDialTime")
    public AjaxResult add(@RequestBody DialTime dialTime) {
        return patientInfoImportMainService.insertDialTime(dialTime);
    }
}
