You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
4.4 KiB
Java
108 lines
4.4 KiB
Java
package com.glxp.api.controller.basic;
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
|
import com.alibaba.excel.write.handler.WriteHandler;
|
|
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
|
|
import com.alibaba.excel.write.metadata.style.WriteFont;
|
|
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
import com.glxp.api.entity.basic.YbNotCode;
|
|
import com.glxp.api.req.dev.YbNotCodeQuery;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.res.basic.YbNotCodeResponse;
|
|
import com.glxp.api.service.basic.impl.YbNotCodeServiceImpl;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.poi.ss.usermodel.BorderStyle;
|
|
import org.apache.poi.ss.usermodel.FillPatternType;
|
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.io.IOException;
|
|
import java.net.URLEncoder;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
|
|
@Slf4j
|
|
@RestController
|
|
public class YbNotCodeController {
|
|
@Resource
|
|
YbNotCodeServiceImpl ybNotCodeService;
|
|
@PostMapping("/udi/ybNotCode/page")
|
|
public BaseResponse page(@RequestBody YbNotCodeQuery query) {
|
|
List<YbNotCode> list = ybNotCodeService.pageList(query);
|
|
PageInfo pageInfo = new PageInfo<>(list);
|
|
PageSimpleResponse page = new PageSimpleResponse();
|
|
page.setTotal(pageInfo.getTotal());
|
|
page.setList(pageInfo.getList());
|
|
return ResultVOUtils.success(page);
|
|
}
|
|
|
|
@PostMapping("/udi/ybNotCode/add")
|
|
public BaseResponse add(@RequestBody YbNotCode ybNotCode) {
|
|
return ResultVOUtils.success(ybNotCodeService.add(ybNotCode));
|
|
}
|
|
@PostMapping("/udi/ybNotCode/update")
|
|
public BaseResponse update(@RequestBody YbNotCode ybNotCode) {
|
|
return ResultVOUtils.success(ybNotCodeService.update(ybNotCode));
|
|
}
|
|
@PostMapping("/udi/ybNotCode/delete")
|
|
public BaseResponse delete(@RequestBody YbNotCode ybNotCode) {
|
|
return ResultVOUtils.success(ybNotCodeService.delete(ybNotCode));
|
|
}
|
|
@GetMapping("/udi/ybNotCode/export")
|
|
public void export( YbNotCodeQuery query,HttpServletResponse response) throws IOException {
|
|
List<YbNotCode> list;
|
|
if(query.getExcelType() !=null && query.getExcelType() == 1
|
|
){
|
|
list = ybNotCodeService.pageList( query );
|
|
|
|
}else {
|
|
list = ybNotCodeService.list( new QueryWrapper<>());
|
|
|
|
}
|
|
|
|
|
|
List<YbNotCodeResponse> splitCodeEntities = BeanUtil.copyToList(list, YbNotCodeResponse.class);
|
|
|
|
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
|
|
response.setHeader("content-Type", "application/vnd.ms-excel");
|
|
response.setHeader("Content-Disposition",
|
|
"attachment;filename=" + URLEncoder.encode("无码药品信息管理模板" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name()));
|
|
|
|
// 定义表头样式
|
|
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
|
|
// 设置表头背景颜色为淡蓝色
|
|
headWriteCellStyle.setFillForegroundColor(IndexedColors.LIGHT_YELLOW.getIndex()); // 淡蓝色对应的索引值
|
|
WriteFont headWriteFont = new WriteFont();
|
|
headWriteFont.setFontHeightInPoints((short) 11);
|
|
|
|
headWriteCellStyle.setWriteFont(headWriteFont);
|
|
// 定义内容样式
|
|
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
|
|
|
|
|
|
// 构建样式策略
|
|
HorizontalCellStyleStrategy horizontalCellStyleStrategy =
|
|
new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
|
|
|
|
EasyExcel.write(response.getOutputStream(), YbNotCodeResponse.class).registerWriteHandler(horizontalCellStyleStrategy) .// 注册自定义样式处理器
|
|
sheet("无码药品申报导入").doWrite(splitCodeEntities);
|
|
|
|
}
|
|
}
|