<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
~
|
~ Copyright (c) 2018-2025, ztt All rights reserved.
|
~
|
~ Redistribution and use in source and binary forms, with or without
|
~ modification, are permitted provided that the following conditions are met:
|
~
|
~ Redistributions of source code must retain the above copyright notice,
|
~ this list of conditions and the following disclaimer.
|
~ Redistributions in binary form must reproduce the above copyright
|
~ notice, this list of conditions and the following disclaimer in the
|
~ documentation and/or other materials provided with the distribution.
|
~ Neither the name of the pig4cloud.com developer nor the names of its
|
~ contributors may be used to endorse or promote products derived from
|
~ this software without specific prior written permission.
|
~ Author: ztt
|
~
|
-->
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.chinaztt.mes.technology.mapper.RoutingMapper">
|
|
<resultMap id="routingMap" type="com.chinaztt.mes.technology.dto.RoutingDTO">
|
<id property="id" column="id"/>
|
<result property="routingNo" column="routing_no"/>
|
<result property="name" column="name"/>
|
<result property="partId" column="part_id"/>
|
<result property="description" column="description"/>
|
<result property="state" column="state"/>
|
<result property="master" column="master"/>
|
<result property="createTime" column="create_time"/>
|
<result property="updateTime" column="update_time"/>
|
<result property="createUser" column="create_user"/>
|
<result property="updateUser" column="update_user"/>
|
<result property="partName" column="part_name"/>
|
<result property="partNo" column="part_no"/>
|
<result property="version" column="version"/>
|
<result property="bomId" column="bom_id"/>
|
<result property="bomNo" column="bom_no"/>
|
<result property="bomTypeDb" column="bom_type_db"/>
|
<result property="alternativeNo" column="alternative_no"/>
|
<result property="alternativeDesc" column="alternative_desc"/>
|
<result property="ifsSync" column="ifs_sync"/>
|
<result property="phaseInDate" column="phase_in_date"/>
|
<result property="phaseOutDate" column="phase_out_date"/>
|
<result property="wireCore" column="wire_core"/>
|
<result property="operationOrder" column="operation_order"/>
|
<collection property="refs" ofType="com.chinaztt.mes.technology.dto.RefDTO"
|
select="com.chinaztt.mes.technology.mapper.RoutingMapper.getRefByRoutingId" column="id">
|
</collection>
|
<collection property="operations" ofType="com.chinaztt.mes.technology.dto.RoutingOperationDTO"
|
select="com.chinaztt.mes.technology.mapper.RoutingOperationMapper.getDtoListByRoutingId"
|
column="id">
|
</collection>
|
</resultMap>
|
|
<resultMap id="refMap" type="com.chinaztt.mes.technology.dto.RefDTO">
|
<result property="routingId" column="routing_id"/>
|
<result property="fromId" column="from_id"/>
|
<result property="toId" column="to_id"/>
|
<result property="condition" column="condition"/>
|
</resultMap>
|
|
|
<sql id="routingPage">
|
SELECT
|
r.*,
|
P.part_name,
|
P.part_no,
|
tb."number" bom_no
|
FROM
|
technology_routing r
|
LEFT JOIN basic_part P ON r.part_id = P.ID
|
LEFT JOIN technology_bom tb on tb."id"=r.bom_id
|
where r.active=true
|
</sql>
|
|
<select id="getRoutingPage" resultMap="routingMap">
|
select * from(<include refid="routingPage"/>) a
|
<if test="ew.emptyOfWhere == false">
|
<where>
|
${ew.SqlSegment}
|
</where>
|
</if>
|
</select>
|
|
<select id="getRoutingById" resultMap="routingMap">
|
SELECT
|
r.*
|
FROM
|
technology_routing r
|
WHERE
|
r."id" = #{routingId}
|
AND r.active = TRUE
|
</select>
|
|
<select id="getRoutingDtoById" resultMap="routingMap">
|
SELECT
|
r.*,
|
P.part_name,
|
p.part_no
|
FROM
|
technology_routing r
|
LEFT JOIN basic_part P ON P.ID = r.part_id
|
WHERE
|
r."id" =#{routingId} and r.active=true
|
</select>
|
|
<select id="getRefByRoutingId" resultMap="refMap">
|
select * from technology_routing_operation_ref where routing_id=#{routingId}
|
</select>
|
|
<select id="selectUnIfsSyncByDocId" resultType="com.chinaztt.mes.technology.entity.Routing">
|
SELECT A.*
|
FROM
|
technology_routing A
|
LEFT JOIN technology_join_document_bom_routing b ON A."id" = b.routing_id
|
WHERE b.document_id = #{docId}
|
AND a.ifs_sync = FALSE
|
</select>
|
|
<select id="selectByPartNoVA" resultType="com.chinaztt.mes.technology.entity.Routing">
|
SELECT te.*
|
FROM technology_routing te
|
LEFT JOIN basic_part bp ON te.part_id = bp."id"
|
WHERE bp.part_no || '_' || te."version" || '_' || te.alternative_no = #{routingKey}
|
</select>
|
|
<select id="getRoutingByDocumentIdAndOperationId" resultMap="routingMap">
|
SELECT DISTINCT
|
tr.*,
|
tro.operation_order,
|
bp.part_no,
|
bp.part_name
|
FROM
|
technology_routing tr
|
LEFT JOIN technology_join_document_bom_routing tjdbr ON tr."id" = tjdbr.routing_id
|
LEFT JOIN technology_routing_operation tro ON tr."id" = tro.routing_id
|
LEFT JOIN basic_part bp ON bp."id" = tr.part_id
|
WHERE
|
tjdbr.document_id = #{documentId}
|
AND tro.operation_id = #{operationId}
|
</select>
|
</mapper>
|