提交 6f91c966 authored 作者: hzh's avatar hzh

财务数据接口对接完成

上级 9916a4e1
package org.dromara.common.ys.model.req.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class AccountDetailModel {
/**
* 查询开始日期 格式:yyyy-MM-dd
**/
private String dateStart;
/**
* 账户类型 1协议欠款 2预存款
**/
private String accountType;
/**
* 每页显示条数,不能小于10
**/
private Integer count;
/**
* 查询结束日期 格式:yyyy-MM-dd
**/
private String dateEnd;
/**
* 当前页数,不能小于1
**/
private Integer pageNum;
/**
* 产品类型 10901机票 10903酒店 10904火车票
**/
private String productType;
}
package org.dromara.common.ys.model.req.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ConfirmReconModel extends BaseModel {
/**
* 备注信息
**/
private String remark;
/**
* 对账单id
**/
private String reconId;
}
package org.dromara.common.ys.model.req.bill;
import org.dromara.common.ys.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ConsTicketListModel extends BaseModel {
/**
* 订单编号
**/
private String orderNo;
/**
* 每页显示条数,不能小于10
**/
private Integer count;
/**
* 乘机人姓名
**/
private String psgName;
/**
* 查询结束日期 格式:yyyy-MM-dd
**/
private String dateEnd;
/**
* 当前页数,不能小于1
**/
private Integer pageNum;
/**
* 出发日期始 格式:yyyy-MM-dd
**/
private String departTimeStart;
/**
* 票号
**/
private String tkno;
/**
* 航程三字码
**/
private String voyage;
/**
* 航班号
**/
private String flightNo;
/**
* 查询开始日期 格式:yyyy-MM-dd
**/
private String dateStart;
/**
* 出发日期止 格式:yyyy-MM-dd
**/
private String departTimeEnd;
/**
* 国内国际 1国内 0国际
**/
private Integer international;
/**
* 单据类型 11001正常单 11002退单 11003改签单
**/
private String djlx;
/**
* 产品类型 1普通 2电商 3协议 6商务优行
**/
private String productType;
}
package org.dromara.common.ys.model.req.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
import org.dromara.common.ys.model.req.bill.other.EditBxjlBean;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EditBxjlModel extends BaseModel {
/**
* 报销记录集合
**/
private List<EditBxjlBean> bxjlList;
}
package org.dromara.common.ys.model.req.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class QueryBillAllModel extends BaseModel {
/**
* 出票日期止
**/
private String arriveTime;
/**
* 项目编码
**/
private String projectNo;
/**
* 企业预订人
**/
private String vipBooker;
/**
* 单据类型
**/
private String documentType;
/**
* 出票日期始
**/
private String epartTime;
/**
* 每页显示的数量
**/
private Integer count;
/**
* 是否协议欠款
**/
private String priceType;
/**
* 出差申请单号
**/
private String travelNo;
/**
* 成本中心
**/
private String costCenterNo;
/**
* 当前页
**/
private Integer pageNum;
/**
* 企业部门编码
**/
private String deptNo;
/**
* 产品类型
**/
private String productType;
}
package org.dromara.common.ys.model.req.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class QueryBillModel extends BaseModel {
/**
* 对账单号
**/
private String reconciliationNo;
}
package org.dromara.common.ys.model.req.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TravelBillGetCompareResultModel extends BaseModel {
/**
* 对账单编号
**/
private String reconId;
}
package org.dromara.common.ys.model.req.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
import org.dromara.common.ys.model.req.bill.other.StatementReconCorpDetailBean;
import org.dromara.common.ys.model.req.bill.other.StatementReconCorpTotalBean;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TravelBillPushStatementModel extends BaseModel {
/**
* 封皮数据 按照产品统计的数据
**/
private List<StatementReconCorpTotalBean> totalList;
/**
* 账单标题
**/
private String accountTitle;
/**
* 明细数据集合
**/
private List<StatementReconCorpDetailBean> detailList;
/**
* 账期 格式:yyyyMM
**/
private String accountPeriod;
/**
* 备注
**/
private String remark;
/**
* 联系电话
**/
private String linkTel;
/**
* 对账单id
**/
private String reconId;
/**
* 联系人名称
**/
private String linkMan;
}
package org.dromara.common.ys.model.req.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EditBxjlBean {
/**
* 单据类型
**/
private String orderType;
/**
* 订单编号
**/
private String orderNo;
/**
* 报销状态 1报销中 2报销成功 3报销失败
**/
private Integer bxStatus;
/**
* 报销失败原因
**/
private String bxErrMsg;
/**
* 票号
**/
private String tkno;
}
package org.dromara.common.ys.model.req.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class StatementReconCorpDetailBean extends BaseModel {
/**
* 单据类型 11001国内机票正常单 11002国内机票退票单 11003国内机票改签单 11004国际机票正常单 11005国际机票退票单 11006国际机票改签单 11007酒店正常单 11008酒店退单 11009火车票正常单 11010火车票退票单 11011火车票改签单 11018用车正常单
**/
private String orderType;
/**
* 员工id
**/
private String empId;
/**
* 预定时间
**/
private String bookDate;
/**
* 手续费 正常单为0 改签单为改签手续费 退票单为退票手续费
**/
private BigDecimal poundage;
/**
* 成本中心名称
**/
private String codeCenterName;
/**
* 舱位代码 机票为舱位代码,火车票为座位席别,酒店为房型名称,用车为空
**/
private String cabin;
/**
* 票号或单号 机票正常单、火车票正常单、火车票改签单给票号 其他数据给单号
**/
private String tknoOrOrderNo;
/**
* 项目代码
**/
private String projectNo;
/**
* 成本中心id
**/
private String costCenterId;
/**
* 航空公司二字码
**/
private String airline;
/**
* 产品类型 10901国内机票 10902国际机票 10903国内酒店 10910国际酒店 10904火车票 10906用车
**/
private String productType;
/**
* 服务费 正常单为销售服务费 改签单为改签服务费 退票单为退票服务费
**/
private BigDecimal serviceFee;
/**
* 应收金额 订单总金额
**/
private BigDecimal amount;
/**
* 起飞时间 格式:yyyy-MM-dd HH:mm,机票、火车票为出发时间,酒店为入住时间、用车为用车时间
**/
private String departTime;
/**
* 票面价 正常单 票面价 改签单为差价 退票单为退票费
**/
private BigDecimal salePrice;
/**
* 出差备注
**/
private String travelRemark;
/**
* 乘机人姓名
**/
private String psgName;
/**
* 燃油税 正常单为燃油税 退票单为退燃油税 除机票订单外 其他都为0
**/
private BigDecimal tax;
/**
* 员工工号
**/
private String empNo;
/**
* 行程 城市名称用-分隔 展示中文 机票、火车票为出发到达城市、酒店为入住城市,用车为用车城市
**/
private String voyage;
/**
* 成本中心代码
**/
private String codeCenterCode;
/**
* 基建费 正常单为基建费 退票单为退基建费 除机票订单外 其他都为0
**/
private BigDecimal airportFee;
/**
* 航班号 机票为航班号、火车票为车次,酒店为酒店名称,用车为空
**/
private String flightNo;
/**
* 保险金额 保险金额 正常单为保险销售价 退票单为退保费
**/
private BigDecimal insureFee;
/**
* 出差申请单号
**/
private String travelNo;
/**
* 项目名称
**/
private String projectName;
/**
* 项目id
**/
private String projectId;
/**
* 出票时间
**/
private String drawDate;
}
package org.dromara.common.ys.model.req.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class StatementReconCorpTotalBean extends BaseModel {
/**
* 总金额
**/
private BigDecimal totalAmount;
/**
* 单数 正常、退票、改签算3条数据
**/
private Integer count;
/**
* 产品类型 10901国内机票 10902国际机票 10903国内酒店 10910国际酒店 10904火车票 10906用车
**/
private String productType;
}
package org.dromara.common.ys.model.res.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class AccountDetailBeanModel {
/**
* 本期收入
**/
private BigDecimal bqsr;
/**
* 期末金额
**/
private BigDecimal qmje;
/**
* 预定日期
**/
private String bookDate;
/**
* 订单编号
**/
private String orderNo;
/**
* 乘机人名称
**/
private String psgName;
/**
* 舱位
**/
private String cabin;
/**
* 业务类型名称
**/
private String ywlxName;
/**
* 单据类型名称
**/
private String orderTypeName;
/**
* 支付备注
**/
private String paybzbz;
/**
* 航程
**/
private String voyage;
/**
* 航班号
**/
private String flightNo;
/**
* 发生时间
**/
private String fssj;
/**
* 本期支出
**/
private BigDecimal bqzc;
/**
* 订单来源名称
**/
private String orderFromName;
/**
* 产品类型名称
**/
private String productTypeName;
/**
* 期初金额
**/
private BigDecimal qcje;
/**
* 出发日期 格式yyyy-MM-dd HH:mm
**/
private String departDate;
/**
* 出票日期
**/
private String drawDate;
}
package org.dromara.common.ys.model.res.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.model.res.bill.other.ConsTicketListBean;
import org.dromara.common.ys.model.res.bill.other.ConsTicketSumBean;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ConsTicketListModel {
/**
* 机票消费清单明细
**/
private PageInfo<ConsTicketListBean> ticketList;
/**
* 机票消费清单总计
**/
private ConsTicketSumBean sumBean;
}
package org.dromara.common.ys.model.res.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.res.bill.other.EditBxjlErrBean;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EditBxjlModel {
/**
* 未同步成功的订单
**/
private List<EditBxjlErrBean> errBeanList;
}
package org.dromara.common.ys.model.res.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.res.bill.other.BillBasicInfoBean;
import org.dromara.common.ys.model.res.bill.other.BillSummaryInfoNean;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class QueryBillAllModel {
/**
* 账单信息列表
**/
private List<BillBasicInfoBean> billBasicList;
/**
* 账单汇总信息
**/
private BillSummaryInfoNean billSummary;
}
package org.dromara.common.ys.model.res.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.res.bill.other.BillBasicInfoBean;
import org.dromara.common.ys.model.res.bill.other.BillSummaryInfoNean;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class QueryBillModel {
/**
* 账单信息列表
**/
private List<BillBasicInfoBean> billBasicList;
/**
* 账单汇总信息
**/
private BillSummaryInfoNean billSummary;
}
package org.dromara.common.ys.model.res.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.res.bill.other.GetCompareResultDetailErrBean;
import org.dromara.common.ys.model.res.bill.other.GetCompareResultTotalErrBean;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TravelBillGetCompareResultModel{
/**
* 核对异常异常数据集合 核对异常时才有数据
**/
private List<GetCompareResultTotalErrBean> totalErrList;
/**
* 核对异常异常数据单据合计集合 核对异常时才有数据
**/
private List<GetCompareResultDetailErrBean> detailErrList;
/**
* 对比结果 0核对异常 1核对正确
**/
private Integer compareResult;
}
package org.dromara.common.ys.model.res.bill;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TravelBillPushStatementModel {
/**
* 业务错误代码 1表示成功,其他失败
**/
private String errCode;
/**
* 请求唯一标识
**/
private String requuid;
/**
* 业务处理失败时,异常信息
**/
private String errMsg;
/**
* 环境标识 test:测试环境,prod:生产线上环境
**/
private String env;
/**
* 业务处理失败时,错误提示信息
**/
private String tips;
/**
* 当前时间戳
**/
private String timestamp;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BillBasicInfoBean {
/**
* 应结日期
**/
private String jsRepayDate;
/**
* 预订时间
**/
private String bookingTime;
/**
* 结算单号
**/
private String settlementNo;
/**
* 订单编号
**/
private String orderNo;
/**
* 单据类型
**/
private String documentType;
/**
* 账单汇总信息
**/
private BillSummaryInfoNean billSummaryInfoNean;
/**
* PNR票号/单号
**/
private String pnrNO;
/**
* 账单票面信息
**/
private BillParInfoBean billPar;
/**
* 结算账期
**/
private String settlementPeriod;
/**
* 账单退改信息
**/
private BillRefundChangeInfoBean billRefundChange;
/**
* 客户名称
**/
private String customerName;
/**
* 账单支付信息
**/
private BillPayMentInfoBean billPayMent;
/**
* 出票时间
**/
private String drawersTime;
/**
* 价格统计集合
**/
private PriceTotalInfoBean priceTotalInfoBean;
/**
* 结算状态
**/
private String settlementStatus;
/**
* 欠款金额
**/
private BigDecimal settlementSum;
/**
* 对账单号
**/
private String reconNo;
/**
* 账单差旅信息
**/
private BillTravelInfoBean billTravel;
/**
* 产品类型
**/
private String productType;
/**
* 逾期状态
**/
private String overdueStatus;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BillParInfoBean {
/**
* 票面_航程(机场)
**/
private String voyageAirportZh;
/**
* 票面_里程
**/
private Integer distance;
/**
* 销售_小计
**/
private BigDecimal sellTotal;
/**
* 票面_舱位
**/
private String cabin;
/**
* 票面_大编码
**/
private String bigPnrNo;
/**
* 销售_销售价
**/
private BigDecimal sellPrice;
/**
* 票面_经济舱全价
**/
private BigDecimal yAllPrice;
/**
* 票面_证件号码
**/
private String idNo;
/**
* 票面_航程名称
**/
private String voyageZh;
/**
* 票面_降落时间
**/
private String arriveTime;
/**
* 保险份数
**/
private Integer insuranceNumber;
/**
* 票面_航程类型
**/
private String voyageType;
/**
* 赠送保险份数
**/
private Integer giveInsuranceNumber;
/**
* 销售_服务费
**/
private BigDecimal sellService;
/**
* 票面_乘机人类型
**/
private String psgType;
/**
* 票面_航司二字码
**/
private String airline;
/**
* 票面_舱位名称
**/
private String cabinName;
/**
* 票面_客票状态
**/
private String detrStatus;
/**
* 票面_出发地
**/
private String departCityName;
/**
* 票面_起飞时间
**/
private String departTime;
/**
* 票面_机型
**/
private String planeModel;
/**
* 价格类型
**/
private String priceType;
/**
* 票面_乘机人
**/
private String psgName;
/**
* 票面_税费
**/
private BigDecimal tax;
/**
* 票面_航程
**/
private String voyage;
/**
* 票面_基建
**/
private BigDecimal airportFee;
/**
* 票面_全价
**/
private BigDecimal allPrice;
/**
* 票面_航班号
**/
private String flightNo;
/**
* 票面_手机号码
**/
private String phoneNumber;
/**
* 保险金额
**/
private BigDecimal insurancePrice;
/**
* 票面_订单来源
**/
private String orderFrom;
/**
* 票面_销售折扣率
**/
private String saleDiscount;
/**
* 票面_飞行时长
**/
private String flightTime;
/**
* 票面_票证状态
**/
private String tkStatus;
/**
* 票面_航段数
**/
private String voyageCount;
/**
* 票面_航司名称
**/
private String airlineName;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BillPayMentInfoBean {
/**
* 支付金额
**/
private BigDecimal payAmount;
/**
* 支付方式
**/
private String payMothedName;
/**
* 支付科目
**/
private String paySubjectName;
/**
* 支付时间
**/
private String payDate;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BillRefundChangeInfoBean {
/**
* 原舱位名称
**/
private String oCabinName;
/**
* 加收服务费
**/
private BigDecimal addServiceFee;
/**
* 原PNR
**/
private String oPnrNo;
/**
* 应退金额
**/
private BigDecimal cuRefundAmount;
/**
* 客户退票手续费
**/
private BigDecimal cuRefundPoundage;
/**
* 原票号
**/
private String oTkno;
/**
* 原航班号
**/
private String oFlightNo;
/**
* 客户退升舱费
**/
private BigDecimal cuRefundUpFee;
/**
* 原舱位
**/
private String oCabin;
/**
* 原起飞时间
**/
private String oDepartTime;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Map;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BillSummaryInfoNean {
/**
* 结算状态
**/
private String accountStatus;
/**
* 结算说明
**/
private String accountRemark;
/**
* 应结欠款
**/
private BigDecimal payAmount;
/**
* 已结欠款
**/
private BigDecimal closedAccount;
/**
* 价格统计集合
**/
private Map<String, Object> priceTotalList;
/**
* 总单数
**/
private Integer totalOrder;
/**
* 账期
**/
private String accountPeriod;
/**
* 已确认单数
**/
private Integer cfmOrder;
/**
* 企业简称
**/
private String corpName;
/**
* 对账状态
**/
private String reconStatus;
/**
* 企业代码
**/
private String corpCode;
/**
* 版本号
**/
private String version;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BillTravelInfoBean {
/**
* 成本中心代码
**/
private String costCenterCode;
/**
* 部门名称
**/
private String deptName;
/**
* 推荐航班价格
**/
private BigDecimal recomPrice;
/**
* 企业预订人
**/
private String vipBooker;
/**
* 重要程度
**/
private String importance;
/**
* 推荐航班
**/
private String recomFlightNo;
/**
* 联系电话
**/
private String linkTel;
/**
* 企业代号
**/
private String corpCode;
/**
* 部门代码
**/
private String deptNo;
/**
* 三方协议号
**/
private String drawProtocolNo;
/**
* 违背事项
**/
private String violateitemCode;
/**
* 项目代码
**/
private String projectNo;
/**
* 提前订票天数
**/
private String advanceDrawDate;
/**
* 违背原因代码
**/
private String reasonCode;
/**
* 推荐舱位
**/
private String recomCabin;
/**
* 部门编号1
**/
private String deptNo1;
/**
* 部门编号2
**/
private String deptNo2;
/**
* 部门编号3
**/
private String deptNo3;
/**
* 部门编号4
**/
private String deptNo4;
/**
* 部门编号5
**/
private String deptNo5;
/**
* 员工工号
**/
private String empNo;
/**
* 联系人
**/
private String linkman;
/**
* 部门名称6
**/
private String deptName6;
/**
* 违背事项说明
**/
private String violateitem;
/**
* 部门名称5
**/
private String deptName5;
/**
* 职级
**/
private String empRank;
/**
* 推荐航班起飞时间
**/
private String recomDepartTime;
/**
* 差旅类型
**/
private String tripType;
/**
* 部门名称4
**/
private String deptName4;
/**
* 部门名称3
**/
private String deptName3;
/**
* 部门名称2
**/
private String deptName2;
/**
* 部门名称1
**/
private String deptName1;
/**
* 当天最低价
**/
private BigDecimal minPrice;
/**
* 部门编号6
**/
private String deptNo6;
/**
* 出差单号
**/
private String travelNo;
/**
* 成本中心
**/
private String costCenterName;
/**
* 项目名称
**/
private String projectName;
/**
* 违背原因
**/
private String reasonDesc;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ConsTicketListBean {
/**
* 退票手续费
**/
private BigDecimal cuRefundPoundage;
/**
* 付款科目
**/
private String paySubject;
/**
* 退票费率
**/
private BigDecimal cuRefundRate;
/**
* 原航班号
**/
private String oFlightNo;
/**
* 大编码
**/
private String bigPnrNo;
/**
* 支付备注
**/
private String payRemark;
/**
* 乘机人证件号码
**/
private String idNo;
/**
* 航程中文
**/
private String voyageZh;
/**
* 保险份数
**/
private Integer bxfs;
/**
* 支付金额
**/
private BigDecimal payAmount;
/**
* 出发机场名
**/
private String arriveAirportName;
/**
* 国内国际 1国内1国际
**/
private Integer international;
/**
* 企业改签原因
**/
private String changeReasonVip;
/**
* 销售服务费
**/
private BigDecimal serviceFee;
/**
* 销售小计
**/
private BigDecimal saleAmount;
/**
* 订单编号
**/
private String orderNo;
/**
* 退票金额
**/
private String cuRefundAmount;
/**
* 机型
**/
private String planeModel;
/**
* 乘机人姓名
**/
private String psgName;
/**
* 到达日期 YYYY-MM-DD
**/
private String arriveDate;
/**
* 燃油税
**/
private BigDecimal tax;
/**
* 出票类型 BSPET/BPET/OP
**/
private String tkType;
/**
* 航程
**/
private String voyage;
/**
* 付款方式
**/
private String payMothed;
/**
* 乘机人手机号码
**/
private String phoneNumber;
/**
* 航班号
**/
private String flightNo;
/**
* 出发日期 YYYY-MM-DD
**/
private String departDate;
/**
* 订单来源数据
**/
private String orderFrom;
/**
* 出发机场名
**/
private String departAirportName;
/**
* 企业退票原因
**/
private String refundReasonVip;
/**
* 票证状态 1正常、2退、3废
**/
private String tkStatus;
/**
* 单据类型 11001 国内机票正常单 11002 国内机票退票单 11003 国内机票改签单 11004 国际机票正常单 11005 国际机票退票单 11006 国际机票改签单
**/
private String djlx;
/**
* 出票时间yyyy-MM-dd HH:mm:ss
**/
private String drawDate;
/**
* 保险金额
**/
private BigDecimal bxje;
/**
* 航程机场中文
**/
private String voyageAirportZh;
/**
* 到达机场
**/
private String arriveAirport;
/**
* 保险名称
**/
private String bxmc;
/**
* 预定时间yyyy-MM-dd HH:mm:ss
**/
private String bookDate;
/**
* 里程
**/
private String distance;
/**
* 飞行时长
**/
private String flyTimeStr;
/**
* y舱全价
**/
private String yPrice;
/**
* PNR编码
**/
private String pnrNo;
/**
* 舱位
**/
private String cabin;
/**
* 退废票状态
**/
private String refundStatus;
/**
* 改签金额
**/
private BigDecimal changeAmount;
/**
* 出发航站楼
**/
private String departTerminal;
/**
* 票号
**/
private String tkno;
/**
* 原起飞时间
**/
private String oDepartTime;
/**
* 到达时间yyyy-MM-dd HH:mm
**/
private String arriveTime;
/**
* 出票三方协议号
**/
private String drawProtocolNo;
/**
* 航程描述
**/
private String hcms;
/**
* 航程类型1单程2往返3联程4缺口
**/
private Integer voyageType;
/**
* 乘机人类型 1成人2儿童3婴儿
**/
private Integer psgType;
/**
* 出发时间 HH:mm
**/
private String departTimeD;
/**
* 原出发时间 HH:mm
**/
private String oDepartTimeD;
/**
* 结算还款时间
**/
private String jsHksj;
/**
* 航空公司二字码
**/
private String airline;
/**
* 产品类型 1普通 2电商 3三方协议 6商务优行
**/
private String productType;
/**
* 应结日期
**/
private String jsRepayDate;
/**
* 出发时间yyyy-MM-dd HH:mm
**/
private String departTime;
/**
* 到达航站楼
**/
private String arriveTerminal;
/**
* 销售价
**/
private BigDecimal salePrice;
/**
* 账单价
**/
private BigDecimal fcny;
/**
* 原出发日期 YYYY-MM-DD
**/
private String oDepartDate;
/**
* 企业预定人名称
**/
private String bookerName;
/**
* 逾期状态
**/
private String yqzt;
/**
* 对账单号
**/
private String reconId;
/**
* 销售折扣率 如8折
**/
private String saleDisCountZ;
/**
* 机建
**/
private BigDecimal airportFee;
/**
* 原舱位名称
**/
private String oCabinName;
/**
* 出行类型 1因公 2因私
**/
private String tripType;
/**
* 出发机场
**/
private String departAirport;
/**
* 结算状态
**/
private String jszt;
/**
* 改签手续费
**/
private BigDecimal changePoundage;
/**
* 原订单编号 退票、改签才有值
**/
private String oldOrderNo;
/**
* 到达时间 HH:mm
**/
private String arriveTimeD;
/**
* 航程数
**/
private String voyageCount;
/**
* 原舱位
**/
private String oCabin;
/**
* 付款状态
**/
private Integer payStatus;
/**
* 航空公司名称
**/
private String airlineName;
/**
* 支付单号
**/
private String payBillno;
/**
* 支付时间
**/
private String payDate;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ConsTicketSumBean {
/**
* 销售小计
**/
private BigDecimal saleAmount;
/**
* 销售服务费
**/
private BigDecimal serviceFee;
/**
* 退票金额
**/
private String cuRefundAmount;
/**
* 退票手续费
**/
private BigDecimal cuRefundPoundage;
/**
* 销售价
**/
private BigDecimal salePrice;
/**
* 账单价
**/
private BigDecimal fcny;
/**
* 燃油税
**/
private BigDecimal tax;
/**
* 改签金额
**/
private BigDecimal changeAmount;
/**
* 保险份数
**/
private Integer bxfs;
/**
* 机建
**/
private BigDecimal airportFee;
/**
* 支付金额
**/
private BigDecimal payAmount;
/**
* 改签手续费
**/
private BigDecimal changePoundage;
/**
* 保险金额
**/
private BigDecimal bxje;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EditBxjlErrBean {
/**
* 单据类型
**/
private String orderType;
/**
* 订单编号
**/
private String orderNo;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class GetCompareResultDetailErrBean {
/**
* 服务费
**/
private BigDecimal serviceFee;
/**
* 单据类型
**/
private String orderType;
/**
* 应收金额
**/
private BigDecimal amount;
/**
* 起飞时间yyyy-MM-dd HH:mm
**/
private String departTime;
/**
* 票面价
**/
private BigDecimal salePrice;
/**
* 出差备注
**/
private String travelRemark;
/**
* 手续费
**/
private BigDecimal poundage;
/**
* 乘机人姓名
**/
private String psgName;
/**
* 成本中心名称
**/
private String codeCenterName;
/**
* 舱位等级 机票为舱位代码,火车票为座位席别,酒店为房型名称
**/
private String cabin;
/**
* 燃油税
**/
private BigDecimal tax;
/**
* 员工工号
**/
private String empNo;
/**
* 行程 城市名称用-分隔 机票、火车票为出发到达城市、酒店为入住城市,用车为用车城市
**/
private String voyage;
/**
* 成本中心代码
**/
private String codeCenterCode;
/**
* 基建费
**/
private BigDecimal airportFee;
/**
* 票号或单号
**/
private String tknoOrOrderNo;
/**
* 航班号 机票为航班号、火车票为车次,酒店为酒店名称
**/
private String flightNo;
/**
* 项目代码
**/
private String projectNo;
/**
* 错误代码 2只存在系统 3只存在账单 4金额不正确
**/
private Integer errCode;
/**
* 保险金额
**/
private BigDecimal insureFee;
/**
* 出差申请单号
**/
private String travelNo;
/**
* 项目名称
**/
private String projectName;
/**
* 对比不成功的原因
**/
private String errResult;
/**
* 产品类型
**/
private String productType;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class GetCompareResultTotalErrBean {
/**
* 总金额
**/
private BigDecimal totalAmount;
/**
* 2只存在系统 3只存在账单 4金额不正确
**/
private Integer errCode;
/**
* 单数
**/
private Integer count;
/**
* 对比不成功的原因
**/
private String errResult;
/**
* 产品类型
**/
private String productType;
}
package org.dromara.common.ys.model.res.bill.other;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PriceTotalInfoBean {
/**
* 退升舱费合计
**/
private BigDecimal refundUpFee;
/**
* 单据类型
**/
private String billType;
/**
* 税费合计
**/
private BigDecimal taxTotal;
/**
* 票面价格合计
**/
private BigDecimal fcnyTotal;
/**
* 服务费合计
**/
private BigDecimal servicefeeTotal;
/**
* 备注信息
**/
private String remark;
/**
* 对账单号
**/
private String reconId;
/**
* 版本号
**/
private String version;
/**
* 保险分数合计
**/
private Integer insuranceNumberTotal;
/**
* 数量
**/
private Integer number;
/**
* 退服务费合计
**/
private BigDecimal refundserviceTotal;
/**
* 机建合计
**/
private BigDecimal airporteeTotal;
/**
* 手续费合计
**/
private BigDecimal sxfTotal;
/**
* 保险金额合计
**/
private BigDecimal insuranceTotal;
/**
* 销售价格合计
**/
private BigDecimal salepriceTotal;
}
package org.dromara.common.ys.service;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.model.res.bill.*;
/**
* @author wenhe
*/
public interface IBillService {
/**
* 对帐单查询
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
QueryBillModel queryBill(String userId, org.dromara.common.ys.model.req.bill.QueryBillModel model);
/**
* 交易明细查询
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
QueryBillAllModel queryBillAll(String userId, org.dromara.common.ys.model.req.bill.QueryBillAllModel model);
/**
* 账户消费往来账明细 分页查询
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
PageInfo<AccountDetailBeanModel> accountDetail(String userId, org.dromara.common.ys.model.req.bill.AccountDetailModel model);
/**
* 机票消费清单明细 分页查询
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
ConsTicketListModel consTicketList(String userId, org.dromara.common.ys.model.req.bill.ConsTicketListModel model);
/**
* 账单推送
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
TravelBillPushStatementModel pushStatement(String userId, org.dromara.common.ys.model.req.bill.TravelBillPushStatementModel model);
/**
* 获取账单核对结果
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
TravelBillGetCompareResultModel getCompareResult(String userId, org.dromara.common.ys.model.req.bill.TravelBillGetCompareResultModel model);
/**
* 新增或新增报销记录
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
EditBxjlModel editBxjl(String userId, org.dromara.common.ys.model.req.bill.EditBxjlModel model);
/**
* 确认对账单
*
* @param userId 用户id
* @param model 参数
* @return 结果
*/
void confirmRecon(String userId, org.dromara.common.ys.model.req.bill.ConfirmReconModel model);
}
package org.dromara.common.ys.service.impl;
import cn.hutool.core.text.CharSequenceUtil;
import com.alibaba.fastjson.JSON;
import org.dromara.common.ys.Api;
import org.dromara.common.ys.common.ApiHttpResponse;
import org.dromara.common.ys.common.Code;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.enums.DomainEnum;
import org.dromara.common.ys.enums.bill.BillApiEnum;
import org.dromara.common.ys.model.req.bill.AccountDetailModel;
import org.dromara.common.ys.model.req.bill.ConfirmReconModel;
import org.dromara.common.ys.model.res.bill.*;
import org.dromara.common.ys.service.IBillService;
import org.springframework.stereotype.Service;
import java.util.Collections;
/**
* @author hzh
* @date 2025-04-07
**/
@Service
public class BillServiceImpl implements IBillService {
@Override
public QueryBillModel queryBill(String userId, org.dromara.common.ys.model.req.bill.QueryBillModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.QUERY_BILL.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), QueryBillModel.class);
}
@Override
public QueryBillAllModel queryBillAll(String userId, org.dromara.common.ys.model.req.bill.QueryBillAllModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.QUERY_BILL_ALL.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), QueryBillAllModel.class);
}
@Override
public PageInfo<AccountDetailBeanModel> accountDetail(String userId, AccountDetailModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.ACCOUNT_DETAIL.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
if (res.getData() == null) {
return PageInfo.<AccountDetailBeanModel>builder().build()
.setCount(model.getCount())
.setMap(Collections.emptyMap())
.setPageNum(model.getPageNum())
.setPages(0)
.setTotal(0)
.setList(Collections.emptyList());
}
PageInfo pageInfo = JSON.parseObject(JSON.parseObject(res.getData()).getString("detailPage"), PageInfo.class);
return PageInfo.<AccountDetailBeanModel>builder().build()
.setCount(pageInfo.getCount())
.setMap(pageInfo.getMap())
.setPageNum(pageInfo.getPageNum())
.setPages(pageInfo.getPages())
.setTotal(pageInfo.getTotal())
.setList(JSON.parseArray(JSON.toJSONString(pageInfo.getList()), AccountDetailBeanModel.class));
}
@Override
public ConsTicketListModel consTicketList(String userId, org.dromara.common.ys.model.req.bill.ConsTicketListModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.CONS_TICKET_LIST.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), ConsTicketListModel.class);
}
@Override
public TravelBillPushStatementModel pushStatement(String userId, org.dromara.common.ys.model.req.bill.TravelBillPushStatementModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.PUSH_STATEMENT.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), TravelBillPushStatementModel.class);
}
@Override
public TravelBillGetCompareResultModel getCompareResult(String userId, org.dromara.common.ys.model.req.bill.TravelBillGetCompareResultModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.GET_COMPARE_RESULT.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), TravelBillGetCompareResultModel.class);
}
@Override
public EditBxjlModel editBxjl(String userId, org.dromara.common.ys.model.req.bill.EditBxjlModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.EDIT_BXJL.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), EditBxjlModel.class);
}
@Override
public void confirmRecon(String userId, ConfirmReconModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
BillApiEnum.CONFIRM_RECON.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论