<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping
		http://www.hibernate.org/xsd/hibernate-mapping/hibernate-mapping-4.0.xsd">
    <class entity-name="com.xyst.dinas.price.datamodel.PriceAdjustment" table="xyst_dinas_price_adjustment" optimistic-lock="version">
        <tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer" />
        <id name="id" type="uuid-binary" column="id" length="16">
            <generator class="assigned" />
        </id>
        <version name="version" type="int" column="version"/>
        <property name="createTime" type="timestamp" not-null="false">
            <column name="create_time"/>
        </property>
        <many-to-one name="creator" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
            <column name="creator_id"  not-null="false"/>
        </many-to-one>
        <property name="modifyTime" type="timestamp" not-null="false">
            <column name="modify_time"/>
        </property>
        <many-to-one name="modifier" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
            <column name="modifier_id"  not-null="false"/>
        </many-to-one>
        <property name="billState" type="nstring" not-null="false">
            <column name="bill_state" length="100"/>
        </property>
        <many-to-one name="bizProcess" entity-name="com.beecode.bap.workflow.datamodel.BizProcess" fetch="select">
            <column name="biz_process_id"  not-null="false"/>
        </many-to-one>
        <property name="billCode" type="nstring" not-null="false">
            <column name="bill_code" length="200"/>
        </property>
        <property name="discard" type="boolean" not-null="false">
            <column name="discard"/>
        </property>
        <property name="del" type="boolean" not-null="false">
            <column name="del"/>
        </property>
        <property name="approveState" type="integer" not-null="false">
            <column name="approve_state"/>
        </property>

        <many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select">
            <column name="regional_company"  not-null="false">
                <comment>所属组织机构</comment>
            </column>
        </many-to-one>
        <many-to-one name="station" entity-name="com.xyst.dinas.biz.datamodel.Station" fetch="select">
            <column name="station_id"  not-null="false">
                <comment>所属场站</comment>
            </column>
        </many-to-one>
        <property name="adjustmentDate" type="timestamp" not-null="true">
            <column name="adjustment_date">
                <comment>调整时间</comment>
            </column>
        </property>
        <property name="adjustmentEndDate" type="timestamp" not-null="false">
            <column name="adjustment_end_date">
                <comment>调整结束时间</comment>
            </column>
        </property>
        <property name="adjustmentStatus" type="int" not-null="true">
            <column name="adjustment_status" default="0">
                <comment>调整状态 0未开始 1进行中 2已结束</comment>
            </column>
        </property>
        <property name="applyDate" type="timestamp" not-null="true">
            <column name="apply_date">
                <comment>申请时间</comment>
            </column>
        </property>

        <property name="approvalTime" type="timestamp" not-null="false">
            <column name="approval_time">
                <comment>审批时间</comment>
            </column>
        </property>

        <many-to-one name="approver" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
            <column name="approver"  not-null="false">
                <comment>审批人</comment>
            </column>
        </many-to-one>

        <many-to-one name="submitter" entity-name="com.beecode.inz.basis.datamodel.WarehouseUser" fetch="select">
            <column name="submitter_id"  not-null="false">
                <comment>提交人</comment>
            </column>
        </many-to-one>

        <property name="applyStatus" type="int" not-null="true">
            <column name="apply_status">
                <comment>申请状态 0待审批 1审批中 2通过 3不通过</comment>
            </column>
        </property>
        <property name="failureReason" type="nstring" not-null="false">
            <column name="failureReason">
                <comment>不通过原因</comment>
            </column>
        </property>
        <property name="reason" type="nstring" not-null="false">
            <column name="reason">
                <comment>调价原因</comment>
            </column>
        </property>
        <bag name="dinasTypeDetails" lazy="true" fetch="select" inverse="true">
            <key column="master_id" not-null="true" />
            <one-to-many entity-name="com.xyst.dinas.price.datamodel.PriceAdjustmentAssociatedDinasTypeDetails" />
        </bag>
    </class>
    <class entity-name="com.xyst.dinas.price.datamodel.PriceAdjustmentAssociatedDinasTypeDetails" table="xyst_dinas_price_adjustment_dinas_type_detail" >
        <tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer" />
        <id name="id" type="uuid-binary" column="id" length="16">
            <generator class="assigned" />
        </id>
        <many-to-one name="dinasType" entity-name="com.xyst.dinas.biz.datamodel.DinasType" fetch="select">
            <column name="dinas_type_id" not-null="true">
                <comment>砂石类型id</comment>
            </column>
        </many-to-one>
        <many-to-one name="master" entity-name="com.xyst.dinas.price.datamodel.PriceAdjustment" fetch="select">
            <column name="master_id" not-null="true">
                <comment>所属价格申请</comment>
            </column>
        </many-to-one>
        <property name="dinasPrice" type="big_decimal" not-null="false">
            <column name="dinas_price" precision="12" scale="4">
                <comment>砂石价格</comment>
            </column>
        </property>
        <property name="dinasOldPrice" type="big_decimal" not-null="false">
            <column name="dinas_old_price" precision="12" scale="4">
                <comment>砂石原价</comment>
            </column>
        </property>

        <property name="adjustmentDate" type="timestamp" not-null="true">
            <column name="adjustment_date">
                <comment>调整时间</comment>
            </column>
        </property>
        <property name="adjustmentEndDate" type="timestamp" not-null="false">
            <column name="adjustment_end_date">
                <comment>调整结束时间</comment>
            </column>
        </property>
    </class>
</hibernate-mapping>