mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 21:52:07 +08:00
1、新增组织抬头信息查询接口;2、组织可开票记录分页列表回调数据修正;
This commit is contained in:
+8
-2
@@ -4,13 +4,14 @@ import com.cf.imes.framework.common.pojo.CommonResult;
|
|||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountAndAvailablePageReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountAndAvailablePageReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountRespVO;
|
||||||
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAvailablePageRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceConfirmReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceConfirmReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsPageReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsPageReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsRespVO;
|
||||||
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceTitleInfo;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceTitleSaveReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceTitleSaveReqVO;
|
||||||
import com.cf.imes.module.system.dal.dataobject.funds.purchase.PurchaseRecordDO;
|
|
||||||
import com.cf.imes.module.system.service.funds.invoice.InvoiceService;
|
import com.cf.imes.module.system.service.funds.invoice.InvoiceService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
@@ -45,6 +46,11 @@ public class InvoiceController {
|
|||||||
@Resource
|
@Resource
|
||||||
private InvoiceService invoiceService;
|
private InvoiceService invoiceService;
|
||||||
|
|
||||||
|
@GetMapping("/title/{organId}")
|
||||||
|
@Operation(summary = "获取发票抬头信息")
|
||||||
|
public CommonResult<InvoiceTitleInfo> getInvoiceTitle(@PathVariable("organId") Long organId) {
|
||||||
|
return success(invoiceService.getInvoiceTitle(organId));
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/title")
|
@PostMapping("/title")
|
||||||
@Operation(summary = "新增/修改发票抬头信息")
|
@Operation(summary = "新增/修改发票抬头信息")
|
||||||
@@ -61,7 +67,7 @@ public class InvoiceController {
|
|||||||
|
|
||||||
@GetMapping("/available")
|
@GetMapping("/available")
|
||||||
@Operation(summary = "获取组织可开票购买记录")
|
@Operation(summary = "获取组织可开票购买记录")
|
||||||
public CommonResult<PageResult<PurchaseRecordDO>> getAvailablePage(@Valid InvoiceAmountAndAvailablePageReqVO pageReqVO) {
|
public CommonResult<PageResult<InvoiceAvailablePageRespVO>> getAvailablePage(@Valid InvoiceAmountAndAvailablePageReqVO pageReqVO) {
|
||||||
return success(invoiceService.getAvailablePage(pageReqVO));
|
return success(invoiceService.getAvailablePage(pageReqVO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
package com.cf.imes.module.system.controller.admin.funds.invoice.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Gqr
|
||||||
|
* @since 2025/8/28 18:13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "组织可开票信息 Resp VO")
|
||||||
|
public class InvoiceAvailablePageRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "流水号")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Schema(description = "交易类型")
|
||||||
|
private Integer tradeType;
|
||||||
|
|
||||||
|
@Schema(description = "交易时间")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@Schema(description = "可开票金额")
|
||||||
|
private BigDecimal availableAmount;
|
||||||
|
}
|
||||||
+10
-2
@@ -3,13 +3,14 @@ package com.cf.imes.module.system.service.funds.invoice;
|
|||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountAndAvailablePageReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountAndAvailablePageReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountRespVO;
|
||||||
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAvailablePageRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceConfirmReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceConfirmReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsPageReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsPageReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceRecordsRespVO;
|
||||||
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceTitleInfo;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceTitleSaveReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceTitleSaveReqVO;
|
||||||
import com.cf.imes.module.system.dal.dataobject.funds.purchase.PurchaseRecordDO;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -19,6 +20,13 @@ import java.io.IOException;
|
|||||||
*/
|
*/
|
||||||
public interface InvoiceService {
|
public interface InvoiceService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取组织抬头信息
|
||||||
|
*
|
||||||
|
* @param organId
|
||||||
|
*/
|
||||||
|
InvoiceTitleInfo getInvoiceTitle(Long organId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增/修改抬头信息
|
* 新增/修改抬头信息
|
||||||
*
|
*
|
||||||
@@ -47,7 +55,7 @@ public interface InvoiceService {
|
|||||||
* @param invoiceAmountAndAvailablePageReqVO
|
* @param invoiceAmountAndAvailablePageReqVO
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
PageResult<PurchaseRecordDO> getAvailablePage(InvoiceAmountAndAvailablePageReqVO invoiceAmountAndAvailablePageReqVO);
|
PageResult<InvoiceAvailablePageRespVO> getAvailablePage(InvoiceAmountAndAvailablePageReqVO invoiceAmountAndAvailablePageReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组织申请发票
|
* 组织申请发票
|
||||||
|
|||||||
+25
-2
@@ -17,6 +17,7 @@ import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
|||||||
import com.cf.imes.module.infra.api.file.FileApi;
|
import com.cf.imes.module.infra.api.file.FileApi;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountAndAvailablePageReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountAndAvailablePageReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountRespVO;
|
||||||
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAvailablePageRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceConfirmReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceConfirmReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsPageReqVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsPageReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsRespVO;
|
import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsRespVO;
|
||||||
@@ -85,6 +86,13 @@ public class InvoiceServiceImpl implements InvoiceService {
|
|||||||
@Resource
|
@Resource
|
||||||
private FileApi fileApi;
|
private FileApi fileApi;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InvoiceTitleInfo getInvoiceTitle(Long organId) {
|
||||||
|
InvoiceTitleInfoDO invoiceTitleInfoDO = invoiceTitleInfoMapper.selectOne(new LambdaQueryWrapper<InvoiceTitleInfoDO>()
|
||||||
|
.eq(InvoiceTitleInfoDO::getOrganId, organId));
|
||||||
|
return BeanUtils.toBean(invoiceTitleInfoDO, InvoiceTitleInfo.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insetInvoiceTitle(InvoiceTitleSaveReqVO reqVO) {
|
public void insetInvoiceTitle(InvoiceTitleSaveReqVO reqVO) {
|
||||||
|
|
||||||
@@ -136,8 +144,23 @@ public class InvoiceServiceImpl implements InvoiceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<PurchaseRecordDO> getAvailablePage(InvoiceAmountAndAvailablePageReqVO invoiceAmountAndAvailablePageReqVO) {
|
public PageResult<InvoiceAvailablePageRespVO> getAvailablePage(InvoiceAmountAndAvailablePageReqVO invoiceAmountAndAvailablePageReqVO) {
|
||||||
return purchaseRecordMapper.selectPage(invoiceAmountAndAvailablePageReqVO);
|
PageResult<PurchaseRecordDO> availablePage = purchaseRecordMapper.selectPage(invoiceAmountAndAvailablePageReqVO);
|
||||||
|
if (CollUtil.isEmpty(availablePage.getList())) {
|
||||||
|
return new PageResult<>(availablePage.getTotal());
|
||||||
|
}
|
||||||
|
|
||||||
|
List<InvoiceAvailablePageRespVO> availablePageRespVOS = new ArrayList<>();
|
||||||
|
availablePage.getList().forEach(i -> {
|
||||||
|
InvoiceAvailablePageRespVO availablePageRespVO = new InvoiceAvailablePageRespVO();
|
||||||
|
availablePageRespVO.setId(i.getId());
|
||||||
|
availablePageRespVO.setCreateTime(i.getCreateTime());
|
||||||
|
availablePageRespVO.setTradeType(TradeTypeEnum.PRODUCT.getCode());
|
||||||
|
// 可开票金额=总额扣除赠送金
|
||||||
|
availablePageRespVO.setAvailableAmount(i.getTotalAmount().subtract(i.getGiftMoneySpent()));
|
||||||
|
availablePageRespVOS.add(availablePageRespVO);
|
||||||
|
});
|
||||||
|
return new PageResult<>(availablePageRespVOS, availablePage.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getInvoicableAmount" resultType="java.math.BigDecimal">
|
<select id="getInvoicableAmount" resultType="java.math.BigDecimal">
|
||||||
select sum(account_balance_spent) from purchase_record
|
select sum(total_amount - gift_money_spent) from purchase_record
|
||||||
where organ_id = #{organId} and is_invocing = '${@com.cf.imes.module.system.enums.pay.InvoiceStatusEnum@INVOICABLE.code}'
|
where organ_id = #{organId} and is_invocing = '${@com.cf.imes.module.system.enums.pay.InvoiceStatusEnum@INVOICABLE.code}'
|
||||||
and id in
|
and id in
|
||||||
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
||||||
|
|||||||
Reference in New Issue
Block a user