dcb
2025-07-01 f31f0991c0d2036e563b886f57de4cf45d3c72cb
src/main/resources/mapper/SimuMapper.xml
@@ -1,7 +1,90 @@
<?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.se.nsl.mapper.SimuPoMapper">
    <select id="selectMaxId" resultType="java.lang.Integer">
        select coalesce(max(id), 0) from bs.simu;
    </select>
<mapper namespace="com.se.nsl.mapper.SimuMapper">
    <insert id="insert" parameterType="com.se.nsl.domain.po.Simu">
        <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
            select currval('nsl.simu_id_seq'::regclass) as id
        </selectKey>
        insert into nsl.tbl_yj_tr_simulate (
            name, service_name, type, area_type, area_name, data, status, result, create_time, create_user, bak, geom)
        values (
            #{name},
            #{serviceName},
            #{type},
            #{areaType},
            #{areaName},
            #{data},
            #{status},
            #{result},
            now(),
            #{createUser},
            #{bak},
            <choose>
                <when test="geom != null and geom != ''">
                    ST_GeomFromText('${geom}')
                </when>
                <otherwise>
                    null
                </otherwise>
            </choose>
        )
    </insert>
    <insert id="inserts" parameterType="com.se.nsl.domain.po.Simu">
        insert into nsl.tbl_yj_tr_simulate (
            name, service_name, type, area_type, data, status, result, create_time, create_user, bak, geom)
        values
        <foreach collection="list" item="item" separator=",">
        (
            #{item.name},
            #{item.serviceName},
            #{item.type},
            #{item.areaType},
            #{item.data},
            #{item.status},
            #{item.result},
            now(),
            #{item.createUser},
            #{item.bak},
            <choose>
                <when test="item.geom != null and item.geom != ''">
                    ST_GeomFromText('${item.geom}')
                </when>
                <otherwise>
                    null
                </otherwise>
            </choose>
        )
        </foreach>
    </insert>
    <update id="updates" parameterType="com.se.nsl.domain.po.Simu">
        <foreach collection="list" item="item" separator=";">
            update nsl.tbl_yj_tr_simulate
            set name=#{item.name},
                service_name=#{item.serviceName},
                type=#{item.type},
                area_type=#{item.areaType},
                data=#{item.data},
                status=#{item.status},
                result=#{item.result},
                update_time=now(),
                update_user=#{item.updateUser},
                bak=#{item.bak},
                <choose>
                    <when test="item.geom != null and item.geom != ''">
                        geom = ST_GeomFromText('${item.geom}')
                    </when>
                    <otherwise>
                        geom = null
                    </otherwise>
                </choose>
            where id = #{item.id}
        </foreach>
    </update>
    <update id="updateResult" parameterType="com.se.nsl.domain.po.Simu">
        update nsl.tbl_yj_tr_simulate set result=#{result} where id = #{id}
    </update>
</mapper>