Commit 51decd366881a4dd1af502b7724608c3f92daf76

Authored by 陈威
1 parent 22a58301
Exists in master

导出汇总表

backend/chkpower/src/main/java/com/hotent/chkpower/controller/WCurrentController.java
@@ -27,113 +27,112 @@ import java.util.*; @@ -27,113 +27,112 @@ import java.util.*;
27 /** 27 /**
28 * 活期账户 前端控制器 28 * 活期账户 前端控制器
29 * 29 *
30 - * @company 广州宏天软件股份有限公司  
31 * @author cw 30 * @author cw
  31 + * @company 广州宏天软件股份有限公司
32 * @since 2024-07-05 32 * @since 2024-07-05
33 */ 33 */
34 @RestController 34 @RestController
35 @RequestMapping("/wCurrent/v1/") 35 @RequestMapping("/wCurrent/v1/")
36 public class WCurrentController extends BaseController<WCurrentManager, WCurrent> { 36 public class WCurrentController extends BaseController<WCurrentManager, WCurrent> {
37 37
38 - /**  
39 - * 根据id获取活期账户数据详情  
40 - * @param id  
41 - * @return  
42 - * @throws Exception  
43 - * ModelAndView  
44 - */  
45 - @GetMapping(value="/getDetail")  
46 - @ApiOperation(value="根据id获取活期账户数据详情",httpMethod = "GET",notes = "根据id获取活期账户数据详情")  
47 - public CommonResult<WCurrent> getDetail(@ApiParam(name="id",value="业务对象主键", required = true)@RequestParam(required=true) String id) throws Exception{  
48 - return CommonResult.<WCurrent>ok().value(baseService.getDetail(id));  
49 - }  
50 - /**  
51 - * 新增,更新活期账户  
52 - * @param wCurrent  
53 - * @throws Exception  
54 - * @return  
55 - * @exception  
56 - */  
57 - @PostMapping(value="/save")  
58 - @ApiOperation(value = "新增,更新活期账户数据", httpMethod = "POST", notes = "新增,更新活期账户数据")  
59 - public CommonResult<String> save(@ApiParam(name="WCurrent",value="活期账户对象", required = true)@RequestBody WCurrent wCurrent) throws Exception{  
60 - String msg = StringUtil.isEmpty(wCurrent.getId()) ? "添加活期账户成功" : "更新活期账户成功";  
61 - baseService.createOrUpdate(wCurrent);  
62 - return CommonResult.<String>ok().message(msg);  
63 - }  
64 -  
65 - @GetMapping(value="/getHistoricalDetail")  
66 - public CommonResult getHistoricalDetail() throws Exception{  
67 - List<WCurrent> data = baseService.getHistoricalDetail();  
68 - return new CommonResult(true, "成功", data);  
69 - }  
70 -  
71 - /**  
72 - * 导出  
73 - * @param response  
74 - * @throws Exception  
75 - */  
76 - @GetMapping("exportYchzb")  
77 - public void exportYchzb(HttpServletResponse response) throws Exception {  
78 - String date="2024-07-04";  
79 - HashMap map=new HashMap();  
80 - map.put("date",date);  
81 - List<String> gslxList = baseService.getCurrentOrgTypeList();  
82 - List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();  
83 - BigDecimal hz = new BigDecimal(0.00);  
84 - for (String orgType : gslxList) {  
85 - List<HashMap<String,String>> listData = baseService.getCurrentAccountBalanceList(orgType,date+" 00:00:00");  
86 -  
87 - BigDecimal totalBalance = listData.stream()  
88 - .filter(d -> d.containsKey("F_account_balance")) // 确保键存在  
89 - .map(d -> {  
90 - Object value = d.get("F_account_balance");  
91 - if (value instanceof Number) {  
92 - return new BigDecimal(value.toString());  
93 - }  
94 - return new BigDecimal(0.00);  
95 - })  
96 - .filter(Objects::nonNull) // 确保值非空  
97 - .reduce(BigDecimal.ZERO, BigDecimal::add); // 计算总和 38 + /**
  39 + * 根据id获取活期账户数据详情
  40 + *
  41 + * @param id
  42 + * @return
  43 + * @throws Exception ModelAndView
  44 + */
  45 + @GetMapping(value = "/getDetail")
  46 + @ApiOperation(value = "根据id获取活期账户数据详情", httpMethod = "GET", notes = "根据id获取活期账户数据详情")
  47 + public CommonResult<WCurrent> getDetail(@ApiParam(name = "id", value = "业务对象主键", required = true) @RequestParam(required = true) String id) throws Exception {
  48 + return CommonResult.<WCurrent>ok().value(baseService.getDetail(id));
  49 + }
98 50
  51 + /**
  52 + * 新增,更新活期账户
  53 + *
  54 + * @param wCurrent
  55 + * @return
  56 + * @throws Exception
  57 + * @throws
  58 + */
  59 + @PostMapping(value = "/save")
  60 + @ApiOperation(value = "新增,更新活期账户数据", httpMethod = "POST", notes = "新增,更新活期账户数据")
  61 + public CommonResult<String> save(@ApiParam(name = "WCurrent", value = "活期账户对象", required = true) @RequestBody WCurrent wCurrent) throws Exception {
  62 + String msg = StringUtil.isEmpty(wCurrent.getId()) ? "添加活期账户成功" : "更新活期账户成功";
  63 + baseService.createOrUpdate(wCurrent);
  64 + return CommonResult.<String>ok().message(msg);
  65 + }
99 66
100 - if (listData!=null && listData.size()>0){ 67 + @GetMapping(value = "/getHistoricalDetail")
  68 + public CommonResult getHistoricalDetail() throws Exception {
  69 + List<WCurrent> data = baseService.getHistoricalDetail();
  70 + return new CommonResult(true, "成功", data);
  71 + }
101 72
102 - HashMap<String, String> hzMap = new HashMap<>();  
103 - hzMap.put("F_org_type","小计");  
104 - hzMap.put("F_org_name","");  
105 - hzMap.put("F_account_balance",String.valueOf(totalBalance));  
106 - hz=hz.add(totalBalance);  
107 - listData.add(hzMap);  
108 - }  
109 - list.addAll(listData);  
110 - }  
111 - HashMap<String, String> hzMap = new HashMap<>();  
112 - hzMap.put("F_org_type","汇总");  
113 - hzMap.put("F_org_name","");  
114 - hzMap.put("F_account_balance",String.valueOf(hz));  
115 - list.add(hzMap); 73 + /**
  74 + * 导出
  75 + *
  76 + * @param response
  77 + * @throws Exception
  78 + */
  79 + @GetMapping("exportYchzb")
  80 + public void exportYchzb(HttpServletResponse response, String date) throws Exception {
  81 +// date="2024-07-04";
  82 + HashMap map = new HashMap();
  83 + map.put("date", date);
  84 + List<String> gslxList = baseService.getCurrentOrgTypeList();
  85 + List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
  86 + BigDecimal hz = new BigDecimal(0.00);
  87 + for (String orgType : gslxList) {
  88 + List<HashMap<String, String>> listData = baseService.getCurrentAccountBalanceList(orgType, date + " 00:00:00");
  89 + BigDecimal totalBalance = listData.stream()
  90 + .filter(d -> d.containsKey("F_account_balance")) // 确保键存在
  91 + .map(d -> {
  92 + Object value = d.get("F_account_balance");
  93 + if (value instanceof Number) {
  94 + return new BigDecimal(value.toString());
  95 + }
  96 + return new BigDecimal(0.00);
  97 + })
  98 + .filter(Objects::nonNull) // 确保值非空
  99 + .reduce(BigDecimal.ZERO, BigDecimal::add); // 计算总和
  100 + if (listData != null && listData.size() > 0) {
  101 + HashMap<String, String> hzMap = new HashMap<>();
  102 + hzMap.put("F_org_type", "小计");
  103 + hzMap.put("F_org_name", "");
  104 + hzMap.put("F_account_balance", String.valueOf(totalBalance));
  105 + hz = hz.add(totalBalance);
  106 + listData.add(hzMap);
  107 + }
  108 + list.addAll(listData);
  109 + }
  110 + HashMap<String, String> hzMap = new HashMap<>();
  111 + hzMap.put("F_org_type", "汇总");
  112 + hzMap.put("F_org_name", "");
  113 + hzMap.put("F_account_balance", String.valueOf(hz));
  114 + list.add(hzMap);
116 115
117 - map.put("list",list);  
118 - TemplateExportParams params = new TemplateExportParams("doc/hqzhAll.xls");  
119 - params.setColForEach(true);  
120 - Workbook workbook = ExcelExportUtil.exportExcel(params, map);  
121 - String filedisplay="正常账户可用余额.xls";  
122 - response.setContentType("APPLICATION/OCTET-STREAM");  
123 - response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");  
124 - response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(filedisplay, "utf-8") );  
125 - OutputStream os = null;  
126 - try {  
127 - os = response.getOutputStream();  
128 - workbook.write(os);  
129 - os.flush();  
130 - os.close();  
131 - } catch (Exception e) {  
132 - e.printStackTrace();  
133 - } finally {  
134 - if (os != null)  
135 - os.close();  
136 - }  
137 - } 116 + map.put("list", list);
  117 + TemplateExportParams params = new TemplateExportParams("doc/hqzhAll.xls");
  118 + params.setColForEach(true);
  119 + Workbook workbook = ExcelExportUtil.exportExcel(params, map);
  120 + String filedisplay = "正常账户可用余额.xls";
  121 + response.setContentType("APPLICATION/OCTET-STREAM");
  122 + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
  123 + response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filedisplay, "utf-8"));
  124 + OutputStream os = null;
  125 + try {
  126 + os = response.getOutputStream();
  127 + workbook.write(os);
  128 + os.flush();
  129 + os.close();
  130 + } catch (Exception e) {
  131 + e.printStackTrace();
  132 + } finally {
  133 + if (os != null)
  134 + os.close();
  135 + }
  136 + }
138 137
139 } 138 }