From 945774c0ddc6bdae1d53cfbd74892efcf7d949a1 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 11 三月 2026 15:41:00 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 68 ++++++++++++++++++++++++++++++++-
1 files changed, 65 insertions(+), 3 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 08e424b..da14058 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -1,6 +1,7 @@
package com.vincent.rsf.server.manager.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.controller.erp.params.TaskInParam;
import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto;
@@ -53,6 +54,10 @@
private BasStationService basStationService;
@Autowired
private LocItemWorkingService locItemWorkingService;
+ @Autowired
+ private CheckDiffService checkDiffService;
+ @Autowired
+ private CheckDiffItemService checkDiffItemService;
/**
@@ -178,8 +183,7 @@
}
//澧炲姞瀵瑰璐у崟鐨勫垽鏂�
- Integer taskStatus = resouce.equals(TaskResouceType.TASK_RESOUCE_STOCK_UP.val)
- ? TaskStsType.MISSION_INITIAL.id:TaskStsType.MISSION_INITIAL.id;
+ Integer taskStatus = TaskStsType.MISSION_INITIAL.id;
Task moveTask = new Task();
String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null);
@@ -221,7 +225,7 @@
}
task.setTaskType(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type).setWarehType(deviceSite.getDevice());
} else {
- if (resouce.equals(TaskResouceType.TASK_RESOUCE_STOCK_UP.val)){
+ if (resouce.equals(TaskResouceType.TASK_RESOUCE_STOCK_NOT_OUT.val)){
//鍏ㄦ澘鍑哄簱
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
.eq(DeviceSite::getSite, siteNo).eq(DeviceSite::getType, TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)
@@ -367,6 +371,63 @@
if (!taskItemService.saveBatch(taskItems)) {
throw new CoolException("浠诲姟鏄庣粏鐢熸垚澶辫触锛侊紒");
}
+
+ // 鏃犲崟鐩樼偣锛氭彁鍙栧嚭搴撴椂鍗崇敓鎴愮洏鐐瑰樊寮傚崟锛屼究浜� PDA 鎸夊樊寮傚崟鏍¢獙
+ if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK)) {
+ Date now = new Date();
+ double sumAnfme = taskItems.stream().mapToDouble(ti -> ti.getAnfme() != null ? ti.getAnfme() : 0).sum();
+ CheckDiff checkDiff = new CheckDiff();
+ checkDiff.setOrderCode(task.getTaskCode())
+ .setOrderId(null)
+ .setCheckType(0)
+ .setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_INIT.val)
+ .setAnfme(sumAnfme)
+ .setCheckQty(0D)
+ .setStatus(1)
+ .setDeleted(0)
+ .setTenantId(task.getTenantId())
+ .setCreateBy(loginUserId)
+ .setCreateTime(now)
+ .setUpdateBy(loginUserId)
+ .setUpdateTime(now);
+ if (loc.getAreaId() != null) {
+ checkDiff.setAreaId(loc.getAreaId()).setAreaName(loc.getAreaId$());
+ }
+ if (!checkDiffService.save(checkDiff)) {
+ throw new CoolException("鏃犲崟鐩樼偣宸紓鍗曞垱寤哄け璐ワ紒锛�");
+ }
+ List<CheckDiffItem> diffItems = new ArrayList<>();
+ for (TaskItem ti : taskItems) {
+ CheckDiffItem diffItem = new CheckDiffItem();
+ diffItem.setCheckId(checkDiff.getId())
+ .setOrderCode(task.getTaskCode())
+ .setTaskId(task.getId())
+ .setTaskItemId(ti.getId())
+ .setBarcode(task.getBarcode())
+ .setAnfme(ti.getAnfme() != null ? ti.getAnfme() : 0D)
+ .setCheckQty(ti.getAnfme() != null ? ti.getAnfme() : 0D)
+ .setMatnrCode(ti.getMatnrCode())
+ .setMaktx(ti.getMaktx())
+ .setBatch(ti.getBatch())
+ .setSpec(ti.getSpec())
+ .setModel(ti.getModel())
+ .setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_INIT.val)
+ .setStatus(1)
+ .setDeleted(0)
+ .setTenantId(task.getTenantId())
+ .setCreateBy(loginUserId)
+ .setCreateTime(now)
+ .setUpdateBy(loginUserId)
+ .setUpdateTime(now);
+ diffItems.add(diffItem);
+ }
+ if (!checkDiffItemService.saveBatch(diffItems)) {
+ throw new CoolException("鏃犲崟鐩樼偣宸紓鏄庣粏鍒涘缓澶辫触锛侊紒");
+ }
+ taskItemService.update(new LambdaUpdateWrapper<TaskItem>()
+ .set(TaskItem::getSourceCode, task.getTaskCode())
+ .eq(TaskItem::getTaskId, task.getId()));
+ }
});
}
@@ -430,6 +491,7 @@
}
targetLoc.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+ targetLoc.setBarcode(orgLoc.getBarcode());
if (!locService.updateById(targetLoc)) {
throw new CoolException("鐩爣搴撲綅棰勭害澶辫触锛侊紒");
--
Gitblit v1.9.1