package com.lyms.talkonlineweb.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lyms.talkonlineweb.annotation.TokenRequired;
import com.lyms.talkonlineweb.domain.DiagnoseincomeInfo;
import com.lyms.talkonlineweb.domain.HdepartInfo;
import com.lyms.talkonlineweb.result.BaseResponse;
import com.lyms.talkonlineweb.service.DiagnoseincomeInfoService;
import com.lyms.talkonlineweb.util.DateUtil;
import com.lyms.talkonlineweb.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.sql.Wrapper;
/**
* 问诊收入管理
*/
@RestController
@RequestMapping("diagnoseincome")
public class DiagnoseIncomeController {
@Autowired
DiagnoseincomeInfoService diagnoseincomeInfoService;
/**
* 问诊收入管理列表
*/
@GetMapping("queryDiagnoseIncomeInfo")
@TokenRequired
public BaseResponse queryDiagnoseIncomeInfo(DiagnoseincomeInfo diagnoseincomeInfo,Integer current,Integer size){
Page<DiagnoseincomeInfo> page=new Page<>(current,size);
QueryWrapper<DiagnoseincomeInfo> queryWrapper=new QueryWrapper<>();
//放入条件查询的实体类
queryWrapper.setEntity(diagnoseincomeInfo);
//要查询的列(这里为了视图统计次数需要列出要展示的列名,一般查询不加,有setEntity即可)
queryWrapper.select("did,createdtime,dname,job,hname,hid,dpname,dpid,count(1) as 'count'");
if(StringUtil.isNotEmpty(diagnoseincomeInfo.getStartdate())&&StringUtil.isNotEmpty(diagnoseincomeInfo.getEnddate())){
queryWrapper.apply("date_format(createdtime,'%Y-%m-%d')>=date_format({0},'%Y-%m-%d')", diagnoseincomeInfo.getStartdate());
queryWrapper.apply("date_format(createdtime,'%Y-%m-%d')<=date_format({0},'%Y-%m-%d')", diagnoseincomeInfo.getEnddate());
}
// queryWrapper.and(Wrapper->Wrapper.like("dname",diagnoseincomeInfo.getDname()));//模糊查询
queryWrapper.groupBy("did");
queryWrapper.orderByDesc("createdtime");
Page<DiagnoseincomeInfo> diagnoseincomeInfoPage=diagnoseincomeInfoService.page(page, queryWrapper);
BaseResponse baseResponse=new BaseResponse();
baseResponse.setObject(diagnoseincomeInfoPage);
return baseResponse;
}
}