Răsfoiți Sursa

应收应付

wks 2 ani în urmă
părinte
comite
da9b52430d

+ 38 - 44
src/main/java/com/ydtech/modules/inv/controller/InvReceivableController.java

@@ -1,25 +1,19 @@
 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.*;
@@ -28,15 +22,12 @@ 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
  */
@@ -57,7 +48,7 @@ public class InvReceivableController extends BaseController {
 
     @ApiOperation("应收导入数据分页查询")
     @PostMapping("receivablePage")
-    public HttpResult<PageResult> receivablePage(@RequestBody InvSourceQueryVo invSourceQueryVo){
+    public HttpResult<PageResult> receivablePage(@RequestBody InvSourceQueryVo invSourceQueryVo) {
 
         IPage<InvSource> recivablePage = invReceivableService.getRecivablePage(invSourceQueryVo);
         PageResult pageResult = buildPageResponse(recivablePage);
@@ -66,14 +57,14 @@ public class InvReceivableController extends BaseController {
 
     @ApiOperation("应收导入数据修改")
     @PostMapping("receivableUpdates")
-    public HttpResult updateRecivable(@RequestBody InvSource invSource){
+    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){
+    public HttpResult updateRecivableBatch(@RequestBody InvSource invSource) {
         Boolean b = invReceivableService.updateRecivableBatch(invSource);
         return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
     }
@@ -84,23 +75,23 @@ public class InvReceivableController extends BaseController {
         List<InvSource> recivablePage = invReceivableService.getRecivableList(invSourceQueryVo);
         String uploadPath = this.uploadPath + "/excel/";
         Path path = Paths.get(uploadPath);
-        if(!Files.exists(path)){
+        if (!Files.exists(path)) {
             Files.createDirectories(path);
         }
         String fileName = EasyExcelUtils.downExcel(uploadPath, "应收表", InvSource.class, recivablePage);
-        return HttpResult.ok(uploadUrl + "excel/" +fileName);
+        return HttpResult.ok(uploadUrl + "excel/" + fileName);
     }
 
     @ApiOperation("应收导入新增")
     @PostMapping("addReceivable")
-    public HttpResult addReceivable(@RequestBody InvSource invSource){
+    public HttpResult addReceivable(@RequestBody InvSource invSource) {
         Boolean b = invReceivableService.addReceivable(invSource);
         return b ? HttpResult.ok("新增成功") : HttpResult.error("新增失败");
     }
 
     @ApiOperation("应收导入删除")
     @PostMapping("deleteReceivable")
-    public HttpResult deleteReceivable(@RequestBody String[] ids){
+    public HttpResult deleteReceivable(@RequestBody String[] ids) {
         Boolean b = invReceivableService.deleteReceivable(ids);
         return b ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
     }
@@ -108,7 +99,7 @@ public class InvReceivableController extends BaseController {
 
     @ApiOperation("结算导入数据分页查询")
     @PostMapping("settlementPage")
-    public HttpResult<PageResult> settlementPage(@RequestBody InvSettlementSourceQueryVo invSettlementSourceQueryVo){
+    public HttpResult<PageResult> settlementPage(@RequestBody InvSettlementSourceQueryVo invSettlementSourceQueryVo) {
 
         IPage<InvSettlementSource> recivablePage = invReceivableService.getSettlementPage(invSettlementSourceQueryVo);
         PageResult pageResult = buildPageResponse(recivablePage);
@@ -117,14 +108,14 @@ public class InvReceivableController extends BaseController {
 
     @ApiOperation("结算导入数据修改")
     @PostMapping("updateSettlement")
-    public HttpResult updateSettlement(@RequestBody InvSettlementSource invSettlementSource){
+    public HttpResult updateSettlement(@RequestBody InvSettlementSource invSettlementSource) {
         Boolean b = invReceivableService.updateSettlement(invSettlementSource);
         return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
     }
 
     @ApiOperation("结算导入数据批量修改")
     @PostMapping("updateSettlementBatch")
-    public HttpResult updateSettlementBatch(@RequestBody InvSettlementSource invSettlementSource){
+    public HttpResult updateSettlementBatch(@RequestBody InvSettlementSource invSettlementSource) {
         Boolean b = invReceivableService.updateSettlementBatch(invSettlementSource);
         return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
     }
@@ -135,16 +126,16 @@ public class InvReceivableController extends BaseController {
         List<InvSettlementSource> recivableList = invReceivableService.getSettlementList(invSettlementSourceQueryVo);
         String uploadPath = this.uploadPath + "/excel/";
         Path path = Paths.get(uploadPath);
-        if(!Files.exists(path)){
+        if (!Files.exists(path)) {
             Files.createDirectories(path);
         }
         String fileName = EasyExcelUtils.downExcel(uploadPath, "结算表", InvSettlementSource.class, recivableList);
-        return HttpResult.ok(uploadUrl + "excel/" +fileName);
+        return HttpResult.ok(uploadUrl + "excel/" + fileName);
     }
 
     @ApiOperation("结算导入删除")
     @PostMapping("deleteSettlement")
-    public HttpResult deleteSettlement(@RequestBody String[] ids){
+    public HttpResult deleteSettlement(@RequestBody String[] ids) {
         Boolean b = invReceivableService.deleteSettlement(ids);
         return b ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
     }
@@ -152,55 +143,58 @@ public class InvReceivableController extends BaseController {
 
     @ApiOperation("应收结果")
     @GetMapping("receivableResult")
-    public HttpResult<BasePageResult<ReceivableResultVo>> receivableResult(String yearMonthStr,String insuranceId){
+    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);
+        List<ReceivableResultVo> invChannelAccountList = invReceivableService.getReceivableList(yearMonth + "-01",
+                yearMonth + "-" + 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 insuranceId){
+    public HttpResult<BasePageResult<SigningSourceResultVo>> signingSourceResult(String yearMonthStr, String insuranceId) {
         // 获取当前年月
         String startMonth = yearMonthStr + "-01-01";
         String endMonth = yearMonthStr + "-12-31";
-        List<SigningSourceResultVo> invChannelAccountList = invReceivableService.getSigningSourceResult(yearMonthStr, insuranceId, startMonth,endMonth);
+        List<SigningSourceResultVo> invChannelAccountList = invReceivableService.getSigningSourceResult(yearMonthStr, insuranceId,
+                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){
+    public HttpResult<BasePageResult<SettlementSourceResultVo>> settlementSourceResult(String yearMonthStr, String insuranceId) {
         // 获取当前年月
-        List<SettlementSourceResultVo> invChannelAccountList = invReceivableService.getSettlementSourceResult(yearMonthStr,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(){
+    public HttpResult syncStatus() {
         Integer i = invReceivableService.syncStatus();
         return HttpResult.ok("同步成功,共同步" + i + "条数据");
     }
 
     @ApiOperation("获取保险公司")
     @GetMapping("getInsureCompany")
-    public HttpResult 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);
+    public HttpResult<PageResult> receivableAndSettlement(@RequestBody ReceivableAndSettlementQueryVo receivableAndSettlementQueryVo) {
+        Page<ReceivableAndSettlementVo> invChannelAccountList =
+                invReceivableService.getReceivableAndSettlementPage(receivableAndSettlementQueryVo);
         PageResult pageResult = buildPageResponse(invChannelAccountList);
         return HttpResult.ok(pageResult);
     }
@@ -210,28 +204,28 @@ public class InvReceivableController extends BaseController {
     public HttpResult excelReceivableAndSettlement(@RequestBody ReceivableAndSettlementQueryVo receivableAndSettlementQueryVo) throws IOException {
         String uploadPath = this.uploadPath + "/excel/";
         Path path = Paths.get(uploadPath);
-        if(!Files.exists(path)){
+        if (!Files.exists(path)) {
             Files.createDirectories(path);
         }
-        List<ReceivableAndSettlementVo> invChannelAccountList = invReceivableService.getReceivableAndSettlementList(receivableAndSettlementQueryVo);
+        List<ReceivableAndSettlementVo> invChannelAccountList =
+                invReceivableService.getReceivableAndSettlementList(receivableAndSettlementQueryVo);
         String fileName = EasyExcelUtils.downExcel(uploadPath, "应收应付表", ReceivableAndSettlementVo.class, invChannelAccountList);
-        return HttpResult.ok(uploadUrl + "excel/" +fileName);
+        return HttpResult.ok(uploadUrl + "excel/" + fileName);
     }
 
     @ApiOperation("数据匹配")
     @GetMapping("dataMatching")
-    public HttpResult dataMatching(){
+    public HttpResult dataMatching() {
         List<String> licensenos = invReceivableService.dataMatching();
-        if(licensenos.size() > 0)
-        {
-            String msg = "";
-            for(int i=0;i<licensenos.size();i++){
-                msg += licensenos.get(i) + ",";
+        if (!licensenos.isEmpty()) {
+            StringBuilder msg = new StringBuilder();
+            for (String licenseno : licensenos) {
+                msg.append(licenseno).append(",");
             }
-            msg = msg.substring(0,msg.length()-1);
-            return HttpResult.ok("有"+licensenos.size()+"条数据与应收表数据无法匹配,其中包括:" + msg,true);
+            msg = new StringBuilder(msg.substring(0, msg.length() - 1));
+            return HttpResult.ok("有" + licensenos.size() + "条数据与应收表数据无法匹配,其中包括:" + msg, true);
         }
-        return HttpResult.ok("",false);
+        return HttpResult.ok("", false);
     }
 
 }

+ 12 - 4
src/main/resources/mapper/modules/inv/InvReceivableMapper.xml

@@ -47,7 +47,9 @@
         SELECT
         DATE_FORMAT( signing_time, '%m') as day,
         DATE_FORMAT( signing_time, '%Y-%m' ) as yearmonth,
-        insurance_name,
+        <if test="insuranceId != null and insuranceId != ''">
+            insurance_name,
+        </if>
         sum( jq_premium_tax ) as jq_premium_tax,
         sum(jq_premium) as jq_premium,
         sum(sy_premium_tax) as sy_premium_tax,
@@ -66,10 +68,16 @@
         signing_time BETWEEN #{startTime}
         AND #{endTime}
         <!--and insurance_id = '123'-->
-        and insurance_id = #{insuranceId}
+
+        <if test="insuranceId != null and insuranceId != ''">
+            and insurance_id = #{insuranceId}
+        </if>
+
         GROUP BY
-        insurance_id,
-        insurance_name,
+        <if test="insuranceId != null and insuranceId != ''">
+            insurance_id,
+            insurance_name,
+        </if>
         DATE_FORMAT(
         signing_time,
         '%Y-%m'),