diff --git a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddController.java b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddController.java index be307cd..e934a3b 100644 --- a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddController.java +++ b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddController.java @@ -1,6 +1,7 @@ package com.jianshui.web.controller.platform; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.json.JSONObject; import com.jianshui.common.core.controller.BaseController; import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.common.core.page.TableDataInfo; @@ -57,25 +58,33 @@ public class BillInfoAddController extends BaseController { return getDataTable(invoiceListPVOS); } + @ApiOperation(value = "税收分类编码列表",notes = "开发中") + @PostMapping( "difference") + public AjaxResult taxClassificationCodeList(@RequestBody JSONObject jsonObject) throws Exception { + // TODO: 税收分类编码列表 + return AjaxResult.error("功能开发中!"); + } + @ApiOperation(value = "差额",notes = "开发中") + @PostMapping( "difference") + public AjaxResult difference(@RequestBody JSONObject jsonObject) throws Exception { + // TODO: 差额: + return AjaxResult.error("功能开发中!"); + } + @ApiOperation(value = "复制",notes = "开发中") + @PostMapping( "copy") + public AjaxResult copy(@RequestBody JSONObject jsonObject) throws Exception { + // TODO: 复制:复制的是开票信息还是发票信息 - - - - - - - - - - + return AjaxResult.error("功能开发中!"); + } diff --git a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java index 78fa3d1..699c84f 100644 --- a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java +++ b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java @@ -1,7 +1,9 @@ package com.jianshui.web.controller.platform; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.json.JSONObject; import com.jianshui.common.core.controller.BaseController; +import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.common.core.page.TableDataInfo; import com.jianshui.invoice.domain.Invoice; import com.jianshui.invoice.domain.dto.HXResponse; @@ -33,7 +35,7 @@ public class InvoiceAddController extends BaseController { @Autowired private InvoiceMapper invoiceMapper; - @ApiOperation(value = "发票开具",notes = "发票直接开具请求(支持数电普票、数电专票)") + @ApiOperation(value = "发票开具(数电)",notes = "发票直接开具请求(支持数电普票、数电专票)") @PostMapping( "invoiceIssuance") public HXResponse invoiceIssuance(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception { return addService.invoiceIssuance(billInfoPDTO); diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceStatus.java b/jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceStatus.java new file mode 100644 index 0000000..916f422 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceStatus.java @@ -0,0 +1,57 @@ +package com.jianshui.platform.enums; + +/** +* @Author: kk +* @Description: 发票状态枚举:BillINfo票据 Invoice发票 RedInfo红字 +*/ +public enum InvoiceStatus { + + INVOICE_NOT_INVOICED("0", "未开票"), + INVOICE_INVOICING("20", "开票中"), + INVOICE_COMPLETED("2", "开票完成"), + INVOICE_FAILED("22", "开票失败"), + INVOICE_RED_FLAGGED("99", "已冲红"), + INVOICE_CANCELLED("3", "已作废"), + INVOICE_MERGED("18", "已合并"), + INVOICE_SIGNING("21", "开票成功签章中"), + INVOICE_SIGNING_FAILED("24", "开票成功签章失败"), + INVOICE_CANCELLING("31", "发票作废中"), + INVOICE_RED_FLAGGING("98", "冲红中"), + INVOICE_SPLIT("17", "已拆分"), + INVOICE_UNSIGNED("23", "开票成功未签章"), + INVOICE_PARTIAL_RED("25", "部分冲红"), + + // RedInfo + REDINFO_APPLICATION_PENDING("0", "申请中"), + REDINFO_APPROVAL_SUCCESS("1", "审核成功"), + REDINFO_APPROVAL_FAILED("2", "审核失败"), + REDINFO_APPLICATION_SUCCESS("3", "申请成功"), + REDINFO_APPLICATION_FAILED("4", "申请失败"); + + + private String code; + private String displayName; + + private InvoiceStatus(String code, String displayName) { + this.code = code; + this.displayName = displayName; + } + + public String getCode() { + return code; + } + + public String getDisplayName() { + return displayName; + } + + public static InvoiceStatus fromCode(String code) { + for (InvoiceStatus type : InvoiceStatus.values()) { + if (type.getCode().equals(code)) { + return type; + } + } + throw new IllegalArgumentException("Invalid InvoiceType code: " + code); + } + +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceType.java b/jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceType.java new file mode 100644 index 0000000..20fa795 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceType.java @@ -0,0 +1,37 @@ +package com.jianshui.platform.enums; + +/** +* @Author: kk +* @Description: 开票类型枚举 +*/ +public enum InvoiceType { + + SHU_DIAN_ZHUAN_PIAO("1", "数电专票"), + SHU_DIAN_PU_PIAO("2", "数电普票"); + + private String code; + private String displayName; + + private InvoiceType(String code, String displayName) { + this.code = code; + this.displayName = displayName; + } + + public String getCode() { + return code; + } + + public String getDisplayName() { + return displayName; + } + + public static InvoiceType fromCode(String code) { + for (InvoiceType type : InvoiceType.values()) { + if (type.getCode().equals(code)) { + return type; + } + } + throw new IllegalArgumentException("Invalid InvoiceType code: " + code); + } + +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddServiceImpl.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddServiceImpl.java index ffc831e..39e320a 100644 --- a/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddServiceImpl.java +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddServiceImpl.java @@ -18,6 +18,7 @@ import com.jianshui.invoice.service.IInvoiceApiService; import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO; import com.jianshui.platform.dto.InvoiceAdd.species.BillInfoSDGenInvoicePDTO; import com.jianshui.platform.dto.InvoiceAdd.species.BillInfoSDSpecialInvoicePDTO; +import com.jianshui.platform.enums.InvoiceType; import com.jianshui.platform.service.InvoiceAddService; import com.jianshui.platform.utils.InvoiceAllYhdjUtils; import com.jianshui.platform.vo.invoicered.InvoiceQueryPVO; @@ -68,6 +69,10 @@ public class InvoiceAddServiceImpl implements InvoiceAddService { } + /** + * @Author: kk + * @Description: 发票开具 + */ @Override public HXResponse invoiceIssuance(BillInfoPDTO billInfoPDTO) { @@ -75,18 +80,20 @@ public class InvoiceAddServiceImpl implements InvoiceAddService { // 数电(普票、专票)校验 BillInfo billInfo = null; - if("1".equals(invoiceType)){ + if(InvoiceType.SHU_DIAN_ZHUAN_PIAO.getCode().equals(invoiceType)){ BillInfoSDGenInvoicePDTO sdGenInvoicePDTO = BeanUtil.copyProperties(billInfoPDTO, BillInfoSDGenInvoicePDTO.class); ValidateUtils.validate(sdGenInvoicePDTO.getBillInfoDetailPDTOList()); ValidateUtils.validate(sdGenInvoicePDTO); billInfo = BeanUtil.copyProperties(sdGenInvoicePDTO, BillInfo.class); - }else if("2".equals(invoiceType)){ + + }else if(InvoiceType.SHU_DIAN_PU_PIAO.getCode().equals(invoiceType)){ BillInfoSDSpecialInvoicePDTO sdSpecialInvoicePDTO = BeanUtil.copyProperties(billInfoPDTO, BillInfoSDSpecialInvoicePDTO.class); ValidateUtils.validate(sdSpecialInvoicePDTO.getBillInfoDetailPDTOList()); ValidateUtils.validate(sdSpecialInvoicePDTO); billInfo = BeanUtil.copyProperties(sdSpecialInvoicePDTO, BillInfo.class); + }else { return new HXResponse("未获取到发票类别!"); }