ibatis使用in条件

来源:互联网 发布:unity3d toon shader 编辑:程序博客网 时间:2024/06/04 18:36
<select id="St_Deliveryorder_Detail_Account_Name_Select" resultClass="System.Data.DataTable" parameterClass="Hashtable">      SELECT DD.ID,DD.HEAD_ID,DD.TYPE,DD.PALLET,DD.BOX_NO,DD.ITEM_NO,DD.IN_CONTRACT_NO,DD.PO,DD.PO_DETAIL,DD.SALE_SITE,DD.PROJECT_SITE,DD.UNIT,DD.NEED_QTY,DD.DESCRIPTION,DD.VOLUME,DD.GROSS_WEIGHT,DD.PALLET_SIZE,DD.CREATED_BY,DD.CREATION_DATE,DD.LAST_UPDATED_BY,DD.LAST_UPDATED_DATE,DD.ENABLE_FLAG,DD.REMARK,DD.CHECK_STOCK,DD.LOCK_STOCK,DD.CONTRACT_NO_DELI,DD.SCATTER_FLAG,DD.OPEN_STATUS,DD.TASK_ACCOUNT_ID,DD.OUT_CONTRACT_NO,PROJECT_SITE_ID,BOXUP_ITEM_TYPE,      <isEqual property="LanguageId" compareValue="2052">        TA.ACCOUNT_NAME_CN AS TASK_ACCOUNT_NAME      </isEqual>      <isEqual property="LanguageId" compareValue="1033">        TA.ACCOUNT_NAME_EN AS TASK_ACCOUNT_NAME      </isEqual>      FROM APP_SCMWMS.ST_DELIVERYORDER_DETAIL DD      LEFT JOIN ST_TASK_ACCOUNT_INFO TA ON DD.TASK_ACCOUNT_ID = TA.TASK_ACCOUNT_ID      WHERE DD.ENABLE_FLAG='1'      <dynamic>        <isNotEmpty prepend="AND" property="DoId">DD.HEAD_ID=#DoId#</isNotEmpty>        <!--<isNotEmpty prepend="AND" property="Type">DD.TYPE=#Type#</isNotEmpty>-->        <isPropertyAvailable prepend="and" property="LtType">          <isNotEmpty property="LtType">            <iterate property="LtType" open="DD.TYPE in (" close=")" conjunction=",">              <![CDATA[ #LtType[]# ]]>            </iterate>          </isNotEmpty>          <isEmpty property="LtType">            <![CDATA[ 1<>1 ]]>          </isEmpty>        </isPropertyAvailable>              </dynamic>    </select>



        public DataTable SelectDODetailAccountNameByIdAndType(string Type, string DoId, string LanguageId)        {            if (string.IsNullOrEmpty(DoId))            {                return new DataTable();            }            // 判断单号是否以及保存            Hashtable ht = new Hashtable();            ht.Add("DoId", DoId);            ht.Add("LtType", new List<string>(Type.Split(',')));            ht.Add("LanguageId", LanguageId);            return this.SelectByTag("St_Deliveryorder_Detail_Account_Name_Select", ht);        }