|
|
@@ -506,11 +506,51 @@
|
|
|
</update>
|
|
|
|
|
|
|
|
|
-<!-- <select id="getWorkattachmentById" resultMap="Workattachment">-->
|
|
|
-<!-- SELECT-->
|
|
|
-<!-- <include refid="workattachmentColumns"/>-->
|
|
|
-<!-- FROM work_attachment a-->
|
|
|
-<!-- where a.id = #{id}-->
|
|
|
-<!-- </select>-->
|
|
|
+ <select id="getByAttachmentIdListAndFlag" resultType="Workattachment">
|
|
|
+ SELECT
|
|
|
+ -- 核心:给所有非分组字段包ANY_VALUE(),直接复用原有字段片段
|
|
|
+ ANY_VALUE(a.id) AS "id",
|
|
|
+ ANY_VALUE(a.create_by) AS "createBy.id",
|
|
|
+ ANY_VALUE(a.create_date) AS "createDate",
|
|
|
+ ANY_VALUE(a.update_by) AS "updateBy.id",
|
|
|
+ ANY_VALUE(a.update_date) AS "updateDate",
|
|
|
+ ANY_VALUE(a.remarks) AS "remarks",
|
|
|
+ ANY_VALUE(a.del_flag) AS "delFlag",
|
|
|
+ ANY_VALUE(a.url) AS "url", -- 必非空,取组内任意一条非空url
|
|
|
+ ANY_VALUE(a.type) AS "type",
|
|
|
+ a.attachment_id AS "attachmentId", -- 分组字段,直接写无需包装
|
|
|
+ ANY_VALUE(a.attachment_user) AS "attachmentUser",
|
|
|
+ ANY_VALUE(a.attachment_name) AS "attachmentName",
|
|
|
+ ANY_VALUE(a.company_id) AS "companyId",
|
|
|
+ ANY_VALUE(a.attachment_flag) AS "attachmentFlag",
|
|
|
+ ANY_VALUE(a.div_id_type) AS "divIdType",
|
|
|
+ ANY_VALUE(a.file_size) AS "fileSize",
|
|
|
+ ANY_VALUE(createBy.name) AS "createBy.name", -- 关联表字段也包ANY_VALUE()
|
|
|
+ ANY_VALUE(a.sort) AS "sort",
|
|
|
+ ANY_VALUE(a.description) AS "description",
|
|
|
+ ANY_VALUE(a.project_id) AS "projectId",
|
|
|
+ ANY_VALUE(a.sync_dify_sync) AS "syncDifySync"
|
|
|
+ FROM work_attachment a
|
|
|
+ <include refid="workattachmentJoins"/> <!-- 保留原有LEFT JOIN用户表 -->
|
|
|
+ WHERE a.del_flag = '0'
|
|
|
+ -- 核心:仅保留url非空记录
|
|
|
+ AND a.url IS NOT NULL
|
|
|
+ AND a.url != ''
|
|
|
+ <!-- 原有附件ID集合过滤 -->
|
|
|
+ <if test="attachmentIdList!=null and attachmentIdList.size()!=0">
|
|
|
+ AND a.attachment_id IN
|
|
|
+ <foreach collection="attachmentIdList" item="id" separator="," open="(" close=")">
|
|
|
+ #{id}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <!-- 原有附件标识过滤 -->
|
|
|
+ <if test="attachmentFlag != null and attachmentFlag !=''">
|
|
|
+ AND a.attachment_flag = #{attachmentFlag}
|
|
|
+ </if>
|
|
|
+ <!-- 按attachment_id分组,确保每组1条 -->
|
|
|
+ GROUP BY a.attachment_id
|
|
|
+ <!-- 可选:按业务规则排序,取组内「指定的一条」而非完全随机(推荐保留) -->
|
|
|
+ ORDER BY ANY_VALUE(a.sort) ASC, ANY_VALUE(a.create_date) DESC
|
|
|
+ </select>
|
|
|
|
|
|
</mapper>
|