diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WCurrentController.java b/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WCurrentController.java index fe8bbb6..4c61367 100644 --- a/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WCurrentController.java +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WCurrentController.java @@ -27,113 +27,112 @@ import java.util.*; /** * 活期账户 前端控制器 * - * @company 广州宏天软件股份有限公司 * @author cw + * @company 广州宏天软件股份有限公司 * @since 2024-07-05 */ @RestController @RequestMapping("/wCurrent/v1/") public class WCurrentController extends BaseController { - /** - * 根据id获取活期账户数据详情 - * @param id - * @return - * @throws Exception - * ModelAndView - */ - @GetMapping(value="/getDetail") - @ApiOperation(value="根据id获取活期账户数据详情",httpMethod = "GET",notes = "根据id获取活期账户数据详情") - public CommonResult getDetail(@ApiParam(name="id",value="业务对象主键", required = true)@RequestParam(required=true) String id) throws Exception{ - return CommonResult.ok().value(baseService.getDetail(id)); - } - /** - * 新增,更新活期账户 - * @param wCurrent - * @throws Exception - * @return - * @exception - */ - @PostMapping(value="/save") - @ApiOperation(value = "新增,更新活期账户数据", httpMethod = "POST", notes = "新增,更新活期账户数据") - public CommonResult save(@ApiParam(name="WCurrent",value="活期账户对象", required = true)@RequestBody WCurrent wCurrent) throws Exception{ - String msg = StringUtil.isEmpty(wCurrent.getId()) ? "添加活期账户成功" : "更新活期账户成功"; - baseService.createOrUpdate(wCurrent); - return CommonResult.ok().message(msg); - } - - @GetMapping(value="/getHistoricalDetail") - public CommonResult getHistoricalDetail() throws Exception{ - List data = baseService.getHistoricalDetail(); - return new CommonResult(true, "成功", data); - } - - /** - * 导出 - * @param response - * @throws Exception - */ - @GetMapping("exportYchzb") - public void exportYchzb(HttpServletResponse response) throws Exception { - String date="2024-07-04"; - HashMap map=new HashMap(); - map.put("date",date); - List gslxList = baseService.getCurrentOrgTypeList(); - List> list = new ArrayList>(); - BigDecimal hz = new BigDecimal(0.00); - for (String orgType : gslxList) { - List> listData = baseService.getCurrentAccountBalanceList(orgType,date+" 00:00:00"); - - BigDecimal totalBalance = listData.stream() - .filter(d -> d.containsKey("F_account_balance")) // 确保键存在 - .map(d -> { - Object value = d.get("F_account_balance"); - if (value instanceof Number) { - return new BigDecimal(value.toString()); - } - return new BigDecimal(0.00); - }) - .filter(Objects::nonNull) // 确保值非空 - .reduce(BigDecimal.ZERO, BigDecimal::add); // 计算总和 + /** + * 根据id获取活期账户数据详情 + * + * @param id + * @return + * @throws Exception ModelAndView + */ + @GetMapping(value = "/getDetail") + @ApiOperation(value = "根据id获取活期账户数据详情", httpMethod = "GET", notes = "根据id获取活期账户数据详情") + public CommonResult getDetail(@ApiParam(name = "id", value = "业务对象主键", required = true) @RequestParam(required = true) String id) throws Exception { + return CommonResult.ok().value(baseService.getDetail(id)); + } + /** + * 新增,更新活期账户 + * + * @param wCurrent + * @return + * @throws Exception + * @throws + */ + @PostMapping(value = "/save") + @ApiOperation(value = "新增,更新活期账户数据", httpMethod = "POST", notes = "新增,更新活期账户数据") + public CommonResult save(@ApiParam(name = "WCurrent", value = "活期账户对象", required = true) @RequestBody WCurrent wCurrent) throws Exception { + String msg = StringUtil.isEmpty(wCurrent.getId()) ? "添加活期账户成功" : "更新活期账户成功"; + baseService.createOrUpdate(wCurrent); + return CommonResult.ok().message(msg); + } - if (listData!=null && listData.size()>0){ + @GetMapping(value = "/getHistoricalDetail") + public CommonResult getHistoricalDetail() throws Exception { + List data = baseService.getHistoricalDetail(); + return new CommonResult(true, "成功", data); + } - HashMap hzMap = new HashMap<>(); - hzMap.put("F_org_type","小计"); - hzMap.put("F_org_name",""); - hzMap.put("F_account_balance",String.valueOf(totalBalance)); - hz=hz.add(totalBalance); - listData.add(hzMap); - } - list.addAll(listData); - } - HashMap hzMap = new HashMap<>(); - hzMap.put("F_org_type","汇总"); - hzMap.put("F_org_name",""); - hzMap.put("F_account_balance",String.valueOf(hz)); - list.add(hzMap); + /** + * 导出 + * + * @param response + * @throws Exception + */ + @GetMapping("exportYchzb") + public void exportYchzb(HttpServletResponse response, String date) throws Exception { +// date="2024-07-04"; + HashMap map = new HashMap(); + map.put("date", date); + List gslxList = baseService.getCurrentOrgTypeList(); + List> list = new ArrayList>(); + BigDecimal hz = new BigDecimal(0.00); + for (String orgType : gslxList) { + List> listData = baseService.getCurrentAccountBalanceList(orgType, date + " 00:00:00"); + BigDecimal totalBalance = listData.stream() + .filter(d -> d.containsKey("F_account_balance")) // 确保键存在 + .map(d -> { + Object value = d.get("F_account_balance"); + if (value instanceof Number) { + return new BigDecimal(value.toString()); + } + return new BigDecimal(0.00); + }) + .filter(Objects::nonNull) // 确保值非空 + .reduce(BigDecimal.ZERO, BigDecimal::add); // 计算总和 + if (listData != null && listData.size() > 0) { + HashMap hzMap = new HashMap<>(); + hzMap.put("F_org_type", "小计"); + hzMap.put("F_org_name", ""); + hzMap.put("F_account_balance", String.valueOf(totalBalance)); + hz = hz.add(totalBalance); + listData.add(hzMap); + } + list.addAll(listData); + } + HashMap hzMap = new HashMap<>(); + hzMap.put("F_org_type", "汇总"); + hzMap.put("F_org_name", ""); + hzMap.put("F_account_balance", String.valueOf(hz)); + list.add(hzMap); - map.put("list",list); - TemplateExportParams params = new TemplateExportParams("doc/hqzhAll.xls"); - params.setColForEach(true); - Workbook workbook = ExcelExportUtil.exportExcel(params, map); - String filedisplay="正常账户可用余额.xls"; - response.setContentType("APPLICATION/OCTET-STREAM"); - response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); - response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(filedisplay, "utf-8") ); - OutputStream os = null; - try { - os = response.getOutputStream(); - workbook.write(os); - os.flush(); - os.close(); - } catch (Exception e) { - e.printStackTrace(); - } finally { - if (os != null) - os.close(); - } - } + map.put("list", list); + TemplateExportParams params = new TemplateExportParams("doc/hqzhAll.xls"); + params.setColForEach(true); + Workbook workbook = ExcelExportUtil.exportExcel(params, map); + String filedisplay = "正常账户可用余额.xls"; + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filedisplay, "utf-8")); + OutputStream os = null; + try { + os = response.getOutputStream(); + workbook.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (os != null) + os.close(); + } + } } -- libgit2 0.21.2