JNBusiness/ruoyi-system/src/main/resources/mapper/material/CMaterialMapper.xml

130 lines
7.0 KiB
XML
Raw Normal View History

2024-02-29 12:41:52 +08:00
<?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.ruoyi.material.mapper.CMaterialMapper">
<resultMap type="CMaterial" id="CMaterialResult">
<result property="materialId" column="material_id" />
2024-03-01 10:33:58 +08:00
<result property="materialTypeId" column="material_type_id" />
2024-02-29 12:41:52 +08:00
<result property="materialXingh" column="material_xingh" />
<result property="materialGuig" column="material_guig" />
<result property="materialDiany" column="material_diany" />
<result property="materialDw" column="material_dw" />
2024-03-01 14:25:27 +08:00
<result property="typeName" column="type_name" />
2024-03-06 15:21:39 +08:00
<result property="materialState" column="material_state" />
2024-02-29 12:41:52 +08:00
</resultMap>
<resultMap id="CMaterialCMaterialCostResult" type="CMaterial" extends="CMaterialResult">
<collection property="cMaterialCostList" notNullColumn="sub_cost_id" javaType="java.util.List" resultMap="CMaterialCostResult" />
</resultMap>
<resultMap type="CMaterialCost" id="CMaterialCostResult">
<result property="costId" column="sub_cost_id" />
<result property="costMaterialId" column="sub_cost_material_id" />
<result property="costClId" column="sub_cost_cl_id" />
<result property="costClQty" column="sub_cost_cl_qty" />
<result property="costClQty2" column="sub_cost_cl_qty_2" />
<result property="materialPrice" column="sub_material_price" />
<result property="materialName" column="sub_material_name" />
</resultMap>
<sql id="selectCMaterialVo">
2024-03-06 15:21:39 +08:00
select a.material_id,a.material_type_id, a.material_xingh, a.material_guig, a.material_diany, a.material_dw,
case when b.type_state != '0' then b.type_name+'(停用)' else b.type_name end type_name,
a.material_state
2024-03-01 14:25:27 +08:00
from c_material a
2024-03-04 13:47:39 +08:00
left join c_material_type b on a.material_type_id = b.type_no
2024-02-29 12:41:52 +08:00
</sql>
<select id="selectCMaterialList" parameterType="CMaterial" resultMap="CMaterialResult">
<include refid="selectCMaterialVo"/>
<where>
<if test="materialXingh != null and materialXingh != ''"> and material_xingh like concat('%', #{materialXingh}, '%')</if>
<if test="materialGuig != null and materialGuig != ''"> and material_guig like concat('%', #{materialGuig}, '%')</if>
<if test="materialDiany != null and materialDiany != ''"> and material_diany like concat('%', #{materialDiany}, '%')</if>
2024-03-06 16:50:10 +08:00
<if test="materialState != null and materialState != ''"> and material_state = #{materialState}</if>
2024-02-29 12:41:52 +08:00
</where>
</select>
<select id="selectCMaterialByMaterialId" parameterType="Long" resultMap="CMaterialCMaterialCostResult">
2024-03-06 15:21:39 +08:00
select a.material_id, case when d.type_state != '0' then '' else a.material_type_id end material_type_id,
a.material_xingh, a.material_guig, a.material_diany, a.material_dw,a.material_state,
b.cost_id as sub_cost_id, b.cost_material_id as sub_cost_material_id,
case when c.material_state!='0' then '' else b.cost_cl_id end sub_cost_cl_id,
case when c.material_state!='0' then 0 else b.cost_cl_qty end sub_cost_cl_qty,
case when c.material_state!='0' then 0 else b.cost_cl_qty_2 end sub_cost_cl_qty_2,
case when c.material_state!='0' then 0 else c.material_price end sub_material_price,
c.material_name as sub_material_name
2024-02-29 12:41:52 +08:00
from c_material a
left join c_material_cost b on b.cost_material_id = a.material_id
2024-03-06 15:21:39 +08:00
left join c_material_type d on d.type_no = a.material_type_id
2024-02-29 12:41:52 +08:00
left join c_yl_material c on c.material_no = b.cost_cl_id
where a.material_id = #{materialId}
ORDER BY c.material_no ASC
</select>
<insert id="insertCMaterial" parameterType="CMaterial">
insert into c_material
<trim prefix="(" suffix=")" suffixOverrides=",">
2024-03-01 10:33:58 +08:00
<if test="materialTypeId != null and materialTypeId != ''">material_type_id,</if>
2024-02-29 12:41:52 +08:00
<if test="materialXingh != null and materialXingh != ''">material_xingh,</if>
<if test="materialGuig != null and materialGuig != ''">material_guig,</if>
<if test="materialDiany != null">material_diany,</if>
<if test="materialDw != null">material_dw,</if>
2024-03-06 15:21:39 +08:00
<if test="materialState != null">material_state,</if>
2024-02-29 12:41:52 +08:00
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
2024-03-01 10:33:58 +08:00
<if test="materialTypeId != null and materialTypeId != ''">#{materialTypeId},</if>
2024-02-29 12:41:52 +08:00
<if test="materialXingh != null and materialXingh != ''">#{materialXingh},</if>
<if test="materialGuig != null and materialGuig != ''">#{materialGuig},</if>
<if test="materialDiany != null">#{materialDiany},</if>
<if test="materialDw != null">#{materialDw},</if>
2024-03-06 15:21:39 +08:00
<if test="materialState != null">#{materialState},</if>
2024-02-29 12:41:52 +08:00
</trim>
</insert>
<update id="updateCMaterial" parameterType="CMaterial">
update c_material
<trim prefix="SET" suffixOverrides=",">
2024-03-01 10:33:58 +08:00
<if test="materialTypeId != null and materialTypeId != ''">material_type_id = #{materialTypeId},</if>
2024-02-29 12:41:52 +08:00
<if test="materialXingh != null and materialXingh != ''">material_xingh = #{materialXingh},</if>
<if test="materialGuig != null and materialGuig != ''">material_guig = #{materialGuig},</if>
<if test="materialDiany != null">material_diany = #{materialDiany},</if>
<if test="materialDw != null">material_dw = #{materialDw},</if>
2024-03-06 15:21:39 +08:00
<if test="materialState != null">material_state = #{materialState},</if>
2024-02-29 12:41:52 +08:00
</trim>
where material_id = #{materialId}
</update>
<delete id="deleteCMaterialByMaterialId" parameterType="Long">
delete from c_material where material_id = #{materialId}
</delete>
<delete id="deleteCMaterialByMaterialIds" parameterType="String">
delete from c_material where material_id in
<foreach item="materialId" collection="array" open="(" separator="," close=")">
#{materialId}
</foreach>
</delete>
<delete id="deleteCMaterialCostByCostMaterialIds" parameterType="String">
delete from c_material_cost where cost_material_id in
<foreach item="costMaterialId" collection="array" open="(" separator="," close=")">
#{costMaterialId}
</foreach>
</delete>
<delete id="deleteCMaterialCostByCostMaterialId" parameterType="Long">
delete from c_material_cost where cost_material_id = #{costMaterialId}
</delete>
<insert id="batchCMaterialCost">
insert into c_material_cost( cost_material_id, cost_cl_id, cost_cl_qty, cost_cl_qty_2) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.costMaterialId}, #{item.costClId}, #{item.costClQty}, #{item.costClQty2})
</foreach>
</insert>
</mapper>