Browse Source

费用管理中的发票管理添加进账记录 添加进账时间搜索

y 2 years ago
parent
commit
f92ff169f3

+ 2 - 59
src/main/java/com/ydtech/modules/inv/controller/InvAccountIncoiceController.java

@@ -44,8 +44,7 @@ public class InvAccountIncoiceController {
     @Resource
     @Resource
     private InvAccountIncoiceService invAccountIncoiceService;
     private InvAccountIncoiceService invAccountIncoiceService;
 
 
-    @Resource
-    private InvAccountOperateService invAccountOperateService;
+
 
 
 
 
     @PostMapping("excel")
     @PostMapping("excel")
@@ -63,64 +62,8 @@ public class InvAccountIncoiceController {
     @PostMapping("page")
     @PostMapping("page")
     @ApiOperation("分页查询")
     @ApiOperation("分页查询")
     public HttpResult selectAll(@RequestBody InvAccountIncoiceQueryVo invAccountIncoice) {
     public HttpResult selectAll(@RequestBody InvAccountIncoiceQueryVo invAccountIncoice) {
-        /**
-         * 构造分页参数
-         */
-        PageRequest pageRequest = new PageRequest();
-        pageRequest.setPageNum(invAccountIncoice.getPageNo());
-        pageRequest.setPageSize(invAccountIncoice.getPageSize());
-        Page<InvAccountIncoice> page = PageRequest.buildPageRequest(pageRequest);
-        LambdaQueryWrapper<InvAccountIncoice> lambdaQuery = new LambdaQueryWrapper<>();
-
-        /**
-         * 如果有开票时间范围,查询开票记录表
-         */
-        if (invAccountIncoice.getApplyTimeStart() != null && invAccountIncoice.getApplyTimeEnd() != null) {
-            LambdaQueryWrapper<InvAccountOperate> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-            lambdaQueryWrapper.ge(InvAccountOperate::getCreateTime, invAccountIncoice.getApplyTimeStart());
-            lambdaQueryWrapper.le(InvAccountOperate::getCreateTime, invAccountIncoice.getApplyTimeEnd());
-            lambdaQueryWrapper.isNotNull(InvAccountOperate::getInvoiceId);
-            List<InvAccountOperate> list = invAccountOperateService.list(lambdaQueryWrapper);
-            List<String> collect = list.stream().map(InvAccountOperate::getInvoiceId).collect(Collectors.toList());
-            //将开票id集合放入查询中
-            lambdaQueryWrapper.in(InvAccountOperate::getInvoiceId, collect);
-        }
-        lambdaQuery
-                .like(!StringUtils.isEmpty(invAccountIncoice.getBiller()), InvAccountIncoice::getBiller, invAccountIncoice.getBiller())
-                .like(!StringUtils.isEmpty(invAccountIncoice.getInvoiceBy()), InvAccountIncoice::getInvoiceBy,
-                        invAccountIncoice.getInvoiceBy())
-                .eq(InvAccountIncoice::getDelFlag, "0")
-                .eq(!StringUtils.isEmpty(invAccountIncoice.getInvoiceType()), InvAccountIncoice::getInvoiceType,
-                        invAccountIncoice.getInvoiceType())
-                .like(!StringUtils.isEmpty(invAccountIncoice.getOtherUnit()), InvAccountIncoice::getOtherUnit, invAccountIncoice.getOtherUnit())
-                .like(!StringUtils.isEmpty(invAccountIncoice.getClearFlag()), InvAccountIncoice::getClearFlag, invAccountIncoice.getClearFlag());
-
-        if (!ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTimeStart()) && !ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTimeEnd())) {
-            lambdaQuery.ge(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTimeStart().toString());
-            lambdaQuery.le(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTimeEnd().toString());
-        }
-        lambdaQuery.orderByDesc(InvAccountIncoice::getInvoiceTime);
-
-        Page<InvAccountIncoice> invAccountIncoicePage = this.invAccountIncoiceService.page(page, lambdaQuery);
-
-        /**
-         * 合计
-         */
-        InvAccountIncoiceResult invAccountIncoiceResult = this.invAccountIncoiceService.selectAccountIncoice(invAccountIncoice);
-        if (invAccountIncoiceResult == null) {
-            InvAccountIncoiceResult invAccountIncoiceResult1 = new InvAccountIncoiceResult();
-            invAccountIncoiceResult1.setRecords(invAccountIncoicePage.getRecords());
-            invAccountIncoiceResult1.setCurrent(invAccountIncoice.getPageNo());
-            invAccountIncoiceResult1.setTotal(invAccountIncoicePage.getTotal());
-            invAccountIncoiceResult1.setSize(invAccountIncoice.getPageSize());
-            return HttpResult.ok(invAccountIncoiceResult1);
-        }
-        invAccountIncoiceResult.setRecords(invAccountIncoicePage.getRecords());
-        invAccountIncoiceResult.setCurrent(invAccountIncoice.getPageNo());
-        invAccountIncoiceResult.setTotal(invAccountIncoicePage.getTotal());
-        invAccountIncoiceResult.setSize(invAccountIncoice.getPageSize());
 
 
-        return HttpResult.ok(invAccountIncoiceResult);
+        return invAccountIncoiceService.selectPage(invAccountIncoice);
     }
     }
 
 
     /**
     /**

+ 2 - 0
src/main/java/com/ydtech/modules/inv/service/InvAccountIncoiceService.java

@@ -25,4 +25,6 @@ public interface InvAccountIncoiceService extends IService<InvAccountIncoice> {
 
 
     String excel(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo);
     String excel(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo);
 
 
+    HttpResult selectPage(InvAccountIncoiceQueryVo invAccountIncoice);
+
 }
 }

+ 91 - 7
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountIncoiceServiceImpl.java

@@ -5,9 +5,11 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.constants.enums.inv.InvoiceTypeEnum;
 import com.ydtech.constants.enums.inv.InvoiceTypeEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.dao.InvAccountIncoiceMapper;
 import com.ydtech.modules.inv.dao.InvAccountIncoiceMapper;
@@ -28,6 +30,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 import static com.ydtech.modules.inv.utils.TransferUtils.*;
 import static com.ydtech.modules.inv.utils.TransferUtils.*;
 
 
@@ -164,7 +167,6 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         outInvAccountOperate.setCreateBy(baseController.getUserName());
         outInvAccountOperate.setCreateBy(baseController.getUserName());
 
 
 
 
-
         //放入操作记录list中
         //放入操作记录list中
         List<InvAccountOperate> invAccountOperateList = new ArrayList<>();
         List<InvAccountOperate> invAccountOperateList = new ArrayList<>();
         invAccountOperateList.add(outInvAccountOperate);
         invAccountOperateList.add(outInvAccountOperate);
@@ -182,8 +184,8 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
 
 
                 //归属列表
                 //归属列表
                 List<InvAccountOp> list = new ArrayList<>();
                 List<InvAccountOp> list = new ArrayList<>();
-                List<InvAccountOp> list1 = invAccountEntOpList(entProfit, revInvAccount, entCard,invAccountOperateList.get(0).getAccountOperateId());
-                List<InvAccountOp> list2 = invAccountOutOpList(outProfit, outInvAccount, outCard,invAccountOperateList.get(0).getAccountOperateId());
+                List<InvAccountOp> list1 = invAccountEntOpList(entProfit, revInvAccount, entCard, invAccountOperateList.get(0).getAccountOperateId());
+                List<InvAccountOp> list2 = invAccountOutOpList(outProfit, outInvAccount, outCard, invAccountOperateList.get(0).getAccountOperateId());
                 //将发票id放入  防止撤销发票时对应归属没删掉
                 //将发票id放入  防止撤销发票时对应归属没删掉
                 list1.forEach(invAccountOp -> {
                 list1.forEach(invAccountOp -> {
                     invAccountOp.setInvoiceId(invAccountIncoice1.getInvoiceId());
                     invAccountOp.setInvoiceId(invAccountIncoice1.getInvoiceId());
@@ -206,8 +208,8 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
 
 
                 //归属列表
                 //归属列表
                 List<InvAccountOp> list = new ArrayList<>();
                 List<InvAccountOp> list = new ArrayList<>();
-                List<InvAccountOp> list1 = invAccountEntOpList(entProfit, revInvAccount, entCard,invAccountOperateList.get(0).getAccountOperateId());
-                List<InvAccountOp> list2 = invAccountOutOpList(outProfit, outInvAccount, outCard,invAccountOperateList.get(0).getAccountOperateId());
+                List<InvAccountOp> list1 = invAccountEntOpList(entProfit, revInvAccount, entCard, invAccountOperateList.get(0).getAccountOperateId());
+                List<InvAccountOp> list2 = invAccountOutOpList(outProfit, outInvAccount, outCard, invAccountOperateList.get(0).getAccountOperateId());
                 //将发票id放入  防止撤销发票时对应归属没删掉
                 //将发票id放入  防止撤销发票时对应归属没删掉
                 list1.forEach(invAccountOp -> {
                 list1.forEach(invAccountOp -> {
                     invAccountOp.setInvoiceId(invAccountIncoice1.getInvoiceId());
                     invAccountOp.setInvoiceId(invAccountIncoice1.getInvoiceId());
@@ -269,7 +271,7 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
 
 
         InvAccount entAccount = invAccountService.getById(enterAccount.getAccountId());
         InvAccount entAccount = invAccountService.getById(enterAccount.getAccountId());
         //新增收入回滚操作
         //新增收入回滚操作
-        List<InvAccountCard> invAccount = quashOutsideTransfer(outAccount, enterAccount, new BigDecimal(enInvAccountIncoice.getPayoutMoney()),entAccount);
+        List<InvAccountCard> invAccount = quashOutsideTransfer(outAccount, enterAccount, new BigDecimal(enInvAccountIncoice.getPayoutMoney()), entAccount);
         BaseController baseController = new BaseController();
         BaseController baseController = new BaseController();
 
 
         InvAccountOperate invAccountOperate = new InvAccountOperate();
         InvAccountOperate invAccountOperate = new InvAccountOperate();
@@ -300,11 +302,12 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
 
 
     /**
     /**
      * 统计总和
      * 统计总和
+     *
      * @param invAccountIncoiceQueryVo
      * @param invAccountIncoiceQueryVo
      * @return
      * @return
      */
      */
     @Override
     @Override
-    public InvAccountIncoiceResult  selectAccountIncoice(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo) {
+    public InvAccountIncoiceResult selectAccountIncoice(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo) {
         return invAccountIncoiceMapper.selectAccountIncoice(invAccountIncoiceQueryVo);
         return invAccountIncoiceMapper.selectAccountIncoice(invAccountIncoiceQueryVo);
     }
     }
 
 
@@ -353,5 +356,86 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         }
         }
     }
     }
 
 
+    @Override
+    public HttpResult selectPage(InvAccountIncoiceQueryVo invAccountIncoice) {
+        /**
+         * 构造分页参数
+         */
+        PageRequest pageRequest = new PageRequest();
+        pageRequest.setPageNum(invAccountIncoice.getPageNo());
+        pageRequest.setPageSize(invAccountIncoice.getPageSize());
+        Page<InvAccountIncoice> page = PageRequest.buildPageRequest(pageRequest);
+        LambdaQueryWrapper<InvAccountIncoice> lambdaQuery = new LambdaQueryWrapper<>();
+
+        /**
+         * 如果有开票时间范围,查询开票记录表
+         */
+        if (invAccountIncoice.getApplyTimeStart() != null && invAccountIncoice.getApplyTimeEnd() != null) {
+            LambdaQueryWrapper<InvAccountOperate> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper.ge(InvAccountOperate::getCreateTime, invAccountIncoice.getApplyTimeStart());
+            lambdaQueryWrapper.le(InvAccountOperate::getCreateTime, invAccountIncoice.getApplyTimeEnd());
+            lambdaQueryWrapper.isNotNull(InvAccountOperate::getInvoiceId);
+            List<InvAccountOperate> list = invAccountOperateService.list(lambdaQueryWrapper);
+            List<String> collect = list.stream().map(InvAccountOperate::getInvoiceId).collect(Collectors.toList());
+            //将开票id集合放入查询中
+            if (!collect.isEmpty()) {
+                lambdaQuery.in(InvAccountIncoice::getInvoiceId, collect);
+                InvAccountIncoiceResult invAccountIncoiceResult = selectAccountIncoice(lambdaQuery, invAccountIncoice, page);
+                return HttpResult.ok(invAccountIncoiceResult);
+            }
+
+            InvAccountIncoiceResult invAccountIncoiceResult1 = new InvAccountIncoiceResult();
+            List<InvAccountIncoice> list1 = new ArrayList<>();
+            invAccountIncoiceResult1.setRecords(list1);
+            invAccountIncoiceResult1.setCurrent(invAccountIncoice.getPageNo());
+            invAccountIncoiceResult1.setTotal(0);
+            invAccountIncoiceResult1.setSize(invAccountIncoice.getPageSize());
+            return HttpResult.ok(invAccountIncoiceResult1);
+
+        } else {
+            InvAccountIncoiceResult invAccountIncoiceResult = selectAccountIncoice(lambdaQuery, invAccountIncoice, page);
+            return HttpResult.ok(invAccountIncoiceResult);
+        }
+    }
+
+
+    private InvAccountIncoiceResult selectAccountIncoice(LambdaQueryWrapper<InvAccountIncoice> lambdaQuery, InvAccountIncoiceQueryVo invAccountIncoice, Page<InvAccountIncoice> page) {
+        lambdaQuery
+                .like(!StringUtils.isEmpty(invAccountIncoice.getBiller()), InvAccountIncoice::getBiller, invAccountIncoice.getBiller())
+                .like(!StringUtils.isEmpty(invAccountIncoice.getInvoiceBy()), InvAccountIncoice::getInvoiceBy,
+                        invAccountIncoice.getInvoiceBy())
+                .eq(InvAccountIncoice::getDelFlag, "0")
+                .eq(!StringUtils.isEmpty(invAccountIncoice.getInvoiceType()), InvAccountIncoice::getInvoiceType,
+                        invAccountIncoice.getInvoiceType())
+                .like(!StringUtils.isEmpty(invAccountIncoice.getOtherUnit()), InvAccountIncoice::getOtherUnit, invAccountIncoice.getOtherUnit())
+                .like(!StringUtils.isEmpty(invAccountIncoice.getClearFlag()), InvAccountIncoice::getClearFlag, invAccountIncoice.getClearFlag());
+
+        if (!ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTimeStart()) && !ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTimeEnd())) {
+            lambdaQuery.ge(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTimeStart().toString());
+            lambdaQuery.le(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTimeEnd().toString());
+        }
+        lambdaQuery.orderByDesc(InvAccountIncoice::getInvoiceTime);
+
+        Page<InvAccountIncoice> invAccountIncoicePage = page(page, lambdaQuery);
+
+        /**
+         * 合计
+         */
+        InvAccountIncoiceResult invAccountIncoiceResult = selectAccountIncoice(invAccountIncoice);
+        if (invAccountIncoiceResult == null) {
+            InvAccountIncoiceResult invAccountIncoiceResult1 = new InvAccountIncoiceResult();
+            invAccountIncoiceResult1.setRecords(invAccountIncoicePage.getRecords());
+            invAccountIncoiceResult1.setCurrent(invAccountIncoice.getPageNo());
+            invAccountIncoiceResult1.setTotal(invAccountIncoicePage.getTotal());
+            invAccountIncoiceResult1.setSize(invAccountIncoice.getPageSize());
+        }
+        invAccountIncoiceResult.setRecords(invAccountIncoicePage.getRecords());
+        invAccountIncoiceResult.setCurrent(invAccountIncoice.getPageNo());
+        invAccountIncoiceResult.setTotal(invAccountIncoicePage.getTotal());
+        invAccountIncoiceResult.setSize(invAccountIncoice.getPageSize());
+
+        return invAccountIncoiceResult;
+    }
+
 }
 }