Compare commits
2 Commits
74ae6505af
...
f9ca2384c8
| Author | SHA1 | Date | |
|---|---|---|---|
| f9ca2384c8 | |||
| 1df1a0b5d1 |
|
|
@ -1098,7 +1098,7 @@ public class AppTaskController extends BaseController
|
|||
}
|
||||
AppTask selectVehicleTask = new AppTask();
|
||||
selectVehicleTask.setVehicleId(vehicleNo);
|
||||
selectVehicleTask.setTaskStatus(4);
|
||||
selectVehicleTask.setTaskStatus(5);
|
||||
List<AppTask> selectedAppTaskList = appTaskService.selectAppTaskList(selectVehicleTask);
|
||||
if (selectedAppTaskList == null) {
|
||||
return error("数据服务异常,请重试");
|
||||
|
|
@ -1133,7 +1133,7 @@ public class AppTaskController extends BaseController
|
|||
AppTask updatePickNum = new AppTask();
|
||||
updatePickNum.setTaskId(request.getTaskId());
|
||||
updatePickNum.setOpNum(request.getPickNum());
|
||||
updatePickNum.setTaskStatus(5);
|
||||
updatePickNum.setTaskStatus(6);
|
||||
updatePickNum.setOpUser(request.getPicker());
|
||||
int updateAppTask = appTaskService.updateAppTask(updatePickNum);
|
||||
if (updateAppTask == 0) {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
|||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -165,203 +166,309 @@ public class TaskExecutor {
|
|||
|
||||
@Transactional
|
||||
public void completeWmsTask() {
|
||||
completeNormalTask();
|
||||
//completeNormalTask();
|
||||
completeNormalInTask(); // 通常入库任务
|
||||
completeNormalOutTask(); // 通常出库任务
|
||||
completeNormalMoveTask(); // 通常移库任务
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成通常任务
|
||||
* 完成通常入库任务
|
||||
*/
|
||||
private void completeNormalTask() {
|
||||
// 查找 Wms 任务
|
||||
private void completeNormalInTask() {
|
||||
AppTask appTask = new AppTask();
|
||||
appTask.setTaskStatus(5);
|
||||
appTask.setTaskType(1);
|
||||
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
|
||||
if (appTasks == null || appTasks.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
for (AppTask task : appTasks) {
|
||||
if (task.getTaskType().compareTo(1) == 0) { // 入库任务
|
||||
// 从码盘表内拉出数据
|
||||
AppPendingStorage appPendingStorage = new AppPendingStorage();
|
||||
appPendingStorage.setVehicleNo(task.getVehicleId());
|
||||
List<AppPendingStorage> appPendingStorages = appPendingStorageService.selectAppPendingStorageList(appPendingStorage);
|
||||
if (appPendingStorages == null) {
|
||||
return;
|
||||
}
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// 从码盘表内拉出数据
|
||||
AppPendingStorage appPendingStorage = new AppPendingStorage();
|
||||
appPendingStorage.setVehicleNo(task.getVehicleId());
|
||||
List<AppPendingStorage> appPendingStorages = appPendingStorageService.selectAppPendingStorageList(appPendingStorage);
|
||||
if (appPendingStorages == null) {
|
||||
return;
|
||||
}
|
||||
if (appPendingStorages.isEmpty()) {
|
||||
AppTask updateRemark = new AppTask();
|
||||
updateRemark.setTaskId(task.getTaskId());
|
||||
updateRemark.setRemark("已插入库存");
|
||||
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);// 数据归档
|
||||
BeanUtils.copyProperties(task, appTaskBak);
|
||||
appTaskBakService.insertAppTaskBak(appTaskBak); // 将任务数据归档
|
||||
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
|
||||
return;
|
||||
}
|
||||
if (task.getTaskType().compareTo(2) == 0) { // 出库任务
|
||||
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");
|
||||
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)) {
|
||||
continue;
|
||||
return;
|
||||
}
|
||||
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();
|
||||
location.setLocationId(task.getOrigin());
|
||||
location.setLocationStatus(0);
|
||||
appLocationMapper.updateAppLocation(location);
|
||||
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsInFeedBack)), PmsCommonRes.class);
|
||||
logger.info("pms入库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsInFeedBack), JSON.toJSONString(pmsCommonRes));
|
||||
}
|
||||
}
|
||||
// 如果小于的话就不做处理
|
||||
return;
|
||||
|
||||
}
|
||||
if (task.getTaskType().compareTo(9) == 0) { // 移库任务
|
||||
int updateNewLocation = appStockService.updateNewLocation(task.getOrigin(), task.getDestination());
|
||||
if(updateNewLocation > 0) {
|
||||
// 释放原库位
|
||||
AppTask updateRemark = new AppTask();
|
||||
updateRemark.setTaskId(task.getTaskId());
|
||||
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();
|
||||
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()); // 删除旧数据
|
||||
}
|
||||
} 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;
|
||||
}
|
||||
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