<?xml version="1.0" encoding="UTF-8" ?>
<sqlMap namespace="MANAGE_MAIN" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <alias>
    <typeAlias alias="MANAGE_MAIN" type="SSWMS.Common.MANAGE_MAIN, SSWMS.Common" />
  </alias>
  <resultMaps>
    <resultMap id="SelectResult" class="MANAGE_MAIN">
      <result property="MANAGE_ID" column="MANAGE_ID" />
      <result property="PLAN_ID" column="PLAN_ID" />
      <result property="APPLY_ID" column="APPLY_ID" />
      <result property="STORAGE_ID" column="STORAGE_ID" />
      <result property="START_CELL_CODE" column="START_CELL_CODE" />
      <result property="END_CELL_CODE" column="END_CELL_CODE" />
      <result property="NEXT_CELL_CODE" column="NEXT_CELL_CODE" />
      <result property="LOCK_CELL_CODE" column="LOCK_CELL_CODE" />
      <result property="MANAGE_TYPE" column="MANAGE_TYPE" />
      <result property="MANAGE_STATUS" column="MANAGE_STATUS" />
      <result property="STOCK_BARCODE" column="STOCK_BARCODE" />
      <result property="MANAGE_OPERATOR" column="MANAGE_OPERATOR" />
      <result property="MANAGE_CREATE_TIME" column="MANAGE_CREATE_TIME" />
      <result property="MANAGE_BEGIN_TIME" column="MANAGE_BEGIN_TIME" />
      <result property="MANAGE_REMARK" column="MANAGE_REMARK" />
      <result property="ERROR_TEXT" column="ERROR_TEXT" />
    </resultMap>
  </resultMaps>
  <statements>
    <select id="MANAGE_MAIN_SELECT" parameterClass="int" resultMap="SelectResult">
      select
      MANAGE_ID,
      PLAN_ID,
      APPLY_ID,
      STORAGE_ID,
      MANAGE_TYPE,
      MANAGE_STATUS,
      STOCK_BARCODE,
      START_CELL_CODE,
      END_CELL_CODE,
      NEXT_CELL_CODE,
      LOCK_CELL_CODE,
      MANAGE_OPERATOR,
      MANAGE_CREATE_TIME,
      MANAGE_BEGIN_TIME,
      MANAGE_REMARK,
      ERROR_TEXT
      from MANAGE_MAIN
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_ID" parameterClass="int"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where MANAGE_ID=#MANAGE_ID#
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_STOCK_BARCODE" parameterClass="string"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where STOCK_BARCODE=#STOCK_BARCODE#
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_STORAGE_ID" parameterClass="int"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where STORAGE_ID=#STORAGE_ID#
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_IN_SEND" parameterClass="Hashtable"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where START_CELL_CODE=#START_CELL_CODE# and MANAGE_STATUS=#MANAGE_STATUS#
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_STATUS" parameterClass="string"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where MANAGE_STATUS=#MANAGE_STATUS# order by MANAGE_ID
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_PLAN_ID" parameterClass="int"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where PLAN_ID=#PLAN_ID#
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_PLAN_OUT" parameterClass="Hashtable"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where PLAN_ID=#PLAN_ID# and END_CELL_CODE=#END_CELL_CODE#
    </select>
    <select id="MANAGE_MAIN_SELECT_BY_END_DEVICE_CODE" parameterClass="Hashtable"
            extends="MANAGE_MAIN_SELECT" resultMap="SelectResult">
      where END_CELL_CODE=#END_CELL_CODE#
    </select>
    <insert id="MANAGE_MAIN_INSERT_SQLSERVER" parameterClass="MANAGE_MAIN">
      insert into MANAGE_MAIN (
      PLAN_ID,
      APPLY_ID,
      STORAGE_ID,
      MANAGE_TYPE,
      MANAGE_STATUS,
      STOCK_BARCODE,
      START_CELL_CODE,
      END_CELL_CODE,
      NEXT_CELL_CODE,
      LOCK_CELL_CODE,
      MANAGE_OPERATOR,
      MANAGE_CREATE_TIME,
      MANAGE_BEGIN_TIME,
      MANAGE_REMARK,
      ERROR_TEXT
      )values(
      #PLAN_ID#,
      #APPLY_ID#,
      #STORAGE_ID#,
      #MANAGE_TYPE#,
      #MANAGE_STATUS#,
      #STOCK_BARCODE#,
      #START_CELL_CODE#,
      #END_CELL_CODE#,
      #NEXT_CELL_CODE#,
      #LOCK_CELL_CODE#,
      #MANAGE_OPERATOR#,
      #MANAGE_CREATE_TIME#,
      #MANAGE_BEGIN_TIME#,
      #MANAGE_REMARK#,
      #ERROR_TEXT#
      )
      <selectKey resultClass="int" type="post" property="MANAGE_ID">
        select @@IDENTITY as value
      </selectKey>
    </insert>
    <insert id="MANAGE_MAIN_INSERT_ORACLE" parameterClass="MANAGE_MAIN">
      insert into MANAGE_MAIN (
      MANAGE_ID,
      PLAN_ID,
      APPLY_ID,
      STORAGE_ID,
      MANAGE_TYPE,
      MANAGE_STATUS,
      STOCK_BARCODE,
      START_CELL_CODE,
      END_CELL_CODE,
      NEXT_CELL_CODE,
      LOCK_CELL_CODE,
      MANAGE_OPERATOR,
      MANAGE_CREATE_TIME,
      MANAGE_BEGIN_TIME,
      MANAGE_REMARK,
      ERROR_TEXT
      )values(
      #MANAGE_ID#,
      #PLAN_ID#,
      #APPLY_ID#,
      #STORAGE_ID#,
      #MANAGE_TYPE#,
      #MANAGE_STATUS#,
      #STOCK_BARCODE#,
      #START_CELL_CODE#,
      #END_CELL_CODE#,
      #NEXT_CELL_CODE#,
      #LOCK_CELL_CODE#,
      #MANAGE_OPERATOR#,
      #MANAGE_CREATE_TIME#,
      #MANAGE_BEGIN_TIME#,
      #MANAGE_REMARK#,
      #ERROR_TEXT#
      )
      <selectKey resultClass="int" type="pre" property="MANAGE_ID">
        select MANAGE_MAIN_SEQ.nextval as value from DUAL
      </selectKey>
    </insert>
    <update id="MANAGE_MAIN_UPDATE" parameterClass="MANAGE_MAIN">
      update MANAGE_MAIN set
      MANAGE_STATUS=#MANAGE_STATUS#,
      MANAGE_BEGIN_TIME=#MANAGE_BEGIN_TIME#,
      MANAGE_REMARK=#MANAGE_REMARK#,
      ERROR_TEXT=#ERROR_TEXT#,
      LOCK_CELL_CODE=#LOCK_CELL_CODE#
      where MANAGE_ID=#MANAGE_ID#
    </update>
    <delete id="MANAGE_MAIN_DELETE" parameterClass="int">
      delete from MANAGE_MAIN
      where MANAGE_ID=#MANAGE_ID#
    </delete>
  </statements>
</sqlMap>