|
@@ -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;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|