package com.ltkj.web.controller.system; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.excelConfig.ExcelUtils; import com.ltkj.hosp.domain.TjAdvice; import com.ltkj.hosp.domain.TjReservation; import com.ltkj.hosp.service.ITjAdviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jodd.util.StringUtil; 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.TjProAdvicerules; import com.ltkj.hosp.service.ITjProAdvicerulesService; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; /** * 体检项目建议规则新表Controller * * @author ltkj_赵佳豪&李格 * @date 2025-01-17 */ @RestController @RequestMapping("/hosp/advicerules") @Api(tags = "A体检项目建议规则新表Controller") public class TjProAdvicerulesController extends BaseController { @Autowired private ITjProAdvicerulesService tjProAdvicerulesService; @Resource private ITjAdviceService adviceService; /** * 查询体检项目建议规则新表列表 */ // @PreAuthorize("@ss.hasPermi('hosp:advicerules:list')") @GetMapping("/list") @ApiOperation(value = "查询体检项目建议规则新表列表") public TableDataInfo list(TjProAdvicerules tjProAdvicerules) { startPage(); List list = tjProAdvicerulesService.selectTjProAdvicerulesList(tjProAdvicerules); return getDataTable(list); } /** * 导出体检项目建议规则新表列表 */ @PreAuthorize("@ss.hasPermi('hosp:advicerules:export')") @Log(title = "体检项目建议规则新表", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation(value = "导出体检项目建议规则新表列表") public void export(HttpServletResponse response, TjProAdvicerules tjProAdvicerules) { // List list = tjProAdvicerulesService.selectTjProAdvicerulesList(tjProAdvicerules); // ExcelUtil util = new ExcelUtil(TjProAdvicerules.class); ExcelUtils.exportTemplate(response,"体检项目建议规则新表数据",TjProAdvicerules.class); // ExcelUtils.expor // util.exportExcel(response, list, "体检项目建议规则新表数据"); } @PostMapping("/tjimport") @ApiOperation(value = "导入体检项目建议规则新表列表") public AjaxResult tjimport(@RequestPart(value = "file") @ApiParam(value = "Excel文件") MultipartFile file) { try { List proAdvicerules = ExcelUtils.readMultipartFile(file, TjProAdvicerules.class); if(!proAdvicerules.isEmpty()){ for (TjProAdvicerules advicerules : proAdvicerules) { // LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); // wq.eq(TjAdvice::getTitle,advicerules.getZyzd()); // List list = adviceService.list(wq); // if(null !=list && !list.isEmpty() && StringUtil.isBlank(advicerules.getJynr())){ // advicerules.setJynr(list.get(0).getAdvice()); // } if(StringUtil.isNotBlank(advicerules.getFwz())){ if(advicerules.getFwz().contains("-")){ String[] split = advicerules.getFwz().split("-"); advicerules.setFwzdz(split[1]); advicerules.setFwzxz(split[0]); } } } proAdvicerules = proAdvicerules.stream().distinct().collect(Collectors.toList()); tjProAdvicerulesService.saveBatch(proAdvicerules); } return AjaxResult.success(); } catch (Exception e) { e.getMessage(); return AjaxResult.error("导入文件有误请检查导入文件!"); } } /** * 获取体检项目建议规则新表详细信息 */ @PreAuthorize("@ss.hasPermi('hosp:advicerules:query')") @GetMapping(value = "/{id}") @ApiOperation(value = "获取体检项目建议规则新表详细信息") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(tjProAdvicerulesService.selectTjProAdvicerulesById(id)); } /** * 新增体检项目建议规则新表 */ @PreAuthorize("@ss.hasPermi('hosp:advicerules:add')") @Log(title = "体检项目建议规则新表", businessType = BusinessType.INSERT) @PostMapping @ApiOperation(value = "新增体检项目建议规则新表") public AjaxResult add(@RequestBody TjProAdvicerules advicerules) { if(StringUtil.isNotBlank(advicerules.getFwz())){ if(advicerules.getFwz().contains("-")){ String[] split = advicerules.getFwz().split("-"); advicerules.setFwzdz(split[1]); advicerules.setFwzxz(split[0]); } } return toAjax(tjProAdvicerulesService.save(advicerules)); } /** * 修改体检项目建议规则新表 */ @PreAuthorize("@ss.hasPermi('hosp:advicerules:edit')") @Log(title = "体检项目建议规则新表", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "修改体检项目建议规则新表") public AjaxResult edit(@RequestBody TjProAdvicerules advicerules) { if(StringUtil.isNotBlank(advicerules.getFwz())){ if(advicerules.getFwz().contains("-")){ String[] split = advicerules.getFwz().split("-"); advicerules.setFwzdz(split[1]); advicerules.setFwzxz(split[0]); } } return toAjax(tjProAdvicerulesService.updateById(advicerules)); } /** * 删除体检项目建议规则新表 */ @PreAuthorize("@ss.hasPermi('hosp:advicerules:remove')") @Log(title = "体检项目建议规则新表", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") @ApiOperation(value = "删除体检项目建议规则新表") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(tjProAdvicerulesService.deleteTjProAdvicerulesByIds(ids)); } }