添加出库捡选完成逻辑
This commit is contained in:
parent
eb73b6e445
commit
1df1a0b5d1
|
|
@ -1098,7 +1098,7 @@ public class AppTaskController extends BaseController
|
||||||
}
|
}
|
||||||
AppTask selectVehicleTask = new AppTask();
|
AppTask selectVehicleTask = new AppTask();
|
||||||
selectVehicleTask.setVehicleId(vehicleNo);
|
selectVehicleTask.setVehicleId(vehicleNo);
|
||||||
selectVehicleTask.setTaskStatus(4);
|
selectVehicleTask.setTaskStatus(5);
|
||||||
List<AppTask> selectedAppTaskList = appTaskService.selectAppTaskList(selectVehicleTask);
|
List<AppTask> selectedAppTaskList = appTaskService.selectAppTaskList(selectVehicleTask);
|
||||||
if (selectedAppTaskList == null) {
|
if (selectedAppTaskList == null) {
|
||||||
return error("数据服务异常,请重试");
|
return error("数据服务异常,请重试");
|
||||||
|
|
@ -1133,7 +1133,7 @@ public class AppTaskController extends BaseController
|
||||||
AppTask updatePickNum = new AppTask();
|
AppTask updatePickNum = new AppTask();
|
||||||
updatePickNum.setTaskId(request.getTaskId());
|
updatePickNum.setTaskId(request.getTaskId());
|
||||||
updatePickNum.setOpNum(request.getPickNum());
|
updatePickNum.setOpNum(request.getPickNum());
|
||||||
updatePickNum.setTaskStatus(5);
|
updatePickNum.setTaskStatus(6);
|
||||||
updatePickNum.setOpUser(request.getPicker());
|
updatePickNum.setOpUser(request.getPicker());
|
||||||
int updateAppTask = appTaskService.updateAppTask(updatePickNum);
|
int updateAppTask = appTaskService.updateAppTask(updatePickNum);
|
||||||
if (updateAppTask == 0) {
|
if (updateAppTask == 0) {
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -165,203 +166,309 @@ public class TaskExecutor {
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void completeWmsTask() {
|
public void completeWmsTask() {
|
||||||
completeNormalTask();
|
//completeNormalTask();
|
||||||
|
completeNormalInTask(); // 通常入库任务
|
||||||
|
completeNormalOutTask(); // 通常出库任务
|
||||||
|
completeNormalMoveTask(); // 通常移库任务
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 完成通常任务
|
* 完成通常入库任务
|
||||||
*/
|
*/
|
||||||
private void completeNormalTask() {
|
private void completeNormalInTask() {
|
||||||
// 查找 Wms 任务
|
|
||||||
AppTask appTask = new AppTask();
|
AppTask appTask = new AppTask();
|
||||||
appTask.setTaskStatus(5);
|
appTask.setTaskStatus(5);
|
||||||
|
appTask.setTaskType(1);
|
||||||
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
|
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
|
||||||
if (appTasks == null || appTasks.isEmpty()) {
|
if (appTasks == null || appTasks.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (AppTask task : appTasks) {
|
for (AppTask task : appTasks) {
|
||||||
if (task.getTaskType().compareTo(1) == 0) { // 入库任务
|
// 从码盘表内拉出数据
|
||||||
// 从码盘表内拉出数据
|
AppPendingStorage appPendingStorage = new AppPendingStorage();
|
||||||
AppPendingStorage appPendingStorage = new AppPendingStorage();
|
appPendingStorage.setVehicleNo(task.getVehicleId());
|
||||||
appPendingStorage.setVehicleNo(task.getVehicleId());
|
List<AppPendingStorage> appPendingStorages = appPendingStorageService.selectAppPendingStorageList(appPendingStorage);
|
||||||
List<AppPendingStorage> appPendingStorages = appPendingStorageService.selectAppPendingStorageList(appPendingStorage);
|
if (appPendingStorages == null) {
|
||||||
if (appPendingStorages == null) {
|
return;
|
||||||
return;
|
}
|
||||||
}
|
if (appPendingStorages.isEmpty()) {
|
||||||
if (appPendingStorages.isEmpty()) {
|
|
||||||
AppTask updateRemark = new AppTask();
|
|
||||||
updateRemark.setTaskId(task.getTaskId());
|
|
||||||
updateRemark.setRemark("该载具似乎未进行过码盘");
|
|
||||||
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
|
||||||
AppTaskBak appTaskBak = new AppTaskBak();
|
|
||||||
BeanUtils.copyProperties(task, appTaskBak);
|
|
||||||
appTaskBakService.insertAppTaskBak(appTaskBak); // 将任务数据归档
|
|
||||||
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (AppPendingStorage pendingStorage : appPendingStorages) {
|
|
||||||
// 插入库存
|
|
||||||
String stockId = IdUtils.fastSimpleUUID();
|
|
||||||
AppStock appStock = new AppStock();
|
|
||||||
appStock.setStockId(stockId);
|
|
||||||
appStock.setListId(pendingStorage.getListId());
|
|
||||||
appStock.setVehicleId(pendingStorage.getVehicleNo());
|
|
||||||
appStock.setLocationId(task.getDestination());
|
|
||||||
appStock.setGoodsId(pendingStorage.getGoodsId());
|
|
||||||
appStock.setGoodsName(pendingStorage.getGoodsDesc());
|
|
||||||
appStock.setGoodsUnit(pendingStorage.getUnit());
|
|
||||||
appStock.setProviderId("-");
|
|
||||||
appStock.setProviderName("-");
|
|
||||||
appStock.setRemainNum(pendingStorage.getGoodsNum());
|
|
||||||
appStock.setOriginNum(pendingStorage.getGoodsNum());
|
|
||||||
appStock.setBatchNo("-");
|
|
||||||
appStock.setInvAge(0L);
|
|
||||||
appStock.setGoodsStatus(0);
|
|
||||||
appStock.setStockStatus(0);
|
|
||||||
appStock.setCreateTime(new Date());
|
|
||||||
appStock.setUpdateTime(new Date());
|
|
||||||
appStock.setCreateUser(pendingStorage.getCreatePerson());
|
|
||||||
appStock.setUpdateBy(pendingStorage.getCreatePerson());
|
|
||||||
appStock.setRemark("");
|
|
||||||
int insertStockResult = appStockService.insertAppStock(appStock);
|
|
||||||
logger.info("插入库存:{},结果:{}", JSON.toJSONString(appStock), insertStockResult);
|
|
||||||
if(insertStockResult > 0) {
|
|
||||||
appPendingStorageService.deleteAppPendingStorageByRecordId(pendingStorage.getRecordId()); // 删除码盘数据
|
|
||||||
// 如果是PMS入库则发送PMS入库完成
|
|
||||||
if(pendingStorage.getStorageType().compareTo(2) == 0) {
|
|
||||||
PmsInFeedBack pmsInFeedBack = new PmsInFeedBack();
|
|
||||||
PmsInComplete pmsInComplete = new PmsInComplete();
|
|
||||||
pmsInComplete.setCrmOrder(stockId);
|
|
||||||
pmsInComplete.setSapCode("2290");
|
|
||||||
pmsInComplete.setInArea("TPLK");
|
|
||||||
pmsInComplete.setInLocation("6001");
|
|
||||||
pmsInComplete.setOutArea("TPHC");
|
|
||||||
pmsInComplete.setOutLocation("6001");
|
|
||||||
pmsInFeedBack.setHeaderInfo(pmsInComplete);
|
|
||||||
List<PmsInCompleteDetail> pmsInCompleteDetails = new ArrayList<>();
|
|
||||||
PmsInCompleteDetail pmsInCompleteDetail = new PmsInCompleteDetail();
|
|
||||||
pmsInCompleteDetail.setMaterialNo(pendingStorage.getGoodsId());
|
|
||||||
pmsInCompleteDetail.setMaterialName(pendingStorage.getGoodsDesc());
|
|
||||||
pmsInCompleteDetail.setAmount(pendingStorage.getGoodsNum().intValue());
|
|
||||||
pmsInCompleteDetail.setUnit(pendingStorage.getUnit());
|
|
||||||
pmsInCompleteDetail.setBarcode(pendingStorage.getGoodsCode());
|
|
||||||
pmsInCompleteDetails.add(pmsInCompleteDetail);
|
|
||||||
pmsInFeedBack.setDetailList(pmsInCompleteDetails);
|
|
||||||
String url = sysConfigService.selectConfigByKey("pms.intComplete");
|
|
||||||
if (StringUtils.isEmpty(url)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsInFeedBack)), PmsCommonRes.class);
|
|
||||||
logger.info("pms入库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsInFeedBack), JSON.toJSONString(pmsCommonRes));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
AppTask updateRemark = new AppTask();
|
AppTask updateRemark = new AppTask();
|
||||||
updateRemark.setTaskId(task.getTaskId());
|
updateRemark.setTaskId(task.getTaskId());
|
||||||
updateRemark.setRemark("已插入库存");
|
updateRemark.setRemark("该载具似乎未进行过码盘");
|
||||||
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
||||||
AppTaskBak appTaskBak = new AppTaskBak();
|
AppTaskBak appTaskBak = new AppTaskBak();
|
||||||
appTaskBak.setTaskId(task.getTaskId());
|
BeanUtils.copyProperties(task, appTaskBak);
|
||||||
appTaskBak.setTaskStatus(task.getTaskStatus());
|
appTaskBakService.insertAppTaskBak(appTaskBak); // 将任务数据归档
|
||||||
appTaskBak.setRemark(updateRemark.getRemark());
|
|
||||||
appTaskBak.setTaskType(task.getTaskType());
|
|
||||||
appTaskBak.setTaskPriority(task.getTaskPriority());
|
|
||||||
appTaskBak.setVehicleId(task.getVehicleId());
|
|
||||||
appTaskBak.setOrigin(task.getOrigin());
|
|
||||||
appTaskBak.setDestination(task.getDestination());
|
|
||||||
appTaskBak.setWcsTaskId(task.getWcsTaskId());
|
|
||||||
appTaskBak.setFinishTime(task.getFinishTime());
|
|
||||||
appTaskBak.setGoodsId(task.getGoodsId());
|
|
||||||
appTaskBak.setOpNum(task.getOpNum());
|
|
||||||
appTaskBak.setStockNum(task.getStockNum());
|
|
||||||
appTaskBak.setOpUser(task.getOpUser());
|
|
||||||
appTaskBak.setPreTask(task.getPreTask());
|
|
||||||
logger.info("入库任务数据归档成功。{}", JSON.toJSONString(appTaskBak));
|
|
||||||
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
|
|
||||||
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (task.getTaskType().compareTo(2) == 0) { // 出库任务
|
for (AppPendingStorage pendingStorage : appPendingStorages) {
|
||||||
if(task.getOpNum().compareTo(task.getStockNum()) >= 0) {
|
// 插入库存
|
||||||
// 整出
|
String stockId = IdUtils.fastSimpleUUID();
|
||||||
AppStock appStock = new AppStock();
|
AppStock appStock = new AppStock();
|
||||||
appStock.setGoodsId(task.getGoodsId());
|
appStock.setStockId(stockId);
|
||||||
appStock.setVehicleId(task.getVehicleId());
|
appStock.setListId(pendingStorage.getListId());
|
||||||
List<AppStock> appStocks = appStockService.selectAppStockList(appStock);
|
appStock.setVehicleId(pendingStorage.getVehicleNo());
|
||||||
if(appStocks == null) {
|
appStock.setLocationId(task.getDestination());
|
||||||
return;
|
appStock.setGoodsId(pendingStorage.getGoodsId());
|
||||||
}
|
appStock.setGoodsName(pendingStorage.getGoodsDesc());
|
||||||
for (AppStock stock : appStocks) {
|
appStock.setGoodsUnit(pendingStorage.getUnit());
|
||||||
int deleteAppStockByStockId = appStockService.deleteAppStockByStockId(stock.getStockId());
|
appStock.setProviderId("-");
|
||||||
logger.info("删除库存:{}", JSON.toJSONString(stock));
|
appStock.setProviderName("-");
|
||||||
if(deleteAppStockByStockId > 0) {
|
appStock.setRemainNum(pendingStorage.getGoodsNum());
|
||||||
AppTask updateRemark = new AppTask();
|
appStock.setOriginNum(pendingStorage.getGoodsNum());
|
||||||
updateRemark.setTaskId(task.getTaskId());
|
appStock.setBatchNo("-");
|
||||||
updateRemark.setRemark("出库完成");
|
appStock.setInvAge(0L);
|
||||||
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
appStock.setGoodsStatus(0);
|
||||||
AppTaskBak appTaskBak = new AppTaskBak();
|
appStock.setStockStatus(0);
|
||||||
BeanUtils.copyProperties(task, appTaskBak);
|
appStock.setCreateTime(new Date());
|
||||||
logger.info("出库任务数据归档成功。{}", JSON.toJSONString(appTaskBak));
|
appStock.setUpdateTime(new Date());
|
||||||
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
|
appStock.setCreateUser(pendingStorage.getCreatePerson());
|
||||||
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
appStock.setUpdateBy(pendingStorage.getCreatePerson());
|
||||||
}
|
appStock.setRemark("");
|
||||||
// 调用 pms 接口
|
int insertStockResult = appStockService.insertAppStock(appStock);
|
||||||
PmsOutFeedBack pmsOutFeedBack = new PmsOutFeedBack();
|
logger.info("插入库存:{},结果:{}", JSON.toJSONString(appStock), insertStockResult);
|
||||||
PmsOutFeedBackRecordList recordListItem = new PmsOutFeedBackRecordList();
|
if(insertStockResult > 0) {
|
||||||
recordListItem.setAmount(task.getOpNum().intValue());
|
appPendingStorageService.deleteAppPendingStorageByRecordId(pendingStorage.getRecordId()); // 删除码盘数据
|
||||||
recordListItem.setBusinessOrder(task.getOrderId());
|
// 如果是PMS入库则发送PMS入库完成
|
||||||
recordListItem.setMaterialsNo(task.getGoodsId());
|
if(pendingStorage.getStorageType().compareTo(2) == 0) {
|
||||||
List<PmsOutFeedBackRecordList> recordList = new ArrayList<>();
|
PmsInFeedBack pmsInFeedBack = new PmsInFeedBack();
|
||||||
recordList.add(recordListItem);
|
PmsInComplete pmsInComplete = new PmsInComplete();
|
||||||
pmsOutFeedBack.setRecordList(recordList);
|
pmsInComplete.setCrmOrder(stockId);
|
||||||
String url = sysConfigService.selectConfigByKey("pms.outComplete");
|
pmsInComplete.setSapCode("2290");
|
||||||
|
pmsInComplete.setInArea("TPLK");
|
||||||
|
pmsInComplete.setInLocation("6001");
|
||||||
|
pmsInComplete.setOutArea("TPHC");
|
||||||
|
pmsInComplete.setOutLocation("6001");
|
||||||
|
pmsInFeedBack.setHeaderInfo(pmsInComplete);
|
||||||
|
List<PmsInCompleteDetail> pmsInCompleteDetails = new ArrayList<>();
|
||||||
|
PmsInCompleteDetail pmsInCompleteDetail = new PmsInCompleteDetail();
|
||||||
|
pmsInCompleteDetail.setMaterialNo(pendingStorage.getGoodsId());
|
||||||
|
pmsInCompleteDetail.setMaterialName(pendingStorage.getGoodsDesc());
|
||||||
|
pmsInCompleteDetail.setAmount(pendingStorage.getGoodsNum().intValue());
|
||||||
|
pmsInCompleteDetail.setUnit(pendingStorage.getUnit());
|
||||||
|
pmsInCompleteDetail.setBarcode(pendingStorage.getGoodsCode());
|
||||||
|
pmsInCompleteDetails.add(pmsInCompleteDetail);
|
||||||
|
pmsInFeedBack.setDetailList(pmsInCompleteDetails);
|
||||||
|
String url = sysConfigService.selectConfigByKey("pms.intComplete");
|
||||||
if (StringUtils.isEmpty(url)) {
|
if (StringUtils.isEmpty(url)) {
|
||||||
continue;
|
return;
|
||||||
}
|
}
|
||||||
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsOutFeedBack)), PmsCommonRes.class);
|
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsInFeedBack)), PmsCommonRes.class);
|
||||||
logger.info("pms出库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsOutFeedBack), JSON.toJSONString(pmsCommonRes));
|
logger.info("pms入库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsInFeedBack), JSON.toJSONString(pmsCommonRes));
|
||||||
}
|
|
||||||
AppStock appStockCheck = new AppStock();
|
|
||||||
appStockCheck.setLocationId(task.getOrigin());
|
|
||||||
List<AppStock> appStockCheckData = appStockService.selectAppStockList(appStockCheck);
|
|
||||||
if(appStockCheckData == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(appStockCheckData.isEmpty()) {
|
|
||||||
// 这个位置没有库存了,直接释放货位
|
|
||||||
AppLocation location = new AppLocation();
|
|
||||||
location.setLocationId(task.getOrigin());
|
|
||||||
location.setLocationStatus(0);
|
|
||||||
appLocationMapper.updateAppLocation(location);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 如果小于的话就不做处理
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
if (task.getTaskType().compareTo(9) == 0) { // 移库任务
|
AppTask updateRemark = new AppTask();
|
||||||
int updateNewLocation = appStockService.updateNewLocation(task.getOrigin(), task.getDestination());
|
updateRemark.setTaskId(task.getTaskId());
|
||||||
if(updateNewLocation > 0) {
|
updateRemark.setRemark("已插入库存");
|
||||||
// 释放原库位
|
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
||||||
|
AppTaskBak appTaskBak = new AppTaskBak();
|
||||||
|
appTaskBak.setTaskId(task.getTaskId());
|
||||||
|
appTaskBak.setTaskStatus(task.getTaskStatus());
|
||||||
|
appTaskBak.setRemark(updateRemark.getRemark());
|
||||||
|
appTaskBak.setTaskType(task.getTaskType());
|
||||||
|
appTaskBak.setTaskPriority(task.getTaskPriority());
|
||||||
|
appTaskBak.setVehicleId(task.getVehicleId());
|
||||||
|
appTaskBak.setOrigin(task.getOrigin());
|
||||||
|
appTaskBak.setDestination(task.getDestination());
|
||||||
|
appTaskBak.setWcsTaskId(task.getWcsTaskId());
|
||||||
|
appTaskBak.setFinishTime(task.getFinishTime());
|
||||||
|
appTaskBak.setGoodsId(task.getGoodsId());
|
||||||
|
appTaskBak.setOpNum(task.getOpNum());
|
||||||
|
appTaskBak.setStockNum(task.getStockNum());
|
||||||
|
appTaskBak.setOpUser(task.getOpUser());
|
||||||
|
appTaskBak.setPreTask(task.getPreTask());
|
||||||
|
logger.info("入库任务数据归档成功。{}", JSON.toJSONString(appTaskBak));
|
||||||
|
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
|
||||||
|
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 完成通常出库任务
|
||||||
|
*/
|
||||||
|
private void completeNormalOutTask() {
|
||||||
|
AppTask appTask = new AppTask();
|
||||||
|
appTask.setTaskStatus(5);
|
||||||
|
appTask.setTaskType(2);
|
||||||
|
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
|
||||||
|
if (appTasks == null || appTasks.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (AppTask task : appTasks) {
|
||||||
|
if(task.getOpNum().compareTo(task.getStockNum()) >= 0) {
|
||||||
|
// 整出
|
||||||
|
AppStock appStock = new AppStock();
|
||||||
|
appStock.setGoodsId(task.getGoodsId());
|
||||||
|
appStock.setVehicleId(task.getVehicleId());
|
||||||
|
List<AppStock> appStocks = appStockService.selectAppStockList(appStock);
|
||||||
|
if(appStocks == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (AppStock stock : appStocks) {
|
||||||
|
int deleteAppStockByStockId = appStockService.deleteAppStockByStockId(stock.getStockId());
|
||||||
|
logger.info("删除库存:{}", JSON.toJSONString(stock));
|
||||||
|
if(deleteAppStockByStockId > 0) {
|
||||||
|
AppTask updateRemark = new AppTask();
|
||||||
|
updateRemark.setTaskId(task.getTaskId());
|
||||||
|
updateRemark.setRemark("出库完成");
|
||||||
|
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
||||||
|
AppTaskBak appTaskBak = new AppTaskBak();
|
||||||
|
BeanUtils.copyProperties(task, appTaskBak);
|
||||||
|
logger.info("出库任务数据归档成功。{}", JSON.toJSONString(appTaskBak));
|
||||||
|
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
|
||||||
|
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
||||||
|
}
|
||||||
|
// 调用 pms 接口
|
||||||
|
PmsOutFeedBack pmsOutFeedBack = new PmsOutFeedBack();
|
||||||
|
PmsOutFeedBackRecordList recordListItem = new PmsOutFeedBackRecordList();
|
||||||
|
recordListItem.setAmount(task.getOpNum().intValue());
|
||||||
|
recordListItem.setBusinessOrder(task.getOrderId());
|
||||||
|
recordListItem.setMaterialsNo(task.getGoodsId());
|
||||||
|
List<PmsOutFeedBackRecordList> recordList = new ArrayList<>();
|
||||||
|
recordList.add(recordListItem);
|
||||||
|
pmsOutFeedBack.setRecordList(recordList);
|
||||||
|
String url = sysConfigService.selectConfigByKey("pms.outComplete");
|
||||||
|
if (StringUtils.isEmpty(url)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsOutFeedBack)), PmsCommonRes.class);
|
||||||
|
logger.info("pms出库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsOutFeedBack), JSON.toJSONString(pmsCommonRes));
|
||||||
|
}
|
||||||
|
AppStock appStockCheck = new AppStock();
|
||||||
|
appStockCheck.setLocationId(task.getOrigin());
|
||||||
|
List<AppStock> appStockCheckData = appStockService.selectAppStockList(appStockCheck);
|
||||||
|
if(appStockCheckData == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(appStockCheckData.isEmpty()) {
|
||||||
|
// 这个位置没有库存了,直接释放货位
|
||||||
AppLocation location = new AppLocation();
|
AppLocation location = new AppLocation();
|
||||||
location.setLocationId(task.getOrigin());
|
location.setLocationId(task.getOrigin());
|
||||||
location.setLocationStatus(0);
|
location.setLocationStatus(0);
|
||||||
appLocationMapper.updateAppLocation(location);
|
appLocationMapper.updateAppLocation(location);
|
||||||
|
|
||||||
AppTask updateRemark = new AppTask();
|
|
||||||
updateRemark.setTaskId(task.getTaskId());
|
|
||||||
updateRemark.setRemark("移库完成");
|
|
||||||
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
|
||||||
AppTaskBak appTaskBak = new AppTaskBak();
|
|
||||||
BeanUtils.copyProperties(task, appTaskBak);
|
|
||||||
logger.info("移库任务数据归档成功。{}", JSON.toJSONString(appTaskBak));
|
|
||||||
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
|
|
||||||
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果小于的话就属于捡货任务
|
||||||
|
// 删除库存内的绑定的库位号,释放库位
|
||||||
|
int updateNewLocation = appStockService.updateNewLocation(task.getOrigin(), "");
|
||||||
|
logger.info("捡选出库清除库存绑定的货位,数据:{},清除结果:{}", JSON.toJSONString(task), updateNewLocation);
|
||||||
|
AppLocation location = new AppLocation();
|
||||||
|
location.setLocationId(task.getOrigin());
|
||||||
|
location.setLocationStatus(0);
|
||||||
|
appLocationMapper.updateAppLocation(location);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void completePickOutTask() {
|
||||||
|
AppTask appTask = new AppTask();
|
||||||
|
appTask.setTaskStatus(6);
|
||||||
|
appTask.setTaskType(2);
|
||||||
|
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
|
||||||
|
if (appTasks == null || appTasks.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (AppTask task : appTasks) {
|
||||||
|
// 更新库存
|
||||||
|
AppStock appStock = new AppStock();
|
||||||
|
appStock.setGoodsId(task.getGoodsId());
|
||||||
|
appStock.setVehicleId(task.getVehicleId());
|
||||||
|
List<AppStock> appStocks = appStockService.selectAppStockList(appStock);
|
||||||
|
if(appStocks == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
BigDecimal opNum = task.getOpNum();
|
||||||
|
for (AppStock stock : appStocks) {
|
||||||
|
if(opNum.compareTo(stock.getRemainNum()) >= 0) { // 需求数量大于库存数量
|
||||||
|
int deleteAppStockByStockId = appStockService.deleteAppStockByStockId(stock.getStockId());
|
||||||
|
logger.info("出库捡选删除库存:{},删除结果:{}", JSON.toJSONString(stock), deleteAppStockByStockId);
|
||||||
|
// 调用 pms 接口
|
||||||
|
PmsOutFeedBack pmsOutFeedBack = new PmsOutFeedBack();
|
||||||
|
PmsOutFeedBackRecordList recordListItem = new PmsOutFeedBackRecordList();
|
||||||
|
recordListItem.setAmount(stock.getRemainNum().intValue());
|
||||||
|
recordListItem.setBusinessOrder(task.getOrderId());
|
||||||
|
recordListItem.setMaterialsNo(task.getGoodsId());
|
||||||
|
List<PmsOutFeedBackRecordList> recordList = new ArrayList<>();
|
||||||
|
recordList.add(recordListItem);
|
||||||
|
pmsOutFeedBack.setRecordList(recordList);
|
||||||
|
String url = sysConfigService.selectConfigByKey("pms.outComplete");
|
||||||
|
if (StringUtils.isEmpty(url)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsOutFeedBack)), PmsCommonRes.class);
|
||||||
|
logger.info("pms出库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsOutFeedBack), JSON.toJSONString(pmsCommonRes));
|
||||||
|
opNum = opNum.subtract(stock.getRemainNum());
|
||||||
|
} else {
|
||||||
|
// 更新库存剩余数量
|
||||||
|
AppStock update = new AppStock();
|
||||||
|
update.setStockId(stock.getStockId());
|
||||||
|
update.setRemainNum(stock.getRemainNum().subtract(opNum));
|
||||||
|
appStockService.updateAppStock(update);
|
||||||
|
logger.info("出库捡选更新库存剩余数量:{},更新结果:{}", JSON.toJSONString(update), appStockService.updateAppStock(update));
|
||||||
|
// 调用 pms 接口
|
||||||
|
PmsOutFeedBack pmsOutFeedBack = new PmsOutFeedBack();
|
||||||
|
PmsOutFeedBackRecordList recordListItem = new PmsOutFeedBackRecordList();
|
||||||
|
recordListItem.setAmount(stock.getRemainNum().intValue());
|
||||||
|
recordListItem.setBusinessOrder(task.getOrderId());
|
||||||
|
recordListItem.setMaterialsNo(task.getGoodsId());
|
||||||
|
List<PmsOutFeedBackRecordList> recordList = new ArrayList<>();
|
||||||
|
recordList.add(recordListItem);
|
||||||
|
pmsOutFeedBack.setRecordList(recordList);
|
||||||
|
String url = sysConfigService.selectConfigByKey("pms.outComplete");
|
||||||
|
if (StringUtils.isEmpty(url)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsOutFeedBack)), PmsCommonRes.class);
|
||||||
|
logger.info("pms出库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsOutFeedBack), JSON.toJSONString(pmsCommonRes));
|
||||||
|
}
|
||||||
|
// 归档旧数据
|
||||||
|
AppTaskBak appTaskBak = new AppTaskBak();
|
||||||
|
BeanUtils.copyProperties(task, appTaskBak);
|
||||||
|
appTaskBakService.insertAppTaskBak(appTaskBak); // 将任务数据归档
|
||||||
|
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 完成通常移库任务
|
||||||
|
*/
|
||||||
|
private void completeNormalMoveTask() {
|
||||||
|
AppTask appTask = new AppTask();
|
||||||
|
appTask.setTaskStatus(5);
|
||||||
|
appTask.setTaskType(9);
|
||||||
|
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
|
||||||
|
if (appTasks == null || appTasks.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (AppTask task : appTasks) {
|
||||||
|
int updateNewLocation = appStockService.updateNewLocation(task.getOrigin(), task.getDestination());
|
||||||
|
if(updateNewLocation > 0) {
|
||||||
|
// 释放原库位
|
||||||
|
AppLocation location = new AppLocation();
|
||||||
|
location.setLocationId(task.getOrigin());
|
||||||
|
location.setLocationStatus(0);
|
||||||
|
appLocationMapper.updateAppLocation(location);
|
||||||
|
|
||||||
|
AppTask updateRemark = new AppTask();
|
||||||
|
updateRemark.setTaskId(task.getTaskId());
|
||||||
|
updateRemark.setRemark("移库完成");
|
||||||
|
appTaskService.updateAppTask(updateRemark); // 更新备注信息
|
||||||
|
AppTaskBak appTaskBak = new AppTaskBak();
|
||||||
|
BeanUtils.copyProperties(task, appTaskBak);
|
||||||
|
logger.info("移库任务数据归档成功。{}", JSON.toJSONString(appTaskBak));
|
||||||
|
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
|
||||||
|
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user