10-21-收票与开票-收票登记
This commit is contained in:
@ -71,7 +71,7 @@ public class XzdContractAdvanceInfo extends BaseEntity {
|
||||
/**
|
||||
* 变更合同预收款金额
|
||||
*/
|
||||
private Long changeContractAmount;
|
||||
private BigDecimal changeContractAmount;
|
||||
|
||||
/**
|
||||
* 预收百分比
|
||||
@ -81,7 +81,7 @@ public class XzdContractAdvanceInfo extends BaseEntity {
|
||||
/**
|
||||
* 变更预收百分比
|
||||
*/
|
||||
private Long changeAdvancePercentage;
|
||||
private BigDecimal changeAdvancePercentage;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
|
||||
@ -72,12 +72,12 @@ public class XzdContractAdvanceInfoBo extends BaseEntity {
|
||||
/**
|
||||
* 变更合同预收款金额
|
||||
*/
|
||||
private Long changeContractAmount;
|
||||
private BigDecimal changeContractAmount;
|
||||
|
||||
/**
|
||||
* 预收百分比
|
||||
*/
|
||||
private Long advancePercentage;
|
||||
private BigDecimal advancePercentage;
|
||||
|
||||
/**
|
||||
* 变更预收百分比
|
||||
|
||||
@ -299,6 +299,11 @@ public class XzdProjectBo extends BaseEntity {
|
||||
*/
|
||||
private String sheng;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String cs;
|
||||
|
||||
/**
|
||||
* 区县
|
||||
*/
|
||||
|
||||
@ -83,13 +83,13 @@ public class XzdContractAdvanceInfoVo implements Serializable {
|
||||
* 变更合同预收款金额
|
||||
*/
|
||||
@ExcelProperty(value = "变更合同预收款金额")
|
||||
private Long changeContractAmount;
|
||||
private BigDecimal changeContractAmount;
|
||||
|
||||
/**
|
||||
* 预收百分比
|
||||
*/
|
||||
@ExcelProperty(value = "预收百分比")
|
||||
private Long advancePercentage;
|
||||
private BigDecimal advancePercentage;
|
||||
|
||||
/**
|
||||
* 变更预收百分比
|
||||
|
||||
@ -0,0 +1,258 @@
|
||||
package org.dromara.xzd.spykp.spdj.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 收票登记对象 xzd_spykp_spdj
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_spykp_spdj")
|
||||
public class XzdSpykpSpdj extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 发票类型(字典)
|
||||
*/
|
||||
private String invoiceType;
|
||||
|
||||
/**
|
||||
* 进项类型(字典)
|
||||
*/
|
||||
private String jxlx;
|
||||
|
||||
/**
|
||||
* 进项结构类型(字典)
|
||||
*/
|
||||
private String jxjglx;
|
||||
|
||||
/**
|
||||
* 所属组织id(部门)
|
||||
*/
|
||||
private Long sszzId;
|
||||
|
||||
/**
|
||||
* 记账组织id(部门)
|
||||
*/
|
||||
private Long jzzzId;
|
||||
|
||||
/**
|
||||
* 经办人id(用户)
|
||||
*/
|
||||
private Long jbrId;
|
||||
|
||||
/**
|
||||
* 发票用途
|
||||
*/
|
||||
private String fpyt;
|
||||
|
||||
/**
|
||||
* 发票号码
|
||||
*/
|
||||
private String fphm;
|
||||
|
||||
/**
|
||||
* 开票日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date kprq;
|
||||
|
||||
/**
|
||||
* 公司税号
|
||||
*/
|
||||
private String gssh;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String gsmc;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private BigDecimal je;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private BigDecimal sl;
|
||||
|
||||
/**
|
||||
* 扣除率
|
||||
*/
|
||||
private BigDecimal kcl;
|
||||
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal se;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
private BigDecimal jshj;
|
||||
|
||||
/**
|
||||
* 部分转出
|
||||
*/
|
||||
private String bfzc;
|
||||
|
||||
/**
|
||||
* 进项转出(是或否)
|
||||
*/
|
||||
private String jxzc;
|
||||
|
||||
/**
|
||||
* 转出项目id
|
||||
*/
|
||||
private Long zcxmid;
|
||||
|
||||
/**
|
||||
* 转出类型
|
||||
*/
|
||||
private String zclx;
|
||||
|
||||
/**
|
||||
* 进项转出税额
|
||||
*/
|
||||
private BigDecimal jxzcse;
|
||||
|
||||
/**
|
||||
* 销方税号
|
||||
*/
|
||||
private String xfsh;
|
||||
|
||||
/**
|
||||
* 销方id(客户)
|
||||
*/
|
||||
private Long xfId;
|
||||
|
||||
/**
|
||||
* 销项纳税人名称
|
||||
*/
|
||||
private String xxnsrmc;
|
||||
|
||||
/**
|
||||
* 代开发票(0否1是)
|
||||
*/
|
||||
private String dkfp;
|
||||
|
||||
/**
|
||||
* 代开机构代码
|
||||
*/
|
||||
private String dkjgdm;
|
||||
|
||||
/**
|
||||
* 代开机构名称
|
||||
*/
|
||||
private String dkjgmc;
|
||||
|
||||
/**
|
||||
* 多项目发票(0否1是)
|
||||
*/
|
||||
private String dxmfp;
|
||||
|
||||
/**
|
||||
* 个人发票(0否1是)
|
||||
*/
|
||||
private String grfp;
|
||||
|
||||
/**
|
||||
* 指定项目
|
||||
*/
|
||||
private String zdxm;
|
||||
|
||||
/**
|
||||
* 出口退税(0否1是)
|
||||
*/
|
||||
private String ckts;
|
||||
|
||||
/**
|
||||
* 黑名单(0否1是)
|
||||
*/
|
||||
private String hmd;
|
||||
|
||||
/**
|
||||
* 证明信息(0否1是)
|
||||
*/
|
||||
private String zmxx;
|
||||
|
||||
/**
|
||||
* 发票图片id
|
||||
*/
|
||||
private Long fptp;
|
||||
|
||||
/**
|
||||
* 证明信息文件id
|
||||
*/
|
||||
private Long zmxxwj;
|
||||
|
||||
/**
|
||||
* 文件ids(逗号分隔)
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 拆分标志
|
||||
*/
|
||||
private String cfbz;
|
||||
|
||||
/**
|
||||
* 校验码
|
||||
*/
|
||||
private String jym;
|
||||
|
||||
/**
|
||||
* 机器编码
|
||||
*/
|
||||
private String jqbm;
|
||||
|
||||
/**
|
||||
* 发票备注
|
||||
*/
|
||||
private String fpbz;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* CBS
|
||||
*/
|
||||
private String cbs;
|
||||
|
||||
/**
|
||||
* 备注金额
|
||||
*/
|
||||
private BigDecimal bzje;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private Long contractId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,256 @@
|
||||
package org.dromara.xzd.spykp.spdj.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.spykp.spdj.domain.XzdSpykpSpdj;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 收票登记业务对象 xzd_spykp_spdj
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdSpykpSpdj.class, reverseConvertGenerate = false)
|
||||
public class XzdSpykpSpdjBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 发票类型(字典)
|
||||
*/
|
||||
private String invoiceType;
|
||||
|
||||
/**
|
||||
* 进项类型(字典)
|
||||
*/
|
||||
private String jxlx;
|
||||
|
||||
/**
|
||||
* 进项结构类型(字典)
|
||||
*/
|
||||
private String jxjglx;
|
||||
|
||||
/**
|
||||
* 所属组织id(部门)
|
||||
*/
|
||||
private Long sszzId;
|
||||
|
||||
/**
|
||||
* 记账组织id(部门)
|
||||
*/
|
||||
private Long jzzzId;
|
||||
|
||||
/**
|
||||
* 经办人id(用户)
|
||||
*/
|
||||
private Long jbrId;
|
||||
|
||||
/**
|
||||
* 发票用途
|
||||
*/
|
||||
private String fpyt;
|
||||
|
||||
/**
|
||||
* 发票号码
|
||||
*/
|
||||
private String fphm;
|
||||
|
||||
/**
|
||||
* 开票日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date kprq;
|
||||
|
||||
/**
|
||||
* 公司税号
|
||||
*/
|
||||
private String gssh;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String gsmc;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private BigDecimal je;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private BigDecimal sl;
|
||||
|
||||
/**
|
||||
* 扣除率
|
||||
*/
|
||||
private BigDecimal kcl;
|
||||
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal se;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
private BigDecimal jshj;
|
||||
|
||||
/**
|
||||
* 部分转出
|
||||
*/
|
||||
private String bfzc;
|
||||
|
||||
/**
|
||||
* 进项转出(是或否)
|
||||
*/
|
||||
private String jxzc;
|
||||
|
||||
/**
|
||||
* 转出项目id
|
||||
*/
|
||||
private Long zcxmid;
|
||||
|
||||
/**
|
||||
* 转出类型
|
||||
*/
|
||||
private String zclx;
|
||||
|
||||
/**
|
||||
* 进项转出税额
|
||||
*/
|
||||
private BigDecimal jxzcse;
|
||||
|
||||
/**
|
||||
* 销方税号
|
||||
*/
|
||||
private String xfsh;
|
||||
|
||||
/**
|
||||
* 销方id(客户)
|
||||
*/
|
||||
private Long xfId;
|
||||
|
||||
/**
|
||||
* 销项纳税人名称
|
||||
*/
|
||||
private String xxnsrmc;
|
||||
|
||||
/**
|
||||
* 代开发票(0否1是)
|
||||
*/
|
||||
private String dkfp;
|
||||
|
||||
/**
|
||||
* 代开机构代码
|
||||
*/
|
||||
private String dkjgdm;
|
||||
|
||||
/**
|
||||
* 代开机构名称
|
||||
*/
|
||||
private String dkjgmc;
|
||||
|
||||
/**
|
||||
* 多项目发票(0否1是)
|
||||
*/
|
||||
private String dxmfp;
|
||||
|
||||
/**
|
||||
* 个人发票(0否1是)
|
||||
*/
|
||||
private String grfp;
|
||||
|
||||
/**
|
||||
* 指定项目
|
||||
*/
|
||||
private String zdxm;
|
||||
|
||||
/**
|
||||
* 出口退税(0否1是)
|
||||
*/
|
||||
private String ckts;
|
||||
|
||||
/**
|
||||
* 黑名单(0否1是)
|
||||
*/
|
||||
private String hmd;
|
||||
|
||||
/**
|
||||
* 证明信息(0否1是)
|
||||
*/
|
||||
private String zmxx;
|
||||
|
||||
/**
|
||||
* 发票图片id
|
||||
*/
|
||||
private Long fptp;
|
||||
|
||||
/**
|
||||
* 证明信息文件id
|
||||
*/
|
||||
private Long zmxxwj;
|
||||
|
||||
/**
|
||||
* 文件ids(逗号分隔)
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 拆分标志
|
||||
*/
|
||||
private String cfbz;
|
||||
|
||||
/**
|
||||
* 校验码
|
||||
*/
|
||||
private String jym;
|
||||
|
||||
/**
|
||||
* 机器编码
|
||||
*/
|
||||
private String jqbm;
|
||||
|
||||
/**
|
||||
* 发票备注
|
||||
*/
|
||||
private String fpbz;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* CBS
|
||||
*/
|
||||
private String cbs;
|
||||
|
||||
/**
|
||||
* 备注金额
|
||||
*/
|
||||
private BigDecimal bzje;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private Long contractId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,329 @@
|
||||
package org.dromara.xzd.spykp.spdj.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.spykp.spdj.domain.XzdSpykpSpdj;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 收票登记视图对象 xzd_spykp_spdj
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-21
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdSpykpSpdj.class)
|
||||
public class XzdSpykpSpdjVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 发票类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "发票类型(字典)")
|
||||
private String invoiceType;
|
||||
|
||||
/**
|
||||
* 进项类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "进项类型(字典)")
|
||||
private String jxlx;
|
||||
|
||||
/**
|
||||
* 进项结构类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "进项结构类型(字典)")
|
||||
private String jxjglx;
|
||||
|
||||
/**
|
||||
* 所属组织id(部门)
|
||||
*/
|
||||
@ExcelProperty(value = "所属组织id(部门)")
|
||||
private Long sszzId;
|
||||
|
||||
/**
|
||||
* 所属组织名称
|
||||
*/
|
||||
private String sszzmc;
|
||||
|
||||
/**
|
||||
* 记账组织id(部门)
|
||||
*/
|
||||
@ExcelProperty(value = "记账组织id(部门)")
|
||||
private Long jzzzId;
|
||||
|
||||
/**
|
||||
* 记账组织名称
|
||||
*/
|
||||
private String jzzzmc;
|
||||
|
||||
/**
|
||||
* 经办人id(用户)
|
||||
*/
|
||||
@ExcelProperty(value = "经办人id(用户)")
|
||||
private Long jbrId;
|
||||
|
||||
/**
|
||||
* 经办人名称
|
||||
*/
|
||||
private String jbrmc;
|
||||
|
||||
/**
|
||||
* 发票用途
|
||||
*/
|
||||
@ExcelProperty(value = "发票用途")
|
||||
private String fpyt;
|
||||
|
||||
/**
|
||||
* 发票号码
|
||||
*/
|
||||
@ExcelProperty(value = "发票号码")
|
||||
private String fphm;
|
||||
|
||||
/**
|
||||
* 开票日期
|
||||
*/
|
||||
@ExcelProperty(value = "开票日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date kprq;
|
||||
|
||||
/**
|
||||
* 公司税号
|
||||
*/
|
||||
@ExcelProperty(value = "公司税号")
|
||||
private String gssh;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
@ExcelProperty(value = "公司名称")
|
||||
private String gsmc;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@ExcelProperty(value = "金额")
|
||||
private BigDecimal je;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@ExcelProperty(value = "税率")
|
||||
private BigDecimal sl;
|
||||
|
||||
/**
|
||||
* 扣除率
|
||||
*/
|
||||
@ExcelProperty(value = "扣除率")
|
||||
private BigDecimal kcl;
|
||||
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
@ExcelProperty(value = "税额")
|
||||
private BigDecimal se;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
@ExcelProperty(value = "价税合计")
|
||||
private BigDecimal jshj;
|
||||
|
||||
/**
|
||||
* 部分转出
|
||||
*/
|
||||
private String bfzc;
|
||||
|
||||
/**
|
||||
* 进项转出(是或否)
|
||||
*/
|
||||
private String jxzc;
|
||||
|
||||
/**
|
||||
* 转出项目id
|
||||
*/
|
||||
private Long zcxmid;
|
||||
|
||||
/**
|
||||
* 转出项目名称
|
||||
*/
|
||||
private String zcxmmc;
|
||||
|
||||
/**
|
||||
* 转出类型
|
||||
*/
|
||||
private String zclx;
|
||||
|
||||
/**
|
||||
* 进项转出税额
|
||||
*/
|
||||
private BigDecimal jxzcse;
|
||||
|
||||
/**
|
||||
* 销方税号
|
||||
*/
|
||||
@ExcelProperty(value = "销方税号")
|
||||
private String xfsh;
|
||||
|
||||
/**
|
||||
* 销方id(客户)
|
||||
*/
|
||||
@ExcelProperty(value = "销方id(客户)")
|
||||
private Long xfId;
|
||||
|
||||
/**
|
||||
* 销方(客户)名称
|
||||
*/
|
||||
private String xfmc;
|
||||
|
||||
/**
|
||||
* 销项纳税人名称
|
||||
*/
|
||||
@ExcelProperty(value = "销项纳税人名称")
|
||||
private String xxnsrmc;
|
||||
|
||||
/**
|
||||
* 代开发票(0否1是)
|
||||
*/
|
||||
@ExcelProperty(value = "代开发票(0否1是)")
|
||||
private String dkfp;
|
||||
|
||||
/**
|
||||
* 代开机构代码
|
||||
*/
|
||||
@ExcelProperty(value = "代开机构代码")
|
||||
private String dkjgdm;
|
||||
|
||||
/**
|
||||
* 代开机构名称
|
||||
*/
|
||||
@ExcelProperty(value = "代开机构名称")
|
||||
private String dkjgmc;
|
||||
|
||||
/**
|
||||
* 多项目发票(0否1是)
|
||||
*/
|
||||
@ExcelProperty(value = "多项目发票(0否1是)")
|
||||
private String dxmfp;
|
||||
|
||||
/**
|
||||
* 个人发票(0否1是)
|
||||
*/
|
||||
@ExcelProperty(value = "个人发票(0否1是)")
|
||||
private String grfp;
|
||||
|
||||
/**
|
||||
* 指定项目
|
||||
*/
|
||||
@ExcelProperty(value = "指定项目")
|
||||
private String zdxm;
|
||||
|
||||
/**
|
||||
* 出口退税(0否1是)
|
||||
*/
|
||||
@ExcelProperty(value = "出口退税(0否1是)")
|
||||
private String ckts;
|
||||
|
||||
/**
|
||||
* 黑名单(0否1是)
|
||||
*/
|
||||
@ExcelProperty(value = "黑名单(0否1是)")
|
||||
private String hmd;
|
||||
|
||||
/**
|
||||
* 证明信息(0否1是)
|
||||
*/
|
||||
@ExcelProperty(value = "证明信息(0否1是)")
|
||||
private String zmxx;
|
||||
|
||||
/**
|
||||
* 发票图片id
|
||||
*/
|
||||
@ExcelProperty(value = "发票图片id")
|
||||
private Long fptp;
|
||||
|
||||
/**
|
||||
* 证明信息文件id
|
||||
*/
|
||||
@ExcelProperty(value = "证明信息文件id")
|
||||
private Long zmxxwj;
|
||||
|
||||
/**
|
||||
* 文件ids(逗号分隔)
|
||||
*/
|
||||
@ExcelProperty(value = "文件ids(逗号分隔)")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 拆分标志
|
||||
*/
|
||||
@ExcelProperty(value = "拆分标志")
|
||||
private String cfbz;
|
||||
|
||||
/**
|
||||
* 校验码
|
||||
*/
|
||||
@ExcelProperty(value = "校验码")
|
||||
private String jym;
|
||||
|
||||
/**
|
||||
* 机器编码
|
||||
*/
|
||||
@ExcelProperty(value = "机器编码")
|
||||
private String jqbm;
|
||||
|
||||
/**
|
||||
* 发票备注
|
||||
*/
|
||||
@ExcelProperty(value = "发票备注")
|
||||
private String fpbz;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* CBS
|
||||
*/
|
||||
@ExcelProperty(value = "CBS")
|
||||
private String cbs;
|
||||
|
||||
/**
|
||||
* 备注金额
|
||||
*/
|
||||
@ExcelProperty(value = "备注金额")
|
||||
private BigDecimal bzje;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@ExcelProperty(value = "合同id")
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.spykp.spdj.mapper;
|
||||
|
||||
import org.dromara.xzd.spykp.spdj.domain.XzdSpykpSpdj;
|
||||
import org.dromara.xzd.spykp.spdj.domain.vo.XzdSpykpSpdjVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 收票登记Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-21
|
||||
*/
|
||||
public interface XzdSpykpSpdjMapper extends BaseMapperPlus<XzdSpykpSpdj, XzdSpykpSpdjVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.spykp.spdj.service;
|
||||
|
||||
import org.dromara.xzd.spykp.spdj.domain.vo.XzdSpykpSpdjVo;
|
||||
import org.dromara.xzd.spykp.spdj.domain.bo.XzdSpykpSpdjBo;
|
||||
import org.dromara.xzd.spykp.spdj.domain.XzdSpykpSpdj;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收票登记Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-21
|
||||
*/
|
||||
public interface IXzdSpykpSpdjService extends IService<XzdSpykpSpdj>{
|
||||
|
||||
/**
|
||||
* 查询收票登记
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收票登记
|
||||
*/
|
||||
XzdSpykpSpdjVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询收票登记列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收票登记分页列表
|
||||
*/
|
||||
TableDataInfo<XzdSpykpSpdjVo> queryPageList(XzdSpykpSpdjBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的收票登记列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收票登记列表
|
||||
*/
|
||||
List<XzdSpykpSpdjVo> queryList(XzdSpykpSpdjBo bo);
|
||||
|
||||
/**
|
||||
* 新增收票登记
|
||||
*
|
||||
* @param bo 收票登记
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdSpykpSpdjBo bo);
|
||||
|
||||
/**
|
||||
* 修改收票登记
|
||||
*
|
||||
* @param bo 收票登记
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdSpykpSpdjBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除收票登记信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,311 @@
|
||||
package org.dromara.xzd.spykp.spdj.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.system.domain.vo.SysDeptVo;
|
||||
import org.dromara.system.domain.vo.SysUserVo;
|
||||
import org.dromara.system.service.impl.SysDeptServiceImpl;
|
||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.system.service.impl.SysUserServiceImpl;
|
||||
import org.dromara.xzd.domain.XzdContractDetails;
|
||||
import org.dromara.xzd.domain.XzdProject;
|
||||
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.XzdContractDetailsServiceImpl;
|
||||
import org.dromara.xzd.service.impl.XzdProjectServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.spykp.spdj.domain.bo.XzdSpykpSpdjBo;
|
||||
import org.dromara.xzd.spykp.spdj.domain.vo.XzdSpykpSpdjVo;
|
||||
import org.dromara.xzd.spykp.spdj.domain.XzdSpykpSpdj;
|
||||
import org.dromara.xzd.spykp.spdj.mapper.XzdSpykpSpdjMapper;
|
||||
import org.dromara.xzd.spykp.spdj.service.IXzdSpykpSpdjService;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 收票登记Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-21
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdSpykpSpdjServiceImpl extends ServiceImpl<XzdSpykpSpdjMapper, XzdSpykpSpdj> implements IXzdSpykpSpdjService {
|
||||
|
||||
private final XzdSpykpSpdjMapper baseMapper;
|
||||
@Autowired
|
||||
private XzdContractDetailsServiceImpl xzdContractDetailsService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
@Autowired
|
||||
private SysUserServiceImpl sysUserService;
|
||||
@Autowired
|
||||
private SysDeptServiceImpl sysDeptService;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
|
||||
/**
|
||||
* 查询收票登记
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收票登记
|
||||
*/
|
||||
@Override
|
||||
public XzdSpykpSpdjVo queryById(Long id){
|
||||
XzdSpykpSpdjVo spdjVo = baseMapper.selectVoById(id);
|
||||
List<XzdSpykpSpdjVo> spdjVo1 = List.of(spdjVo);
|
||||
setValue(spdjVo1);
|
||||
return spdjVo1.getFirst();
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询收票登记列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收票登记分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdSpykpSpdjVo> queryPageList(XzdSpykpSpdjBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdSpykpSpdj> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdSpykpSpdjVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
setValue(result.getRecords());
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的收票登记列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收票登记列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdSpykpSpdjVo> queryList(XzdSpykpSpdjBo bo) {
|
||||
LambdaQueryWrapper<XzdSpykpSpdj> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdSpykpSpdj> buildQueryWrapper(XzdSpykpSpdjBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdSpykpSpdj> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdSpykpSpdj::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInvoiceType()), XzdSpykpSpdj::getInvoiceType, bo.getInvoiceType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJxlx()), XzdSpykpSpdj::getJxlx, bo.getJxlx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJxjglx()), XzdSpykpSpdj::getJxjglx, bo.getJxjglx());
|
||||
lqw.eq(bo.getSszzId() != null, XzdSpykpSpdj::getSszzId, bo.getSszzId());
|
||||
lqw.eq(bo.getJzzzId() != null, XzdSpykpSpdj::getJzzzId, bo.getJzzzId());
|
||||
lqw.eq(bo.getJbrId() != null, XzdSpykpSpdj::getJbrId, bo.getJbrId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFpyt()), XzdSpykpSpdj::getFpyt, bo.getFpyt());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFphm()), XzdSpykpSpdj::getFphm, bo.getFphm());
|
||||
lqw.between(params.get("beginKprq") != null && params.get("endKprq") != null,
|
||||
XzdSpykpSpdj::getKprq ,params.get("beginKprq"), params.get("endKprq"));
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGssh()), XzdSpykpSpdj::getGssh, bo.getGssh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGsmc()), XzdSpykpSpdj::getGsmc, bo.getGsmc());
|
||||
lqw.eq(bo.getJe() != null, XzdSpykpSpdj::getJe, bo.getJe());
|
||||
lqw.eq(bo.getSl() != null, XzdSpykpSpdj::getSl, bo.getSl());
|
||||
lqw.eq(bo.getKcl() != null, XzdSpykpSpdj::getKcl, bo.getKcl());
|
||||
lqw.eq(bo.getSe() != null, XzdSpykpSpdj::getSe, bo.getSe());
|
||||
lqw.eq(bo.getJshj() != null, XzdSpykpSpdj::getJshj, bo.getJshj());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXfsh()), XzdSpykpSpdj::getXfsh, bo.getXfsh());
|
||||
lqw.eq(bo.getXfId() != null, XzdSpykpSpdj::getXfId, bo.getXfId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXxnsrmc()), XzdSpykpSpdj::getXxnsrmc, bo.getXxnsrmc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDkfp()), XzdSpykpSpdj::getDkfp, bo.getDkfp());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDkjgdm()), XzdSpykpSpdj::getDkjgdm, bo.getDkjgdm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDkjgmc()), XzdSpykpSpdj::getDkjgmc, bo.getDkjgmc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDxmfp()), XzdSpykpSpdj::getDxmfp, bo.getDxmfp());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGrfp()), XzdSpykpSpdj::getGrfp, bo.getGrfp());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZdxm()), XzdSpykpSpdj::getZdxm, bo.getZdxm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCkts()), XzdSpykpSpdj::getCkts, bo.getCkts());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHmd()), XzdSpykpSpdj::getHmd, bo.getHmd());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZmxx()), XzdSpykpSpdj::getZmxx, bo.getZmxx());
|
||||
lqw.eq(bo.getFptp() != null, XzdSpykpSpdj::getFptp, bo.getFptp());
|
||||
lqw.eq(bo.getZmxxwj() != null, XzdSpykpSpdj::getZmxxwj, bo.getZmxxwj());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdSpykpSpdj::getFileId, bo.getFileId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCfbz()), XzdSpykpSpdj::getCfbz, bo.getCfbz());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJym()), XzdSpykpSpdj::getJym, bo.getJym());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJqbm()), XzdSpykpSpdj::getJqbm, bo.getJqbm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFpbz()), XzdSpykpSpdj::getFpbz, bo.getFpbz());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCbs()), XzdSpykpSpdj::getCbs, bo.getCbs());
|
||||
lqw.eq(bo.getBzje() != null, XzdSpykpSpdj::getBzje, bo.getBzje());
|
||||
lqw.eq(bo.getContractId() != null, XzdSpykpSpdj::getContractId, bo.getContractId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收票登记
|
||||
*
|
||||
* @param bo 收票登记
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdSpykpSpdjBo bo) {
|
||||
XzdSpykpSpdj add = MapstructUtils.convert(bo, XzdSpykpSpdj.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收票登记
|
||||
*
|
||||
* @param bo 收票登记
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdSpykpSpdjBo bo) {
|
||||
XzdSpykpSpdj update = MapstructUtils.convert(bo, XzdSpykpSpdj.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
XzdSpykpSpdj old = baseMapper.selectById(update.getId());
|
||||
//更新文件
|
||||
if (bo.getFileId() != null && !bo.getFileId().isEmpty()){
|
||||
if (old.getFileId() != null && !old.getFileId().isEmpty()) {
|
||||
List<Long> oldFileId = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
List<Long> nowFileId = Arrays.stream(bo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
for (Long l : oldFileId) {
|
||||
if (!nowFileId.contains(l)) {
|
||||
sysOssService.deleteWithValidByIds(List.of(l), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if (old.getFileId()!= null && !old.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
//发票图片
|
||||
if (bo.getFptp() != null){
|
||||
if (!bo.getFptp().equals(old.getFptp())){
|
||||
sysOssService.deleteWithValidByIds(List.of(old.getFptp()), false);
|
||||
}
|
||||
}else {
|
||||
if (old.getFptp()!= null){
|
||||
sysOssService.deleteWithValidByIds(List.of(old.getFptp()), false);
|
||||
}
|
||||
}
|
||||
//证明信息文件
|
||||
if (bo.getZmxxwj() != null){
|
||||
if (!bo.getZmxxwj().equals(old.getZmxxwj())){
|
||||
sysOssService.deleteWithValidByIds(List.of(old.getZmxxwj()), false);
|
||||
}
|
||||
}else {
|
||||
if (old.getZmxxwj()!= null){
|
||||
sysOssService.deleteWithValidByIds(List.of(old.getZmxxwj()), false);
|
||||
}
|
||||
}
|
||||
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdSpykpSpdj entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除收票登记信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
for (Long id : ids) {
|
||||
|
||||
XzdSpykpSpdj byId = baseMapper.selectById(id);
|
||||
if (byId == null){
|
||||
continue;
|
||||
}
|
||||
//删除附件
|
||||
if (byId.getFileId() != null && !byId.getFileId().isEmpty()) {
|
||||
List<Long> fileId = Arrays.stream(byId.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
sysOssService.deleteWithValidByIds(fileId, false);
|
||||
}
|
||||
//删除发票图片
|
||||
if (byId.getFptp() != null){
|
||||
sysOssService.deleteWithValidByIds(List.of(byId.getFptp()), false);
|
||||
}
|
||||
//删除证明信息文件
|
||||
if (byId.getZmxxwj() != null){
|
||||
sysOssService.deleteWithValidByIds(List.of(byId.getZmxxwj()), false);
|
||||
}
|
||||
}
|
||||
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
public void setValue(List<XzdSpykpSpdjVo> vos){
|
||||
for (XzdSpykpSpdjVo vo : vos) {
|
||||
if (vo.getContractId() != null){
|
||||
XzdContractDetails byId = xzdContractDetailsService.getById(vo.getContractId());
|
||||
if (byId != null){
|
||||
// 合同名称
|
||||
vo.setContractName(byId.getContractName());
|
||||
}
|
||||
}
|
||||
//销方(客户id)
|
||||
if (vo.getXfId() != null){
|
||||
R<QuerCorrespondentDto> byid2 = iXzdCorrespondentList.getCustomerByid(vo.getXfId());
|
||||
if (byid2 != null) {
|
||||
if (byid2.getData().getXzdCustomerinformation() != null) {
|
||||
vo.setXfmc(byid2.getData().getXzdCustomerinformation().getUnitName());
|
||||
}
|
||||
}
|
||||
}
|
||||
//经办人
|
||||
if (vo.getJbrId() != null){
|
||||
SysUserVo sysUserVo = sysUserService.selectUserById(vo.getJbrId());
|
||||
if (sysUserVo != null){
|
||||
vo.setJbrmc(sysUserVo.getUserName());
|
||||
}
|
||||
}
|
||||
//记账组织
|
||||
if (vo.getJzzzId() != null){
|
||||
SysDeptVo sysDeptVo = sysDeptService.selectDeptById(vo.getJzzzId());
|
||||
if (sysDeptVo != null){
|
||||
vo.setJzzzmc(sysDeptVo.getDeptName());
|
||||
}
|
||||
}
|
||||
//所属组织
|
||||
if (vo.getSszzId() != null){
|
||||
SysDeptVo sysDeptVo = sysDeptService.selectDeptById(vo.getSszzId());
|
||||
if (sysDeptVo != null){
|
||||
vo.setSszzmc(sysDeptVo.getDeptName());
|
||||
}
|
||||
}
|
||||
//转出项目名称
|
||||
if (vo.getZcxmid() != null){
|
||||
XzdProject xzdProject = xzdProjectService.getById(vo.getZcxmid());
|
||||
if ( xzdProject != null){
|
||||
vo.setZclx(xzdProject.getProjectName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -71,6 +71,10 @@
|
||||
AND profile.province = #{sheng}
|
||||
</if>
|
||||
|
||||
<if test='cs != null and cs != ""'>
|
||||
AND profile.city = #{cs}
|
||||
</if>
|
||||
|
||||
<if test='qx != null and qx != ""'>
|
||||
AND profile.district = #{qx}
|
||||
</if>
|
||||
|
||||
Reference in New Issue
Block a user