# HkInventoryPurchaseOrder.java

    package cloud.wconnect.workperformance.entity.hkinventory;

    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableId;
    import com.baomidou.mybatisplus.annotation.TableName;
    import lombok.Getter;
    import lombok.Setter;
    import lombok.ToString;
    import lombok.experimental.Accessors;

    import java.io.Serializable;
    import java.math.BigDecimal;

    /**
     * <p>
     * 客房库存管理-物品采购订单表
     * </p>
     *
     * @author lichen
     * @since 2025-04-19
     */
    @Getter
    @Setter
    @ToString
    @Accessors(chain = true)
    @TableName("hk_inventory_purchase_order")
    public class HkInventoryPurchaseOrder implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 主键id
         */
        @TableId(value = "id", type = IdType.AUTO)
        private Integer id;

        /**
         * 租户id
         */
        private Integer tenantId;

        /**
         * 资产id
         */
        private Integer propertyId;

        /**
         * 分类id
         */
        private Integer categoryId;

        /**
         * 分类名称
         */
        private String categoryName;

        /**
         * 房型id
         */
        private Integer roomTypeId;

        /**
         * 房型名称
         */
        private String roomTypeName;

        /**
         * 物品id
         */
        private Integer itemId;

        /**
         * 物品名称
         */
        private String itemName;

        /**
         * 采购的数量（单位包、袋等）
         */
        private Integer qty;

        /**
         * 一个单位（包、袋等）包含的物品数量
         */
        private Integer unitPerCs;

        /**
         * 一个单位（包、袋等）的不含税价格
         */
        private BigDecimal priceCs;

        /**
         * 购买日期
         */
        private Long purchaseTime;

        /**
         * 单价，公式price_cs/unit_per_cs * （1 + taxRate）
         */
        private BigDecimal unitCost;

        /**
         * 购买数量，公式qty*unit_per_cs
         */
        private Integer purchaseCount;

        /**
         * 更新日志
         */
        private String updateLog;

        /**
         * 生成key(分类id_房型id_itemId)
         *
         * @return java.lang.String
         * @author lichen
         * @date 2025/4/23
         */
        public String generateKey() {
            return String.format("%s_%s_%s", categoryId, roomTypeId, itemId);
        }
    }