zss
2023-09-13 2d6a0cdcb1e31510a6f7776abab17cc5cb82fdcb
standard-server/src/main/resources/mapper/TechniqueMapper.xml
@@ -1,6 +1,22 @@
<?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.yuanchu.mom.mapper.TechniqueMapper">
    <!--根据技术指标id删除-->
    <update id="delByProId">
        update mom_ocean.technique
        set state=0
        where technology_id = (select technology_id from mom_ocean.product where product.id = #{id})
          and product_father = (select father from mom_ocean.product where product.id = #{id})
          and product = (select name from mom_ocean.product where product.id = #{id})
    </update>
    <!--根据技术指标id批量删除-->
    <update id="delAll">
        update mom_ocean.technique
        set state=0
        where technology_id in (select technology_id from mom_ocean.product where product.id in (${ids}))
          and product_father in (select father from mom_ocean.product where product.id in (${ids}))
          and product in (select name from mom_ocean.product where product.id in (${ids}))
    </update>
    <!--根据型号id查询所有版本-->
    <select id="selectVerByTeq" resultType="java.lang.Integer">
        select distinct version
@@ -23,27 +39,138 @@
        <collection property="children" resultMap="threeMap" javaType="List"/>
    </resultMap>
    <resultMap id="threeMap" type="map">
        <id property="tqid" column="tqid"/>
        <result property="device" column="device"/>
        <collection property="children" resultMap="fourMap" javaType="List"/>
    </resultMap>
    <resultMap id="fourMap" type="map">
        <result property="productFather" column="product_father"/>
        <collection property="children" resultMap="fiveMap" javaType="List"/>
    </resultMap>
    <resultMap id="fiveMap" type="map">
        <id property="tqid" column="tqid"/>
        <result property="product" column="product"/>
        <result property="unit" column="unit"/>
    </resultMap>
    <select id="selectAllTeq" resultMap="oneMap">
        select tq.id tqid,
               device,
               product_father,
               product,
               unit,
               name,
               father
        device,
        product_father,
        product,
        unit,
        name,
        father
        from mom_ocean.technique tq
                 left join mom_ocean.technology tc on tq.technology_id = tc.id
        left join mom_ocean.technology tc on tq.technology_id = tc.id
        where tq.state = 1
          and specifications_id = #{specificationsId}
          and tq.version = #{version}
        and specifications_id = #{specificationsId}
        and tq.version = #{version}
        <if test="message!=null and message!=''">
            and device like concat('%',#{message},'%')
        </if>
    </select>
    <!--右上角新增-生产工艺-选择设备-->
    <select id="chooseDev" resultType="java.util.Map">
        select name device
        from mom_ocean.device
        where state = 1
          and device_status in (1, 5)
          and father = (select distinct device_group
                        from mom_ocean.technology
                        where technology.state = 1
                          and technology.id = #{technologyId})
    </select>
    <!--右上角新增-生产工艺-选择项目(父子),单位-->
    <resultMap id="chooseProMap" type="map">
        <id property="name" column="productFather"/>
        <collection property="children" resultMap="chooseProMaps" javaType="List"/>
    </resultMap>
    <resultMap id="chooseProMaps" type="map">
        <id property="name" column="product"/>
        <result property="unit" column="unit"/>
    </resultMap>
    <select id="choosePro" resultMap="chooseProMap">
        select name   product,
               father productFather,
               unit
        from mom_ocean.product
        where state = 1
          and technology_id = #{technologyId}
    </select>
    <!--根据型号id查询该型号下所有工艺的生产工艺-->
    <select id="selAllBySpeId" resultType="com.yuanchu.mom.pojo.Technique">
        select *
        from mom_ocean.technique
        where state = 1
          and version = #{version}
          and technology_id in (select id
                                from mom_ocean.technology
                                where technology.state = 1
                                  and specifications_id = #{specificationsId})
    </select>
    <!--根据工艺路线id查询所有版本-->
    <select id="selectVerByTeId" resultType="java.lang.Integer">
        select distinct version
        from mom_ocean.technique
        where state = 1
          and technology_id = #{technologyId}
    </select>
    <!--查询该工艺下最新版本在一个检验项目下可以使用哪些设备-->
    <select id="selDevByVerTecIdFaNam" resultType="java.util.Map">
        select device.id, device
        from mom_ocean.technique
                 left join mom_ocean.device on name = device
        where technique.state = 1
          and technology_id = #{technologyId}
          and product_father = #{father}
          and product = #{name}
          and version = #{ver}
    </select>
    <!--根据id查看详情-->
    <select id="selTeqById" resultType="java.util.Map">
        select m.father,
               type,
               m.name,
               st.name,
               sp.name,
               t.father,
               t.name,
               technology_id,
               device,
               product_father,
               product,
               unit
        from mom_ocean.technique tq
                 left join mom_ocean.technology t on tq.technology_id = t.id
                 left join mom_ocean.specifications sp on t.specifications_id = sp.id
                 left join mom_ocean.standard st on sp.standard_id = st.id
                 left join mom_ocean.material m on st.material_id = m.id
        where tq.state = 1
          and tq.id = #{id}
    </select>
    <!--根据工艺路线id删除生产工艺-->
    <update id="delTeqByTecId">
        update mom_ocean.technique
        set state=0
        where technology_id = #{id}
    </update>
    <!--根据工艺路线id批量删除-->
    <update id="delAllByTecId">
        update mom_ocean.technique
        set state=0
        where technology_id in (${ids})
    </update>
    <!--根据生产工艺id批量删除-->
    <update id="delAllTeq">
        update mom_ocean.technique
        set state=0
        where id in (${ids})
    </update>
</mapper>