| | |
| | | |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.annotation.RepeatSubmit; |
| | | import com.ruoyi.common.config.RuoYiConfig; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.project.domain.ServiceDonorpayment; |
| | | import com.ruoyi.project.service.IServiceDonorpaymentService; |
| | | import freemarker.template.Configuration; |
| | | import freemarker.template.Template; |
| | | import freemarker.template.TemplateException; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.io.*; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 费用收款单Controller |
| | |
| | | public class ServiceDonorpaymentController extends BaseController { |
| | | @Autowired |
| | | private IServiceDonorpaymentService serviceDonorpaymentService; |
| | | |
| | | private static Configuration configuration = null; |
| | | |
| | | public ServiceDonorpaymentController() { |
| | | configuration = new Configuration(); |
| | | configuration.setDefaultEncoding("utf-8"); |
| | | } |
| | | |
| | | /** |
| | | * 查询费用收款单列表 |
| | |
| | | @PostMapping("/add") |
| | | @RepeatSubmit |
| | | public AjaxResult add(@RequestBody ServiceDonorpayment serviceDonorpayment) { |
| | | return toAjax(serviceDonorpaymentService.save(serviceDonorpayment)); |
| | | boolean save = serviceDonorpaymentService.save(serviceDonorpayment); |
| | | return success(serviceDonorpayment.getId().toString()); |
| | | } |
| | | |
| | | /** |
| | |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(serviceDonorpaymentService.removeByIds(Arrays.asList(ids))); |
| | | } |
| | | |
| | | /** |
| | | * 下载浙江省OPO收款结算单统计表 |
| | | */ |
| | | @ApiOperation("下载浙江省OPO收款结算单") |
| | | @GetMapping(value = "/downloadInfo/{id}") |
| | | public Map downloadInfo(@PathVariable("id") Long id) throws IOException { |
| | | Map dataMap = new HashMap(); |
| | | serviceDonorpaymentService.getDataById(dataMap, id); |
| | | String filePath = getClass().getResource("/template/").getPath(); |
| | | System.out.println(filePath); |
| | | //设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库教程装载, |
| | | configuration.setDirectoryForTemplateLoading(new File(filePath)); |
| | | Template t = null; |
| | | try { |
| | | t = configuration.getTemplate("浙江省OPO收款结算单.ftl"); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis()); |
| | | String name = "浙江省OPO收款结算单_"+ newTime; |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | try { |
| | | |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | | map.put("downloadName", name + ".doc"); |
| | | return map; |
| | | } |
| | | |
| | | } |