Browse Source

合托bug

master
常熟吴彦祖 1 week ago
parent
commit
bb47776c75
  1. 4
      src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/PalletMergeQueryServiceImpl.java
  2. 22
      src/main/resources/mapper/automatedWarehouse/PalletMergeQueryMapper.xml

4
src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/PalletMergeQueryServiceImpl.java

@ -38,6 +38,7 @@ import java.util.Map;
*/
@Service
public class PalletMergeQueryServiceImpl implements PalletMergeQueryService {
@Autowired
private PalletMergeQueryMapper palletMergeQueryMapper;
@ -81,8 +82,9 @@ public class PalletMergeQueryServiceImpl implements PalletMergeQueryService {
* <p><b>查询逻辑</b></p>
* <ol>
* <li>如果前端传入maxPositionCount则使用否则计算该类型最大已用位置数</li>
* <li>查询立库中该类型的栈板count>0 count<最大count</li>
* <li>查询立库中该类型的栈板count>0 count&lt;最大count</li>
* <li>只查询calling_flag='N'的栈板</li>
* <li>SQL排除pallet.sore_type=3直接出库托</li>
* <li>按count从小到大排序</li>
* <li>返回分页结果</li>
* </ol>

22
src/main/resources/mapper/automatedWarehouse/PalletMergeQueryMapper.xml

@ -4,7 +4,7 @@
<!-- rqrq - 获取托盘类型下拉选项(wcs_auto_sort='Y' 且 pallet_family != 'A02') -->
<select id="getPalletTypeOptions" resultType="PalletTypeOption">
SELECT
SELECT
pt.pallet_type AS palletType,
pt.type_desc AS typeDesc
FROM pallet_type pt
@ -16,12 +16,12 @@
</select>
<!-- rqrq - 获取该类型在立库中装得最多的栈板的已用位置数 -->
<!-- 立库中的栈板:pallet_family IS NOT NULL -->
<!-- 立库中的栈板:wcs_location非空 -->
<!-- 已用位置数:pallet_detail中 position+layer 的唯一组合数 -->
<select id="getMaxPositionCount" resultType="Integer">
SELECT MAX(position_count) AS maxPositionCount
FROM (
SELECT
SELECT
pd.pallet_id,
COUNT(DISTINCT CONCAT(ISNULL(pd.position, ''), '_', ISNULL(CAST(pd.layer AS VARCHAR), ''))) AS position_count
FROM pallet p
@ -36,10 +36,10 @@
</select>
<!-- rqrq - 查询需要合托的托盘列表 -->
<!-- 条件:立库中、calling_flag='N'、count>0 且 count<最大count -->
<!-- 条件:立库中、calling_flag='N'、count>0 且 count<最大count;sore_type=3直接出库托过重,不能自动/手动合托 -->
<!-- 排序:按已用位置数从小到大 -->
<select id="searchPalletMergeList" resultType="PalletMergeQueryData">
SELECT
SELECT
t.site,
t.palletId,
t.palletType,
@ -48,7 +48,7 @@
t.usedPositionCount,
pt.type_desc AS typeDesc
FROM (
SELECT
SELECT
p.site AS site,
p.pallet_id AS palletId,
p.pallet_type AS palletType,
@ -62,6 +62,7 @@
AND p.wcs_location IS NOT NULL
AND p.calling_flag = 'N'
AND p.is_deleted = '0'
AND ISNULL(p.sore_type, 0) &lt;&gt; 3
GROUP BY p.site, p.pallet_id, p.pallet_type, p.location_code, p.calling_flag
HAVING COUNT(DISTINCT CONCAT(ISNULL(pd.position, ''), '_', ISNULL(CAST(pd.layer AS VARCHAR), ''))) > 0
AND COUNT(DISTINCT CONCAT(ISNULL(pd.position, ''), '_', ISNULL(CAST(pd.layer AS VARCHAR), ''))) &lt; #{maxPositionCount}
@ -70,10 +71,10 @@
ORDER BY t.usedPositionCount ASC
</select>
<!-- rqrq - 查询需要合托的托盘列表(分页版本) -->
<!-- rqrq - 查询需要合托的托盘列表(分页版本);排除pallet.sore_type=3直接出库托,过重无法合托 -->
<!-- 支持前端传入maxPositionCount作为筛选条件 -->
<select id="searchPalletMergeListPage" parameterType="PalletMergeQueryData" resultType="PalletMergeQueryData">
SELECT
SELECT
t.site,
t.palletId,
t.palletType,
@ -82,7 +83,7 @@
t.usedPositionCount,
pt.type_desc AS typeDesc
FROM (
SELECT
SELECT
p.site AS site,
p.pallet_id AS palletId,
p.pallet_type AS palletType,
@ -96,6 +97,7 @@
AND p.wcs_location IS NOT NULL
AND p.calling_flag = 'N'
AND p.is_deleted = '0'
AND ISNULL(p.sore_type, 0) &lt;&gt; 3
GROUP BY p.site, p.pallet_id, p.pallet_type, p.location_code, p.calling_flag
HAVING COUNT(DISTINCT CONCAT(ISNULL(pd.position, ''), '_', ISNULL(CAST(pd.layer AS VARCHAR), ''))) > 0
AND COUNT(DISTINCT CONCAT(ISNULL(pd.position, ''), '_', ISNULL(CAST(pd.layer AS VARCHAR), ''))) &lt;= #{query.maxPositionCount}
@ -106,7 +108,7 @@
<!-- rqrq - 查询栈板上的所有物料明细(用于合托推送WCS) -->
<select id="getPalletAllDetails" resultType="com.gaotao.modules.automatedWarehouse.entity.PalletDetail">
SELECT
SELECT
pd.site,
pd.pallet_id AS palletId,
pd.position,

Loading…
Cancel
Save