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.
udi-spms-java/src/main/java/com/glxp/api/controller/system/SysPdfTemplateController.java

173 lines
13 KiB
Java

2 years ago
package com.glxp.api.controller.system;
import com.alibaba.fastjson.JSON;
2 years ago
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
2 years ago
import com.glxp.api.annotation.Log;
2 years ago
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
2 years ago
import com.glxp.api.constant.BusinessType;
2 years ago
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.system.FilterPdfTemplateRequest;
import com.glxp.api.req.system.SysPdfTemplateSaveRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.system.SystemPDFTemplateResponse;
import com.glxp.api.res.system.SystemPDFTemplateSelectResponse;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.File;
import java.util.Arrays;
2 years ago
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@RestController
public class SysPdfTemplateController {
@Resource
private SystemPDFTemplateService systemPDFTemplateService;
@AuthRuleAnnotation("system/pdf/template/list")
@GetMapping("/system/pdf/template/list")
public BaseResponse list(@Valid FilterPdfTemplateRequest filterPdfTemplateRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
// systemPDFTemplateRequest.setType(2);
List<SystemPDFTemplateEntity> systemPDFTemplateEntityList = systemPDFTemplateService.queryPage(filterPdfTemplateRequest);
List<SystemPDFTemplateResponse> systemPDFTemplateResponseList = systemPDFTemplateEntityList.stream().map(item -> {
SystemPDFTemplateResponse systemPDFTemplateResponse = new SystemPDFTemplateResponse();
BeanUtils.copyProperties(item, systemPDFTemplateResponse);
if(item.getBussinessStatus()!=null){
systemPDFTemplateResponse.setBussinessStatusList(Arrays.asList(item.getBussinessStatus().split(",")));
}
2 years ago
return systemPDFTemplateResponse;
}).collect(Collectors.toList());
PageInfo<SystemPDFTemplateEntity> pageInfo = new PageInfo<>(systemPDFTemplateEntityList);
PageSimpleResponse<SystemPDFTemplateResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(systemPDFTemplateResponseList);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/system/pdf/template/demoPrint")
public void demoPrint(
@RequestBody FilterPdfTemplateRequest filterPdfTemplateRequest,
HttpServletRequest request, HttpServletResponse response) throws Exception {
SystemPDFTemplateEntity systemPDFTemplateEntity =
systemPDFTemplateService.selectById(String.valueOf(filterPdfTemplateRequest.getId()));
String data = "";
if (systemPDFTemplateEntity.getModule() == 3) {
2 years ago
data =
"{\"data\":[{\"batchNo\":\"2020\",\"billNo\":\"2022040811589\",\"billType\":\"ST39730635520\",\"billdate\":\"2022-04-08\",\"corpId\":\"39864007581\",\"corpName\":\"漳州**有限公司\",\"count\":\"4\",\"customerId\":\"39864007581\",\"expireDate\":\"251020\",\"id\":\"10\",\"index\":\"1\",\"locInv\":\"总库\",\"orderIdFk\":\"SM412208685600\",\"printStatus\":\"102\",\"productDate\":\"201020\",\"productId\":\"169\",\"productName\":\"一次性使用开环式微创肛肠吻合器\",\"sourceType\":\"1\",\"spec\":\"TST33-T80——2993规格\",\"status\":\"5\",\"sweepCount\":\"0\",\"title\":\"漳州**医院\",\"type\":\"2\",\"unitIdFk\":\"39864007581\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"苏械注准2022000000\",\"price\":\"10.00\"},{\"batchNo\":\"2023\",\"billNo\":\"2022040811589\",\"billType\":\"ST39730635520\",\"billdate\":\"2022-04-08\",\"corpId\":\"39864007581\",\"corpName\":\"漳州**有限公司\",\"count\":\"4\",\"customerId\":\"39864007581\",\"expireDate\":\"251020\",\"id\":\"10\",\"index\":\"2\",\"locInv\":\"总库\",\"orderIdFk\":\"SM412208685600\",\"printStatus\":\"102\",\"productDate\":\"201020\",\"productId\":\"169\",\"productName\":\"一次性使用开环式微创肛肠吻合器\",\"sourceType\":\"1\",\"spec\":\"TST33-T80——2993规格\",\"status\":\"5\",\"sweepCount\":\"0\",\"title\":\"漳州**医院\",\"type\":\"2\",\"unitIdFk\":\"39864007581\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"苏械注准2022000000\",\"price\":\"10.00\"},{\"batchNo\":\"2021\",\"billNo\":\"2022040811589\",\"billType\":\"ST39730635520\",\"billdate\":\"2022-04-08\",\"corpId\":\"39864007581\",\"corpName\":\"漳州**有限公司\",\"count\":\"4\",\"customerId\":\"39864007581\",\"expireDate\":\"251020\",\"id\":\"10\",\"index\":\"3\",\"locInv\":\"总库\",\"orderIdFk\":\"SM412208685600\",\"printStatus\":\"102\",\"productDate\":\"201020\",\"productId\":\"169\",\"productName\":\"一次性使用开环式微创肛肠吻合器\",\"sourceType\":\"1\",\"spec\":\"TST33-T80——2993规格\",\"status\":\"5\",\"sweepCount\":\"0\",\"title\":\"漳州**医院\",\"type\":\"2\",\"unitIdFk\":\"39864007581\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"苏械注准2022000000\",\"price\":\"10.00\"}]}";
} else if (systemPDFTemplateEntity.getModule() == 2) {
2 years ago
data =
"{\"data\":[{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"}]}";
} else if (systemPDFTemplateEntity.getModule() == 1) {
data =
"[{\"area\":\"福建省厦门市湖里区\",\"vaiDate\":\"2023-03-15\",\"code\":\"1113\",\"companyName\":\"盛夏科技\",\"classes\":\"经营企业\",\"mobile\":\"18575144832\",\"index\":\"1\",\"remark\":\"12\",\"detailAddr\":\"湖里\",\"name\":\"业务许可证\",\"creditNum\":\"6464684643\",\"auditStatus\":\"审核通过\",\"expireDate\":\"2023-03-16\",\"contacts\":\"东\",\"email\":\"46456@qq.com\",\"status\":\"有效\"}]";
2 years ago
}
2 years ago
JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf");
2 years ago
}
@AuthRuleAnnotation("system/pdf/template/list")
@GetMapping("/system/pdf/template/pdfTemplates")
public BaseResponse pdfTemplates(@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "limit", defaultValue = "100") Integer limit) {
List<SystemPDFTemplateEntity> systemPDFTemplateEntityList = systemPDFTemplateService.listPDFTemplates(page, limit);
PageInfo<SystemPDFTemplateEntity> pageInfo = new PageInfo<>(systemPDFTemplateEntityList);
PageSimpleResponse<SystemPDFTemplateSelectResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
List<SystemPDFTemplateSelectResponse> systemPDFTemplateSelectResponses = systemPDFTemplateEntityList.stream().map(e -> {
SystemPDFTemplateSelectResponse systemPDFTemplateSelectResponse = new SystemPDFTemplateSelectResponse();
BeanUtils.copyProperties(e, systemPDFTemplateSelectResponse);
systemPDFTemplateSelectResponse.setIdStr(String.valueOf(e.getId()));
return systemPDFTemplateSelectResponse;
}).collect(Collectors.toList());
pageSimpleResponse.setList(systemPDFTemplateSelectResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("system/pdf/template/save")
@PostMapping("/system/pdf/template/save")
2 years ago
@Log(title = "pdf模板", businessType = BusinessType.INSERT)
2 years ago
public BaseResponse save(@RequestBody @Valid SysPdfTemplateSaveRequest sysPdfTemplateSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SystemPDFTemplateEntity systemPDFTemplateEntity = new SystemPDFTemplateEntity();
BeanUtils.copyProperties(sysPdfTemplateSaveRequest, systemPDFTemplateEntity);
if(sysPdfTemplateSaveRequest.getBussinessStatusList().size()>0){
String bussinessStatus = String.join(",", sysPdfTemplateSaveRequest.getBussinessStatusList());
systemPDFTemplateEntity.setBussinessStatus(bussinessStatus);
}
2 years ago
systemPDFTemplateEntity.setCreate_time(new Date());
systemPDFTemplateEntity.setUpdate_time(new Date());
boolean b = systemPDFTemplateService.insert(systemPDFTemplateEntity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
@AuthRuleAnnotation("system/pdf/template/update")
@PostMapping("/system/pdf/template/update")
2 years ago
@Log(title = "pdf模板", businessType = BusinessType.UPDATE)
2 years ago
public BaseResponse update(@RequestBody SysPdfTemplateSaveRequest sysPdfTemplateSaveRequest) {
// systemPDFTemplateSaveRequest.setId(1);
if(sysPdfTemplateSaveRequest.getBussinessStatusList()!=null && sysPdfTemplateSaveRequest.getBussinessStatusList().size()>0){
String bussinessStatus = String.join(",", sysPdfTemplateSaveRequest.getBussinessStatusList());
sysPdfTemplateSaveRequest.setBussinessStatus(bussinessStatus);
}
2 years ago
sysPdfTemplateSaveRequest.setUpdate_time(new Date());
systemPDFTemplateService.updateById(sysPdfTemplateSaveRequest);
return ResultVOUtils.success("修改成功");
}
@AuthRuleAnnotation("system/pdf/template/delete")
@PostMapping("/system/pdf/template/delete")
2 years ago
@Log(title = "pdf模板", businessType = BusinessType.DELETE)
2 years ago
public BaseResponse deleteById(@RequestBody SysPdfTemplateSaveRequest sysPdfTemplateSaveRequest) {
if (StringUtils.isNotBlank(sysPdfTemplateSaveRequest.getPath())) {//删除文件
File file = new File(sysPdfTemplateSaveRequest.getPath());
file.delete();
}
boolean b = systemPDFTemplateService.deleteById(sysPdfTemplateSaveRequest.getId());
if (b)
return ResultVOUtils.success("删除成功");
else {
return ResultVOUtils.error(500, "删除失败");
}
}
}