172 lines
9.1 KiB
XML
172 lines
9.1 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.sqx.modules.material.dao.MaterialMapper">
|
|
<resultMap id="BaseResultMap" type="com.sqx.modules.material.entity.Material">
|
|
<result column="id" property="id"/>
|
|
<result column="material_name" property="materialName"/>
|
|
<result column="material_minimum" property="materialMinimum"/>
|
|
<result column="goods_id" property="goodsId"/>
|
|
<result column="detail" property="detail"/>
|
|
<result column="status" property="status"/>
|
|
<result column="create_user" property="createUser"/>
|
|
<result column="create_time" property="createTime"/>
|
|
<result column="update_user" property="updateUser"/>
|
|
<result column="update_time" property="updateTime"/>
|
|
</resultMap>
|
|
<resultMap id="MaterialArtificerMap" type="com.sqx.modules.material.entity.MaterialArtificer">
|
|
<id property="id" column="id" jdbcType="INTEGER"/>
|
|
<result property="artificerId" column="artificer_id" jdbcType="INTEGER"/>
|
|
<result property="materialId" column="material_id" jdbcType="INTEGER"/>
|
|
<result property="residue" column="residue" jdbcType="INTEGER"/>
|
|
<result column="material_name" property="materialName"/>
|
|
<result column="material_minimum" property="materialMinimum"/>
|
|
</resultMap>
|
|
<!-- 表字段 -->
|
|
<sql id="baseColumns">
|
|
t.id,t.detail, t.material_name , t.material_minimum , t.status , t.create_user , t.create_time , t.update_user , t.update_time</sql>
|
|
<!-- 查询全部 -->
|
|
<select id="listAll" resultMap="BaseResultMap">
|
|
SELECT
|
|
<include refid="baseColumns"/>
|
|
FROM material t
|
|
where t.is_deleted = "0"
|
|
</select>
|
|
<!-- 根据主键获取单条记录 -->
|
|
<select id="getById" resultMap="BaseResultMap" parameterType="Integer">
|
|
SELECT
|
|
<include refid="baseColumns"/>
|
|
FROM material t WHERE id = #{id} and is_deleted = "0"
|
|
</select>
|
|
<!-- 插入全部字段 -->
|
|
<insert id="insert" parameterType="com.sqx.modules.material.entity.Material" keyProperty="id" keyColumn="id"
|
|
useGeneratedKeys="true">
|
|
INSERT INTO material
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">material_name,t.detail, material_minimum, status, create_user,
|
|
create_time, update_user, update_time,
|
|
</trim>
|
|
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">#{materialName}, #{detail}, #{materialMinimum}, #{status},
|
|
#{createUser}, #{createTime}, #{updateUser}, #{updateTime},
|
|
</trim>
|
|
</insert>
|
|
<!-- 插入不为NULL的字段 -->
|
|
<insert id="insertIgnoreNull" parameterType="com.sqx.modules.material.entity.Material" keyProperty="id" keyColumn="id" useGeneratedKeys="true">
|
|
INSERT INTO material
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="materialName != null">material_name,</if>
|
|
<if test="materialMinimum != null">material_minimum,</if>
|
|
<if test="goodsId != null">goods_id,</if>
|
|
<if test="status != null">status,</if>
|
|
<if test="detail != null">detail,</if>
|
|
<if test="createUser != null">create_user,</if>
|
|
<if test="createTime != null">create_time,</if>
|
|
<if test="updateUser != null">update_user,</if>
|
|
<if test="updateTime != null">update_time,</if>
|
|
</trim>
|
|
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
|
<if test="materialName != null">#{materialName},</if>
|
|
<if test="materialMinimum != null">#{materialMinimum},</if>
|
|
<if test="goodsId != null">#{goodsId},</if>
|
|
<if test="status != null">#{status},</if>
|
|
<if test="detail != null">#{detail},</if>
|
|
<if test="createUser != null">#{createUser},</if>
|
|
<if test="createTime != null">#{createTime},</if>
|
|
<if test="updateUser != null">#{updateUser},</if>
|
|
<if test="updateTime != null">#{updateTime},</if>
|
|
</trim>
|
|
</insert>
|
|
<!-- 更新,更新全部字段 -->
|
|
<update id="update" parameterType="com.sqx.modules.material.entity.Material">UPDATE material
|
|
<set>material_name=#{materialName},detail=#{detail}, material_minimum=#{materialMinimum}, status=#{status},
|
|
create_user=#{createUser}, create_time=#{createTime}, update_user=#{updateUser}, update_time=#{updateTime},
|
|
</set>
|
|
WHERE id = #{id}
|
|
</update>
|
|
<!-- 更新不为NULL的字段 -->
|
|
<update id="updateIgnoreNull" parameterType="com.sqx.modules.material.entity.Material">UPDATE material
|
|
<set>
|
|
<if test="materialName != null">material_name=#{materialName},</if>
|
|
<if test="detail != null">detail=#{detail},</if>
|
|
<if test="goodsId != null">goods_id=#{goodsId},</if>
|
|
<if test="materialMinimum != null">material_minimum=#{materialMinimum},</if>
|
|
<if test="status != null">status=#{status},</if>
|
|
<if test="createUser != null">create_user=#{createUser},</if>
|
|
<if test="createTime != null">create_time=#{createTime},</if>
|
|
<if test="updateUser != null">update_user=#{updateUser},</if>
|
|
<if test="updateTime != null">update_time=#{updateTime},</if>
|
|
</set>
|
|
WHERE id = #{id}
|
|
</update>
|
|
<!-- 根据主键删除记录 -->
|
|
<delete id="delete" parameterType="com.sqx.modules.material.entity.Material">
|
|
UPDATE material
|
|
SET is_deleted=1
|
|
WHERE id = #{id}
|
|
</delete>
|
|
<select id="selectMaterialArtificer" resultType="com.sqx.modules.material.entity.MaterialArtificerResult">
|
|
select a.id,m.id as materialId ,m.material_name,m.material_minimum,a.residue,a.artificer_id FROM material m
|
|
RIGHT JOIN material_artificer a on m.id = a.material_id
|
|
where m.is_deleted = "0"
|
|
|
|
<if test="materialArtificer.status!=null and materialArtificer.status !='' ">
|
|
and m.status = #{materialArtificer.status}
|
|
</if>
|
|
<if test="materialArtificer.artificerId!=null and materialArtificer.artificerId !='' ">
|
|
and a.artificer_id = #{materialArtificer.artificerId}
|
|
</if>
|
|
<if test="materialArtificer.materialName!=null and materialArtificer.materialName !=''" >
|
|
and m.material_name like '%'#{materialArtificer.materialName}'%'
|
|
</if>
|
|
</select>
|
|
<select id="selectMaterialArtificerList" resultType="com.sqx.modules.material.entity.MaterialArtificerResult">
|
|
select a.id,m.id as materialId ,m.material_name,m.material_minimum,a.residue,a.artificer_id FROM material m
|
|
RIGHT JOIN material_artificer a on m.id = a.material_id
|
|
where m.is_deleted = "0"
|
|
|
|
<if test="materialArtificer.status!=null and materialArtificer.status !='' ">
|
|
and m.status = #{materialArtificer.status}
|
|
</if>
|
|
<if test="materialArtificer.artificerId!=null and materialArtificer.artificerId !='' ">
|
|
and a.artificer_id = #{materialArtificer.artificerId}
|
|
</if>
|
|
<if test="materialArtificer.materialName!=null and materialArtificer.materialName !=''" >
|
|
and m.material_name like '%'#{materialArtificer.materialName}'%'
|
|
</if>
|
|
</select>
|
|
<select id="selectMaterialMassage" resultType="com.sqx.modules.material.entity.MaterialMassageResult">
|
|
select a.id,m.id as materialId,m.material_name,m.material_minimum,a.consume,a.massage_type_id FROM material m
|
|
RIGHT JOIN material_massage a on m.id = a.material_id
|
|
where m.is_deleted = "0"
|
|
<if test="materialMassage.massageTypeId!=null and materialMassage.massageTypeId !=''">
|
|
and a.massage_type_id = #{materialMassage.massageTypeId}
|
|
</if>
|
|
<if test="materialMassage.materialName!=null and materialMassage.materialName !='' ">
|
|
and m.material_name like '%'#{materialMassage.materialName}'%'
|
|
</if>
|
|
<!-- <if test="materialMassage.status!=null and materialMassage.status !=''">
|
|
and m.status = #{materialMassage.status}
|
|
</if>-->
|
|
<if test="materialMassage.list!=null">
|
|
and m.status in
|
|
<foreach item="id" collection="materialMassage.list" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</if>
|
|
GROUP BY m.id,m.material_name
|
|
</select>
|
|
<select id="selectPages" resultType="com.sqx.modules.material.entity.Material">
|
|
select m.status,m.id ,m.material_name,m.material_minimum,m.goods_id,s.title as goodsName,m.detail FROM material m
|
|
LEFT JOIN self_goods s on s.id = m.goods_id
|
|
where m.is_deleted = "0"
|
|
<if test="material.goodsId!=null and material.goodsId !=''">
|
|
and s.goods_id = #{material.goodsId}
|
|
</if>
|
|
<if test="material.materialName!=null and material.materialName !='' ">
|
|
and m.material_name like concat('%',#{material.materialName},'%')
|
|
</if>
|
|
<if test="material.status!=null and material.status !=''">
|
|
and m.status = #{material.status}
|
|
</if>
|
|
</select>
|
|
</mapper>
|