Browse Source

不需要传site来校验controllerid

master
常熟吴彦祖 3 weeks ago
parent
commit
dd9d91e4b6
  1. 4
      src/main/java/com/gaotao/modules/autoWareHourceHaian/mapper/HaiAnPdaAutoWarehouseMapper.java
  2. 4
      src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java
  3. 2
      src/main/java/com/gaotao/modules/other/service/impl/InventoryMoveServiceImpl.java
  4. 5
      src/main/resources/mapper/autoWareHourceHaian/HaiAnPdaAutoWarehouseMapper.xml

4
src/main/java/com/gaotao/modules/autoWareHourceHaian/mapper/HaiAnPdaAutoWarehouseMapper.java

@ -546,10 +546,10 @@ public interface HaiAnPdaAutoWarehouseMapper {
Integer countPalletDetailWithWcsFlagOne(@Param("site") String site, @Param("palletId") String palletId);
/**
* 按海安工厂和被分拣源盘配对的工作位统计未提交分拣明细;已结束分拣且calling_flag=Y的工作盘置1仅用于下次回库,须排除;查询失败不得通知源盘回库。- rqrq
* 按海安工厂和配对分拣位统计calling_flag=N托盘的wcs_flag=1明细;空位返回0,Y盘即使有增量也不拦截;查询失败不得通知源盘回库。- rqrq
* @param site 海安工厂,隔离托盘和明细 - rqrq
* @param workStation 配对人工分拣工作位 - rqrq
* @return 当前工作位未结束分拣的有效托盘中wcs_flag=1的明细数 - rqrq
* @return 分拣位calling_flag=N托盘的增量明细数;无托盘或无增量返回0 - rqrq
*/
Integer countPendingSortingDetailsAtWorkStation(@Param("site") String site,
@Param("workStation") String workStation);

4
src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java

@ -1958,7 +1958,7 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe
}
/**
* 被分拣源盘通知回库前,核对WCS待拣标签是否仍在本盘,并检查配对工作位是否仍有未提交增量;已结束分拣并置1待回库的工作盘不算未提交。- rqrq
* 被分拣源盘通知回库前,核对WCS待拣标签是否仍在本盘;配对分拣位无托盘时允许继续,仅calling_flag=N且有增量的托盘拦截回库。- rqrq
* 任一查询失败或校验不通过均中断当前事务,不生成WOT且不下发WCS。- rqrq
* @param site 海安工厂,限定托盘与明细范围 - rqrq
* @param palletId 当前被分拣源盘编码 - rqrq
@ -1992,7 +1992,7 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe
if (!StringUtils.hasText(workStation)) {
throw new RuntimeException("被分拣托盘位置未配置对应分拣工作位:" + sourceStation);
}
// 按工厂和配对工作位检查尚未结束的有效分拣盘;已结束盘置1供回库重传,不再按未提交增量拦截源盘。- rqrq
// 按site和配对工作位统计calling_flag=N托盘的增量;空位返回0放行,Y盘结束后重新置1也不拦截,查询失败则中断回库。- rqrq
Integer pendingCount = haiAnPdaAutoWarehouseMapper.countPendingSortingDetailsAtWorkStation(site, workStation);
if (pendingCount == null) {
throw new RuntimeException("查询分拣托盘提交状态失败,无法通知回库");

2
src/main/java/com/gaotao/modules/other/service/impl/InventoryMoveServiceImpl.java

@ -291,7 +291,7 @@ public class InventoryMoveServiceImpl implements InventoryMoveService {
dto.getHandlingUnitIds());
if (updatedRows != handlingUnits.size()) {
throw new XJException("更新标签site/库位失败,期望更新" + handlingUnits.size() + "条,实际" + updatedRows
+ "条,可能标签已被预定或出库,请刷新后重试");
+ "条,可能标签已被ifs预留或出库,请刷新后重试");
}
syncHaiAnPalletDetailSubSite(dto, dto.getHandlingUnitIds());

5
src/main/resources/mapper/autoWareHourceHaian/HaiAnPdaAutoWarehouseMapper.xml

@ -1006,7 +1006,7 @@
AND wcs_flag = 1
</select>
<!-- 通知源盘回库前锁定配对工作位有效盘的未提交明细;已结束分拣且calling_flag=Y的盘置1仅供下次回库,须排除;仅按site和站点查,不使用NOLOCK - rqrq -->
<!-- 通知源盘回库前只统计配对分拣位calling_flag=N托盘的增量;空位计数为0允许回库,calling_flag=Y的盘即使重新置1也不拦截。锁定读取防止校验期间状态变化,不使用NOLOCK - rqrq -->
<select id="countPendingSortingDetailsAtWorkStation" resultType="java.lang.Integer">
SELECT COUNT(CASE WHEN d.wcs_flag = 1 THEN 1 END)
FROM haian_pallet p WITH (UPDLOCK, HOLDLOCK)
@ -1016,8 +1016,7 @@
WHERE p.site = #{site}
AND p.location_code = #{workStation}
AND p.is_deleted = '0'
AND (ISNULL(p.calling_flag, 'N') &lt;&gt; 'Y'
OR ISNULL(p.remark, '') &lt;&gt; N'手工分拣结束分拣')
AND p.calling_flag = 'N'
</select>
<!-- 人工分拣工作盘结束或取消组盘后,按site和盘号将普通明细置1供下次全量下发;保留业务负数,避免误推已发料/失败标签 - rqrq -->

Loading…
Cancel
Save