Просмотр исходного кода

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

y 2 лет назад
Родитель
Сommit
c2d1bb0bf7

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

@@ -9,8 +9,10 @@ import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.inv.model.InvAccountIncoice;
 import com.ydtech.modules.inv.model.InvAccountIncoiceResult;
+import com.ydtech.modules.inv.model.InvAccountOperate;
 import com.ydtech.modules.inv.model.vo.InvAccountIncoiceQueryVo;
 import com.ydtech.modules.inv.service.InvAccountIncoiceService;
+import com.ydtech.modules.inv.service.InvAccountOperateService;
 import com.ydtech.utils.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -21,6 +23,7 @@ import javax.annotation.Resource;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import static com.ydtech.modules.inv.service.impl.InvAccountIncoiceServiceImpl.getBigDecimal;
 import static com.ydtech.modules.inv.utils.TransferUtils.isProfitFull;
@@ -41,6 +44,9 @@ public class InvAccountIncoiceController {
     @Resource
     private InvAccountIncoiceService invAccountIncoiceService;
 
+    @Resource
+    private InvAccountOperateService invAccountOperateService;
+
 
     @PostMapping("excel")
     @ApiOperation("导出开票记录表")
@@ -57,11 +63,28 @@ public class InvAccountIncoiceController {
     @PostMapping("page")
     @ApiOperation("分页查询")
     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::getApplyTime, invAccountIncoice.getApplyTimeStart());
+            lambdaQueryWrapper.le(InvAccountOperate::getApplyTime, 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,
@@ -72,7 +95,6 @@ public class InvAccountIncoiceController {
                 .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());
@@ -81,8 +103,11 @@ public class InvAccountIncoiceController {
 
         Page<InvAccountIncoice> invAccountIncoicePage = this.invAccountIncoiceService.page(page, lambdaQuery);
 
+        /**
+         * 合计
+         */
         InvAccountIncoiceResult invAccountIncoiceResult = this.invAccountIncoiceService.selectAccountIncoice(invAccountIncoice);
-        if(invAccountIncoiceResult == null){
+        if (invAccountIncoiceResult == null) {
             InvAccountIncoiceResult invAccountIncoiceResult1 = new InvAccountIncoiceResult();
             invAccountIncoiceResult1.setRecords(invAccountIncoicePage.getRecords());
             invAccountIncoiceResult1.setCurrent(invAccountIncoice.getPageNo());

+ 7 - 0
src/main/java/com/ydtech/modules/inv/model/vo/InvAccountIncoiceQueryVo.java

@@ -31,6 +31,13 @@ public class InvAccountIncoiceQueryVo implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate invoiceTimeEnd;
 
+    @ApiModelProperty(value = "进账日期开始")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate applyTimeStart;
+
+    @ApiModelProperty(value = "进账日期结束")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate applyTimeEnd;
     //发票类型
     @ApiModelProperty(value = "发票类型")
     @ExcelProperty("发票类型")