202 lines
8.9 KiB
XML
202 lines
8.9 KiB
XML
<?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.psbc.cpsp.eden.mapper.asset.AssetMapper">
|
|
<resultMap id="BaseResultMap" type="com.psbc.cpsp.eden.common.entity.Asset">
|
|
<id column="id" property="id"/>
|
|
<result column="asset_code" property="assetCode"/>
|
|
<result column="asset_name" property="assetName"/>
|
|
<result column="classification_id" property="classificationId"/>
|
|
<result column="admin_user_id" property="adminUserId"/>
|
|
<result column="company_id" property="companyId"/>
|
|
<result column="location_id" property="locationId"/>
|
|
<result column="purchase_type" property="purchaseType"/>
|
|
<result column="brand" property="brand"/>
|
|
<result column="model" property="model"/>
|
|
<result column="serial_number" property="serialNumber"/>
|
|
<result column="purchase_amount" property="purchaseAmount"/>
|
|
<result column="expected_useful_life" property="expectedUsefulLife"/>
|
|
<result column="remark" property="remark"/>
|
|
<result column="purchase_date" property="purchaseDate"/>
|
|
<result column="storage_date" property="storageDate"/>
|
|
<result column="asset_photo" property="assetPhoto"/>
|
|
<result column="maintenance_due_date" property="maintenanceDueDate"/>
|
|
<result column="maintenance_description" property="maintenanceDescription"/>
|
|
<result column="expected_depreciation_period" property="expectedDepreciationPeriod"/>
|
|
<result column="asset_status" property="assetStatus"/>
|
|
<result column="create_user_id" property="createUserId"/>
|
|
<result column="create_time" property="createTime"/>
|
|
<result column="del_flag" property="delFlag"/>
|
|
<result column="last_mod_user_id" property="lastModUserId"/>
|
|
<result column="last_mod_time" property="lastModTime"/>
|
|
<result column="tenant_id" property="tenantId"/>
|
|
</resultMap>
|
|
|
|
<sql id="Base_Column_List">
|
|
"id", "asset_code", "asset_name", "classification_id", "admin_user_id", "company_id",
|
|
"location_id", "purchase_type", "brand", "model", "serial_number", "purchase_amount",
|
|
"expected_useful_life", "remark", "purchase_date", "storage_date", "asset_photo",
|
|
"maintenance_due_date", "maintenance_description", "expected_depreciation_period",
|
|
"asset_status", "create_user_id", "create_time", "del_flag", "last_mod_user_id",
|
|
"last_mod_time", "tenant_id"
|
|
</sql>
|
|
|
|
<!-- 新增资产 -->
|
|
<insert id="insert" parameterType="com.psbc.cpsp.eden.common.entity.Asset" useGeneratedKeys="true" keyProperty="id">
|
|
INSERT INTO "tb_asset" (
|
|
"asset_code", "asset_name", "classification_id", "admin_user_id", "company_id",
|
|
"location_id", "purchase_type", "brand", "model", "serial_number", "purchase_amount",
|
|
"expected_useful_life", "remark", "purchase_date", "storage_date", "asset_photo",
|
|
"maintenance_due_date", "maintenance_description", "expected_depreciation_period",
|
|
"asset_status", "create_user_id", "create_time", "del_flag", "last_mod_user_id",
|
|
"last_mod_time"
|
|
) VALUES (
|
|
#{assetCode}, #{assetName}, #{classificationId}, #{adminUserId}, #{companyId},
|
|
#{locationId}, #{purchaseType}, #{brand}, #{model}, #{serialNumber}, #{purchaseAmount},
|
|
#{expectedUsefulLife}, #{remark}, #{purchaseDate}, #{storageDate}, #{assetPhoto},
|
|
#{maintenanceDueDate}, #{maintenanceDescription}, #{expectedDepreciationPeriod},
|
|
#{assetStatus}, #{createUserId}, #{createTime}, #{delFlag}, #{lastModUserId},
|
|
#{lastModTime}
|
|
)
|
|
</insert>
|
|
|
|
<!-- 修改资产 -->
|
|
<update id="update" parameterType="com.psbc.cpsp.eden.common.entity.Asset">
|
|
UPDATE "tb_asset"
|
|
<set>
|
|
"asset_code" = #{assetCode},
|
|
"asset_name" = #{assetName},
|
|
"classification_id" = #{classificationId},
|
|
"admin_user_id" = #{adminUserId},
|
|
"company_id" = #{companyId},
|
|
"location_id" = #{locationId},
|
|
"purchase_type" = #{purchaseType},
|
|
"brand" = #{brand},
|
|
"model" = #{model},
|
|
"serial_number" = #{serialNumber},
|
|
"purchase_amount" = #{purchaseAmount},
|
|
"expected_useful_life" = #{expectedUsefulLife},
|
|
"remark" = #{remark},
|
|
"purchase_date" = #{purchaseDate},
|
|
"storage_date" = #{storageDate},
|
|
"asset_photo" = #{assetPhoto},
|
|
"maintenance_due_date" = #{maintenanceDueDate},
|
|
"maintenance_description" = #{maintenanceDescription},
|
|
"expected_depreciation_period" = #{expectedDepreciationPeriod},
|
|
"asset_status" = #{assetStatus},
|
|
"last_mod_user_id" = #{lastModUserId},
|
|
"last_mod_time" = #{lastModTime}
|
|
</set>
|
|
WHERE id=#{id} AND "del_flag" = '0'
|
|
</update>
|
|
|
|
<!-- 更新资产状态 -->
|
|
<update id="updateStatus">
|
|
UPDATE "tb_asset"
|
|
SET "asset_status" = #{status},
|
|
"last_mod_user_id" = #{lastModUserId},
|
|
"last_mod_time" = #{lastModTime}
|
|
WHERE id=#{id} AND "del_flag" = '0'
|
|
</update>
|
|
|
|
<!-- 根据ID查询资产详情 -->
|
|
<select id="selectById" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List" />
|
|
FROM "tb_asset"
|
|
WHERE id=#{id} AND "del_flag" = '0'
|
|
</select>
|
|
|
|
<!-- 查询资产列表 -->
|
|
<select id="selectList" parameterType="com.psbc.cpsp.eden.common.entity.Asset" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List" />
|
|
FROM "tb_asset"
|
|
WHERE "del_flag" = '0'
|
|
<if test="assetCode != null and assetCode != ''">
|
|
AND "asset_code" LIKE CONCAT('%', #{assetCode}, '%')
|
|
</if>
|
|
<if test="assetName != null and assetName != ''">
|
|
AND "asset_name" LIKE CONCAT('%', #{assetName}, '%')
|
|
</if>
|
|
<if test="classificationId != null">
|
|
AND "classification_id" = #{classificationId}
|
|
</if>
|
|
<if test="adminUserId != null and adminUserId != ''">
|
|
AND "admin_user_id" = #{adminUserId}
|
|
</if>
|
|
<if test="companyId != null">
|
|
AND "company_id" = #{companyId}
|
|
</if>
|
|
<if test="locationId != null">
|
|
AND "location_id" = #{locationId}
|
|
</if>
|
|
<if test="assetStatus != null and assetStatus != ''">
|
|
AND "asset_status" = #{assetStatus}
|
|
</if>
|
|
<if test="brand != null and brand != ''">
|
|
AND "brand" LIKE CONCAT('%', #{brand}, '%')
|
|
</if>
|
|
<if test="serialNumber != null and serialNumber != ''">
|
|
AND "serial_number" LIKE CONCAT('%', #{serialNumber}, '%')
|
|
</if>
|
|
<if test="maintenanceExpired != null and maintenanceExpired != ''">
|
|
<choose>
|
|
<when test="maintenanceExpired == '1'">
|
|
AND "maintenance_due_date" IS NOT NULL AND "maintenance_due_date" <= CURRENT_DATE
|
|
</when>
|
|
<when test="maintenanceExpired == '0'">
|
|
AND ("maintenance_due_date" IS NULL OR "maintenance_due_date" > CURRENT_DATE)
|
|
</when>
|
|
</choose>
|
|
</if>
|
|
ORDER BY "asset_code"
|
|
</select>
|
|
|
|
<!-- 逻辑删除资产 -->
|
|
<update id="deleteById">
|
|
UPDATE "tb_asset"
|
|
SET "del_flag" = '1',
|
|
"last_mod_user_id" = #{lastModUserId},
|
|
"last_mod_time" = NOW()
|
|
WHERE id=#{id} AND "del_flag" = '0'
|
|
</update>
|
|
|
|
<!-- 批量逻辑删除资产 -->
|
|
<update id="deleteBatchIds">
|
|
UPDATE "tb_asset"
|
|
SET "del_flag" = '1',
|
|
"last_mod_user_id" = #{lastModUserId},
|
|
"last_mod_time" = NOW()
|
|
WHERE "id" IN
|
|
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
AND "del_flag" = '0'
|
|
</update>
|
|
|
|
<!-- 检查资产编码是否唯一 -->
|
|
<select id="checkCodeUnique" resultType="int">
|
|
SELECT COUNT(1)
|
|
FROM "tb_asset"
|
|
WHERE "asset_code" = #{assetCode}
|
|
AND "del_flag" = '0'
|
|
<if test="id != null and id != '' and id != 'null'">
|
|
AND "id" != #{id}
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 根据资产编码查询资产信息 -->
|
|
<select id="selectByCode" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List" />
|
|
FROM "tb_asset"
|
|
WHERE "asset_code" = #{assetCode}
|
|
AND "del_flag" = '0'
|
|
ORDER BY "id"
|
|
</select>
|
|
|
|
<!-- 获取指定前缀的最大序列号 -->
|
|
<select id="getMaxSequenceByPrefix" resultType="int">
|
|
SELECT COALESCE(MAX(CAST(SUBSTRING("asset_code", LENGTH(#{prefix}) + 1) AS INTEGER)), 0)
|
|
FROM "tb_asset"
|
|
WHERE "asset_code" LIKE CONCAT(#{prefix}, '%')
|
|
AND "del_flag" = '0'
|
|
</select>
|
|
</mapper> |