Browse Source

feat(wcs): 实现空托盘类型自动更新功能

- 添加 PalletType 实体类导入
- 在运输任务回调中增加托盘类型检查逻辑
- 实现空托盘检测机制,通过 pallet_detail 表记录数量判断
- 添加托盘类型信息查询功能,从 pallet_type 表获取 auto_sort 和 sore_type
- 实现托盘类型自动更新,当托盘为空托时使用任务单托盘类型
- 添加详细的日志输出用于调试和监控
- 完善异常情况处理,避免非空托盘被错误更新
master
常熟吴彦祖 2 months ago
parent
commit
3ee01e5377
  1. 28
      src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsTaskServiceImpl.java

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

@ -6,6 +6,7 @@ import com.gaotao.modules.api.service.WmsMessageService;
import com.gaotao.modules.automatedWarehouse.entity.*; import com.gaotao.modules.automatedWarehouse.entity.*;
import com.gaotao.modules.automatedWarehouse.mapper.WcsIntegrationMapper; import com.gaotao.modules.automatedWarehouse.mapper.WcsIntegrationMapper;
import com.gaotao.modules.automatedWarehouse.service.*; import com.gaotao.modules.automatedWarehouse.service.*;
import com.gaotao.modules.base.entity.PalletType;
import com.gaotao.modules.handlingunit.entity.HandlingUnit; import com.gaotao.modules.handlingunit.entity.HandlingUnit;
import com.gaotao.modules.notify.mapper.NewIssureMapper; import com.gaotao.modules.notify.mapper.NewIssureMapper;
import com.gaotao.modules.warehouse.dao.PalletMapper; import com.gaotao.modules.warehouse.dao.PalletMapper;
@ -370,7 +371,32 @@ public class WcsTaskServiceImpl implements WcsTaskService {
callbackTask.getTaskNo(), callbackTask.getTaskNo(),
callbackTask.getItemNo(), callbackTask.getItemNo(),
callbackTask.getPalletId()); callbackTask.getPalletId());
if(transportTask.getPalletType()!=null&&!"".equals(transportTask.getPalletType())){
// 判断如果取出来的托盘是空托也就是pallet_detail查出来没有数据那么把托盘类型改成任务单上面的托盘类型 - rqrq
int detailCount = wcsIntegrationMapper.countPalletDetails(callbackTask.getSite(), callbackTask.getPalletId());
if (detailCount == 0) {
// 托盘是空托根据任务单上的托盘类型查询pallet_type表获取auto_sort和sore_type - rqrq
PalletType palletTypeInfo = wcsIntegrationMapper.getPalletType(callbackTask.getSite(), transportTask.getPalletType());
if (palletTypeInfo != null) {
String autoSort = palletTypeInfo.getWcsAutoSort();
Integer soreType = palletTypeInfo.getWcsSoreType();
String palletType = transportTask.getPalletType();
// 更新托盘的pallet_typesore_typeauto_sort - rqrq
wcsIntegrationMapper.updatePalletTypeAndAutoSort(
callbackTask.getSite(),
callbackTask.getPalletId(),
palletType,
autoSort,
soreType);
System.out.println("空托托盘类型更新成功 - rqrq,palletId=" + callbackTask.getPalletId() +
", palletType=" + palletType + ", autoSort=" + autoSort + ", soreType=" + soreType);
} else {
System.out.println("未找到托盘类型信息 - rqrq,palletType=" + transportTask.getPalletType());
}
} else {
System.out.println("托盘非空托,不更新托盘类型 - rqrq,palletId=" + callbackTask.getPalletId() + ", detailCount=" + detailCount);
}
}
System.out.println("运输任务托盘ID更新成功 - rqrq,taskNo=" + callbackTask.getTaskNo() + System.out.println("运输任务托盘ID更新成功 - rqrq,taskNo=" + callbackTask.getTaskNo() +
", 新托盘ID=" + callbackTask.getPalletId()); ", 新托盘ID=" + callbackTask.getPalletId());
} else { } else {

Loading…
Cancel
Save