<?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.production.mapper.OperationTaskMaterialMapper">
|
|
<resultMap id="operationTaskMaterialDtoMap" type="com.chinaztt.mes.production.dto.OperationTaskMaterialDTO">
|
<id property="id" column="id"/>
|
<result property="operationTaskId" column="operation_task_id"/>
|
<result property="partId" column="part_id"/>
|
<result property="qpa" column="qpa"/>
|
<result property="quantityRequired" column="quantity_required"/>
|
<result property="quantityIssued" column="quantity_issued"/>
|
<result property="partNo" column="part_no"/>
|
<result property="partBatchNo" column="part_batch_no"/>
|
<result property="partName" column="part_name"/>
|
<result property="optaskNo" column="optask_no"/>
|
<result property="reservedQuantity" column="reserved_quantity"/>
|
<result property="unit" column="unit"/>
|
<!--<result property="quantityTobereserved" column="quantity_tobereserved"/>-->
|
|
|
</resultMap>
|
<select id="getMaterial" resultMap="operationTaskMaterialDtoMap">
|
SELECT
|
*
|
FROM (SELECT
|
potm.*,
|
bp.part_no,
|
bp.part_name,
|
bp.unit,
|
(SELECT COALESCE(SUM(wjso.reserved_quantity), 0)
|
FROM
|
production_operation_task pot
|
LEFT JOIN warehouse_join_stock_order wjso ON wjso.operation_task_id = pot."id"
|
AND wjso.status = '02confirmed'
|
WHERE
|
pot."id" = potm.operation_task_id
|
and wjso.part_no = bp.part_no
|
) reserved_quantity
|
FROM
|
production_operation_task_material potm
|
LEFT JOIN basic_part bp ON bp."id" = potm.part_id
|
) tempA
|
<if test="ew.emptyOfWhere == false">
|
${ew.customSqlSegment}
|
</if>
|
</select>
|
|
<select id="pdaMaterial" resultType="com.alibaba.fastjson.JSONObject">
|
select
|
optask_no "optaskNo",
|
qpa,
|
quantity_required "quantityRequired",
|
part_no "partNo",
|
part_name "partName"
|
from (select
|
pot."id",
|
pot.optask_no,
|
potm.qpa,
|
potm.quantity_required,
|
bp.part_no,
|
bp.part_name
|
from production_operation_task pot
|
left join production_operation_task_material potm on pot."id" = potm.operation_task_id
|
left join basic_part bp on bp."id" = potm.part_id
|
) tempA
|
<if test="ew.emptyOfWhere == false">
|
<where>
|
${ew.SqlSegment}
|
</where>
|
</if>
|
order by "id" desc
|
</select>
|
|
<select id="getOperationMaterialById" resultMap="operationTaskMaterialDtoMap">
|
SELECT
|
A.*,
|
B.optask_no,
|
C.part_no,
|
C.part_name
|
FROM
|
production_operation_task_material A
|
LEFT JOIN production_operation_task B ON B.ID = A.operation_task_id
|
LEFT JOIN basic_part C ON C.ID = A.part_id
|
WHERE
|
A.operation_task_id = #{id}
|
</select>
|
|
<select id="getOperationMaterialByMaterialId" resultMap="operationTaskMaterialDtoMap">
|
SELECT
|
A.*,
|
B.optask_no,
|
C.part_no,
|
C.part_name
|
FROM
|
production_operation_task_material A
|
LEFT JOIN production_operation_task B ON B.ID = A.operation_task_id
|
LEFT JOIN basic_part C ON C.ID = A.part_id
|
WHERE
|
A.id = #{id}
|
</select>
|
|
|
|
<select id="getOperationMaterialByIds" resultType="com.chinaztt.mes.production.dto.OperationTaskMaterialDTO">
|
SELECT
|
pota.*,
|
bp.part_name,
|
bp.part_no,
|
bp.unit,
|
pot.optask_no
|
FROM
|
production_operation_task_material pota
|
LEFT JOIN basic_part bp ON pota.part_id = bp."id"
|
LEFT JOIN production_operation_task pot ON pot."id" = pota.operation_task_id
|
WHERE bp.planning_method = 'A' AND bp.material_type = '3' AND pota.operation_task_id IN
|
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
#{id}
|
</foreach>
|
</select>
|
</mapper>
|