<?xml version="1.0" encoding="gbk" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="" >
<!-- 	<typeAlias alias="Ywsoftwareinfobean" type="cn.vp.XXX.model.YwsoftwareinfoBean"/> -->	<typeAlias alias="Ywsoftwareinfo" type="cn.im.ywgl.YwsoftwareinfoBean"/>
	
	<sql id="condition_Ywsoftwareinfo">
		where 1=1
		<isNotEmpty prepend='AND' property='LIKEsoftwareid'>
			(softwareid like '%$LIKEsoftwareid$%'   )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwareid'>
			(softwareid = #softwareid#  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKElistid'>
			(listid like '%$LIKElistid$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='listid'>
			(listid = #listid# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEmachineid'>
			(machineid like '%$LIKEmachineid$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='machineid'>
			(machineid = #machineid# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarenum'>
			(softwarenum like '%$LIKEsoftwarenum$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarenum'>
			(softwarenum = #softwarenum# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarename'>
			(softwarename like '%$LIKEsoftwarename$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarename'>
			(softwarename = #softwarename# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarecategory'>
			(softwarecategory like '%$LIKEsoftwarecategory$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarecategory'>
			(softwarecategory = #softwarecategory# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwaretype'>
			(softwaretype like '%$LIKEsoftwaretype$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwaretype'>
			(softwaretype = #softwaretype# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwareservername'>
			(softwareservername like '%$LIKEsoftwareservername$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwareservername'>
			(softwareservername = #softwareservername# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwareip'>
			(softwareip like '%$LIKEsoftwareip$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwareip'>
			(softwareip = #softwareip# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwareport'>
			(softwareport like '%$LIKEsoftwareport$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwareport'>
			(softwareport = #softwareport# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwareruninterval'>
			(softwareruninterval like '%$LIKEsoftwareruninterval$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwareruninterval'>
			(softwareruninterval = #softwareruninterval# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarestatus'>
			(softwarestatus like '%$LIKEsoftwarestatus$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarestatus'>
			(softwarestatus = #softwarestatus# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarestatusuptime'>
			(softwarestatusuptime like '%$LIKEsoftwarestatusuptime$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarestatusuptime'>
			(softwarestatusuptime = #softwarestatusuptime# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarerestartstatus'>
			(softwarerestartstatus like '%$LIKEsoftwarerestartstatus$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarerestartstatus'>
			(softwarerestartstatus = #softwarerestartstatus# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarerestarttime'>
			(softwarerestarttime like '%$LIKEsoftwarerestarttime$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarerestarttime'>
			(softwarerestarttime = #softwarerestarttime# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwarerestartaccount'>
			(softwarerestartaccount like '%$LIKEsoftwarerestartaccount$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwarerestartaccount'>
			(softwarerestartaccount = #softwarerestartaccount# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwaredescribe'>
			(softwaredescribe like '%$LIKEsoftwaredescribe$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwaredescribe'>
			(softwaredescribe = #softwaredescribe# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwareposition'>
			(softwareposition like '%$LIKEsoftwareposition$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwareposition'>
			(softwareposition = #softwareposition# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEsoftwareareanum'>
			(softwareareanum like '%$LIKEsoftwareareanum$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='softwareareanum'>
			(softwareareanum = #softwareareanum# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEdetectionswitch'>
			(detectionswitch like '%$LIKEdetectionswitch$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='detectionswitch'>
			(detectionswitch = #detectionswitch# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEdetectionstarttime'>
			(detectionstarttime like '%$LIKEdetectionstarttime$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='detectionstarttime'>
			(detectionstarttime = #detectionstarttime# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEcreateaccount'>
			(createaccount like '%$LIKEcreateaccount$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='createaccount'>
			(createaccount = #createaccount# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEcreatetime'>
			(createtime like '%$LIKEcreatetime$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='createtime'>
			(createtime = #createtime# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEmodifyaccount'>
			(modifyaccount like '%$LIKEmodifyaccount$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='modifyaccount'>
			(modifyaccount = #modifyaccount# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEmodifytime'>
			(modifytime like '%$LIKEmodifytime$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='modifytime'>
			(modifytime = #modifytime# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEremarks'>
			(remarks like '%$LIKEremarks$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='remarks'>
			(remarks = #remarks# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEextend1'>
			(extend1 like '%$LIKEextend1$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='extend1'>
			(extend1 = #extend1# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEextend2'>
			(extend2 like '%$LIKEextend2$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='extend2'>
			(extend2 = #extend2# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEextend3'>
			(extend3 like '%$LIKEextend3$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='extend3'>
			(extend3 = #extend3# )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='LIKEextend4'>
			(extend4 like '%$LIKEextend4$%'  )
		</isNotEmpty>
		<isNotEmpty prepend='AND' property='extend4'>
			(extend4 = #extend4# )
		</isNotEmpty>
		<isNotEmpty property='tableparam'>
			$tableparam$
		</isNotEmpty>
		<isNotEmpty property='order'>
			$order$
		</isNotEmpty>
	</sql>
	
	<!-- add object -->
	<insert id="insert_Ywsoftwareinfo" parameterClass="java.util.Map">
		insert into 
		ywsoftwareinfo(
		<dynamic prepend=" ">  
			<isNotEmpty prepend=',' property='softwareid'>softwareid</isNotEmpty>
			<isNotEmpty prepend=',' property='listid'>listid</isNotEmpty>
			<isNotEmpty prepend=',' property='machineid'>machineid</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarenum'>softwarenum</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarename'>softwarename</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarecategory'>softwarecategory</isNotEmpty>
			<isNotEmpty prepend=',' property='softwaretype'>softwaretype</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareservername'>softwareservername</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareip'>softwareip</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareport'>softwareport</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareruninterval'>softwareruninterval</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarestatus'>softwarestatus</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarestatusuptime'>softwarestatusuptime</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestartstatus'>softwarerestartstatus</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestarttime'>softwarerestarttime</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestartaccount'>softwarerestartaccount</isNotEmpty>
			<isNotEmpty prepend=',' property='softwaredescribe'>softwaredescribe</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareposition'>softwareposition</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareareanum'>softwareareanum</isNotEmpty>
			<isNotEmpty prepend=',' property='detectionswitch'>detectionswitch</isNotEmpty>
			<isNotEmpty prepend=',' property='detectionstarttime'>detectionstarttime</isNotEmpty>
			<isNotEmpty prepend=',' property='createaccount'>createaccount</isNotEmpty>
			<isNotEmpty prepend=',' property='createtime'>createtime</isNotEmpty>
			<isNotEmpty prepend=',' property='modifyaccount'>modifyaccount</isNotEmpty>
			<isNotEmpty prepend=',' property='modifytime'>modifytime</isNotEmpty>
			<isNotEmpty prepend=',' property='remarks'>remarks</isNotEmpty>
			<isNotEmpty prepend=',' property='extend1'>extend1</isNotEmpty>
			<isNotEmpty prepend=',' property='extend2'>extend2</isNotEmpty>
			<isNotEmpty prepend=',' property='extend3'>extend3</isNotEmpty>
			<isNotEmpty prepend=',' property='extend4'>extend4</isNotEmpty>

		</dynamic>  
	    <![CDATA[ 
	        ) values ( 
	    ]]>  
	     <dynamic prepend=" "> 
			<isNotEmpty prepend=',' property='softwareid'>#softwareid#</isNotEmpty>
			<isNotEmpty prepend=',' property='listid'>#listid#</isNotEmpty>
			<isNotEmpty prepend=',' property='machineid'>#machineid#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarenum'>#softwarenum#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarename'>#softwarename#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarecategory'>#softwarecategory#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwaretype'>#softwaretype#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareservername'>#softwareservername#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareip'>#softwareip#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareport'>#softwareport#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareruninterval'>#softwareruninterval#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarestatus'>#softwarestatus#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarestatusuptime'>#softwarestatusuptime#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestartstatus'>#softwarerestartstatus#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestarttime'>#softwarerestarttime#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestartaccount'>#softwarerestartaccount#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwaredescribe'>#softwaredescribe#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareposition'>#softwareposition#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareareanum'>#softwareareanum#</isNotEmpty>
			<isNotEmpty prepend=',' property='detectionswitch'>#detectionswitch#</isNotEmpty>
			<isNotEmpty prepend=',' property='detectionstarttime'>#detectionstarttime#</isNotEmpty>
			<isNotEmpty prepend=',' property='createaccount'>#createaccount#</isNotEmpty>
			<isNotEmpty prepend=',' property='createtime'>#createtime#</isNotEmpty>
			<isNotEmpty prepend=',' property='modifyaccount'>#modifyaccount#</isNotEmpty>
			<isNotEmpty prepend=',' property='modifytime'>#modifytime#</isNotEmpty>
			<isNotEmpty prepend=',' property='remarks'>#remarks#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend1'>#extend1#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend2'>#extend2#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend3'>#extend3#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend4'>#extend4#</isNotEmpty>

		 </dynamic>  
	    <![CDATA[ 
	        ) 
	    ]]> 
	</insert>
	
	<!-- edit object  -->
	<update id="update_Ywsoftwareinfo" parameterClass="java.util.Map">
		update ywsoftwareinfo 
		<dynamic prepend="set ">   
			
			<isNotEmpty prepend=',' property='listid'>listid=#listid#</isNotEmpty>
			<isNotEmpty prepend=',' property='machineid'>machineid=#machineid#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarenum'>softwarenum=#softwarenum#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarename'>softwarename=#softwarename#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarecategory'>softwarecategory=#softwarecategory#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwaretype'>softwaretype=#softwaretype#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareservername'>softwareservername=#softwareservername#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareip'>softwareip=#softwareip#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareport'>softwareport=#softwareport#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareruninterval'>softwareruninterval=#softwareruninterval#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarestatus'>softwarestatus=#softwarestatus#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarestatusuptime'>softwarestatusuptime=#softwarestatusuptime#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestartstatus'>softwarerestartstatus=#softwarerestartstatus#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestarttime'>softwarerestarttime=#softwarerestarttime#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwarerestartaccount'>softwarerestartaccount=#softwarerestartaccount#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwaredescribe'>softwaredescribe=#softwaredescribe#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareposition'>softwareposition=#softwareposition#</isNotEmpty>
			<isNotEmpty prepend=',' property='softwareareanum'>softwareareanum=#softwareareanum#</isNotEmpty>
			<isNotEmpty prepend=',' property='detectionswitch'>detectionswitch=#detectionswitch#</isNotEmpty>
			<isNotEmpty prepend=',' property='detectionstarttime'>detectionstarttime=#detectionstarttime#</isNotEmpty>
			<isNotEmpty prepend=',' property='createaccount'>createaccount=#createaccount#</isNotEmpty>
			<isNotEmpty prepend=',' property='createtime'>createtime=#createtime#</isNotEmpty>
			<isNotEmpty prepend=',' property='modifyaccount'>modifyaccount=#modifyaccount#</isNotEmpty>
			<isNotEmpty prepend=',' property='modifytime'>modifytime=#modifytime#</isNotEmpty>
			<isNotEmpty prepend=',' property='remarks'>remarks=#remarks#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend1'>extend1=#extend1#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend2'>extend2=#extend2#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend3'>extend3=#extend3#</isNotEmpty>
			<isNotEmpty prepend=',' property='extend4'>extend4=#extend4#</isNotEmpty>

		</dynamic>
		where 1=1 
			<isNotEmpty prepend='AND' property='XGTJsoftwareid'> softwareid = #XGTJsoftwareid#</isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJlistid'> listid = #XGTJlistid# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJmachineid'> machineid = #XGTJmachineid# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarenum'> softwarenum = #XGTJsoftwarenum# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarename'> softwarename = #XGTJsoftwarename# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarecategory'> softwarecategory = #XGTJsoftwarecategory# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwaretype'> softwaretype = #XGTJsoftwaretype# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwareservername'> softwareservername = #XGTJsoftwareservername# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwareip'> softwareip = #XGTJsoftwareip# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwareport'> softwareport = #XGTJsoftwareport# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwareruninterval'> softwareruninterval = #XGTJsoftwareruninterval# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarestatus'> softwarestatus = #XGTJsoftwarestatus# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarestatusuptime'> softwarestatusuptime = #XGTJsoftwarestatusuptime# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarerestartstatus'> softwarerestartstatus = #XGTJsoftwarerestartstatus# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarerestarttime'> softwarerestarttime = #XGTJsoftwarerestarttime# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwarerestartaccount'> softwarerestartaccount = #XGTJsoftwarerestartaccount# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwaredescribe'> softwaredescribe = #XGTJsoftwaredescribe# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwareposition'> softwareposition = #XGTJsoftwareposition# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJsoftwareareanum'> softwareareanum = #XGTJsoftwareareanum# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJdetectionswitch'> detectionswitch = #XGTJdetectionswitch# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJdetectionstarttime'> detectionstarttime = #XGTJdetectionstarttime# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJcreateaccount'> createaccount = #XGTJcreateaccount# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJcreatetime'> createtime = #XGTJcreatetime# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJmodifyaccount'> modifyaccount = #XGTJmodifyaccount# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJmodifytime'> modifytime = #XGTJmodifytime# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJremarks'> remarks = #XGTJremarks# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJextend1'> extend1 = #XGTJextend1# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJextend2'> extend2 = #XGTJextend2# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJextend3'> extend3 = #XGTJextend3# </isNotEmpty>
			<isNotEmpty prepend='AND' property='XGTJextend4'> extend4 = #XGTJextend4# </isNotEmpty>

	</update>
	
	<!-- delete object -->
	<delete id="delete_Ywsoftwareinfo" parameterClass="java.util.Map">
		delete from ywsoftwareinfo 
		<include refid="condition_Ywsoftwareinfo"/>
	</delete>
	
	<!-- batch delete object -->
	<delete id="batch_delete_Ywsoftwareinfo" parameterClass="java.util.Map">
		delete from ywsoftwareinfo 
		where 
		<isNotEmpty prepend=' ' property='ids'>
			softwareid in
			<iterate open="("  close=")"  conjunction=","  property="ids">
				#ids[]#  
			</iterate>
		</isNotEmpty>
	</delete>
	
	<!-- query objects by page-->
	<select id="query_Ywsoftwareinfo" resultClass="java.util.HashMap" parameterClass="java.util.Map">		
		select a.*,b.csdm,b.csmc,c.csmc as softwarecategorymc from (
			select softwareid,listid,machineid,softwarenum,softwarename,softwarecategory,softwaretype,softwareservername,softwareip,softwareport,softwareruninterval,softwarestatus,softwarestatusuptime,softwarerestartstatus,softwarerestarttime,softwarerestartaccount,softwaredescribe,softwareposition,softwareareanum,detectionswitch,detectionstarttime,createaccount,createtime,modifyaccount,modifytime,remarks,extend1,extend2,extend3,extend4
			from ywsoftwareinfo 
			<include refid="condition_Ywsoftwareinfo"/>	
			<!-- <isNotEmpty prepend=' ' property='start'>
				limit #start# ,#limit#
			</isNotEmpty> -->		
		) a 
		left join xtcl b on a.detectionswitch = b.csdm and b.csdl = 'ywTaskEnable'	
		left join xtcl c on a.softwarecategory = c.csdm and c.csdl='ywSoftWareType'
	</select>
	
	<!-- query objects totalcount -->
	<select id="count_Ywsoftwareinfo" resultClass="java.lang.Integer" parameterClass="java.util.Map">
		select count(*) from ywsoftwareinfo 
		<include refid="condition_Ywsoftwareinfo"/>			
	</select>
	
	<!-- batch add objects -->
	<insert id="batch_insert_Ywsoftwareinfo" parameterClass="java.util.List">
	 	<![CDATA[
          INSERT
      	]]>
      	<iterate conjunction=" " > 
			into ywsoftwareinfo(
			 <![CDATA[ 
				softwareid,listid,machineid,softwarenum,softwarename,softwarecategory,softwaretype,softwareservername,softwareip,softwareport,softwareruninterval,softwarestatus,softwarestatusuptime,softwarerestartstatus,softwarerestarttime,softwarerestartaccount,softwaredescribe,softwareposition,softwareareanum,detectionswitch,detectionstarttime,createaccount,createtime,modifyaccount,modifytime,remarks,extend1,extend2,extend3,extend4
			)values
			 ]]>  		 
			 <![CDATA[ 
				(
				#list[].softwareid#,#list[].listid#,#list[].machineid#,#list[].softwarenum#,#list[].softwarename#,#list[].softwarecategory#,#list[].softwaretype#,#list[].softwareservername#,#list[].softwareip#,#list[].softwareport#,#list[].softwareruninterval#,#list[].softwarestatus#,#list[].softwarestatusuptime#,#list[].softwarerestartstatus#,#list[].softwarerestarttime#,#list[].softwarerestartaccount#,#list[].softwaredescribe#,#list[].softwareposition#,#list[].softwareareanum#,#list[].detectionswitch#,#list[].detectionstarttime#,#list[].createaccount#,#list[].createtime#,#list[].modifyaccount#,#list[].modifytime#,#list[].remarks#,#list[].extend1#,#list[].extend2#,#list[].extend3#,#list[].extend4#
				)
			]]>    
    	</iterate> 
	</insert>
	
	<!-- 根据 harddiskid 批量更新启用状态 -->
	<update id="edit_Ywsoftwareinfo" parameterClass="java.util.Map">
		update ywsoftwareinfo 
		<dynamic prepend="set ">   		
			<isNotEmpty prepend=',' property='detectionswitch'>detectionswitch=#detectionswitch#</isNotEmpty>			
			<isNotEmpty prepend=',' property='modifyaccount'>modifyaccount=#modifyaccount#</isNotEmpty>
			<isNotEmpty prepend=',' property='modifytime'>modifytime=#modifytime#</isNotEmpty>
		</dynamic>
		where  
		<isNotEmpty prepend=' ' property='keys'>
			softwareid in
			<iterate open="("  close=")"  conjunction=","  property="keys">
				#keys[]#  
			</iterate>
		</isNotEmpty>
	</update>
</sqlMap>



