insert into jsh_serial_number (material_id, serial_number, is_sell, remark,delete_flag, create_time, creator,update_time, updater,in_bill_no, out_bill_no) values (#{materialId},#{serialNumber},#{isSell},#{remark},#{deleteFlag}, #{createTime},#{creator},#{updateTime},#{updater},#{inBillNo},#{outBillNo} ) update jsh_serial_number material_id = #{materialId,jdbcType=BIGINT}, serial_number = #{serialNumber,jdbcType=VARCHAR}, is_sell = #{isSell,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR}, delete_flag = #{deleteFlag,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=TIMESTAMP}, updater = #{updater,jdbcType=BIGINT}, in_bill_no = #{inBillNo,jdbcType=VARCHAR}, out_bill_no = #{outBillNo,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} update jsh_serial_number is_sell = '1', out_bill_no = #{outBillNo}, update_time = #{updateTime}, updater = #{updater}, where 1=1 and material_id = #{materialId} and is_sell != '1' and ifnull(delete_flag,'0') !='1' and serial_number in ( #{sn} ) update jsh_serial_number is_sell = '0', out_bill_no=null, update_time = #{updateTime}, updater = #{updater}, where 1=1 and material_id = #{materialId} and out_bill_no = #{outBillNo,jdbcType=VARCHAR} and is_sell != '0' and ifnull(delete_flag,'0') !='1' and id in ( select batchSN.id from ( select selFrom.id from jsh_serial_number selFrom where 1=1 and selFrom.material_id = #{materialId} and selFrom.out_bill_no = #{outBillNo,jdbcType=VARCHAR} and selFrom.is_sell !='0' and ifnull(selFrom.delete_flag,'0') !='1' limit 0,#{count} ) batchSN ) insert into jsh_serial_number (material_id, serial_number, is_sell, remark,delete_flag, create_time, creator,update_time, updater) values (#{each.materialId},#{each.serialNumber},'0',#{each.remark},'0', #{each.createTime},#{each.creator},#{each.updateTime},#{each.updater} ) update jsh_serial_number set update_time=#{updateTime},updater=#{updater},delete_flag='1' where 1=1 and id in ( #{id} )