package com.dk.finance.model.pojo.fia; import com.baomidou.mybatisplus.annotation.*; import java.io.Serializable; import com.dk.common.infrastructure.annotaiton.OrderNumber; import com.dk.common.infrastructure.annotaiton.UUID; import com.dk.common.infrastructure.constant.Constant; import com.dk.common.infrastructure.handler.*; import com.dk.common.model.vo.AnnexVO; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import com.alibaba.fastjson.JSONObject; import java.util.List; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; /** * @desc : 资产清理单表持久化对象 * @author : 常皓宁 * @date : 2025/05/26 15:41 */ @Data @AllArgsConstructor @NoArgsConstructor @Accessors(chain = true) @TableName(value = "t_fia_asset_clear", autoResultMap = true, schema = "dkscu_b") public class AssetClear implements Serializable { /** * 资产清理单ID */ @UUID @TableField(typeHandler = UuidTypeHandler.class) private String docId; /** * 资产清理单单号 */ @OrderNumber(docType = Constant.Doc.FIA_ASSET_CLEAR) private String docNo; /** * 单据类型 (【系统单据dkscu_bs.t_doc】资产清理单) */ private String kindCode; /** * 单据状态 (【系统数据dkscu_bs.t_data_kind】暂存、未审核、审核中、审拒绝、审通过、确定;确定:更新固定资产表) */ private String statusInvoice; /** * 流程状态 (【系统数据dkscu_bs.t_data_kind】未生效(审拒绝前)、已生效(确定)、冲正(确定)) */ private String statusFlow; /** * 经手部门 */ @TableField(typeHandler = UuidTypeHandler.class) private String orgId; /** * 经手人 */ @TableField(typeHandler = UuidTypeHandler.class) private String staffId; /** * 摘要 */ private String summary; /** * 收款状态 (【系统数据dkscu_bs.t_data_kind】未收款、部分收款、已收款) */ private String statusReceipt; /** * 收款账户 */ @TableField(typeHandler = UuidTypeHandler.class) private String macId; /** * 本单收款金额 */ private BigDecimal sumAmtCash; /** * 手续费 */ private BigDecimal sumAmtCharge; /** * 合计收款金额 */ private BigDecimal sumAmtTotalCash; /** * 清理应收 */ private BigDecimal sumAmtShould; /** * 账务对象类型 (dkscu_bs.t_obj_type.type_id) */ private Integer objType; /** * 往来对象 (dkscu_b.t_mst_obj.obj_id) */ @TableField(typeHandler = UuidTypeHandler.class) private String objId; /** * 到期日期 */ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDate dueDate; /** * 打印次数 (票据打印的次数,默认为0次) */ private Integer printTimes; /** * 冲正类型 (1:原单;2:冲单) */ private Integer reversedType; /** * 冲正单ID (记录了原单或冲单的Id) */ @TableField(typeHandler = UuidTypeHandler.class) private String reversedId; /** * 冲正单单号 (记录了原单或冲单的单号) */ private String reversedNo; /** * 审批提交ID */ @TableField(typeHandler = UuidTypeHandler.class) private String apvSubmitId; /** * 当前审批人 */ @TableField(typeHandler = UuidListTypeHandler.class) private List apvStaffIds; /** * 审批时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDateTime apvResultTime; /** * 收款附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...) */ @TableField(typeHandler = JsonTypeHandler.class) private List annexPaths; /** * 其他附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...) */ @TableField(typeHandler = JsonTypeHandler.class) private JSONObject otherAnnexPaths; /** * 备注 */ private String remarks; /** * 账务日期 */ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDate accDate; /** * 制单员 */ @TableField(typeHandler = UuidTypeHandler.class) private String makeStaff; /** * 建档时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDateTime makeTime; /** * 有效标识 (1:正常 0:停用) */ private Boolean flgValid; /** * 财务主体企业ID */ @TableField(fill = FieldFill.INSERT) private Integer ownCpId; /** * 总公司ID */ @TableField(fill = FieldFill.INSERT) private Integer ctrCpId; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDateTime opCreateTime; /** * 修改时间 (触发器自动处理) */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(typeHandler = TimestampTypeHandler.class) private LocalDateTime opUpdateTime; /** * 修改用户 (触发器自动处理) */ @TableField(typeHandler = UuidTypeHandler.class) private String opUpdateStaffId; private static final long serialVersionUID = 1L; }