You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
7.4 KiB
171 lines
7.4 KiB
<?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.gaotao.modules.otherInbound.dao.OtherInboundMapper">
|
|
|
|
<!-- 获取其他入库单列表 -->
|
|
<select id="getInboundList" parameterType="map" resultType="map">
|
|
SELECT
|
|
h.site,
|
|
h.order_no AS inboundNo,
|
|
h.bu_no AS buNo,
|
|
'' AS batchNo,
|
|
h.required_inbound_date AS inspectionDate,
|
|
SUM(CASE WHEN pr.hardtag_in_flag = '已入库' THEN 1 ELSE 0 END) AS labelinCount, -- 已入库标签数
|
|
COUNT(DISTINCT pr.roll_no) AS totalLabels, -- 需入库标签数
|
|
SUM(CASE WHEN pr.hardtag_in_flag = '已入库' THEN ISNULL(pr.roll_qty, 0) ELSE 0 END) AS totalinLabels, -- 已入库物料总数
|
|
SUM(CAST(D.required_qty AS float)) as labelCount, --需入库总数
|
|
d.related_order_no AS relatedOrderNo, -- 关联单号
|
|
d.related_order_line_no AS relatedOrderLineNo -- 关联行号
|
|
FROM inbound_notification_head h
|
|
INNER JOIN inbound_notification_detail d ON h.site = d.site and h.bu_no = d.bu_no and h.order_no = d.order_no
|
|
LEFT JOIN po_order_roll_no pr ON d.site = pr.site and d.bu_no = pr.bu_no and d.inspection_no = pr.inspection_no AND d.part_no = pr.part_no
|
|
WHERE h.site = #{site} and h.bu_no in (select bu_no from AccessBu where username = #{userName})
|
|
and h.order_type = '其他入库' and h.close_flag = 'N' AND h.order_status = '待入库' and d.in_warehouse = #{warehouseId}
|
|
<if test="searchCode != null and searchCode != ''">
|
|
AND (
|
|
h.order_no LIKE CONCAT('%', #{searchCode}, '%')
|
|
OR h.related_order_no LIKE CONCAT('%', #{searchCode}, '%')
|
|
)
|
|
</if>
|
|
<!-- <if test="searchCode == null or searchCode == ''">-->
|
|
<!-- AND CONVERT(DATE, h.required_inbound_date) = CONVERT(DATE, GETDATE())-->
|
|
<!-- </if>-->
|
|
GROUP BY h.site,h.bu_no,h.order_no,h.required_inbound_date,d.related_order_no,d.related_order_line_no
|
|
ORDER BY h.required_inbound_date DESC
|
|
</select>
|
|
|
|
<!-- 获取其他入库单详情 -->
|
|
<select id="getInboundDetails" parameterType="map" resultType="map">
|
|
SELECT
|
|
h.site,
|
|
h.order_no as inboundNo,
|
|
h.site as site,
|
|
h.bu_no as buNo,
|
|
'' as batchNo,
|
|
h.required_inbound_date as inspectionDate,
|
|
SUM(CASE WHEN hardtag_in_flag = '已入库' then 1 else 0 end) labelinCount, --已入库标签数
|
|
COUNT(DISTINCT pr.roll_no) as totalLabels , --需入库标签数
|
|
SUM(CASE WHEN hardtag_in_flag = '已入库' then CAST(roll_qty AS float) else 0 end) totalinLabels,--已入库物料总数
|
|
SUM(CAST(D.required_qty AS float)) as labelCount, --需入库总数
|
|
d.related_order_no as relatedOrderNo, --关联单号
|
|
d.related_order_line_no as relatedOrderLineNo --关联行号
|
|
FROM inbound_notification_head h
|
|
INNER JOIN inbound_notification_detail d ON h.site = d.site and h.bu_no = d.bu_no and h.order_no = d.order_no
|
|
LEFT JOIN po_order_roll_no pr ON d.site = pr.site and d.bu_no = pr.bu_no and d.inspection_no = pr.inspection_no AND d.part_no = pr.part_no
|
|
WHERE
|
|
h.site = #{site}
|
|
AND h.bu_no = #{buNo}
|
|
AND h.order_no = #{inboundNo}
|
|
GROUP BY h.order_no, h.site, h.bu_no, h.required_inbound_date, d.related_order_no, d.related_order_line_no
|
|
</select>
|
|
|
|
<!-- 验证物料与入库单是否匹配 -->
|
|
<select id="validateMaterialWithInbound" parameterType="map" resultType="map">
|
|
SELECT TOP 1
|
|
d.part_no as materialCode,
|
|
d.part_desc as materialName,
|
|
d.unit,
|
|
d.required_qty as requiredQty,
|
|
h.order_status as status,
|
|
d.in_batch_no as batchNo,
|
|
h.order_no as inboundNo,
|
|
h.site,
|
|
h.bu_no as buNo
|
|
FROM inbound_notification_detail d
|
|
INNER JOIN inbound_notification_head h ON d.order_no = h.order_no AND d.site = h.site AND d.bu_no = h.bu_no
|
|
WHERE d.order_no = #{inboundNo}
|
|
AND d.bu_no = #{buNo}
|
|
AND d.site = #{site}
|
|
AND d.part_no = #{materialCode}
|
|
AND h.order_status = '待入库'
|
|
AND h.order_type = '其他入库'
|
|
</select>
|
|
|
|
<!-- 更新入库单头表状态 -->
|
|
<update id="updateInboundHeadStatus" parameterType="map">
|
|
UPDATE inbound_notification_head
|
|
SET order_status = #{status},
|
|
h.updated_date = GETDATE(),
|
|
WHERE order_no = #{inboundNo}
|
|
AND bu_no = #{buNo}
|
|
AND site = #{site}
|
|
AND order_type = '其他入库'
|
|
</update>
|
|
|
|
<!-- 获取物料清单 -->
|
|
<select id="getMaterialList" parameterType="map" resultType="map">
|
|
SELECT
|
|
d.part_no as partNo,
|
|
d.part_no as materialCode,
|
|
d.part_desc as materialName,
|
|
p.UMID as unit,
|
|
SUM(CAST(h.transQty AS float)) as actualQty,
|
|
SUM(CAST(d.required_qty AS float)) as requiredQty --需求数量
|
|
FROM inbound_notification_detail d
|
|
LEFT JOIN Part p ON d.site = p.Site AND d.bu_no = p.bu_no AND d.part_no = p.PartNo
|
|
LEFT JOIN TransHeader t ON t.site = d.site AND t.OrderRef2 = d.bu_no and t.OrderRef1 = d.order_no
|
|
LEFT JOIN TransDetail h ON t.site = h.site AND t.OrderRef2 = h.OrderRef2 and t.TransNo = h.TransNo and d.part_no = h.partNo
|
|
WHERE d.site = #{site} AND d.bu_no = #{buNo} AND d.order_no = #{inboundNo}
|
|
GROUP BY d.part_no, d.part_desc, p.UMID
|
|
ORDER BY d.part_no
|
|
</select>
|
|
|
|
<!-- 验证库位是否存在且可用 -->
|
|
<select id="validateLocation" resultType="java.util.Map">
|
|
SELECT
|
|
LocationID as locationCode,
|
|
WareHouseID as warehouseId,
|
|
LocationName as locationName,
|
|
Active as status,
|
|
site
|
|
FROM Location
|
|
WHERE LocationID = #{locationCode}
|
|
AND site = #{site}
|
|
</select>
|
|
|
|
<!-- 获取物料信息 -->
|
|
<select id="getPartInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
PartNo as materialCode,
|
|
PartDescription as materialName,
|
|
UMID as unit,
|
|
Active as status
|
|
FROM part
|
|
WHERE PartNo = #{materialCode}
|
|
AND Site = #{site}
|
|
AND bu_no = #{buNo}
|
|
AND Active = 'Y'
|
|
</select>
|
|
|
|
<!-- 查询已扫描标签列表(从ScannedRollTempTable缓存表) -->
|
|
<select id="getScannedLabelList" parameterType="map" resultType="map">
|
|
SELECT
|
|
site,
|
|
bu_no as buNo,
|
|
part_no as materialCode,
|
|
RollNo as labelCode,
|
|
RollQty as actualQty,
|
|
getBatchNo as batchNo
|
|
FROM ScannedRollTempTable
|
|
WHERE site = #{site}
|
|
AND bu_no = #{buNo}
|
|
AND NotifyNo = #{inboundNo}
|
|
ORDER BY RollNo DESC
|
|
</select>
|
|
|
|
<!-- 获取用户默认打印机配置 -->
|
|
<select id="getUserDefaultPrinter" resultType="map">
|
|
SELECT TOP 1
|
|
rfp.NewPrinterName AS printerName,
|
|
rfp.IPAddress AS printerIp,
|
|
rfp.ReportID AS labelNo
|
|
FROM ReportFileList_UserPrinter rfp
|
|
WHERE rfp.UserID = #{username}
|
|
<if test="labelNo != null and labelNo != ''">
|
|
AND rfp.ReportID = #{labelNo}
|
|
</if>
|
|
ORDER BY rfp.ReportID
|
|
</select>
|
|
|
|
</mapper>
|