<?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.zm.order.tool.server.chen.FoodDao">
    <resultMap id="BaseResultMap" type="com.zm.order.tool.server.model.food">
        <id column="itemID" jdbcType="INTEGER" property="itemid" />
        <id column="reportDate" jdbcType="BIGINT" property="reportdate" />
        <result column="groupID" jdbcType="BIGINT" property="groupid" />
        <result column="brandID" jdbcType="BIGINT" property="brandid" />
        <result column="shopID" jdbcType="BIGINT" property="shopid" />
        <result column="saasOrderKey" jdbcType="VARCHAR" property="saasorderkey" />
        <result column="shopName" jdbcType="VARCHAR" property="shopname" />
        <result column="orderStatus" jdbcType="INTEGER" property="orderstatus" />
        <result column="orderSubType" jdbcType="TINYINT" property="ordersubtype" />
        <result column="itemKey" jdbcType="VARCHAR" property="itemkey" />
        <result column="parentFoodFromItemKey" jdbcType="VARCHAR" property="parentfoodfromitemkey" />
        <result column="areaName" jdbcType="VARCHAR" property="areaname" />
        <result column="tableName" jdbcType="VARCHAR" property="tablename" />
        <result column="foodCategorySortIndex" jdbcType="INTEGER" property="foodcategorysortindex" />
        <result column="foodCategoryKey" jdbcType="VARCHAR" property="foodcategorykey" />
        <result column="foodCategoryName" jdbcType="VARCHAR" property="foodcategoryname" />
        <result column="foodSubType" jdbcType="VARCHAR" property="foodsubtype" />
        <result column="foodSubjectKey" jdbcType="VARCHAR" property="foodsubjectkey" />
        <result column="foodSubjectCode" jdbcType="VARCHAR" property="foodsubjectcode" />
        <result column="foodSubjectName" jdbcType="VARCHAR" property="foodsubjectname" />
        <result column="departmentKeyLst" jdbcType="VARCHAR" property="departmentkeylst" />
        <result column="departmentKeyOne" jdbcType="VARCHAR" property="departmentkeyone" />
        <result column="isSetFood" jdbcType="TINYINT" property="issetfood" />
        <result column="isSFDetail" jdbcType="TINYINT" property="issfdetail" />
        <result column="isBatching" jdbcType="TINYINT" property="isbatching" />
        <result column="setFoodCategoryName" jdbcType="VARCHAR" property="setfoodcategoryname" />
        <result column="foodKey" jdbcType="VARCHAR" property="foodkey" />
        <result column="foodName" jdbcType="VARCHAR" property="foodname" />
        <result column="foodCode" jdbcType="VARCHAR" property="foodcode" />
        <result column="setFoodName" jdbcType="VARCHAR" property="setfoodname" />
        <result column="setFoodRemark" jdbcType="VARCHAR" property="setfoodremark" />
        <result column="foodNumber" jdbcType="DECIMAL" property="foodnumber" />
        <result column="foodCancelNumber" jdbcType="DECIMAL" property="foodcancelnumber" />
        <result column="foodLastCancelNumber" jdbcType="DECIMAL" property="foodlastcancelnumber" />
        <result column="foodSendNumber" jdbcType="DECIMAL" property="foodsendnumber" />
        <result column="cancelReason" jdbcType="VARCHAR" property="cancelreason" />
        <result column="cancelBy" jdbcType="VARCHAR" property="cancelby" />
        <result column="cancelTime" jdbcType="BIGINT" property="canceltime" />
        <result column="foodCancelAuthorizer" jdbcType="VARCHAR" property="foodcancelauthorizer" />
        <result column="sendReason" jdbcType="VARCHAR" property="sendreason" />
        <result column="sendBy" jdbcType="VARCHAR" property="sendby" />
        <result column="sendTime" jdbcType="BIGINT" property="sendtime" />
        <result column="foodSendAuthorizer" jdbcType="VARCHAR" property="foodsendauthorizer" />
        <result column="isNeedConfirmFoodNumber" jdbcType="TINYINT" property="isneedconfirmfoodnumber" />
        <result column="isTempFood" jdbcType="TINYINT" property="istempfood" />
        <result column="unit" jdbcType="VARCHAR" property="unit" />
        <result column="unitKey" jdbcType="VARCHAR" property="unitkey" />
        <result column="unitAdjuvant" jdbcType="VARCHAR" property="unitadjuvant" />
        <result column="unitAdjuvantNumber" jdbcType="DECIMAL" property="unitadjuvantnumber" />
        <result column="isDiscount" jdbcType="TINYINT" property="isdiscount" />
        <result column="isDiscountDefault" jdbcType="TINYINT" property="isdiscountdefault" />
        <result column="categoryDiscountRate" jdbcType="DECIMAL" property="categorydiscountrate" />
        <result column="foodDiscountRate" jdbcType="DECIMAL" property="fooddiscountrate" />
        <result column="foodEstimateCost" jdbcType="DECIMAL" property="foodestimatecost" />
        <result column="foodProPrice" jdbcType="DECIMAL" property="foodproprice" />
        <result column="foodRealPrice" jdbcType="DECIMAL" property="foodrealprice" />
        <result column="foodVipPrice" jdbcType="DECIMAL" property="foodvipprice" />
        <result column="foodPayPrice" jdbcType="DECIMAL" property="foodpayprice" />
        <result column="foodPayPriceReal" jdbcType="DECIMAL" property="foodpaypricereal" />
        <result column="foodPriceAmount" jdbcType="DECIMAL" property="foodpriceamount" />
        <result column="foodRealAmount" jdbcType="DECIMAL" property="foodrealamount" />
        <result column="foodRemark" jdbcType="VARCHAR" property="foodremark" />
        <result column="allFoodRemark" jdbcType="VARCHAR" property="allfoodremark" />
        <result column="modifyReason" jdbcType="VARCHAR" property="modifyreason" />
        <result column="modifyBy" jdbcType="VARCHAR" property="modifyby" />
        <result column="modifyTime" jdbcType="BIGINT" property="modifytime" />
        <result column="foodPriceModifyAuthorizer" jdbcType="VARCHAR" property="foodpricemodifyauthorizer" />
        <result column="orderBy" jdbcType="VARCHAR" property="orderby" />
        <result column="serveConfirmBy" jdbcType="VARCHAR" property="serveconfirmby" />
        <result column="serveConfirmTime" jdbcType="BIGINT" property="serveconfirmtime" />
        <result column="readyNumber" jdbcType="DECIMAL" property="readynumber" />
        <result column="makeEndNumber" jdbcType="DECIMAL" property="makeendnumber" />
        <result column="transmitNumber" jdbcType="DECIMAL" property="transmitnumber" />
        <result column="makeStatus" jdbcType="TINYINT" property="makestatus" />
        <result column="makeStartTime" jdbcType="BIGINT" property="makestarttime" />
        <result column="makeBy" jdbcType="VARCHAR" property="makeby" />
        <result column="makeCallCount" jdbcType="TINYINT" property="makecallcount" />
        <result column="makeEndTime" jdbcType="BIGINT" property="makeendtime" />
        <result column="makeEndfoodNumber" jdbcType="DECIMAL" property="makeendfoodnumber" />
        <result column="printStatus" jdbcType="TINYINT" property="printstatus" />
        <result column="actionBatchNo" jdbcType="VARCHAR" property="actionbatchno" />
        <result column="serverMAC" jdbcType="VARCHAR" property="servermac" />
        <result column="deviceName" jdbcType="VARCHAR" property="devicename" />
        <result column="salesCommission" jdbcType="DECIMAL" property="salescommission" />
        <result column="taxRate" jdbcType="DECIMAL" property="taxrate" />
        <result column="clientType" jdbcType="VARCHAR" property="clienttype" />
        <result column="promotionIDLst" jdbcType="VARCHAR" property="promotionidlst" />
        <result column="actionTime" jdbcType="BIGINT" property="actiontime" />
        <result column="createTime" jdbcType="BIGINT" property="createtime" />
        <result column="foodPractice" jdbcType="VARCHAR" property="foodpractice" />
        <result column="foodTaste" jdbcType="VARCHAR" property="foodtaste" />
        <result column="action" jdbcType="INTEGER" property="action" />
        <result column="startTime" jdbcType="BIGINT" property="starttime" />
        <result column="checkoutTime" jdbcType="BIGINT" property="checkouttime" />
        <result column="shiftName" jdbcType="VARCHAR" property="shiftname" />
        <result column="timeNameCheckout" jdbcType="VARCHAR" property="timenamecheckout" />
        <result column="channelName" jdbcType="VARCHAR" property="channelname" />
        <result column="channelKey" jdbcType="VARCHAR" property="channelkey" />
        <result column="foodSendPrice" jdbcType="DECIMAL" property="foodsendprice" />
        <result column="cancelFoodAmount" jdbcType="DECIMAL" property="cancelfoodamount" />
        <result column="foodInvoiceAmount" jdbcType="DECIMAL" property="foodinvoiceamount" />
        <result column="foodAliasName" jdbcType="VARCHAR" property="foodaliasname" />
        <result column="setFoodPriceAmount" jdbcType="DECIMAL" property="setfoodpriceamount" />
        <result column="setFoodRealAmount" jdbcType="DECIMAL" property="setfoodrealamount" />
        <result column="analysisTime" jdbcType="BIGINT" property="analysistime" />
        <result column="actionstamp" jdbcType="TIMESTAMP" property="actionstamp" />
    </resultMap>
    <sql id="Base_Column_List">
        itemID, reportDate, groupID, brandID, shopID, saasOrderKey, shopName, orderStatus,
    orderSubType, itemKey, parentFoodFromItemKey, areaName, tableName, foodCategorySortIndex,
    foodCategoryKey, foodCategoryName, foodSubType, foodSubjectKey, foodSubjectCode,
    foodSubjectName, departmentKeyLst, departmentKeyOne, isSetFood, isSFDetail, isBatching,
    setFoodCategoryName, foodKey, foodName, foodCode, setFoodName, setFoodRemark, foodNumber,
    foodCancelNumber, foodLastCancelNumber, foodSendNumber, cancelReason, cancelBy, cancelTime,
    foodCancelAuthorizer, sendReason, sendBy, sendTime, foodSendAuthorizer, isNeedConfirmFoodNumber,
    isTempFood, unit, unitKey, unitAdjuvant, unitAdjuvantNumber, isDiscount, isDiscountDefault,
    categoryDiscountRate, foodDiscountRate, foodEstimateCost, foodProPrice, foodRealPrice,
    foodVipPrice, foodPayPrice, foodPayPriceReal, foodPriceAmount, foodRealAmount, foodRemark,
    allFoodRemark, modifyReason, modifyBy, modifyTime, foodPriceModifyAuthorizer, orderBy,
    serveConfirmBy, serveConfirmTime, readyNumber, makeEndNumber, transmitNumber, makeStatus,
    makeStartTime, makeBy, makeCallCount, makeEndTime, makeEndfoodNumber, printStatus,
    actionBatchNo, serverMAC, deviceName, salesCommission, taxRate, clientType, promotionIDLst,
    actionTime, createTime, foodPractice, foodTaste, action, startTime, checkoutTime,
    shiftName, timeNameCheckout, channelName, channelKey, foodSendPrice, cancelFoodAmount,
    foodInvoiceAmount, foodAliasName, setFoodPriceAmount, setFoodRealAmount, analysisTime,
    actionstamp
    </sql>


    <select id="selectList" parameterType="map" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from
        tbl_bill_food
        <where>
            foodNumber > 0 and
            saasOrderKey in
            <foreach collection="orderNoList" item="orderNo" index="index" open="(" close=")" separator=",">
                #{orderNo}
            </foreach>
        </where>
    </select>

    <select id="selectByPrimaryKey" parameterType="com.zm.order.tool.server.model.foodKey" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from tbl_bill_food
        where itemID = #{itemid,jdbcType=INTEGER}
        and reportDate = #{reportdate,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="com.zm.order.tool.server.model.foodKey">
        delete from tbl_bill_food
        where itemID = #{itemid,jdbcType=INTEGER}
          and reportDate = #{reportdate,jdbcType=BIGINT}
    </delete>
    <insert id="insert" parameterType="com.zm.order.tool.server.model.food">
        insert into tbl_bill_food (itemID, reportDate, groupID,
                                   brandID, shopID, saasOrderKey,
                                   shopName, orderStatus, orderSubType,
                                   itemKey, parentFoodFromItemKey, areaName,
                                   tableName, foodCategorySortIndex, foodCategoryKey,
                                   foodCategoryName, foodSubType, foodSubjectKey,
                                   foodSubjectCode, foodSubjectName, departmentKeyLst,
                                   departmentKeyOne, isSetFood, isSFDetail,
                                   isBatching, setFoodCategoryName, foodKey,
                                   foodName, foodCode, setFoodName,
                                   setFoodRemark, foodNumber, foodCancelNumber,
                                   foodLastCancelNumber, foodSendNumber, cancelReason,
                                   cancelBy, cancelTime, foodCancelAuthorizer,
                                   sendReason, sendBy, sendTime,
                                   foodSendAuthorizer, isNeedConfirmFoodNumber,
                                   isTempFood, unit, unitKey,
                                   unitAdjuvant, unitAdjuvantNumber, isDiscount,
                                   isDiscountDefault, categoryDiscountRate,
                                   foodDiscountRate, foodEstimateCost, foodProPrice,
                                   foodRealPrice, foodVipPrice, foodPayPrice,
                                   foodPayPriceReal, foodPriceAmount, foodRealAmount,
                                   foodRemark, allFoodRemark, modifyReason,
                                   modifyBy, modifyTime, foodPriceModifyAuthorizer,
                                   orderBy, serveConfirmBy, serveConfirmTime,
                                   readyNumber, makeEndNumber, transmitNumber,
                                   makeStatus, makeStartTime, makeBy,
                                   makeCallCount, makeEndTime, makeEndfoodNumber,
                                   printStatus, actionBatchNo, serverMAC,
                                   deviceName, salesCommission, taxRate,
                                   clientType, promotionIDLst, actionTime,
                                   createTime, foodPractice, foodTaste,
                                   action, startTime, checkoutTime,
                                   shiftName, timeNameCheckout, channelName,
                                   channelKey, foodSendPrice, cancelFoodAmount,
                                   foodInvoiceAmount, foodAliasName, setFoodPriceAmount,
                                   setFoodRealAmount, analysisTime, actionstamp
        )
        values (#{itemid,jdbcType=INTEGER}, #{reportdate,jdbcType=BIGINT}, #{groupid,jdbcType=BIGINT},
                #{brandid,jdbcType=BIGINT}, #{shopid,jdbcType=BIGINT}, #{saasorderkey,jdbcType=VARCHAR},
                #{shopname,jdbcType=VARCHAR}, #{orderstatus,jdbcType=INTEGER}, #{ordersubtype,jdbcType=TINYINT},
                #{itemkey,jdbcType=VARCHAR}, #{parentfoodfromitemkey,jdbcType=VARCHAR}, #{areaname,jdbcType=VARCHAR},
                #{tablename,jdbcType=VARCHAR}, #{foodcategorysortindex,jdbcType=INTEGER}, #{foodcategorykey,jdbcType=VARCHAR},
                #{foodcategoryname,jdbcType=VARCHAR}, #{foodsubtype,jdbcType=VARCHAR}, #{foodsubjectkey,jdbcType=VARCHAR},
                #{foodsubjectcode,jdbcType=VARCHAR}, #{foodsubjectname,jdbcType=VARCHAR}, #{departmentkeylst,jdbcType=VARCHAR},
                #{departmentkeyone,jdbcType=VARCHAR}, #{issetfood,jdbcType=TINYINT}, #{issfdetail,jdbcType=TINYINT},
                #{isbatching,jdbcType=TINYINT}, #{setfoodcategoryname,jdbcType=VARCHAR}, #{foodkey,jdbcType=VARCHAR},
                #{foodname,jdbcType=VARCHAR}, #{foodcode,jdbcType=VARCHAR}, #{setfoodname,jdbcType=VARCHAR},
                #{setfoodremark,jdbcType=VARCHAR}, #{foodnumber,jdbcType=DECIMAL}, #{foodcancelnumber,jdbcType=DECIMAL},
                #{foodlastcancelnumber,jdbcType=DECIMAL}, #{foodsendnumber,jdbcType=DECIMAL}, #{cancelreason,jdbcType=VARCHAR},
                #{cancelby,jdbcType=VARCHAR}, #{canceltime,jdbcType=BIGINT}, #{foodcancelauthorizer,jdbcType=VARCHAR},
                #{sendreason,jdbcType=VARCHAR}, #{sendby,jdbcType=VARCHAR}, #{sendtime,jdbcType=BIGINT},
                #{foodsendauthorizer,jdbcType=VARCHAR}, #{isneedconfirmfoodnumber,jdbcType=TINYINT},
                #{istempfood,jdbcType=TINYINT}, #{unit,jdbcType=VARCHAR}, #{unitkey,jdbcType=VARCHAR},
                #{unitadjuvant,jdbcType=VARCHAR}, #{unitadjuvantnumber,jdbcType=DECIMAL}, #{isdiscount,jdbcType=TINYINT},
                #{isdiscountdefault,jdbcType=TINYINT}, #{categorydiscountrate,jdbcType=DECIMAL},
                #{fooddiscountrate,jdbcType=DECIMAL}, #{foodestimatecost,jdbcType=DECIMAL}, #{foodproprice,jdbcType=DECIMAL},
                #{foodrealprice,jdbcType=DECIMAL}, #{foodvipprice,jdbcType=DECIMAL}, #{foodpayprice,jdbcType=DECIMAL},
                #{foodpaypricereal,jdbcType=DECIMAL}, #{foodpriceamount,jdbcType=DECIMAL}, #{foodrealamount,jdbcType=DECIMAL},
                #{foodremark,jdbcType=VARCHAR}, #{allfoodremark,jdbcType=VARCHAR}, #{modifyreason,jdbcType=VARCHAR},
                #{modifyby,jdbcType=VARCHAR}, #{modifytime,jdbcType=BIGINT}, #{foodpricemodifyauthorizer,jdbcType=VARCHAR},
                #{orderby,jdbcType=VARCHAR}, #{serveconfirmby,jdbcType=VARCHAR}, #{serveconfirmtime,jdbcType=BIGINT},
                #{readynumber,jdbcType=DECIMAL}, #{makeendnumber,jdbcType=DECIMAL}, #{transmitnumber,jdbcType=DECIMAL},
                #{makestatus,jdbcType=TINYINT}, #{makestarttime,jdbcType=BIGINT}, #{makeby,jdbcType=VARCHAR},
                #{makecallcount,jdbcType=TINYINT}, #{makeendtime,jdbcType=BIGINT}, #{makeendfoodnumber,jdbcType=DECIMAL},
                #{printstatus,jdbcType=TINYINT}, #{actionbatchno,jdbcType=VARCHAR}, #{servermac,jdbcType=VARCHAR},
                #{devicename,jdbcType=VARCHAR}, #{salescommission,jdbcType=DECIMAL}, #{taxrate,jdbcType=DECIMAL},
                #{clienttype,jdbcType=VARCHAR}, #{promotionidlst,jdbcType=VARCHAR}, #{actiontime,jdbcType=BIGINT},
                #{createtime,jdbcType=BIGINT}, #{foodpractice,jdbcType=VARCHAR}, #{foodtaste,jdbcType=VARCHAR},
                #{action,jdbcType=INTEGER}, #{starttime,jdbcType=BIGINT}, #{checkouttime,jdbcType=BIGINT},
                #{shiftname,jdbcType=VARCHAR}, #{timenamecheckout,jdbcType=VARCHAR}, #{channelname,jdbcType=VARCHAR},
                #{channelkey,jdbcType=VARCHAR}, #{foodsendprice,jdbcType=DECIMAL}, #{cancelfoodamount,jdbcType=DECIMAL},
                #{foodinvoiceamount,jdbcType=DECIMAL}, #{foodaliasname,jdbcType=VARCHAR}, #{setfoodpriceamount,jdbcType=DECIMAL},
                #{setfoodrealamount,jdbcType=DECIMAL}, #{analysistime,jdbcType=BIGINT}, #{actionstamp,jdbcType=TIMESTAMP}
               )
    </insert>
    <insert id="insertSelective" parameterType="com.zm.order.tool.server.model.food">
        insert into tbl_bill_food
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="itemid != null">
                itemID,
            </if>
            <if test="reportdate != null">
                reportDate,
            </if>
            <if test="groupid != null">
                groupID,
            </if>
            <if test="brandid != null">
                brandID,
            </if>
            <if test="shopid != null">
                shopID,
            </if>
            <if test="saasorderkey != null">
                saasOrderKey,
            </if>
            <if test="shopname != null">
                shopName,
            </if>
            <if test="orderstatus != null">
                orderStatus,
            </if>
            <if test="ordersubtype != null">
                orderSubType,
            </if>
            <if test="itemkey != null">
                itemKey,
            </if>
            <if test="parentfoodfromitemkey != null">
                parentFoodFromItemKey,
            </if>
            <if test="areaname != null">
                areaName,
            </if>
            <if test="tablename != null">
                tableName,
            </if>
            <if test="foodcategorysortindex != null">
                foodCategorySortIndex,
            </if>
            <if test="foodcategorykey != null">
                foodCategoryKey,
            </if>
            <if test="foodcategoryname != null">
                foodCategoryName,
            </if>
            <if test="foodsubtype != null">
                foodSubType,
            </if>
            <if test="foodsubjectkey != null">
                foodSubjectKey,
            </if>
            <if test="foodsubjectcode != null">
                foodSubjectCode,
            </if>
            <if test="foodsubjectname != null">
                foodSubjectName,
            </if>
            <if test="departmentkeylst != null">
                departmentKeyLst,
            </if>
            <if test="departmentkeyone != null">
                departmentKeyOne,
            </if>
            <if test="issetfood != null">
                isSetFood,
            </if>
            <if test="issfdetail != null">
                isSFDetail,
            </if>
            <if test="isbatching != null">
                isBatching,
            </if>
            <if test="setfoodcategoryname != null">
                setFoodCategoryName,
            </if>
            <if test="foodkey != null">
                foodKey,
            </if>
            <if test="foodname != null">
                foodName,
            </if>
            <if test="foodcode != null">
                foodCode,
            </if>
            <if test="setfoodname != null">
                setFoodName,
            </if>
            <if test="setfoodremark != null">
                setFoodRemark,
            </if>
            <if test="foodnumber != null">
                foodNumber,
            </if>
            <if test="foodcancelnumber != null">
                foodCancelNumber,
            </if>
            <if test="foodlastcancelnumber != null">
                foodLastCancelNumber,
            </if>
            <if test="foodsendnumber != null">
                foodSendNumber,
            </if>
            <if test="cancelreason != null">
                cancelReason,
            </if>
            <if test="cancelby != null">
                cancelBy,
            </if>
            <if test="canceltime != null">
                cancelTime,
            </if>
            <if test="foodcancelauthorizer != null">
                foodCancelAuthorizer,
            </if>
            <if test="sendreason != null">
                sendReason,
            </if>
            <if test="sendby != null">
                sendBy,
            </if>
            <if test="sendtime != null">
                sendTime,
            </if>
            <if test="foodsendauthorizer != null">
                foodSendAuthorizer,
            </if>
            <if test="isneedconfirmfoodnumber != null">
                isNeedConfirmFoodNumber,
            </if>
            <if test="istempfood != null">
                isTempFood,
            </if>
            <if test="unit != null">
                unit,
            </if>
            <if test="unitkey != null">
                unitKey,
            </if>
            <if test="unitadjuvant != null">
                unitAdjuvant,
            </if>
            <if test="unitadjuvantnumber != null">
                unitAdjuvantNumber,
            </if>
            <if test="isdiscount != null">
                isDiscount,
            </if>
            <if test="isdiscountdefault != null">
                isDiscountDefault,
            </if>
            <if test="categorydiscountrate != null">
                categoryDiscountRate,
            </if>
            <if test="fooddiscountrate != null">
                foodDiscountRate,
            </if>
            <if test="foodestimatecost != null">
                foodEstimateCost,
            </if>
            <if test="foodproprice != null">
                foodProPrice,
            </if>
            <if test="foodrealprice != null">
                foodRealPrice,
            </if>
            <if test="foodvipprice != null">
                foodVipPrice,
            </if>
            <if test="foodpayprice != null">
                foodPayPrice,
            </if>
            <if test="foodpaypricereal != null">
                foodPayPriceReal,
            </if>
            <if test="foodpriceamount != null">
                foodPriceAmount,
            </if>
            <if test="foodrealamount != null">
                foodRealAmount,
            </if>
            <if test="foodremark != null">
                foodRemark,
            </if>
            <if test="allfoodremark != null">
                allFoodRemark,
            </if>
            <if test="modifyreason != null">
                modifyReason,
            </if>
            <if test="modifyby != null">
                modifyBy,
            </if>
            <if test="modifytime != null">
                modifyTime,
            </if>
            <if test="foodpricemodifyauthorizer != null">
                foodPriceModifyAuthorizer,
            </if>
            <if test="orderby != null">
                orderBy,
            </if>
            <if test="serveconfirmby != null">
                serveConfirmBy,
            </if>
            <if test="serveconfirmtime != null">
                serveConfirmTime,
            </if>
            <if test="readynumber != null">
                readyNumber,
            </if>
            <if test="makeendnumber != null">
                makeEndNumber,
            </if>
            <if test="transmitnumber != null">
                transmitNumber,
            </if>
            <if test="makestatus != null">
                makeStatus,
            </if>
            <if test="makestarttime != null">
                makeStartTime,
            </if>
            <if test="makeby != null">
                makeBy,
            </if>
            <if test="makecallcount != null">
                makeCallCount,
            </if>
            <if test="makeendtime != null">
                makeEndTime,
            </if>
            <if test="makeendfoodnumber != null">
                makeEndfoodNumber,
            </if>
            <if test="printstatus != null">
                printStatus,
            </if>
            <if test="actionbatchno != null">
                actionBatchNo,
            </if>
            <if test="servermac != null">
                serverMAC,
            </if>
            <if test="devicename != null">
                deviceName,
            </if>
            <if test="salescommission != null">
                salesCommission,
            </if>
            <if test="taxrate != null">
                taxRate,
            </if>
            <if test="clienttype != null">
                clientType,
            </if>
            <if test="promotionidlst != null">
                promotionIDLst,
            </if>
            <if test="actiontime != null">
                actionTime,
            </if>
            <if test="createtime != null">
                createTime,
            </if>
            <if test="foodpractice != null">
                foodPractice,
            </if>
            <if test="foodtaste != null">
                foodTaste,
            </if>
            <if test="action != null">
                action,
            </if>
            <if test="starttime != null">
                startTime,
            </if>
            <if test="checkouttime != null">
                checkoutTime,
            </if>
            <if test="shiftname != null">
                shiftName,
            </if>
            <if test="timenamecheckout != null">
                timeNameCheckout,
            </if>
            <if test="channelname != null">
                channelName,
            </if>
            <if test="channelkey != null">
                channelKey,
            </if>
            <if test="foodsendprice != null">
                foodSendPrice,
            </if>
            <if test="cancelfoodamount != null">
                cancelFoodAmount,
            </if>
            <if test="foodinvoiceamount != null">
                foodInvoiceAmount,
            </if>
            <if test="foodaliasname != null">
                foodAliasName,
            </if>
            <if test="setfoodpriceamount != null">
                setFoodPriceAmount,
            </if>
            <if test="setfoodrealamount != null">
                setFoodRealAmount,
            </if>
            <if test="analysistime != null">
                analysisTime,
            </if>
            <if test="actionstamp != null">
                actionstamp,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="itemid != null">
                #{itemid,jdbcType=INTEGER},
            </if>
            <if test="reportdate != null">
                #{reportdate,jdbcType=BIGINT},
            </if>
            <if test="groupid != null">
                #{groupid,jdbcType=BIGINT},
            </if>
            <if test="brandid != null">
                #{brandid,jdbcType=BIGINT},
            </if>
            <if test="shopid != null">
                #{shopid,jdbcType=BIGINT},
            </if>
            <if test="saasorderkey != null">
                #{saasorderkey,jdbcType=VARCHAR},
            </if>
            <if test="shopname != null">
                #{shopname,jdbcType=VARCHAR},
            </if>
            <if test="orderstatus != null">
                #{orderstatus,jdbcType=INTEGER},
            </if>
            <if test="ordersubtype != null">
                #{ordersubtype,jdbcType=TINYINT},
            </if>
            <if test="itemkey != null">
                #{itemkey,jdbcType=VARCHAR},
            </if>
            <if test="parentfoodfromitemkey != null">
                #{parentfoodfromitemkey,jdbcType=VARCHAR},
            </if>
            <if test="areaname != null">
                #{areaname,jdbcType=VARCHAR},
            </if>
            <if test="tablename != null">
                #{tablename,jdbcType=VARCHAR},
            </if>
            <if test="foodcategorysortindex != null">
                #{foodcategorysortindex,jdbcType=INTEGER},
            </if>
            <if test="foodcategorykey != null">
                #{foodcategorykey,jdbcType=VARCHAR},
            </if>
            <if test="foodcategoryname != null">
                #{foodcategoryname,jdbcType=VARCHAR},
            </if>
            <if test="foodsubtype != null">
                #{foodsubtype,jdbcType=VARCHAR},
            </if>
            <if test="foodsubjectkey != null">
                #{foodsubjectkey,jdbcType=VARCHAR},
            </if>
            <if test="foodsubjectcode != null">
                #{foodsubjectcode,jdbcType=VARCHAR},
            </if>
            <if test="foodsubjectname != null">
                #{foodsubjectname,jdbcType=VARCHAR},
            </if>
            <if test="departmentkeylst != null">
                #{departmentkeylst,jdbcType=VARCHAR},
            </if>
            <if test="departmentkeyone != null">
                #{departmentkeyone,jdbcType=VARCHAR},
            </if>
            <if test="issetfood != null">
                #{issetfood,jdbcType=TINYINT},
            </if>
            <if test="issfdetail != null">
                #{issfdetail,jdbcType=TINYINT},
            </if>
            <if test="isbatching != null">
                #{isbatching,jdbcType=TINYINT},
            </if>
            <if test="setfoodcategoryname != null">
                #{setfoodcategoryname,jdbcType=VARCHAR},
            </if>
            <if test="foodkey != null">
                #{foodkey,jdbcType=VARCHAR},
            </if>
            <if test="foodname != null">
                #{foodname,jdbcType=VARCHAR},
            </if>
            <if test="foodcode != null">
                #{foodcode,jdbcType=VARCHAR},
            </if>
            <if test="setfoodname != null">
                #{setfoodname,jdbcType=VARCHAR},
            </if>
            <if test="setfoodremark != null">
                #{setfoodremark,jdbcType=VARCHAR},
            </if>
            <if test="foodnumber != null">
                #{foodnumber,jdbcType=DECIMAL},
            </if>
            <if test="foodcancelnumber != null">
                #{foodcancelnumber,jdbcType=DECIMAL},
            </if>
            <if test="foodlastcancelnumber != null">
                #{foodlastcancelnumber,jdbcType=DECIMAL},
            </if>
            <if test="foodsendnumber != null">
                #{foodsendnumber,jdbcType=DECIMAL},
            </if>
            <if test="cancelreason != null">
                #{cancelreason,jdbcType=VARCHAR},
            </if>
            <if test="cancelby != null">
                #{cancelby,jdbcType=VARCHAR},
            </if>
            <if test="canceltime != null">
                #{canceltime,jdbcType=BIGINT},
            </if>
            <if test="foodcancelauthorizer != null">
                #{foodcancelauthorizer,jdbcType=VARCHAR},
            </if>
            <if test="sendreason != null">
                #{sendreason,jdbcType=VARCHAR},
            </if>
            <if test="sendby != null">
                #{sendby,jdbcType=VARCHAR},
            </if>
            <if test="sendtime != null">
                #{sendtime,jdbcType=BIGINT},
            </if>
            <if test="foodsendauthorizer != null">
                #{foodsendauthorizer,jdbcType=VARCHAR},
            </if>
            <if test="isneedconfirmfoodnumber != null">
                #{isneedconfirmfoodnumber,jdbcType=TINYINT},
            </if>
            <if test="istempfood != null">
                #{istempfood,jdbcType=TINYINT},
            </if>
            <if test="unit != null">
                #{unit,jdbcType=VARCHAR},
            </if>
            <if test="unitkey != null">
                #{unitkey,jdbcType=VARCHAR},
            </if>
            <if test="unitadjuvant != null">
                #{unitadjuvant,jdbcType=VARCHAR},
            </if>
            <if test="unitadjuvantnumber != null">
                #{unitadjuvantnumber,jdbcType=DECIMAL},
            </if>
            <if test="isdiscount != null">
                #{isdiscount,jdbcType=TINYINT},
            </if>
            <if test="isdiscountdefault != null">
                #{isdiscountdefault,jdbcType=TINYINT},
            </if>
            <if test="categorydiscountrate != null">
                #{categorydiscountrate,jdbcType=DECIMAL},
            </if>
            <if test="fooddiscountrate != null">
                #{fooddiscountrate,jdbcType=DECIMAL},
            </if>
            <if test="foodestimatecost != null">
                #{foodestimatecost,jdbcType=DECIMAL},
            </if>
            <if test="foodproprice != null">
                #{foodproprice,jdbcType=DECIMAL},
            </if>
            <if test="foodrealprice != null">
                #{foodrealprice,jdbcType=DECIMAL},
            </if>
            <if test="foodvipprice != null">
                #{foodvipprice,jdbcType=DECIMAL},
            </if>
            <if test="foodpayprice != null">
                #{foodpayprice,jdbcType=DECIMAL},
            </if>
            <if test="foodpaypricereal != null">
                #{foodpaypricereal,jdbcType=DECIMAL},
            </if>
            <if test="foodpriceamount != null">
                #{foodpriceamount,jdbcType=DECIMAL},
            </if>
            <if test="foodrealamount != null">
                #{foodrealamount,jdbcType=DECIMAL},
            </if>
            <if test="foodremark != null">
                #{foodremark,jdbcType=VARCHAR},
            </if>
            <if test="allfoodremark != null">
                #{allfoodremark,jdbcType=VARCHAR},
            </if>
            <if test="modifyreason != null">
                #{modifyreason,jdbcType=VARCHAR},
            </if>
            <if test="modifyby != null">
                #{modifyby,jdbcType=VARCHAR},
            </if>
            <if test="modifytime != null">
                #{modifytime,jdbcType=BIGINT},
            </if>
            <if test="foodpricemodifyauthorizer != null">
                #{foodpricemodifyauthorizer,jdbcType=VARCHAR},
            </if>
            <if test="orderby != null">
                #{orderby,jdbcType=VARCHAR},
            </if>
            <if test="serveconfirmby != null">
                #{serveconfirmby,jdbcType=VARCHAR},
            </if>
            <if test="serveconfirmtime != null">
                #{serveconfirmtime,jdbcType=BIGINT},
            </if>
            <if test="readynumber != null">
                #{readynumber,jdbcType=DECIMAL},
            </if>
            <if test="makeendnumber != null">
                #{makeendnumber,jdbcType=DECIMAL},
            </if>
            <if test="transmitnumber != null">
                #{transmitnumber,jdbcType=DECIMAL},
            </if>
            <if test="makestatus != null">
                #{makestatus,jdbcType=TINYINT},
            </if>
            <if test="makestarttime != null">
                #{makestarttime,jdbcType=BIGINT},
            </if>
            <if test="makeby != null">
                #{makeby,jdbcType=VARCHAR},
            </if>
            <if test="makecallcount != null">
                #{makecallcount,jdbcType=TINYINT},
            </if>
            <if test="makeendtime != null">
                #{makeendtime,jdbcType=BIGINT},
            </if>
            <if test="makeendfoodnumber != null">
                #{makeendfoodnumber,jdbcType=DECIMAL},
            </if>
            <if test="printstatus != null">
                #{printstatus,jdbcType=TINYINT},
            </if>
            <if test="actionbatchno != null">
                #{actionbatchno,jdbcType=VARCHAR},
            </if>
            <if test="servermac != null">
                #{servermac,jdbcType=VARCHAR},
            </if>
            <if test="devicename != null">
                #{devicename,jdbcType=VARCHAR},
            </if>
            <if test="salescommission != null">
                #{salescommission,jdbcType=DECIMAL},
            </if>
            <if test="taxrate != null">
                #{taxrate,jdbcType=DECIMAL},
            </if>
            <if test="clienttype != null">
                #{clienttype,jdbcType=VARCHAR},
            </if>
            <if test="promotionidlst != null">
                #{promotionidlst,jdbcType=VARCHAR},
            </if>
            <if test="actiontime != null">
                #{actiontime,jdbcType=BIGINT},
            </if>
            <if test="createtime != null">
                #{createtime,jdbcType=BIGINT},
            </if>
            <if test="foodpractice != null">
                #{foodpractice,jdbcType=VARCHAR},
            </if>
            <if test="foodtaste != null">
                #{foodtaste,jdbcType=VARCHAR},
            </if>
            <if test="action != null">
                #{action,jdbcType=INTEGER},
            </if>
            <if test="starttime != null">
                #{starttime,jdbcType=BIGINT},
            </if>
            <if test="checkouttime != null">
                #{checkouttime,jdbcType=BIGINT},
            </if>
            <if test="shiftname != null">
                #{shiftname,jdbcType=VARCHAR},
            </if>
            <if test="timenamecheckout != null">
                #{timenamecheckout,jdbcType=VARCHAR},
            </if>
            <if test="channelname != null">
                #{channelname,jdbcType=VARCHAR},
            </if>
            <if test="channelkey != null">
                #{channelkey,jdbcType=VARCHAR},
            </if>
            <if test="foodsendprice != null">
                #{foodsendprice,jdbcType=DECIMAL},
            </if>
            <if test="cancelfoodamount != null">
                #{cancelfoodamount,jdbcType=DECIMAL},
            </if>
            <if test="foodinvoiceamount != null">
                #{foodinvoiceamount,jdbcType=DECIMAL},
            </if>
            <if test="foodaliasname != null">
                #{foodaliasname,jdbcType=VARCHAR},
            </if>
            <if test="setfoodpriceamount != null">
                #{setfoodpriceamount,jdbcType=DECIMAL},
            </if>
            <if test="setfoodrealamount != null">
                #{setfoodrealamount,jdbcType=DECIMAL},
            </if>
            <if test="analysistime != null">
                #{analysistime,jdbcType=BIGINT},
            </if>
            <if test="actionstamp != null">
                #{actionstamp,jdbcType=TIMESTAMP},
            </if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.zm.order.tool.server.model.food">
        update tbl_bill_food
        <set>
            <if test="groupid != null">
                groupID = #{groupid,jdbcType=BIGINT},
            </if>
            <if test="brandid != null">
                brandID = #{brandid,jdbcType=BIGINT},
            </if>
            <if test="shopid != null">
                shopID = #{shopid,jdbcType=BIGINT},
            </if>
            <if test="saasorderkey != null">
                saasOrderKey = #{saasorderkey,jdbcType=VARCHAR},
            </if>
            <if test="shopname != null">
                shopName = #{shopname,jdbcType=VARCHAR},
            </if>
            <if test="orderstatus != null">
                orderStatus = #{orderstatus,jdbcType=INTEGER},
            </if>
            <if test="ordersubtype != null">
                orderSubType = #{ordersubtype,jdbcType=TINYINT},
            </if>
            <if test="itemkey != null">
                itemKey = #{itemkey,jdbcType=VARCHAR},
            </if>
            <if test="parentfoodfromitemkey != null">
                parentFoodFromItemKey = #{parentfoodfromitemkey,jdbcType=VARCHAR},
            </if>
            <if test="areaname != null">
                areaName = #{areaname,jdbcType=VARCHAR},
            </if>
            <if test="tablename != null">
                tableName = #{tablename,jdbcType=VARCHAR},
            </if>
            <if test="foodcategorysortindex != null">
                foodCategorySortIndex = #{foodcategorysortindex,jdbcType=INTEGER},
            </if>
            <if test="foodcategorykey != null">
                foodCategoryKey = #{foodcategorykey,jdbcType=VARCHAR},
            </if>
            <if test="foodcategoryname != null">
                foodCategoryName = #{foodcategoryname,jdbcType=VARCHAR},
            </if>
            <if test="foodsubtype != null">
                foodSubType = #{foodsubtype,jdbcType=VARCHAR},
            </if>
            <if test="foodsubjectkey != null">
                foodSubjectKey = #{foodsubjectkey,jdbcType=VARCHAR},
            </if>
            <if test="foodsubjectcode != null">
                foodSubjectCode = #{foodsubjectcode,jdbcType=VARCHAR},
            </if>
            <if test="foodsubjectname != null">
                foodSubjectName = #{foodsubjectname,jdbcType=VARCHAR},
            </if>
            <if test="departmentkeylst != null">
                departmentKeyLst = #{departmentkeylst,jdbcType=VARCHAR},
            </if>
            <if test="departmentkeyone != null">
                departmentKeyOne = #{departmentkeyone,jdbcType=VARCHAR},
            </if>
            <if test="issetfood != null">
                isSetFood = #{issetfood,jdbcType=TINYINT},
            </if>
            <if test="issfdetail != null">
                isSFDetail = #{issfdetail,jdbcType=TINYINT},
            </if>
            <if test="isbatching != null">
                isBatching = #{isbatching,jdbcType=TINYINT},
            </if>
            <if test="setfoodcategoryname != null">
                setFoodCategoryName = #{setfoodcategoryname,jdbcType=VARCHAR},
            </if>
            <if test="foodkey != null">
                foodKey = #{foodkey,jdbcType=VARCHAR},
            </if>
            <if test="foodname != null">
                foodName = #{foodname,jdbcType=VARCHAR},
            </if>
            <if test="foodcode != null">
                foodCode = #{foodcode,jdbcType=VARCHAR},
            </if>
            <if test="setfoodname != null">
                setFoodName = #{setfoodname,jdbcType=VARCHAR},
            </if>
            <if test="setfoodremark != null">
                setFoodRemark = #{setfoodremark,jdbcType=VARCHAR},
            </if>
            <if test="foodnumber != null">
                foodNumber = #{foodnumber,jdbcType=DECIMAL},
            </if>
            <if test="foodcancelnumber != null">
                foodCancelNumber = #{foodcancelnumber,jdbcType=DECIMAL},
            </if>
            <if test="foodlastcancelnumber != null">
                foodLastCancelNumber = #{foodlastcancelnumber,jdbcType=DECIMAL},
            </if>
            <if test="foodsendnumber != null">
                foodSendNumber = #{foodsendnumber,jdbcType=DECIMAL},
            </if>
            <if test="cancelreason != null">
                cancelReason = #{cancelreason,jdbcType=VARCHAR},
            </if>
            <if test="cancelby != null">
                cancelBy = #{cancelby,jdbcType=VARCHAR},
            </if>
            <if test="canceltime != null">
                cancelTime = #{canceltime,jdbcType=BIGINT},
            </if>
            <if test="foodcancelauthorizer != null">
                foodCancelAuthorizer = #{foodcancelauthorizer,jdbcType=VARCHAR},
            </if>
            <if test="sendreason != null">
                sendReason = #{sendreason,jdbcType=VARCHAR},
            </if>
            <if test="sendby != null">
                sendBy = #{sendby,jdbcType=VARCHAR},
            </if>
            <if test="sendtime != null">
                sendTime = #{sendtime,jdbcType=BIGINT},
            </if>
            <if test="foodsendauthorizer != null">
                foodSendAuthorizer = #{foodsendauthorizer,jdbcType=VARCHAR},
            </if>
            <if test="isneedconfirmfoodnumber != null">
                isNeedConfirmFoodNumber = #{isneedconfirmfoodnumber,jdbcType=TINYINT},
            </if>
            <if test="istempfood != null">
                isTempFood = #{istempfood,jdbcType=TINYINT},
            </if>
            <if test="unit != null">
                unit = #{unit,jdbcType=VARCHAR},
            </if>
            <if test="unitkey != null">
                unitKey = #{unitkey,jdbcType=VARCHAR},
            </if>
            <if test="unitadjuvant != null">
                unitAdjuvant = #{unitadjuvant,jdbcType=VARCHAR},
            </if>
            <if test="unitadjuvantnumber != null">
                unitAdjuvantNumber = #{unitadjuvantnumber,jdbcType=DECIMAL},
            </if>
            <if test="isdiscount != null">
                isDiscount = #{isdiscount,jdbcType=TINYINT},
            </if>
            <if test="isdiscountdefault != null">
                isDiscountDefault = #{isdiscountdefault,jdbcType=TINYINT},
            </if>
            <if test="categorydiscountrate != null">
                categoryDiscountRate = #{categorydiscountrate,jdbcType=DECIMAL},
            </if>
            <if test="fooddiscountrate != null">
                foodDiscountRate = #{fooddiscountrate,jdbcType=DECIMAL},
            </if>
            <if test="foodestimatecost != null">
                foodEstimateCost = #{foodestimatecost,jdbcType=DECIMAL},
            </if>
            <if test="foodproprice != null">
                foodProPrice = #{foodproprice,jdbcType=DECIMAL},
            </if>
            <if test="foodrealprice != null">
                foodRealPrice = #{foodrealprice,jdbcType=DECIMAL},
            </if>
            <if test="foodvipprice != null">
                foodVipPrice = #{foodvipprice,jdbcType=DECIMAL},
            </if>
            <if test="foodpayprice != null">
                foodPayPrice = #{foodpayprice,jdbcType=DECIMAL},
            </if>
            <if test="foodpaypricereal != null">
                foodPayPriceReal = #{foodpaypricereal,jdbcType=DECIMAL},
            </if>
            <if test="foodpriceamount != null">
                foodPriceAmount = #{foodpriceamount,jdbcType=DECIMAL},
            </if>
            <if test="foodrealamount != null">
                foodRealAmount = #{foodrealamount,jdbcType=DECIMAL},
            </if>
            <if test="foodremark != null">
                foodRemark = #{foodremark,jdbcType=VARCHAR},
            </if>
            <if test="allfoodremark != null">
                allFoodRemark = #{allfoodremark,jdbcType=VARCHAR},
            </if>
            <if test="modifyreason != null">
                modifyReason = #{modifyreason,jdbcType=VARCHAR},
            </if>
            <if test="modifyby != null">
                modifyBy = #{modifyby,jdbcType=VARCHAR},
            </if>
            <if test="modifytime != null">
                modifyTime = #{modifytime,jdbcType=BIGINT},
            </if>
            <if test="foodpricemodifyauthorizer != null">
                foodPriceModifyAuthorizer = #{foodpricemodifyauthorizer,jdbcType=VARCHAR},
            </if>
            <if test="orderby != null">
                orderBy = #{orderby,jdbcType=VARCHAR},
            </if>
            <if test="serveconfirmby != null">
                serveConfirmBy = #{serveconfirmby,jdbcType=VARCHAR},
            </if>
            <if test="serveconfirmtime != null">
                serveConfirmTime = #{serveconfirmtime,jdbcType=BIGINT},
            </if>
            <if test="readynumber != null">
                readyNumber = #{readynumber,jdbcType=DECIMAL},
            </if>
            <if test="makeendnumber != null">
                makeEndNumber = #{makeendnumber,jdbcType=DECIMAL},
            </if>
            <if test="transmitnumber != null">
                transmitNumber = #{transmitnumber,jdbcType=DECIMAL},
            </if>
            <if test="makestatus != null">
                makeStatus = #{makestatus,jdbcType=TINYINT},
            </if>
            <if test="makestarttime != null">
                makeStartTime = #{makestarttime,jdbcType=BIGINT},
            </if>
            <if test="makeby != null">
                makeBy = #{makeby,jdbcType=VARCHAR},
            </if>
            <if test="makecallcount != null">
                makeCallCount = #{makecallcount,jdbcType=TINYINT},
            </if>
            <if test="makeendtime != null">
                makeEndTime = #{makeendtime,jdbcType=BIGINT},
            </if>
            <if test="makeendfoodnumber != null">
                makeEndfoodNumber = #{makeendfoodnumber,jdbcType=DECIMAL},
            </if>
            <if test="printstatus != null">
                printStatus = #{printstatus,jdbcType=TINYINT},
            </if>
            <if test="actionbatchno != null">
                actionBatchNo = #{actionbatchno,jdbcType=VARCHAR},
            </if>
            <if test="servermac != null">
                serverMAC = #{servermac,jdbcType=VARCHAR},
            </if>
            <if test="devicename != null">
                deviceName = #{devicename,jdbcType=VARCHAR},
            </if>
            <if test="salescommission != null">
                salesCommission = #{salescommission,jdbcType=DECIMAL},
            </if>
            <if test="taxrate != null">
                taxRate = #{taxrate,jdbcType=DECIMAL},
            </if>
            <if test="clienttype != null">
                clientType = #{clienttype,jdbcType=VARCHAR},
            </if>
            <if test="promotionidlst != null">
                promotionIDLst = #{promotionidlst,jdbcType=VARCHAR},
            </if>
            <if test="actiontime != null">
                actionTime = #{actiontime,jdbcType=BIGINT},
            </if>
            <if test="createtime != null">
                createTime = #{createtime,jdbcType=BIGINT},
            </if>
            <if test="foodpractice != null">
                foodPractice = #{foodpractice,jdbcType=VARCHAR},
            </if>
            <if test="foodtaste != null">
                foodTaste = #{foodtaste,jdbcType=VARCHAR},
            </if>
            <if test="action != null">
                action = #{action,jdbcType=INTEGER},
            </if>
            <if test="starttime != null">
                startTime = #{starttime,jdbcType=BIGINT},
            </if>
            <if test="checkouttime != null">
                checkoutTime = #{checkouttime,jdbcType=BIGINT},
            </if>
            <if test="shiftname != null">
                shiftName = #{shiftname,jdbcType=VARCHAR},
            </if>
            <if test="timenamecheckout != null">
                timeNameCheckout = #{timenamecheckout,jdbcType=VARCHAR},
            </if>
            <if test="channelname != null">
                channelName = #{channelname,jdbcType=VARCHAR},
            </if>
            <if test="channelkey != null">
                channelKey = #{channelkey,jdbcType=VARCHAR},
            </if>
            <if test="foodsendprice != null">
                foodSendPrice = #{foodsendprice,jdbcType=DECIMAL},
            </if>
            <if test="cancelfoodamount != null">
                cancelFoodAmount = #{cancelfoodamount,jdbcType=DECIMAL},
            </if>
            <if test="foodinvoiceamount != null">
                foodInvoiceAmount = #{foodinvoiceamount,jdbcType=DECIMAL},
            </if>
            <if test="foodaliasname != null">
                foodAliasName = #{foodaliasname,jdbcType=VARCHAR},
            </if>
            <if test="setfoodpriceamount != null">
                setFoodPriceAmount = #{setfoodpriceamount,jdbcType=DECIMAL},
            </if>
            <if test="setfoodrealamount != null">
                setFoodRealAmount = #{setfoodrealamount,jdbcType=DECIMAL},
            </if>
            <if test="analysistime != null">
                analysisTime = #{analysistime,jdbcType=BIGINT},
            </if>
            <if test="actionstamp != null">
                actionstamp = #{actionstamp,jdbcType=TIMESTAMP},
            </if>
        </set>
        where itemID = #{itemid,jdbcType=INTEGER}
        and reportDate = #{reportdate,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.zm.order.tool.server.model.food">
        update tbl_bill_food
        set groupID = #{groupid,jdbcType=BIGINT},
            brandID = #{brandid,jdbcType=BIGINT},
            shopID = #{shopid,jdbcType=BIGINT},
            saasOrderKey = #{saasorderkey,jdbcType=VARCHAR},
            shopName = #{shopname,jdbcType=VARCHAR},
            orderStatus = #{orderstatus,jdbcType=INTEGER},
            orderSubType = #{ordersubtype,jdbcType=TINYINT},
            itemKey = #{itemkey,jdbcType=VARCHAR},
            parentFoodFromItemKey = #{parentfoodfromitemkey,jdbcType=VARCHAR},
            areaName = #{areaname,jdbcType=VARCHAR},
            tableName = #{tablename,jdbcType=VARCHAR},
            foodCategorySortIndex = #{foodcategorysortindex,jdbcType=INTEGER},
            foodCategoryKey = #{foodcategorykey,jdbcType=VARCHAR},
            foodCategoryName = #{foodcategoryname,jdbcType=VARCHAR},
            foodSubType = #{foodsubtype,jdbcType=VARCHAR},
            foodSubjectKey = #{foodsubjectkey,jdbcType=VARCHAR},
            foodSubjectCode = #{foodsubjectcode,jdbcType=VARCHAR},
            foodSubjectName = #{foodsubjectname,jdbcType=VARCHAR},
            departmentKeyLst = #{departmentkeylst,jdbcType=VARCHAR},
            departmentKeyOne = #{departmentkeyone,jdbcType=VARCHAR},
            isSetFood = #{issetfood,jdbcType=TINYINT},
            isSFDetail = #{issfdetail,jdbcType=TINYINT},
            isBatching = #{isbatching,jdbcType=TINYINT},
            setFoodCategoryName = #{setfoodcategoryname,jdbcType=VARCHAR},
            foodKey = #{foodkey,jdbcType=VARCHAR},
            foodName = #{foodname,jdbcType=VARCHAR},
            foodCode = #{foodcode,jdbcType=VARCHAR},
            setFoodName = #{setfoodname,jdbcType=VARCHAR},
            setFoodRemark = #{setfoodremark,jdbcType=VARCHAR},
            foodNumber = #{foodnumber,jdbcType=DECIMAL},
            foodCancelNumber = #{foodcancelnumber,jdbcType=DECIMAL},
            foodLastCancelNumber = #{foodlastcancelnumber,jdbcType=DECIMAL},
            foodSendNumber = #{foodsendnumber,jdbcType=DECIMAL},
            cancelReason = #{cancelreason,jdbcType=VARCHAR},
            cancelBy = #{cancelby,jdbcType=VARCHAR},
            cancelTime = #{canceltime,jdbcType=BIGINT},
            foodCancelAuthorizer = #{foodcancelauthorizer,jdbcType=VARCHAR},
            sendReason = #{sendreason,jdbcType=VARCHAR},
            sendBy = #{sendby,jdbcType=VARCHAR},
            sendTime = #{sendtime,jdbcType=BIGINT},
            foodSendAuthorizer = #{foodsendauthorizer,jdbcType=VARCHAR},
            isNeedConfirmFoodNumber = #{isneedconfirmfoodnumber,jdbcType=TINYINT},
            isTempFood = #{istempfood,jdbcType=TINYINT},
            unit = #{unit,jdbcType=VARCHAR},
            unitKey = #{unitkey,jdbcType=VARCHAR},
            unitAdjuvant = #{unitadjuvant,jdbcType=VARCHAR},
            unitAdjuvantNumber = #{unitadjuvantnumber,jdbcType=DECIMAL},
            isDiscount = #{isdiscount,jdbcType=TINYINT},
            isDiscountDefault = #{isdiscountdefault,jdbcType=TINYINT},
            categoryDiscountRate = #{categorydiscountrate,jdbcType=DECIMAL},
            foodDiscountRate = #{fooddiscountrate,jdbcType=DECIMAL},
            foodEstimateCost = #{foodestimatecost,jdbcType=DECIMAL},
            foodProPrice = #{foodproprice,jdbcType=DECIMAL},
            foodRealPrice = #{foodrealprice,jdbcType=DECIMAL},
            foodVipPrice = #{foodvipprice,jdbcType=DECIMAL},
            foodPayPrice = #{foodpayprice,jdbcType=DECIMAL},
            foodPayPriceReal = #{foodpaypricereal,jdbcType=DECIMAL},
            foodPriceAmount = #{foodpriceamount,jdbcType=DECIMAL},
            foodRealAmount = #{foodrealamount,jdbcType=DECIMAL},
            foodRemark = #{foodremark,jdbcType=VARCHAR},
            allFoodRemark = #{allfoodremark,jdbcType=VARCHAR},
            modifyReason = #{modifyreason,jdbcType=VARCHAR},
            modifyBy = #{modifyby,jdbcType=VARCHAR},
            modifyTime = #{modifytime,jdbcType=BIGINT},
            foodPriceModifyAuthorizer = #{foodpricemodifyauthorizer,jdbcType=VARCHAR},
            orderBy = #{orderby,jdbcType=VARCHAR},
            serveConfirmBy = #{serveconfirmby,jdbcType=VARCHAR},
            serveConfirmTime = #{serveconfirmtime,jdbcType=BIGINT},
            readyNumber = #{readynumber,jdbcType=DECIMAL},
            makeEndNumber = #{makeendnumber,jdbcType=DECIMAL},
            transmitNumber = #{transmitnumber,jdbcType=DECIMAL},
            makeStatus = #{makestatus,jdbcType=TINYINT},
            makeStartTime = #{makestarttime,jdbcType=BIGINT},
            makeBy = #{makeby,jdbcType=VARCHAR},
            makeCallCount = #{makecallcount,jdbcType=TINYINT},
            makeEndTime = #{makeendtime,jdbcType=BIGINT},
            makeEndfoodNumber = #{makeendfoodnumber,jdbcType=DECIMAL},
            printStatus = #{printstatus,jdbcType=TINYINT},
            actionBatchNo = #{actionbatchno,jdbcType=VARCHAR},
            serverMAC = #{servermac,jdbcType=VARCHAR},
            deviceName = #{devicename,jdbcType=VARCHAR},
            salesCommission = #{salescommission,jdbcType=DECIMAL},
            taxRate = #{taxrate,jdbcType=DECIMAL},
            clientType = #{clienttype,jdbcType=VARCHAR},
            promotionIDLst = #{promotionidlst,jdbcType=VARCHAR},
            actionTime = #{actiontime,jdbcType=BIGINT},
            createTime = #{createtime,jdbcType=BIGINT},
            foodPractice = #{foodpractice,jdbcType=VARCHAR},
            foodTaste = #{foodtaste,jdbcType=VARCHAR},
            action = #{action,jdbcType=INTEGER},
            startTime = #{starttime,jdbcType=BIGINT},
            checkoutTime = #{checkouttime,jdbcType=BIGINT},
            shiftName = #{shiftname,jdbcType=VARCHAR},
            timeNameCheckout = #{timenamecheckout,jdbcType=VARCHAR},
            channelName = #{channelname,jdbcType=VARCHAR},
            channelKey = #{channelkey,jdbcType=VARCHAR},
            foodSendPrice = #{foodsendprice,jdbcType=DECIMAL},
            cancelFoodAmount = #{cancelfoodamount,jdbcType=DECIMAL},
            foodInvoiceAmount = #{foodinvoiceamount,jdbcType=DECIMAL},
            foodAliasName = #{foodaliasname,jdbcType=VARCHAR},
            setFoodPriceAmount = #{setfoodpriceamount,jdbcType=DECIMAL},
            setFoodRealAmount = #{setfoodrealamount,jdbcType=DECIMAL},
            analysisTime = #{analysistime,jdbcType=BIGINT},
            actionstamp = #{actionstamp,jdbcType=TIMESTAMP}
        where itemID = #{itemid,jdbcType=INTEGER}
          and reportDate = #{reportdate,jdbcType=BIGINT}
    </update>
</mapper>