<?xml version="1.0" encoding="UTF-8" ?>
<sqlMap namespace="STORAGE_MAIN" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <alias>
    <typeAlias alias="STORAGE_MAIN" type="SSWMS.Common.STORAGE_MAIN, SSWMS.Common" />
  </alias>
  <resultMaps>
    <resultMap id="SelectResult" class="STORAGE_MAIN">
      <result property="STORAGE_ID" column="STORAGE_ID" />
      <result property="GOODS_ID" column="GOODS_ID" />
      <result property="PLAN_ID" column="PLAN_ID" />
      <result property="CELL_CODE" column="CELL_CODE" />
      <result property="STOCK_BARCODE" column="STOCK_BARCODE" />
      <result property="ENTRY_TIME" column="ENTRY_TIME" />
      <result property="UPDATE_TIME" column="UPDATE_TIME" />
      <result property="CELL_MODEL" column="CELL_MODEL" />
      <result property="STOCK_WEIGHT" column="STOCK_WEIGHT" />
      <result property="STORAGE_PROPERTY" column="STORAGE_PROPERTY" />
    </resultMap>
  </resultMaps>
  <statements>
    <select id="STORAGE_MAIN_SELECT" parameterClass="int" resultMap="SelectResult">
      select
      STORAGE_ID,
      GOODS_ID,
      PLAN_ID,
      CELL_CODE,
      STOCK_BARCODE,
      ENTRY_TIME,
      UPDATE_TIME,
      CELL_MODEL,
      STOCK_WEIGHT,
      STORAGE_PROPERTY
      from STORAGE_MAIN
    </select>
    <select id="STORAGE_MAIN_SELECT_BY_ID" parameterClass="int"
            extends="STORAGE_MAIN_SELECT" resultMap="SelectResult">
      where STORAGE_ID=#STORAGE_ID#
    </select>
    <select id="STORAGE_MAIN_SELECT_BY_STOCK_BARCODE" parameterClass="string"
            extends="STORAGE_MAIN_SELECT" resultMap="SelectResult">
      where STOCK_BARCODE=#STOCK_BARCODE#
    </select>
    <select id="STORAGE_MAIN_SELECT_BY_CELL_CODE" parameterClass="string"
            extends="STORAGE_MAIN_SELECT" resultMap="SelectResult">
      where CELL_CODE=#CELL_CODE#
    </select>
    <insert id="STORAGE_MAIN_INSERT_SQLSERVER" parameterClass="STORAGE_MAIN">
      insert into STORAGE_MAIN (
      GOODS_ID,
      PLAN_ID,
      CELL_CODE,
      STOCK_BARCODE,
      ENTRY_TIME,
      UPDATE_TIME,
      CELL_MODEL,
      STOCK_WEIGHT,
      STORAGE_PROPERTY
      )values(
      #GOODS_ID#,
      #PLAN_ID#,
      #CELL_CODE#,
      #STOCK_BARCODE#,
      #ENTRY_TIME#,
      #UPDATE_TIME#,
      #CELL_MODEL#,
      #STOCK_WEIGHT#,
      #STORAGE_PROPERTY#
      )
      <selectKey resultClass="int" type="post" property="STORAGE_ID">
        select @@IDENTITY as value
      </selectKey>
    </insert>
    <insert id="STORAGE_MAIN_INSERT_ORACLE" parameterClass="STORAGE_MAIN">
      insert into STORAGE_MAIN (
      STORAGE_ID,
      GOODS_ID,
      PLAN_ID,
      CELL_CODE,
      STOCK_BARCODE,
      ENTRY_TIME,
      UPDATE_TIME,
      CELL_MODEL,
      STOCK_WEIGHT,
      STORAGE_PROPERTY
      )values(
      #STORAGE_ID#,
      #GOODS_ID#,
      #PLAN_ID#,
      #CELL_CODE#,
      #STOCK_BARCODE#,
      #ENTRY_TIME#,
      #UPDATE_TIME#,
      #CELL_MODEL#,
      #STOCK_WEIGHT#,
      #STORAGE_PROPERTY#
      )
      <selectKey resultClass="int" type="pre" property="STORAGE_ID">
        select STORAGE_MAIN_SEQ.nextval as value from DUAL
      </selectKey>
    </insert>
    <update id="STORAGE_MAIN_UPDATE" parameterClass="STORAGE_MAIN">
      update STORAGE_MAIN set
      GOODS_ID=#GOODS_ID#,
      PLAN_ID=#PLAN_ID#,
      CELL_CODE=#CELL_CODE#,
      STOCK_BARCODE=#STOCK_BARCODE#,
      ENTRY_TIME=#ENTRY_TIME#,
      UPDATE_TIME=#UPDATE_TIME#,
      CELL_MODEL=#CELL_MODEL#,
      STOCK_WEIGHT=#STOCK_WEIGHT#,
      STORAGE_PROPERTY=#STORAGE_PROPERTY#
      where STORAGE_ID=#STORAGE_ID#
    </update>
    <delete id="STORAGE_MAIN_DELETE" parameterClass="int">
      delete from STORAGE_MAIN
      where storage_id=#STORAGE_ID#
    </delete>
  </statements>
</sqlMap>