Browse Source

增加rfid扫描失败区

master
常熟吴彦祖 2 months ago
parent
commit
aa752db2b0
  1. 27
      src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java
  2. 26
      src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsTaskServiceImpl.java
  3. 31
      src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml

27
src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java

@ -984,4 +984,31 @@ public interface WcsIntegrationMapper {
@Param("notifyNo") String notifyNo, @Param("notifyNo") String notifyNo,
@Param("itemNo") String itemNo); @Param("itemNo") String itemNo);
/**
* @Description 根据sitetaskNoitemNo查询运输任务 - rqrq
* @param site 工厂编码
* @param taskNo 任务编号
* @param itemNo 任务行号
* @return 运输任务信息
* @author rqrq
* @date 2025/11/25
*/
WmsTransportTask getTransportTaskByTaskNoAndItem(@Param("site") String site,
@Param("taskNo") String taskNo,
@Param("itemNo") Integer itemNo);
/**
* @Description 更新运输任务的托盘ID - rqrq
* @param site 工厂编码
* @param taskNo 任务编号
* @param itemNo 任务行号
* @param palletId 新的托盘ID
* @author rqrq
* @date 2025/11/25
*/
void updateTransportTaskPalletId(@Param("site") String site,
@Param("taskNo") String taskNo,
@Param("itemNo") Integer itemNo,
@Param("palletId") String palletId);
} }

26
src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsTaskServiceImpl.java

@ -345,11 +345,35 @@ public class WcsTaskServiceImpl implements WcsTaskService {
// 1. 更新订单任务状态 - rqrq // 1. 更新订单任务状态 - rqrq
if (callbackTask.getTaskNo() != null && callbackTask.getItemNo() != null) { if (callbackTask.getTaskNo() != null && callbackTask.getItemNo() != null) {
// 新增逻辑检查并更新运输任务的托盘ID - rqrq
System.out.println("开始检查运输任务是否存在 - rqrq,site=" + callbackTask.getSite() +
", taskNo=" + callbackTask.getTaskNo() + ", itemNo=" + callbackTask.getItemNo());
WmsTransportTask transportTask = wcsIntegrationMapper.getTransportTaskByTaskNoAndItem(
callbackTask.getSite(), callbackTask.getTaskNo(), callbackTask.getItemNo());
if (transportTask != null) {
System.out.println("找到运输任务 - rqrq,原托盘ID=" + transportTask.getPalletId() +
", 新托盘ID=" + callbackTask.getPalletId());
// 更新运输任务的托盘ID - rqrq
wcsIntegrationMapper.updateTransportTaskPalletId(
callbackTask.getSite(),
callbackTask.getTaskNo(),
callbackTask.getItemNo(),
callbackTask.getPalletId());
System.out.println("运输任务托盘ID更新成功 - rqrq,taskNo=" + callbackTask.getTaskNo() +
", 新托盘ID=" + callbackTask.getPalletId());
} else {
System.out.println("未找到对应的运输任务 - rqrq");
}
WmsOrderTask orderTask = wcsIntegrationMapper.findOrderTasksByTaskNoItem( WmsOrderTask orderTask = wcsIntegrationMapper.findOrderTasksByTaskNoItem(
callbackTask.getSite(), callbackTask.getTaskNo(), callbackTask.getItemNo()); callbackTask.getSite(), callbackTask.getTaskNo(), callbackTask.getItemNo());
if (orderTask == null) { if (orderTask == null) {
return "取货通知处理成功"; return "取货通知处理成功";
} }
if (!"领料申请单".equals(orderTask.getSourceType()) && !"发货通知单".equals(orderTask.getSourceType())) { if (!"领料申请单".equals(orderTask.getSourceType()) && !"发货通知单".equals(orderTask.getSourceType())) {

31
src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml

@ -1776,4 +1776,35 @@
AND CAST(item_no AS VARCHAR) = #{itemNo} AND CAST(item_no AS VARCHAR) = #{itemNo}
</select> </select>
<!-- rqrq - 根据site、taskNo、itemNo查询运输任务 -->
<select id="getTransportTaskByTaskNoAndItem" resultType="WmsTransportTask">
SELECT TOP 1
id, site, task_no AS taskNo, item_no AS itemNo, source_type AS sourceType,
source_bill_no AS sourceBillNo, source_line_id AS sourceLineId,
part_no AS partNo, qty, batch_no AS batchNo, serial_no AS serialNo,
from_location AS fromLocation, to_location AS toLocation,
pallet_id AS palletId, agv_code AS agvCode, priority, status,
wms_send_time AS wmsSendTime, wcs_receive_time AS wcsReceiveTime,
start_time AS startTime, complete_time AS completeTime,
error_code AS errorCode, error_msg AS errorMsg,
created_by AS createdBy, created_time AS createdTime, updated_time AS updatedTime,
wcs_task_id AS wcsTaskId, finish_qty AS finishQty, wms_status AS wmsStatus,
pallet_type AS palletType, to_area AS toArea
FROM wms_transport_task WITH (NOLOCK)
WHERE site = #{site}
AND task_no = #{taskNo}
AND item_no = #{itemNo}
ORDER BY created_time DESC
</select>
<!-- rqrq - 更新运输任务的托盘ID -->
<update id="updateTransportTaskPalletId">
UPDATE wms_transport_task
SET pallet_id = #{palletId},
updated_time = GETDATE()
WHERE site = #{site}
AND task_no = #{taskNo}
AND item_no = #{itemNo}
</update>
</mapper> </mapper>
Loading…
Cancel
Save