| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- package com.ydtech.modules.inv.controller;
- import com.alibaba.excel.EasyExcel;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageResult;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.esm.model.EsmInsCompany;
- import com.ydtech.modules.inv.model.po.InvChannelAccount;
- import com.ydtech.modules.inv.model.po.InvSettlementSource;
- import com.ydtech.modules.inv.model.po.InvSource;
- import com.ydtech.modules.inv.model.po.QueryInvChannelAccount;
- import com.ydtech.modules.inv.model.vo.*;
- import com.ydtech.modules.inv.service.InvChannelAccountService;
- import com.ydtech.modules.inv.service.InvReceivableService;
- import com.ydtech.modules.inv.utils.EasyExcelUtils;
- import com.ydtech.modules.order.entity.BasePageResult;
- import com.ydtech.utils.excel.ExcelUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.apache.poi.ss.formula.functions.T;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.web.bind.annotation.*;
- import java.io.IOException;
- import java.nio.file.Files;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- import java.time.LocalDate;
- import java.time.LocalDateTime;
- import java.time.YearMonth;
- import java.time.format.DateTimeFormatter;
- import java.util.List;
- /**
- *
- * @author jianlong
- * @date 2024-01-05 09:31
- */
- @Api(tags = "应收应付 - 数据查询", value = "应收应付数据查询")
- @RequestMapping("/InsReceivable")
- @RestController
- public class InvReceivableController extends BaseController {
- @Autowired
- private InvReceivableService invReceivableService;
- @Value("${upload.file.path}")
- private String uploadPath;
- @Value("${upload.file.url}")
- private String uploadUrl;
- @ApiOperation("应收导入数据分页查询")
- @PostMapping("receivablePage")
- public HttpResult<PageResult> receivablePage(@RequestBody InvSourceQueryVo invSourceQueryVo){
- IPage<InvSource> recivablePage = invReceivableService.getRecivablePage(invSourceQueryVo);
- PageResult pageResult = buildPageResponse(recivablePage);
- return HttpResult.ok(pageResult);
- }
- @ApiOperation("应收导入数据修改")
- @PostMapping("receivableUpdates")
- public HttpResult updateRecivable(@RequestBody InvSource invSource){
- Boolean b = invReceivableService.updateRecivable(invSource);
- return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
- }
- @ApiOperation("应收导入批量数据修改")
- @PostMapping("receivableUpdateBatch")
- public HttpResult updateRecivableBatch(@RequestBody InvSource invSource){
- Boolean b = invReceivableService.updateRecivableBatch(invSource);
- return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
- }
- @ApiOperation("应收表导出")
- @PostMapping("exportReceivable")
- public HttpResult<PageResult> exportReceivable(@RequestBody InvSourceQueryVo invSourceQueryVo) throws IOException {
- List<InvSource> recivablePage = invReceivableService.getRecivableList(invSourceQueryVo);
- String uploadPath = this.uploadPath + "/excel/";
- Path path = Paths.get(uploadPath);
- if(!Files.exists(path)){
- Files.createDirectories(path);
- }
- String fileName = EasyExcelUtils.downExcel(uploadPath, "应收表", InvSource.class, recivablePage);
- return HttpResult.ok(uploadUrl + "excel/" +fileName);
- }
- @ApiOperation("应收导入删除")
- @PostMapping("deleteReceivable")
- public HttpResult deleteReceivable(@RequestBody String[] ids){
- Boolean b = invReceivableService.deleteReceivable(ids);
- return b ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
- }
- @ApiOperation("结算导入数据分页查询")
- @PostMapping("settlementPage")
- public HttpResult<PageResult> settlementPage(@RequestBody InvSettlementSourceQueryVo invSettlementSourceQueryVo){
- IPage<InvSettlementSource> recivablePage = invReceivableService.getSettlementPage(invSettlementSourceQueryVo);
- PageResult pageResult = buildPageResponse(recivablePage);
- return HttpResult.ok(pageResult);
- }
- @ApiOperation("结算导入数据修改")
- @PostMapping("updateSettlement")
- public HttpResult updateSettlement(@RequestBody InvSettlementSource invSettlementSource){
- Boolean b = invReceivableService.updateSettlement(invSettlementSource);
- return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
- }
- @ApiOperation("结算导出")
- @PostMapping("exportSettlement")
- public HttpResult<PageResult> exportSettlement(@RequestBody InvSettlementSourceQueryVo invSettlementSourceQueryVo) throws IOException {
- List<InvSettlementSource> recivableList = invReceivableService.getSettlementList(invSettlementSourceQueryVo);
- String uploadPath = this.uploadPath + "/excel/";
- Path path = Paths.get(uploadPath);
- if(!Files.exists(path)){
- Files.createDirectories(path);
- }
- String fileName = EasyExcelUtils.downExcel(uploadPath, "结算表", InvSettlementSource.class, recivableList);
- return HttpResult.ok(uploadUrl + "excel/" +fileName);
- }
- @ApiOperation("应收结果")
- @GetMapping("receivableResult")
- public HttpResult<BasePageResult<ReceivableResultVo>> receivableResult(String yearMonthStr,String insuranceId){
- // 获取当前年月
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
- YearMonth yearMonth = YearMonth.parse(yearMonthStr, formatter);
- // 获取当前月份的最大天数
- int maxDaysInMonth = yearMonth.lengthOfMonth();
- List<ReceivableResultVo> invChannelAccountList = invReceivableService.getReceivableList(yearMonth.toString() + "-01",yearMonth.toString() + "-" + String.valueOf(maxDaysInMonth),insuranceId);
- BasePageResult<ReceivableResultVo> invChannelAccountBasePageResult = new BasePageResult<>(0, 0, 0, 0, invChannelAccountList);
- return HttpResult.ok(invChannelAccountBasePageResult);
- }
- @ApiOperation("签单日期结算来源表")
- @GetMapping("signingSourceResult")
- public HttpResult<BasePageResult<SigningSourceResultVo>> signingSourceResult(String yearMonthStr){
- // 获取当前年月
- String startMonth = yearMonthStr + "-01-01";
- String endMonth = yearMonthStr + "-12-31";
- List<SigningSourceResultVo> invChannelAccountList = invReceivableService.getSigningSourceResult(yearMonthStr,startMonth,endMonth);
- BasePageResult<SigningSourceResultVo> invChannelAccountBasePageResult = new BasePageResult<>(0, 0, 0, 0, invChannelAccountList);
- return HttpResult.ok(invChannelAccountBasePageResult);
- }
- @ApiOperation("结算日期结算来源表")
- @GetMapping("settlementSourceResult")
- public HttpResult<BasePageResult<SettlementSourceResultVo>> settlementSourceResult(String yearMonthStr,String insuranceId){
- // 获取当前年月
- List<SettlementSourceResultVo> invChannelAccountList = invReceivableService.getSettlementSourceResult(yearMonthStr,insuranceId);
- BasePageResult<SettlementSourceResultVo> invChannelAccountBasePageResult = new BasePageResult<>(0, 0, 0, 0, invChannelAccountList);
- return HttpResult.ok(invChannelAccountBasePageResult);
- }
- @ApiOperation("同步应收表与结算表的状态")
- @GetMapping("syncStatus")
- public HttpResult syncStatus(){
- Integer i = invReceivableService.syncStatus();
- return HttpResult.ok("同步成功,共同步" + i + "条数据");
- }
- @ApiOperation("获取保险公司")
- @GetMapping("getInsureCompany")
- public HttpResult getInsureCompany(){
- List<EsmInsCompany> insureCompany = invReceivableService.getInsureCompany();
- return HttpResult.ok(insureCompany);
- }
- @ApiOperation("应收应付表")
- @PostMapping("receivableAndSettlement")
- public HttpResult<PageResult> receivableAndSettlement(@RequestBody ReceivableAndSettlementQueryVo receivableAndSettlementQueryVo){
- Page<ReceivableAndSettlementVo> invChannelAccountList = invReceivableService.getReceivableAndSettlementPage(receivableAndSettlementQueryVo);
- PageResult pageResult = buildPageResponse(invChannelAccountList);
- return HttpResult.ok(pageResult);
- }
- @ApiOperation("导出应收应付表")
- @PostMapping("excelReceivableAndSettlement")
- public HttpResult excelReceivableAndSettlement(@RequestBody ReceivableAndSettlementQueryVo receivableAndSettlementQueryVo) throws IOException {
- String uploadPath = this.uploadPath + "/excel/";
- Path path = Paths.get(uploadPath);
- if(!Files.exists(path)){
- Files.createDirectories(path);
- }
- List<ReceivableAndSettlementVo> invChannelAccountList = invReceivableService.getReceivableAndSettlementList(receivableAndSettlementQueryVo);
- String fileName = EasyExcelUtils.downExcel(uploadPath, "应收应付表", ReceivableAndSettlementVo.class, invChannelAccountList);
- return HttpResult.ok(uploadUrl + "excel/" +fileName);
- }
- }
|