<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gx.obe.server.management.boq.dao.ObeMeasureTableMapper">


	<!-- 通用查询映射结果 -->
	<resultMap id="BaseResultMap" type="com.gx.obe.server.management.boq.entity.ObeMeasureTable">
		<id column="MEASURE_TABLE_ID" property="id"/>
		<result column="PARENT_ID" property="parentId"/>
		<result column="MEASURE_TYPE" property="measureType"/>
		<result column="MEASURE_CODE" property="measureCode"/>
		<result column="MEASURE_NAME" property="measureName"/>
		<result column="PROJECT_ATTR" property="projectAttr"/>
		<result column="CONTENT" property="content"/>
		<result column="UNIT" property="unit"/>
		<result column="QUANTITY" property="quantity"/>
		<result column="PRICE" property="price"/>
		<result column="LIMITED_PRICE" property="limitedPrice"/>
		<result column="RATE" property="rate"/>
		<result column="FORMULA" property="formula"/>
		<result column="TOTAL" property="total"/>
		<result column="KIND" property="kind"/>
		<result column="REMARK" property="remark"/>
		<result column="RFEE" property="rfee"/>
		<result column="CFEE" property="cfee"/>
		<result column="JFEE" property="jfee"/>
		<result column="MANAGER_FEE" property="managerFee"/>
		<result column="PROFIT_FEE" property="profitFee"/>
		<result column="RISK_FEE" property="riskFee"/>
		<result column="ZGJ" property="zgj"/>
		<result column="PROJECT_ID" property="projectId"/>
		<result column="SORT_NO" property="sortNo"/>
		<result column="TENDER_ID" property="tenderId"/>
		<result column="SUPPLIER_ID" property="supplierId"/>
		<result column="QTX" property="qtx"/>
		<result column="NUMBER" property="number"/>
	</resultMap>

	<!-- 通用查询结果列 -->
	<sql id="Base_Column_List">
		MEASURE_TABLE_ID, PARENT_ID, MEASURE_TYPE, MEASURE_CODE, MEASURE_NAME, PROJECT_ATTR, CONTENT, UNIT, QUANTITY, PRICE, LIMITED_PRICE, RATE, FORMULA, TOTAL, KIND, REMARK, RFEE, CFEE, JFEE, MANAGER_FEE, PROFIT_FEE, RISK_FEE, ZGJ, PROJECT_ID, SORT_NO, TENDER_ID, SUPPLIER_ID, QTX, NUMBER
	</sql>

	<!-- 批量更新 -->
	<update id="updateBatchList" parameterType="java.util.List">
		UPDATE
			obe_measure_table
		<set>
			PARENT_ID = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.parentId != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.parentId}
				</if>
				<if test="ObeMeasureTable.parentId == null">
					when #{ObeMeasureTable.id} then PARENT_ID
				</if>
			</foreach>
			MEASURE_TYPE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.measureType != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.measureType}
				</if>
				<if test="ObeMeasureTable.measureType == null">
					when #{ObeMeasureTable.id} then MEASURE_TYPE
				</if>
			</foreach>
			MEASURE_CODE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.measureCode != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.measureCode}
				</if>
				<if test="ObeMeasureTable.measureCode == null">
					when #{ObeMeasureTable.id} then MEASURE_CODE
				</if>
			</foreach>
			MEASURE_NAME = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.measureName != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.measureName}
				</if>
				<if test="ObeMeasureTable.measureName == null">
					when #{ObeMeasureTable.id} then MEASURE_NAME
				</if>
			</foreach>
			PROJECT_ATTR = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.projectAttr != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.projectAttr}
				</if>
				<if test="ObeMeasureTable.projectAttr == null">
					when #{ObeMeasureTable.id} then PROJECT_ATTR
				</if>
			</foreach>
			CONTENT = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.content != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.content}
				</if>
				<if test="ObeMeasureTable.content == null">
					when #{ObeMeasureTable.id} then CONTENT
				</if>
			</foreach>
			UNIT = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.unit != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.unit}
				</if>
				<if test="ObeMeasureTable.unit == null">
					when #{ObeMeasureTable.id} then UNIT
				</if>
			</foreach>
			QUANTITY = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.quantity != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.quantity}
				</if>
				<if test="ObeMeasureTable.quantity == null">
					when #{ObeMeasureTable.id} then QUANTITY
				</if>
			</foreach>
			PRICE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.price != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.price}
				</if>
				<if test="ObeMeasureTable.price == null">
					when #{ObeMeasureTable.id} then PRICE
				</if>
			</foreach>
			LIMITED_PRICE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.limitedPrice != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.limitedPrice}
				</if>
				<if test="ObeMeasureTable.limitedPrice == null">
					when #{ObeMeasureTable.id} then LIMITED_PRICE
				</if>
			</foreach>
			RATE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.rate != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.rate}
				</if>
				<if test="ObeMeasureTable.rate == null">
					when #{ObeMeasureTable.id} then RATE
				</if>
			</foreach>
			FORMULA = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.formula != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.formula}
				</if>
				<if test="ObeMeasureTable.formula == null">
					when #{ObeMeasureTable.id} then FORMULA
				</if>
			</foreach>
			TOTAL = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.total != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.total}
				</if>
				<if test="ObeMeasureTable.total == null">
					when #{ObeMeasureTable.id} then TOTAL
				</if>
			</foreach>
			KIND = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.kind != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.kind}
				</if>
				<if test="ObeMeasureTable.kind == null">
					when #{ObeMeasureTable.id} then KIND
				</if>
			</foreach>
			REMARK = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.remark != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.remark}
				</if>
				<if test="ObeMeasureTable.remark == null">
					when #{ObeMeasureTable.id} then REMARK
				</if>
			</foreach>
			RFEE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.rfee != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.rfee}
				</if>
				<if test="ObeMeasureTable.rfee == null">
					when #{ObeMeasureTable.id} then RFEE
				</if>
			</foreach>
			CFEE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.cfee != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.cfee}
				</if>
				<if test="ObeMeasureTable.cfee == null">
					when #{ObeMeasureTable.id} then CFEE
				</if>
			</foreach>
			JFEE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.jfee != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.jfee}
				</if>
				<if test="ObeMeasureTable.jfee == null">
					when #{ObeMeasureTable.id} then JFEE
				</if>
			</foreach>
			MANAGER_FEE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.managerFee != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.managerFee}
				</if>
				<if test="ObeMeasureTable.managerFee == null">
					when #{ObeMeasureTable.id} then MANAGER_FEE
				</if>
			</foreach>
			PROFIT_FEE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.profitFee != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.profitFee}
				</if>
				<if test="ObeMeasureTable.profitFee == null">
					when #{ObeMeasureTable.id} then PROFIT_FEE
				</if>
			</foreach>
			RISK_FEE = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.riskFee != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.riskFee}
				</if>
				<if test="ObeMeasureTable.riskFee == null">
					when #{ObeMeasureTable.id} then RISK_FEE
				</if>
			</foreach>
			ZGJ = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.zgj != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.zgj}
				</if>
				<if test="ObeMeasureTable.zgj == null">
					when #{ObeMeasureTable.id} then ZGJ
				</if>
			</foreach>
			PROJECT_ID = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.projectId != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.projectId}
				</if>
				<if test="ObeMeasureTable.projectId == null">
					when #{ObeMeasureTable.id} then PROJECT_ID
				</if>
			</foreach>
			SORT_NO = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.sortNo != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.sortNo}
				</if>
				<if test="ObeMeasureTable.sortNo == null">
					when #{ObeMeasureTable.id} then SORT_NO
				</if>
			</foreach>
			TENDER_ID = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.tenderId != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.tenderId}
				</if>
				<if test="ObeMeasureTable.tenderId == null">
					when #{ObeMeasureTable.id} then TENDER_ID
				</if>
			</foreach>
			SUPPLIER_ID = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.supplierId != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.supplierId}
				</if>
				<if test="ObeMeasureTable.supplierId == null">
					when #{ObeMeasureTable.id} then SUPPLIER_ID
				</if>
			</foreach>
			QTX = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.qtx != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.qtx}
				</if>
				<if test="ObeMeasureTable.qtx == null">
					when #{ObeMeasureTable.id} then QTX
				</if>
			</foreach>
			NUMBER = 
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
				<if test="ObeMeasureTable.number != null">
					when #{ObeMeasureTable.id} then #{ObeMeasureTable.number}
				</if>
				<if test="ObeMeasureTable.number == null">
					when #{ObeMeasureTable.id} then NUMBER
				</if>
			</foreach>
		</set>
		<where>
			MEASURE_TABLE_ID IN
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator="," open="(" close=")">
            	#{ObeMeasureTable.id}
        	</foreach>
		</where>
	</update>

	<!-- 批量插入-->
	<insert id="insertByBatch" parameterType="java.util.List">
		insert into obe_measure_table 
			(
				MEASURE_TABLE_ID, PARENT_ID, MEASURE_TYPE, MEASURE_CODE, MEASURE_NAME, PROJECT_ATTR, CONTENT, UNIT, QUANTITY, PRICE, LIMITED_PRICE, RATE, FORMULA, TOTAL, KIND, REMARK, RFEE, CFEE, JFEE, MANAGER_FEE, PROFIT_FEE, RISK_FEE, ZGJ, PROJECT_ID, SORT_NO, TENDER_ID, SUPPLIER_ID, QTX, NUMBER
			)
		values
		<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" open="" close="" separator=",">
			(
				#{ObeMeasureTable.id}, 
				#{ObeMeasureTable.parentId},
				#{ObeMeasureTable.measureType},
				#{ObeMeasureTable.measureCode},
				#{ObeMeasureTable.measureName},
				#{ObeMeasureTable.projectAttr},
				#{ObeMeasureTable.content},
				#{ObeMeasureTable.unit},
				#{ObeMeasureTable.quantity},
				#{ObeMeasureTable.price},
				#{ObeMeasureTable.limitedPrice},
				#{ObeMeasureTable.rate},
				#{ObeMeasureTable.formula},
				#{ObeMeasureTable.total},
				#{ObeMeasureTable.kind},
				#{ObeMeasureTable.remark},
				#{ObeMeasureTable.rfee},
				#{ObeMeasureTable.cfee},
				#{ObeMeasureTable.jfee},
				#{ObeMeasureTable.managerFee},
				#{ObeMeasureTable.profitFee},
				#{ObeMeasureTable.riskFee},
				#{ObeMeasureTable.zgj},
				#{ObeMeasureTable.projectId},
				#{ObeMeasureTable.sortNo},
				#{ObeMeasureTable.tenderId},
				#{ObeMeasureTable.supplierId},
				#{ObeMeasureTable.qtx},
				#{ObeMeasureTable.number}
			)
		</foreach>
	</insert> 

	<!-- 指定字段修改 -->
	<update id="updateAssignProperty">
		UPDATE
			obe_measure_table
		<set>
			<foreach collection="attributes" item="attribute" index="index" open="" close="" separator=",">
				<if test="attribute == 'parentId'">
					PARENT_ID = #{ObeMeasureTable.parentId}
				</if>
				<if test="attribute == 'measureType'">
					MEASURE_TYPE = #{ObeMeasureTable.measureType}
				</if>
				<if test="attribute == 'measureCode'">
					MEASURE_CODE = #{ObeMeasureTable.measureCode}
				</if>
				<if test="attribute == 'measureName'">
					MEASURE_NAME = #{ObeMeasureTable.measureName}
				</if>
				<if test="attribute == 'projectAttr'">
					PROJECT_ATTR = #{ObeMeasureTable.projectAttr}
				</if>
				<if test="attribute == 'content'">
					CONTENT = #{ObeMeasureTable.content}
				</if>
				<if test="attribute == 'unit'">
					UNIT = #{ObeMeasureTable.unit}
				</if>
				<if test="attribute == 'quantity'">
					QUANTITY = #{ObeMeasureTable.quantity}
				</if>
				<if test="attribute == 'price'">
					PRICE = #{ObeMeasureTable.price}
				</if>
				<if test="attribute == 'limitedPrice'">
					LIMITED_PRICE = #{ObeMeasureTable.limitedPrice}
				</if>
				<if test="attribute == 'rate'">
					RATE = #{ObeMeasureTable.rate}
				</if>
				<if test="attribute == 'formula'">
					FORMULA = #{ObeMeasureTable.formula}
				</if>
				<if test="attribute == 'total'">
					TOTAL = #{ObeMeasureTable.total}
				</if>
				<if test="attribute == 'kind'">
					KIND = #{ObeMeasureTable.kind}
				</if>
				<if test="attribute == 'remark'">
					REMARK = #{ObeMeasureTable.remark}
				</if>
				<if test="attribute == 'rfee'">
					RFEE = #{ObeMeasureTable.rfee}
				</if>
				<if test="attribute == 'cfee'">
					CFEE = #{ObeMeasureTable.cfee}
				</if>
				<if test="attribute == 'jfee'">
					JFEE = #{ObeMeasureTable.jfee}
				</if>
				<if test="attribute == 'managerFee'">
					MANAGER_FEE = #{ObeMeasureTable.managerFee}
				</if>
				<if test="attribute == 'profitFee'">
					PROFIT_FEE = #{ObeMeasureTable.profitFee}
				</if>
				<if test="attribute == 'riskFee'">
					RISK_FEE = #{ObeMeasureTable.riskFee}
				</if>
				<if test="attribute == 'zgj'">
					ZGJ = #{ObeMeasureTable.zgj}
				</if>
				<if test="attribute == 'projectId'">
					PROJECT_ID = #{ObeMeasureTable.projectId}
				</if>
				<if test="attribute == 'sortNo'">
					SORT_NO = #{ObeMeasureTable.sortNo}
				</if>
				<if test="attribute == 'tenderId'">
					TENDER_ID = #{ObeMeasureTable.tenderId}
				</if>
				<if test="attribute == 'supplierId'">
					SUPPLIER_ID = #{ObeMeasureTable.supplierId}
				</if>
				<if test="attribute == 'qtx'">
					QTX = #{ObeMeasureTable.qtx}
				</if>
				<if test="attribute == 'number'">
					NUMBER = #{ObeMeasureTable.number}
				</if>
			</foreach>
		</set>
		<where>
			MEASURE_TABLE_ID = #{ObeMeasureTable.id}
		</where>
	</update>

	<!-- 批量指定字段修改 -->
	<update id="batchUpdateProperty">
		UPDATE
			obe_measure_table
		<set>
			<foreach collection="attributes" item="attribute" index="index" open="" close="" separator=",">
				<if test="attribute == 'parentId'">
					PARENT_ID = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.parentId}
        			</foreach>
				</if>
				<if test="attribute == 'measureType'">
					MEASURE_TYPE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.measureType}
        			</foreach>
				</if>
				<if test="attribute == 'measureCode'">
					MEASURE_CODE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.measureCode}
        			</foreach>
				</if>
				<if test="attribute == 'measureName'">
					MEASURE_NAME = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.measureName}
        			</foreach>
				</if>
				<if test="attribute == 'projectAttr'">
					PROJECT_ATTR = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.projectAttr}
        			</foreach>
				</if>
				<if test="attribute == 'content'">
					CONTENT = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.content}
        			</foreach>
				</if>
				<if test="attribute == 'unit'">
					UNIT = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.unit}
        			</foreach>
				</if>
				<if test="attribute == 'quantity'">
					QUANTITY = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.quantity}
        			</foreach>
				</if>
				<if test="attribute == 'price'">
					PRICE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.price}
        			</foreach>
				</if>
				<if test="attribute == 'limitedPrice'">
					LIMITED_PRICE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.limitedPrice}
        			</foreach>
				</if>
				<if test="attribute == 'rate'">
					RATE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.rate}
        			</foreach>
				</if>
				<if test="attribute == 'formula'">
					FORMULA = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.formula}
        			</foreach>
				</if>
				<if test="attribute == 'total'">
					TOTAL = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.total}
        			</foreach>
				</if>
				<if test="attribute == 'kind'">
					KIND = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.kind}
        			</foreach>
				</if>
				<if test="attribute == 'remark'">
					REMARK = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.remark}
        			</foreach>
				</if>
				<if test="attribute == 'rfee'">
					RFEE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.rfee}
        			</foreach>
				</if>
				<if test="attribute == 'cfee'">
					CFEE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.cfee}
        			</foreach>
				</if>
				<if test="attribute == 'jfee'">
					JFEE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.jfee}
        			</foreach>
				</if>
				<if test="attribute == 'managerFee'">
					MANAGER_FEE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.managerFee}
        			</foreach>
				</if>
				<if test="attribute == 'profitFee'">
					PROFIT_FEE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.profitFee}
        			</foreach>
				</if>
				<if test="attribute == 'riskFee'">
					RISK_FEE = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.riskFee}
        			</foreach>
				</if>
				<if test="attribute == 'zgj'">
					ZGJ = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.zgj}
        			</foreach>
				</if>
				<if test="attribute == 'projectId'">
					PROJECT_ID = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.projectId}
        			</foreach>
				</if>
				<if test="attribute == 'sortNo'">
					SORT_NO = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.sortNo}
        			</foreach>
				</if>
				<if test="attribute == 'tenderId'">
					TENDER_ID = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.tenderId}
        			</foreach>
				</if>
				<if test="attribute == 'supplierId'">
					SUPPLIER_ID = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.supplierId}
        			</foreach>
				</if>
				<if test="attribute == 'qtx'">
					QTX = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.qtx}
        			</foreach>
				</if>
				<if test="attribute == 'number'">
					NUMBER = 
					<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator=" " open="case MEASURE_TABLE_ID" close="end">
            			when #{ObeMeasureTable.id} then #{ObeMeasureTable.number}
        			</foreach>
				</if>
			</foreach>
		</set>
		<where>
			MEASURE_TABLE_ID IN
			<foreach collection="ObeMeasureTableList" item="ObeMeasureTable" index="index" separator="," open="(" close=")">
            	#{ObeMeasureTable.id}
        	</foreach>
		</where>
	</update>

	<delete id="deleteByTenderId">
		DELETE
		FROM OBE_MEASURE_TABLE
		WHERE TENDER_ID = #{tenderId}
	</delete>

	<select id="getAllMeasureTableQDList" resultMap="BaseResultMap">
		SELECT *
		FROM OBE_MEASURE_TABLE
		WHERE TENDER_ID = #{tenderId}
		<if test="supplierId != null and supplierId != ''">
			AND SUPPLIER_ID = #{supplierId}
		</if>
		<if test="supplierId == null or supplierId == ''">
			AND SUPPLIER_ID IS NULL
		</if>
		<if test="measureType != null and measureType != ''">
			AND MEASURE_TYPE = #{measureType}
		</if>
		ORDER BY SORT_NO
	</select>

	<select id="getTenderProjectMeasureTableQdList" resultMap="BaseResultMap">
		SELECT t.*
		FROM OBE_MEASURE_TABLE t, OBE_CONSTRUCT_PROJECT c
		WHERE t.TENDER_ID = #{tenderId}
		  AND c.TENDER_ID = #{tenderId}
		  AND c.PROJECT_CODE = #{projectCode}
		  AND c.CONSTRUCT_PROJECT_ID = t.PROJECT_ID
		  AND c.KIND = '03'
		  AND c.SUPPLIER_ID IS NULL
		<if test="measureType != null and measureType != ''">
		  AND t.MEASURE_TYPE = #{measureType}
		</if>
		ORDER BY t.SORT_NO
	</select>

	<select id="getMeasureTableQdList" resultMap="BaseResultMap">
		SELECT *
		FROM OBE_MEASURE_TABLE
		WHERE PROJECT_ID = #{projectId}
		  AND KIND = '02'
		ORDER BY SORT_NO
	</select>

	<select id="getMeasureTableListByProjectId" resultMap="BaseResultMap">
		SELECT *
		FROM OBE_MEASURE_TABLE
		WHERE PROJECT_ID = #{projectId}
		<if test="measureType != null and measureType != ''">
		  AND MEASURE_TYPE = #{measureType}
		</if>
		ORDER BY SORT_NO
	</select>

	<select id="getMeasureTableByConstructionIdsList" resultMap="BaseResultMap">
		SELECT *
		FROM OBE_MEASURE_TABLE
		WHERE PROJECT_ID IN
		<foreach collection="constructionIds" item="constructionId" index="index" separator="," open="(" close=")">
			#{constructionId}
		</foreach>
		<if test="measureType != null and measureType != ''">
		  AND MEASURE_TYPE = #{measureType}
		</if>
		  AND KIND = '02'
		ORDER BY SORT_NO
	</select>

	<select id="getMeasureTableQdAndDeList" resultMap="BaseResultMap">
		SELECT *
		FROM OBE_MEASURE_TABLE
		WHERE PROJECT_ID = #{projectId}
		  AND (KIND = '02' OR KIND = '03')
		ORDER BY SORT_NO
	</select>

</mapper>