zhangherong
2025-06-25 23855599412c4d61b38d78f0f3abd3430a48b5b1
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolsStocktakingBoundDetailMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,122 @@
<?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="org.jeecg.modules.tms.mapper.ToolsStocktakingBoundDetailMapper">
    <delete id="deleteByMainId" parameterType="java.lang.String">
        DELETE
        FROM tools_stocktaking_bound_detail
        WHERE goods_shelves_id = #{mainId}
    </delete>
    <select id="getParamaTableNameByMainId" parameterType="string" resultType="string">
        SELECT t1.parama_table_name
        FROM tools_stocktaking_bound_detail t
                 LEFT JOIN tms_base_tools t1 ON t1.tool_id = t.id
        WHERE t.goods_shelves_id = #{mainId}
    </select>
    <select id="selectByMainId" resultType="org.jeecg.modules.tms.entity.ToolsStocktakingBoundDetail">
        SELECT
        t.*,
        t2.parama_table_name paramaTableName,
        t4.classify_id AS classifyId,
        t3.storage_location AS storageLocation,
        t3.chinese_name AS chineseName,
        t2.tool_model AS toolModel,
        t3.application_type AS applicationType,
        t3.supplier_id AS supplierId,
        <choose>
            <when test="ew.paramNameValuePairs.paramaTableName == '1'">
                c.tool_material AS toolMaterial,
                c.part_material AS partMaterial
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '2'">
                h.tool_material AS toolMaterial,
                h.part_material AS partMaterial
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '3'">
                th.tool_material AS toolMaterial,
                th.part_material AS partMaterial
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '4'">
                m.tool_material AS toolMaterial,
                m.part_material AS partMaterial
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '5'">
                tr.tool_material AS toolMaterial,
                tr.part_material AS partMaterial
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '6'">
                b.tool_material AS toolMaterial,
                b.part_material AS partMaterial
            </when>
            <!-- é»˜è®¤æƒ…况:paramaTableName ä¸ºç©ºæˆ–未传递时,关联 tms_para_common_tool è¡¨ -->
            <otherwise>
                c.tool_material AS toolMaterial,
                c.part_material AS partMaterial
            </otherwise>
        </choose>
        FROM tms_stocktaking_bound_detail t
        left join tms_tool_ledger t1 ON  t1.tool_id= t.tool_Code
        left join tms_tool_ledger_detail t5 ON  t5.tool_Code= t.tool_id
        left join tms_tools_classify t4 on t4.id = t1.classify_id
        left join tms_base_tools t2 on t2.id = t.tool_code
        left join tms_tools_config_property t3 on t3.tool_code = t.tool_code
        <choose>
            <when test="ew.paramNameValuePairs.paramaTableName == '1'">
                LEFT JOIN tms_para_common_tool c ON c.tool_code = t.id
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '2'">
                LEFT JOIN tms_para_hole_tools h ON h.tool_code = t.id
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '3'">
                LEFT JOIN tms_para_threading_tool th ON th.tool_code = t.id
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '4'">
                LEFT JOIN tms_para_mill_tool m ON m.tool_code = t.id
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '5'">
                LEFT JOIN tms_para_turning_tools tr ON tr.tool_code = t.id
            </when>
            <when test="ew.paramNameValuePairs.paramaTableName == '6'">
                LEFT JOIN tms_para_blade b ON b.tool_code = t.id
            </when>
            <!-- é»˜è®¤æƒ…况:添加 LEFT JOIN tms_para_common_tool c -->
            <otherwise>
                LEFT JOIN tms_para_common_tool c ON c.tool_code = t.id
            </otherwise>
        </choose>
            ${ew.customSqlSegment}
    </select>
    <select id="toolsStocktakingList" resultType="map" parameterType="String">
        SELECT
            t1.id,
            t1.tool_id onlyCode,
            t1.book_quantity bookQuantity,
            t1.available_quantity availableQuantity,
            t1.practical_quantity practicalQuantity,
            t1.surplus_deficit surplusDeficit,
            t1.stocktaking_date stocktakingDate,
            t2.order_code orderCode,
            t2.stocktaking_type stocktakingType,
            t2.stocktaking_name stocktakingName,
            t3.tool_code toolCode,
            t3.chinese_name chineseName,
            t3.tool_model toolModel,
            t4.classify_id classifyNum,
            t5.item_text handler
        FROM
            tms_stocktaking_bound_detail t1
                LEFT JOIN tms_stocktaking_bound t2 ON t2.id = t1.stocktaking_bound_id
                LEFT JOIN tms_base_tools t3 ON t3.id = t1.tool_code
                LEFT JOIN tms_tools_classify t4 ON t4.id = t3.classify_id
                LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'sys_user' ) t5 ON t5.item_value = t2.handler
            ${ew.customSqlSegment}
    </select>
</mapper>