diff --git a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java index 6b28076..3bb18f8 100644 --- a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java +++ b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java @@ -1,17 +1,15 @@ package com.jianshui.api.controller.http.invoice.v1; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.common.core.domain.entity.Companyservice; -import com.jianshui.common.core.redis.RedisCache; import com.jianshui.common.enums.ErrorCode; import com.jianshui.common.exception.jianshui.JianshuiParamErrorException; import com.jianshui.common.utils.StringUtils; import com.jianshui.common.utils.http.HttpHelper; -import com.jianshui.common.utils.spring.SpringUtils; import com.jianshui.invoice.domain.BillInfo; +import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO; import com.jianshui.invoice.domain.Redinfo; import com.jianshui.invoice.domain.dto.*; import com.jianshui.invoice.domain.dto.api.*; @@ -22,20 +20,18 @@ import com.jianshui.invoice.factory.IInvoiceResponseFactory; import com.jianshui.invoice.factory.IInvoiceServiceFactory; import com.jianshui.invoice.service.IInvoiceResponseService; import com.jianshui.invoice.utils.ApiRequestUtils; +import com.jianshui.platform.service.InvoiceAddPService; import com.jianshui.system.service.ICompanyserviceService; import com.jianshui.system.service.IServiceManageService; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import java.util.Date; -import java.util.concurrent.TimeUnit; /** * @Description @@ -63,6 +59,9 @@ public class InvoiceController { @Autowired private IInvoiceServiceFactory invoiceServiceFactory; + @Autowired + private InvoiceAddPService addService; + /** * API回调接口 @@ -1276,6 +1275,40 @@ public class InvoiceController { } + /** + * @Author: kk + * @Description: 单据传入 + * @DateTime: 2023/6/25 10:00 + * @Params: + * @Return + */ + @ApiImplicitParams({ + @ApiImplicitParam(name = "identity", value = "身份认证", dataType = "string", example = "1130", required = true), + @ApiImplicitParam(name = "order", value = "请求体", required = true)}) + @PostMapping({"/api/invoice/v1/invoiceIncome/{identity}", "/api/invoice/v1/invoiceIncome"}) + public Object invoiceIncome(HttpServletRequest request, String identity) throws Exception { + + if (StringUtils.isEmpty(identity)) { + return AjaxResult.error(ErrorCode.EMPTY_IDENTITY); + } + + Companyservice companyservice = iCompanyserviceService.selectCompanyserviceByIdentity(identity); + if (companyservice == null) { + return AjaxResult.error(ErrorCode.COMPANY_NOT_FOUND); + } + + // 获得入口报文适配器 + String requestAdapterKey = serviceManageService.getRequestAdapterKey("invoice", companyservice.getCompanyid()); + IInvoiceRequestService invoiceRequestService = invoiceRequestFactory.getService(requestAdapterKey); + JSONObject decryptResult = invoiceRequestService.decrypt(request, companyservice, ""); + + BillInfoPDTO billInfoPDTO = BeanUtil.copyProperties(decryptResult,BillInfoPDTO.class); + HXResponse result = addService.invoiceIssuance(billInfoPDTO); + + return result; + + } + diff --git a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddPController.java b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddPController.java new file mode 100644 index 0000000..78aa117 --- /dev/null +++ b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/BillInfoAddPController.java @@ -0,0 +1,88 @@ +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.BillInfo; +import com.jianshui.invoice.mapper.BillInfoMapper; +import com.jianshui.platform.dto.DocumentListQueryPDTO; +import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO; +import com.jianshui.platform.service.InvoiceAddPService; +import com.jianshui.platform.vo.InvoiceListPVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * 发票录入 + * + */ +@Api(tags={"单据管理"},value = "") +@RestController +@RequestMapping("/platForm/billInfoAdd/") +public class BillInfoAddPController extends BaseController { + + @Autowired + private InvoiceAddPService addService; + + @Autowired + private BillInfoMapper billInfoMapper; + + @ApiOperation(value = "单据保存",notes = "单据保存请求(支持数电普票、数电专票)") + @PostMapping( "invoiceSave") + public AjaxResult invoiceSave(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception { + return toAjax(addService.invoiceSave(billInfoPDTO)); + } + + @ApiOperation(value = "单据管理列表",notes = "发票管理") + @GetMapping( "documentList") + public TableDataInfo documentList(DocumentListQueryPDTO queryPDTO) throws Exception { + + startPage(); + BillInfo billInfo = BeanUtil.copyProperties(queryPDTO,BillInfo.class); + List billInfoList = billInfoMapper.selectBillInfoList(billInfo); + + List invoiceListPVOS = BeanUtil.copyToList(billInfoList,InvoiceListPVO.class); + return getDataTable(invoiceListPVOS); + } + + @ApiOperation(value = "税收分类编码列表",notes = "开发中") + @PostMapping( "difference") + public AjaxResult taxClassificationCodeList(@RequestBody JSONObject jsonObject) throws Exception { + + // TODO: 税收分类编码列表 + + return AjaxResult.error("功能开发中!"); + } + + + @ApiOperation(value = "差额",notes = "开发中") + @PostMapping( "difference1") + 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/InvoiceAddPController.java similarity index 70% rename from jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddController.java rename to jianshui-admin/src/main/java/com/jianshui/web/controller/platform/InvoiceAddPController.java index c95603c..8d7fa2d 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/InvoiceAddPController.java @@ -1,10 +1,7 @@ package com.jianshui.web.controller.platform; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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; @@ -12,7 +9,7 @@ import com.jianshui.invoice.mapper.InvoiceMapper; import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO; import com.jianshui.platform.dto.InvoiceListQueryPDTO; import com.jianshui.platform.dto.invoicered.InvoiceQueryPDTO; -import com.jianshui.platform.service.InvoiceAddService; +import com.jianshui.platform.service.InvoiceAddPService; import com.jianshui.platform.vo.InvoiceListPVO; import com.jianshui.platform.vo.invoicered.InvoiceQueryPVO; import io.swagger.annotations.*; @@ -26,30 +23,22 @@ import java.util.List; * 发票录入 * */ -@Api(tags={"发票管理"},value = "蓝字、红字发票开具") +@Api(tags={"发票管理"},value = "发票管理") @RestController -@RequestMapping("/platForm/documentEntry/") -public class InvoiceAddController extends BaseController { - +@RequestMapping("/platForm/invoiceAdd/") +public class InvoiceAddPController extends BaseController { @Autowired - private InvoiceAddService addService; + private InvoiceAddPService addService; @Autowired private InvoiceMapper invoiceMapper; - @ApiOperation(value = "单据保存",notes = "单据保存请求(支持数电普票、数电专票)") - @PostMapping( "invoiceSave") - public AjaxResult invoiceSave(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception { - return toAjax(addService.invoiceSave(billInfoPDTO)); - } - - @ApiOperation(value = "发票开具",notes = "发票直接开具请求(支持数电普票、数电专票)") + @ApiOperation(value = "发票开具(数电)",notes = "发票直接开具请求(支持数电普票、数电专票)") @PostMapping( "invoiceIssuance") public HXResponse invoiceIssuance(@RequestBody BillInfoPDTO billInfoPDTO) throws Exception { return addService.invoiceIssuance(billInfoPDTO); } - @ApiOperation(value = "蓝字发票查询",notes = "查询所有未冲红蓝字发票") @GetMapping( "invoiceQuery") public TableDataInfo invoiceQuery(InvoiceQueryPDTO invoiceQueryPDTO) throws Exception { @@ -62,9 +51,7 @@ public class InvoiceAddController extends BaseController { return getDataTable(invoiceQueryPVOS); } - - - @ApiOperation(value = "发票管理",notes = "发票管理") + @ApiOperation(value = "发票管理列表",notes = "发票管理") @GetMapping( "invoiceList") public TableDataInfo invoiceList(InvoiceListQueryPDTO queryPDTO) throws Exception { @@ -93,6 +80,10 @@ public class InvoiceAddController extends BaseController { + + + + diff --git a/jianshui-income/src/main/java/com/jianshui/income/service/impl/EleCheckInvoiceImpl.java b/jianshui-income/src/main/java/com/jianshui/income/service/impl/EleCheckInvoiceImpl.java index 6f9acd9..9b148d6 100644 --- a/jianshui-income/src/main/java/com/jianshui/income/service/impl/EleCheckInvoiceImpl.java +++ b/jianshui-income/src/main/java/com/jianshui/income/service/impl/EleCheckInvoiceImpl.java @@ -254,7 +254,7 @@ public class EleCheckInvoiceImpl implements ICheckInvoice { } kprq = (String) tempData.get("kprq"); fphm = (String) tempData.get("fphm"); - String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22"}; + String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22","61","83"}; if (!Arrays.asList(fpzlList).contains(fpzl)) { // 如果不存发票种类,则挂掉 return AjaxResult.error(1025, "发票种类非法!"); } @@ -684,7 +684,7 @@ public class EleCheckInvoiceImpl implements ICheckInvoice { jym = jym.substring(jym.length() - 6, jym.length()); } fpzl = (String) data.get("fpzl"); - String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22"}; + String[] fpzlList = {"01", "02", "03", "04", "10", "11", "14", "15", "08", "21", "22","61","83"}; if (!Arrays.asList(fpzlList).contains(fpzl)) { // 如果不存发票种类,则挂掉 return AjaxResult.error(1025, "发票种类非法!"); } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/BillInfo.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/BillInfo.java index 5a8e451..6cda011 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/BillInfo.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/BillInfo.java @@ -336,11 +336,19 @@ public class BillInfo extends BaseEntity private String fjxxnr; + // 2023/6/19 大象冲红原因新增 + @TableField(exist=false) + @ApiModelProperty(value = "冲红原因") + private String chyy; + public String getChyy() { + return chyy; + } - - + public void setChyy(String chyy) { + this.chyy = chyy; + } @Override public String getSearchValue() { diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDTXX.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDTXX.java index 067d9a8..adde6c4 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDTXX.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/elephant/DDTXX.java @@ -59,7 +59,7 @@ public class DDTXX { this.setHJJE(billInfo.getTaxfreeamt().toString()); // 合计金额 // 计算金额税额,在processing里 this.setHJSE(billInfo.getTax().toString()); // 合计税额 // 计算金额税额,在processing里 this.setBZ(billInfo.getMessage()); // 备注 - // this.setCHYY(billInfo.get); // 冲红原因 + this.setCHYY(billInfo.getChyy()); // 冲红原因 if (StringUtils.equals(billInfo.getKptype(), "2")) { if (StringUtils.equals(billInfo.getInvoiceType(), "p")) { this.setTSCHBZ("0"); // 特殊冲红标志 diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/IncomeTest.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/IncomeTest.java index d019f67..20c167d 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/IncomeTest.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/IncomeTest.java @@ -27,17 +27,17 @@ public class IncomeTest { // String key = "zE9+TICzsrejfujj/BXjCQ=="; // 1206 System.out.println("-------------------单个发票查验-----------------------------"); - // String order = "{\n" + - // " \"taxNo\": \"91370102MA3UD2FG21\",\n" + - // " \"jym\": \"\",\n" + - // " \"fpje\": \"47802.00\",\n" + - // " \"fpdm\": \"3700211130\",\n" + - // " \"kprq\": \"20211216\",\n" + - // " \"fphm\": \"08345487\",\n" + - // " \"fpzl\": \"01\"\n" + - // "}"; + String order = "{\n" + + " \"taxNo\": \"9T86Z09T5L0000TET6\n\",\n" + + " \"jym\": \"\",\n" + + " \"fpje\": \"100\",\n" + + " \"fpdm\": \"\",\n" + + " \"kprq\": \"20220727\",\n" + + " \"fphm\": \"2231700000000011\",\n" + + " \"fpzl\": \"61\"\n" + + "}"; // String order = "{\"jym\":\"165330\",\"fpje\":\"83.07\",\"fpdm\":\"011002100511\",\"kprq\":\"20220209\",\"fphm\":\"41985485\",\"fpzl\":\"10\",\"taxNo\":\"91370100664851254J\"}"; - String order = "{\"jym\":\"356607\",\"fpje\":\"259.23\",\"fpdm\":\"011002000711\",\"kprq\":\"20210111\",\"fphm\":\"66914035\",\"fpzl\":\"01\",\"taxNo\":\"91370102MA3UD2FG21\" }"; +// String order = "{\"jym\":\"356607\",\"fpje\":\"259.23\",\"fpdm\":\"011002000711\",\"kprq\":\"20210111\",\"fphm\":\"66914035\",\"fpzl\":\"01\",\"taxNo\":\"91370102MA3UD2FG21\" }"; String m = AisinoInvoiceDecryptUtil.encrypt(order, key); System.out.println("json : " + order); System.out.println(m); diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java b/jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java new file mode 100644 index 0000000..b1ccd5a --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/dto/DocumentListQueryPDTO.java @@ -0,0 +1,45 @@ +package com.jianshui.platform.dto; + + +import com.jianshui.common.core.page.PageDomain; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Date; + +/** +* @Author: kk +* @Description: 单据管理查询 +* @DateTime: 2023/6/12 10:48 +* @Params: +* @Return +*/ +@Data +@ApiModel("单据管理查询") +public class DocumentListQueryPDTO extends PageDomain { + + @ApiModelProperty(value = "单据类型") + private String billType; + + @ApiModelProperty(value = "单据状态") + private Integer state; + + @ApiModelProperty(value = "单据编号") + private String fpqqlsh; + + @ApiModelProperty(value = "单据开始日期") + private Date startTime; + + @ApiModelProperty(value = "单据结束日期") + private Date endTime; + + @ApiModelProperty(value = "客户税号") + private String buyerTaxnum; + + @ApiModelProperty(value = "客户名称") + private String buyerName; + + + +} 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/BillInfoAddPService.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/BillInfoAddPService.java new file mode 100644 index 0000000..da95a55 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/BillInfoAddPService.java @@ -0,0 +1,29 @@ +package com.jianshui.platform.service; + + +/** +* @Author: kk +* @Description: 单据管理 +* @DateTime: 2023/6/26 11:57 +*/ +public interface BillInfoAddPService { + + + + + + + + + + + + + + + + + + + +} diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddService.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddPService.java similarity index 70% rename from jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddService.java rename to jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddPService.java index be9acef..8d94100 100644 --- a/jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddService.java +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/InvoiceAddPService.java @@ -3,34 +3,26 @@ package com.jianshui.platform.service; import com.jianshui.invoice.domain.dto.HXResponse; import com.jianshui.platform.dto.InvoiceAdd.BillInfoPDTO; -import com.jianshui.platform.vo.invoicered.InvoiceQueryPVO; - -import java.util.List; /** - * 发票录入 - * - */ - -public interface InvoiceAddService { +* @Author: kk +* @Description: 发票管理 +* @DateTime: 2023/6/26 11:55 +*/ +public interface InvoiceAddPService { /** * @Author: kk * @Description: 单据录入 * @DateTime: 2023/6/5 17:14 - * @Params: - * @Return */ - int invoiceSave(BillInfoPDTO billInfoPDTO); /** * @Author: kk * @Description: 发票开具 * @DateTime: 2023/6/7 14:11 - * @Params: - * @Return */ HXResponse invoiceIssuance(BillInfoPDTO billInfoPDTO); diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/BillInfoAddPServiceImpl.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/BillInfoAddPServiceImpl.java new file mode 100644 index 0000000..b8a2296 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/BillInfoAddPServiceImpl.java @@ -0,0 +1,30 @@ +package com.jianshui.platform.service.impl; + +import com.jianshui.invoice.mapper.BillInfoMapper; +import com.jianshui.platform.service.BillInfoAddPService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** +* @Author: kk +* @Description: 单据管理 +* @DateTime: 2023/6/26 11:58 +*/ +@Service +@Slf4j +public class BillInfoAddPServiceImpl implements BillInfoAddPService { + + @Autowired + private static BillInfoMapper billInfoMapper; + + + + + + + + + +} 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/InvoiceAddPServiceImpl.java similarity index 91% rename from jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddServiceImpl.java rename to jianshui-platform/src/main/java/com/jianshui/platform/service/impl/InvoiceAddPServiceImpl.java index 59667bc..bfea7fb 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/InvoiceAddPServiceImpl.java @@ -1,14 +1,11 @@ package com.jianshui.platform.service.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jianshui.common.core.domain.entity.Companyservice; import com.jianshui.common.exception.jianshui.JianshuiServiceException; import com.jianshui.common.utils.SecurityUtils; import com.jianshui.common.utils.ValidateUtils; import com.jianshui.invoice.domain.BillInfo; -import com.jianshui.invoice.domain.Invoice; import com.jianshui.invoice.domain.dto.HXResponse; import com.jianshui.invoice.enums.ChannelSource; import com.jianshui.invoice.factory.IInvoiceServiceFactory; @@ -18,9 +15,9 @@ 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.service.InvoiceAddService; +import com.jianshui.platform.enums.InvoiceType; +import com.jianshui.platform.service.InvoiceAddPService; import com.jianshui.platform.utils.InvoiceAllYhdjUtils; -import com.jianshui.platform.vo.invoicered.InvoiceQueryPVO; import com.jianshui.system.domain.InvoiceAllYhdj; import com.jianshui.system.mapper.CompanyserviceMapper; import com.jianshui.system.service.IServiceManageService; @@ -28,16 +25,17 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; import java.util.Optional; /** - * 发票录入 - */ +* @Author: kk +* @Description: 发票管理 +* @DateTime: 2023/6/26 11:59 +*/ @Service @Slf4j -public class InvoiceAddServiceImpl implements InvoiceAddService { +public class InvoiceAddPServiceImpl implements InvoiceAddPService { @Autowired private static BillInfoMapper billInfoMapper; @@ -66,6 +64,10 @@ public class InvoiceAddServiceImpl implements InvoiceAddService { } + /** + * @Author: kk + * @Description: 发票开具 + */ @Override public HXResponse invoiceIssuance(BillInfoPDTO billInfoPDTO) { @@ -73,18 +75,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("未获取到发票类别!"); } diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java b/jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java new file mode 100644 index 0000000..651d3b7 --- /dev/null +++ b/jianshui-platform/src/main/java/com/jianshui/platform/vo/DocumentListPVO.java @@ -0,0 +1,71 @@ +package com.jianshui.platform.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jianshui.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** +* @Author: kk +* @Description: 单据管理列表VO +* @DateTime: 2023/6/12 10:49 +* @Params: +* @Return +*/ + +@Data +@ApiModel("发票管理") +public class DocumentListPVO { + + @ApiModelProperty(value = "单据编号") + private String fpqqlsh; + + @ApiModelProperty(value = "客户名称") + private String buyerName; + + @ApiModelProperty(value = "客户税号") + private String buyerTaxnum; + +// @ApiModelProperty(value = "行数") +// private String fphm; + + @ApiModelProperty(value = "未税金额") + private BigDecimal taxfreeamt; + + @ApiModelProperty(value = "含税金额") + private BigDecimal taxamt; + + @ApiModelProperty(value = "日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date invoicedTime; + + @ApiModelProperty(value = "单据类型") + private String billType; + + @ApiModelProperty(value = "客户地址及电话") + private String buyerAddress; + + @ApiModelProperty(value = "客户银行及账号") + private String buyerAccount; + + @ApiModelProperty(value = "备注") + private String message; + + @ApiModelProperty(value = "来源") + private String source; + +// @ApiModelProperty(value = "特殊票种") +// private String sellerTaxnum; + +// @ApiModelProperty(value = "失败原因") +// private String sellerTaxnum; + + + + +}