<?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.chinaztt.mes.basic.mapper.WorkstationLocationMapper">
|
|
<resultMap id="workstationLocationMap" type="com.chinaztt.mes.basic.entity.WorkstationLocation">
|
<id property="workstationId" column="workstation_id"/>
|
<result property="locationId" column="location_id"/>
|
<result property="locationType" column="location_type"/>
|
</resultMap>
|
|
<select id="selectBySystemNo" resultType="java.lang.Long">
|
SELECT
|
bwl.location_id
|
FROM basic_workstation_location bwl
|
LEFT JOIN production_product_main ppm ON bwl.workstation_id = ppm.workstation_id
|
LEFT JOIN production_product_output ppo ON ppm."id" = ppo.product_main_id
|
WHERE ppo.system_no = #{systemNo}
|
AND bwl.location_type = #{locationType}
|
LIMIT 1
|
</select>
|
|
<select id="selectQualifiedLocationIdBySystemNo" resultType="java.lang.Long">
|
SELECT location_id FROM(
|
SELECT
|
CASE
|
WHEN pot.location_id IS NULL THEN bwl.location_id
|
ELSE pot.location_id END location_id --如果工单中获取不到合格库位,则从工作站的配置中获取库位id最小的库位
|
FROM
|
production_operation_task pot
|
LEFT JOIN production_product_main ppm ON pot."id" = ppm.operation_task_id
|
LEFT JOIN production_product_output ppo ON ppm."id" = ppo.product_main_id
|
LEFT JOIN basic_workstation bw ON ppm.workstation_id = bw."id"
|
LEFT JOIN
|
(SELECT * FROM basic_workstation_location WHERE location_type = 4) bwl ON bw."id" = bwl.workstation_id
|
WHERE
|
ppo.system_no = #{systemNo}
|
ORDER BY bwl.location_id ASC
|
LIMIT 1)TMP
|
|
<!--SELECT
|
pot.location_id
|
FROM production_operation_task pot
|
LEFT JOIN production_product_main ppm ON pot."id" = ppm.operation_task_id
|
LEFT JOIN production_product_output ppo ON ppm."id" = ppo.product_main_id
|
WHERE ppo.system_no = #{systemNo}
|
LIMIT 1-->
|
</select>
|
|
<select id="selectLocationIds" resultType="java.lang.Long">
|
SELECT
|
bl."id"
|
FROM
|
basic_workstation_location bwl
|
LEFT JOIN basic_location bl ON bl."id" = bwl.location_id
|
WHERE bl.active = TRUE
|
AND bl.workstation_id = #{workstationId}
|
AND bl.location_type = #{locationType}
|
</select>
|
<select id="selectFinishToQualifiedLocationIdBySystemNo" resultType="java.lang.Long">
|
SELECT location_id
|
FROM (SELECT bwl.location_id
|
FROM production_operation_task pot
|
LEFT JOIN production_product_main ppm ON pot."id" = ppm.operation_task_id
|
LEFT JOIN production_product_output ppo ON ppm."id" = ppo.product_main_id
|
LEFT JOIN basic_workstation bw ON ppm.workstation_id = bw."id"
|
LEFT JOIN
|
(SELECT * FROM basic_workstation_location WHERE location_type = 9) bwl
|
ON bw."id" = bwl.workstation_id
|
WHERE ppo.system_no = #{systemNo}
|
ORDER BY bwl.location_id ASC
|
LIMIT 1) TMP
|
</select>
|
|
</mapper>
|