| | |
| | | <?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.vincent.rsf.server.manager.mapper.LocItemMapper"> |
| | | <select id="listByMatnr" resultType="com.vincent.rsf.server.manager.entity.LocItem"> |
| | | SELECT |
| | | * |
| | | FROM |
| | | ( |
| | | SELECT |
| | | li.id, |
| | | li.loc_id, |
| | | li.loc_code, |
| | | l.barcode, |
| | | l.channel, |
| | | li.matnr_id, |
| | | li.matnr_code, |
| | | li.maktx, |
| | | li.batch, |
| | | li.unit, |
| | | SUM( li.anfme ) anfme, |
| | | li.fields_index |
| | | FROM |
| | | man_loc_item li |
| | | INNER JOIN man_loc l ON l.id = li.loc_id |
| | | WHERE l.use_status = #{type} |
| | | <if test="channel != null"> |
| | | AND l.channel = #{channel} |
| | | </if> |
| | | GROUP BY |
| | | loc_id, |
| | | matnr_id, |
| | | batch, |
| | | fields_index |
| | | )t |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | <select id="pageByStock" resultType="com.vincent.rsf.server.manager.entity.LocItem"> |
| | | SELECT * |
| | | FROM (SELECT id, |
| | | loc_id, |
| | | loc_code, |
| | | type, |
| | | order_item_id, |
| | | wk_type, |
| | | matnr_id, |
| | | maktx, |
| | | matnr_code, |
| | | unit, |
| | | SUM(anfme) anfme, |
| | | SUM(qty) qty, |
| | | SUM(work_qty) work_qty, |
| | | batch, |
| | | spec, |
| | | model, |
| | | fields_index, |
| | | update_by, |
| | | create_by, |
| | | update_time, |
| | | create_time |
| | | FROM man_loc_item |
| | | GROUP BY matnr_id |
| | | UNION ALL |
| | | SELECT id, |
| | | '' AS loc_id, |
| | | '' AS loc_code, |
| | | type, |
| | | asn_item_id AS order_item_id, |
| | | wk_type, |
| | | matnr_id, |
| | | maktx, |
| | | matnr_code, |
| | | unit, |
| | | SUM(anfme) anfme, |
| | | SUM(qty) qty, |
| | | SUM(work_qty) work_qty, |
| | | batch, |
| | | spec, |
| | | model, |
| | | fields_index, |
| | | update_by, |
| | | create_by, |
| | | update_time, |
| | | create_time |
| | | FROM man_warehouse_areas_item |
| | | GROUP BY matnr_id) t |
| | | ${ew.customSqlSegment} |
| | | <select id="listStockByMatnrIds" resultType="java.util.HashMap"> |
| | | SELECT |
| | | li.matnr_id AS matnrId, |
| | | COALESCE(SUM(li.anfme), 0) AS stockQty, |
| | | GROUP_CONCAT(DISTINCT li.loc_code ORDER BY li.loc_code) AS locCodes |
| | | <if test="locUseStatus == null or locUseStatus == ''"> |
| | | , GROUP_CONCAT(DISTINCT l.use_status ORDER BY l.use_status) AS locStatuses |
| | | </if> |
| | | FROM man_loc_item li |
| | | INNER JOIN man_loc l ON l.id = li.loc_id AND (l.deleted = 0 OR l.deleted IS NULL) |
| | | WHERE li.deleted = 0 |
| | | AND li.matnr_id IN |
| | | <foreach collection="matnrIds" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | <if test="locUseStatus != null and locUseStatus != ''"> |
| | | AND l.use_status = #{locUseStatus} |
| | | </if> |
| | | GROUP BY li.matnr_id |
| | | </select> |
| | | </mapper> |