You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

228 lines
12 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.hw.mes.mapper.MesMaterialBomMapper">
<resultMap type="MesMaterialBom" id="MesMaterialBomResult">
<result property="materialBomId" column="material_bom_id"/>
<result property="parentId" column="parent_id"/>
<result property="ancestors" column="ancestors"/>
<result property="materialClassfication" column="material_classfication"/>
<result property="erpMaterialId" column="erp_material_id"/>
<result property="materialId" column="material_id"/>
<result property="materialName" column="material_name"/>
<result property="standardAmount" column="standard_amount"/>
<result property="topFlag" column="top_flag"/>
<result property="checkType" column="check_type"/>
<result property="projectId" column="project_id"/>
<result property="activeFlag" column="active_flag"/>
<result property="remark" column="remark"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="materialCode" column="material_code"/>
<result property="materialBomDesc" column="material_bom_desc"/>
<result property="materialNameDesc" column="materialNameDesc"/>
<result property="assembleTime" column="assemble_time"/>
<result property="materialSpec" column="material_spec"/>
<result property="attachId" column="attach_id"/>
<result property="sopId" column="sop_id"/>
</resultMap>
<sql id="selectMesMaterialBomVo">
select material_bom_id,
parent_id,
ancestors,
material_classfication,
erp_material_id,
material_id,
material_name,
material_bom_desc,
standard_amount,
top_flag,
check_type,
project_id,
active_flag,
remark,
create_by,
create_time,
update_by,
update_time,
assemble_time,
attach_id,
sop_id,
CONCAT(material_name, '-', material_bom_desc) materialNameDesc
from mes_material_bom
</sql>
<select id="selectMesMaterialBomList" parameterType="MesMaterialBom" resultMap="MesMaterialBomResult">
<include refid="selectMesMaterialBomVo"/>
<where>
<if test="parentId != null ">and parent_id = #{parentId}</if>
<if test="ancestors != null and ancestors != ''">and ancestors like concat('%', #{ancestors},'%')</if>
<if test="materialId != null ">and material_id = #{materialId}</if>
<if test="erpMaterialId != null ">and erp_material_id = #{erpMaterialId}</if>
<if test="materialName != null and materialName != ''">and material_name like concat('%', #{materialName},
'%')
</if>
<if test="standardAmount != null ">and standard_amount = #{standardAmount}</if>
<if test="materialBomDesc != null ">and material_bom_desc = #{materialBomDesc}</if>
<if test="topFlag != null ">and top_flag = #{topFlag}</if>
<if test="checkType != null and checkType != ''">and check_type = #{checkType}</if>
<if test="projectId != null ">and project_id = #{projectId}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
</where>
order by material_bom_id desc
</select>
<select id="selectMesMaterialBomByMaterialBomId" parameterType="Long" resultMap="MesMaterialBomResult">
<include refid="selectMesMaterialBomVo"/>
where material_bom_id = #{materialBomId}
</select>
<insert id="insertMesMaterialBom" parameterType="MesMaterialBom" useGeneratedKeys="true"
keyProperty="materialBomId">
insert into mes_material_bom
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="materialBomId != null">material_bom_id,</if>
<if test="parentId != null">parent_id,</if>
<if test="ancestors != null">ancestors,</if>
<if test="materialClassfication != null and materialClassfication != ''">material_classfication,</if>
<if test="erpMaterialId != null">erp_material_id,</if>
<if test="materialId != null">material_id,</if>
<if test="materialName != null">material_name,</if>
<if test="materialBomDesc != null">material_bom_desc,</if>
<if test="standardAmount != null">standard_amount,</if>
<if test="topFlag != null">top_flag,</if>
<if test="checkType != null">check_type,</if>
<if test="projectId != null">project_id,</if>
<if test="activeFlag != null and activeFlag != ''">active_flag,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="assembleTime != null">assemble_time,</if>
<if test="attachId != null">attach_id,</if>
<if test="sopId != null">sop_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="materialBomId != null">#{materialBomId},</if>
<if test="parentId != null">#{parentId},</if>
<if test="ancestors != null">#{ancestors},</if>
<if test="materialClassfication != null and materialClassfication != ''">#{materialClassfication},</if>
<if test="erpMaterialId != null">#{erpMaterialId},</if>
<if test="materialId != null">#{materialId},</if>
<if test="materialName != null">#{materialName},</if>
<if test="materialBomDesc != null">#{materialBomDesc},</if>
<if test="standardAmount != null">#{standardAmount},</if>
<if test="topFlag != null">#{topFlag},</if>
<if test="checkType != null">#{checkType},</if>
<if test="projectId != null">#{projectId},</if>
<if test="activeFlag != null and activeFlag != ''">#{activeFlag},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="assembleTime != null">#{assembleTime},</if>
<if test="attachId != null">#{attachId},</if>
<if test="sopId != null">#{sopId},</if>
</trim>
</insert>
<update id="updateMesMaterialBom" parameterType="MesMaterialBom">
update mes_material_bom
<trim prefix="SET" suffixOverrides=",">
<if test="parentId != null">parent_id = #{parentId},</if>
<if test="ancestors != null">ancestors = #{ancestors},</if>
<if test="materialId != null">material_id = #{materialId},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="materialBomDesc != null">material_bom_desc = #{materialBomDesc},</if>
<if test="standardAmount != null">standard_amount = #{standardAmount},</if>
<if test="topFlag != null">top_flag = #{topFlag},</if>
<if test="checkType != null">check_type = #{checkType},</if>
<if test="projectId != null">project_id = #{projectId},</if>
<if test="activeFlag != null and activeFlag != ''">active_flag = #{activeFlag},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="assembleTime != null">assemble_time = #{assembleTime},</if>
<if test="attachId != null">attach_id = #{attachId},</if>
<if test="sopId != null">sop_id = #{sopId},</if>
</trim>
where material_bom_id = #{materialBomId}
</update>
<delete id="deleteMesMaterialBomByMaterialBomId" parameterType="Long">
delete
from mes_material_bom
where material_bom_id = #{materialBomId}
</delete>
<delete id="deleteMesMaterialBomByMaterialBomIds" parameterType="String">
delete from mes_material_bom where material_bom_id in
<foreach item="materialBomId" collection="array" open="(" separator="," close=")">
#{materialBomId}
</foreach>
</delete>
<select id="selectMesMaterialBomJoinList" parameterType="MesMaterialBom" resultMap="MesMaterialBomResult">
select mmb.material_bom_id,
mmb.parent_id,
mmb.ancestors,
mmb.material_id,
mmb.material_bom_desc,
mmb.standard_amount,
mmb.top_flag,
mmb.check_type,
mmb.project_id,
mmb.active_flag,
mmb.remark,
mmb.create_by,
mmb.create_time,
mmb.update_by,
mmb.update_time,
mmb.assemble_time,
mmb.attach_id,
mmb.sop_id,
mbmi.material_code,mbmi.material_name,mbmi.material_spec
from mes_material_bom mmb left join mes_base_material_info mbmi on mmb.material_id=mbmi.material_id
<where>
<if test="materialBomId != null ">and mmb.material_bom_id = #{materialBomId}</if>
<if test="parentId != null ">and mmb.parent_id = #{parentId}</if>
<if test="ancestors != null and ancestors != ''">and mmb.ancestors like concat(#{ancestors}, '%')</if>
<if test="materialId != null ">and mmb.material_id = #{materialId}</if>
<if test="materialCode != null and materialCode != ''">and mbmi.material_code like concat('%',
#{materialCode}, '%')
</if>
<if test="materialName != null and materialName != ''">and mbmi.material_name like concat('%',
#{materialName}, '%')
</if>
<if test="materialSpec != null and materialSpec != ''">and replace(mbmi.material_spec,' ','') like concat('%', #{materialSpec},
'%')</if>
<if test="standardAmount != null ">and mmb.standard_amount = #{standardAmount}</if>
<if test="topFlag != null ">and mmb.top_flag = #{topFlag}</if>
<if test="checkType != null and checkType != ''">and mmb.check_type = #{checkType}</if>
<if test="projectId != null ">and mmb.project_id = #{projectId}</if>
<if test="activeFlag != null and activeFlag != ''">and mmb.active_flag = #{activeFlag}</if>
</where>
order by mmb.create_time desc
</select>
<insert id="batchMesMaterialBom">
insert into mes_material_bom( material_bom_id, material_bom_desc, parent_id, ancestors, material_id, material_name, standard_amount, top_flag, check_type, project_id, assemble_time, active_flag, remark, create_by, create_time, update_by, update_time, brand, material_classfication, erp_material_id) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.materialBomId}, #{item.materialBomDesc}, #{item.parentId}, #{item.ancestors}, #{item.materialId}, #{item.materialName}, #{item.standardAmount}, #{item.topFlag}, #{item.checkType}, #{item.projectId}, #{item.assembleTime}, #{item.activeFlag}, #{item.remark}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.brand}, #{item.materialClassfication}, #{item.erpMaterialId})
</foreach>
</insert>
</mapper>