package com.ltkj.web.controller.system; import java.util.Date; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.date.DateUtil; import cn.hutool.extra.pinyin.PinyinUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.TjCustomerBlack; import com.ltkj.hosp.domain.TjReservation; import com.ltkj.hosp.service.ITjReservationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.enums.BusinessType; import com.ltkj.hosp.domain.DictComp; import com.ltkj.hosp.service.IDictCompService; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; /** * 体检单位信息维护Controller * * @author ltkj * @date 2022-11-21 */ @RestController @RequestMapping("/system/comp") @Api(tags = "单位操作接口") public class DictCompController extends BaseController { @Resource private IDictCompService dictCompService; @Resource private ITjReservationService reservationService; /** * 获取单位信息集合接口 */ @GetMapping("/getCompList") @ApiOperation(value = "获取单位信息集合接口") public AjaxResult getCompList() { return AjaxResult.success(dictCompService.list()); } /** * 查询体检单位信息维护列表 */ //@PreAuthorize("@ss.hasPermi('system:comp:list')") @GetMapping("/list") public TableDataInfo list(DictComp dictComp) { startPage(); List list = dictCompService.selectDictCompList(dictComp); return getDataTable(list); } /** * 导出体检单位信息维护列表 */ //@PreAuthorize("@ss.hasPermi('system:comp:export')") @Log(title = "体检单位信息维护", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, DictComp dictComp) { List list = dictCompService.selectDictCompList(dictComp); ExcelUtil util = new ExcelUtil(DictComp.class); util.exportExcel(response, list, "体检单位信息维护数据"); } /** * 获取体检单位信息维护详细信息 */ //@PreAuthorize("@ss.hasPermi('system:comp:query')") @GetMapping(value = "/{drugManufacturerId}") public AjaxResult getInfo(@PathVariable("drugManufacturerId") String drugManufacturerId) { return success(dictCompService.selectDictCompByDrugManufacturerId(drugManufacturerId)); } /** * 新增体检单位信息维护 */ //@PreAuthorize("@ss.hasPermi('system:comp:add')") @Log(title = "体检单位信息维护", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody DictComp dictComp) { if(null !=dictComp.getCnName()){ String firstLetter = PinyinUtil.getFirstLetter(dictComp.getCnName(), ""); dictComp.setWbm(MatchUtils.toWubi(dictComp.getCnName())); dictComp.setEnName(firstLetter); } return toAjax(dictCompService.save(dictComp)); } /** * 修改体检单位信息维护 */ //@PreAuthorize("@ss.hasPermi('system:comp:edit')") @Log(title = "体检单位信息维护", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody DictComp dictComp) { return toAjax(dictCompService.updateDictComp(dictComp)); } /** * 删除体检单位信息维护 */ //@PreAuthorize("@ss.hasPermi('system:comp:remove')") @Log(title = "体检单位信息维护", businessType = BusinessType.DELETE) @DeleteMapping("/{drugManufacturerIds}") public AjaxResult remove(@PathVariable String[] drugManufacturerIds) { return toAjax(dictCompService.deleteDictCompByDrugManufacturerIds(drugManufacturerIds)); } @GetMapping("/getCusTomterListByCompId") @ApiOperation(value = "获取单位id体检人信息接口") public AjaxResult getCusTomterListByCompId(@RequestParam(required = false) @ApiParam(value = "单位id") String compId, @RequestParam(required = false) @ApiParam(value = "名字") String name, @RequestParam(required = false) @ApiParam(value = "部门id") String deptId, @RequestParam(required = false) @ApiParam(value = "预约时间") Date reservationTime) { LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); if(null !=compId)wq.eq(TjReservation::getCompanyId,compId); if(null !=name)wq.eq(TjReservation::getName,name); if(null !=deptId)wq.eq(TjReservation::getDepartment,deptId); if(null !=reservationTime)wq.between(TjReservation::getReservationTime, DateUtil.beginOfDay(reservationTime),DateUtil.endOfDay(reservationTime)); wq.eq(TjReservation::getIsExpire,"2"); return AjaxResult.success(reservationService.list(wq)); } }