forked from BaoKaiWms/202501-Wms-Kate-Wuxi
1. 增加出库单编辑功能
2. 修复紧急出库
This commit is contained in:
parent
60ca631acb
commit
bc52d61307
|
|
@ -16,4 +16,13 @@ export const updateWmsTask = (params) => {
|
|||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
// 更新出库单任务
|
||||
export const updateOutsTask = (params) => {
|
||||
return request({
|
||||
url: '/taskOperation/updateOutsTask',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
|
@ -65,8 +65,10 @@
|
|||
<el-table-column fixed="right" label="操作" width="170px">
|
||||
<template v-slot="scope">
|
||||
<div style="display: inline-block; align-content: center;">
|
||||
<el-button type="primary"
|
||||
@click="editCurrentRowFormEntity(scope.row)">编辑</el-button>
|
||||
<el-button type="danger"
|
||||
@click="cancelOuts(scope.row)">取消</el-button>
|
||||
<el-button type="success"
|
||||
@click="finishOuts(scope.row)">完成</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -95,6 +97,7 @@ import {labelPosition} from '@/constant/form.js'
|
|||
import {outTypeOptions} from '@/constant/options.js'
|
||||
import {addAllOptionOfOptions} from '@/utils/generator.js'
|
||||
import {loading} from '@/utils/loading'
|
||||
import {updateOutsTask} from "@/api/taskOperation";
|
||||
|
||||
/**
|
||||
* 常量定义
|
||||
|
|
@ -191,6 +194,54 @@ const timeFormat = (row, column, cellValue, index) => {
|
|||
const outsTypeFormat = (row, column, cellValue, index) => {
|
||||
return outTaskTypeFormatter(cellValue)
|
||||
}
|
||||
// 取消出库单
|
||||
const cancelOuts = (row) => {
|
||||
const request = {
|
||||
taskId: row.taskId,
|
||||
updateType: 1,
|
||||
userName: USER_NAME,
|
||||
standId: STAND_ID
|
||||
}
|
||||
loading.open('取消中...')
|
||||
updateOutsTask(request).then(res => {
|
||||
const response = res.data
|
||||
if (response.code === 0) {
|
||||
ElMessage.success(response.message)
|
||||
} else {
|
||||
ElMessage.error(response.message)
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
ElMessage.error('取消发生异常。')
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
search()
|
||||
})
|
||||
}
|
||||
// 完成出库单
|
||||
const finishOuts = (row) => {
|
||||
const request = {
|
||||
taskId: row.taskId,
|
||||
updateType: 2,
|
||||
userName: USER_NAME,
|
||||
standId: STAND_ID
|
||||
}
|
||||
loading.open('完成中...')
|
||||
updateOutsTask(request).then(res => {
|
||||
const response = res.data
|
||||
if (response.code === 0) {
|
||||
ElMessage.success(response.message)
|
||||
} else {
|
||||
ElMessage.error(response.message)
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
ElMessage.error('完成发生异常。')
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
search()
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.content {
|
||||
|
|
|
|||
|
|
@ -568,6 +568,8 @@ const ifNeedShowBoxSummary = () => {
|
|||
|| confirmEntity.boxNo !== storeKittingWork.boxNo) {
|
||||
printLacks(storeKittingWork.workOrder, storeKittingWork.productId, storeKittingWork.singleProductId, storeKittingWork.boxNo)
|
||||
if (confirmEntity.workOrder === '') {
|
||||
// 打印这个工单剩余缺料标签---整个料盒都缺料的标签
|
||||
|
||||
// 说明当前工单工作已完成,需要弹框提示工作已完成
|
||||
successBox('当前工单已完成。')
|
||||
} else if (confirmEntity.boxNo !== storeKittingWork.boxNo) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.wms_main.controller.wms;
|
||||
|
||||
import com.wms_main.model.dto.request.wms.OutsUpdateRequest;
|
||||
import com.wms_main.model.dto.request.wms.WmsTaskRequest;
|
||||
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
|
||||
import com.wms_main.service.controller.ITaskOperationControllerService;
|
||||
|
|
@ -37,4 +38,14 @@ public class TaskOperationController {
|
|||
public BaseWmsApiResponse updateWmsTask(@RequestBody WmsTaskRequest wmsTaskRequest) {
|
||||
return taskOperationControllerService.updateWmsTask(wmsTaskRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新出库单信息
|
||||
* @param outsUpdateRequest 请求
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/updateOutsTask")
|
||||
public BaseWmsApiResponse updateOutsTask(@RequestBody OutsUpdateRequest outsUpdateRequest) {
|
||||
return taskOperationControllerService.updateOutsTask(outsUpdateRequest);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -922,18 +922,56 @@ public class OutsExecutorServiceImpl implements IOutsExecutorService {
|
|||
List<TAppOuts> emergeOuts = allOuts.stream().filter(appOuts -> appOuts.getOutType().equals(WmsOutTypeEnums.EMERGE.getCode())).toList();
|
||||
List<String> emergeGoodsIds = emergeOuts.stream().map(TAppOuts::getGoodsId).distinct().toList();
|
||||
if (!emergeGoodsIds.isEmpty()) {
|
||||
// 查询库存
|
||||
List<TAppStock> emergeStocks = appStockService.list(new LambdaQueryWrapper<TAppStock>()
|
||||
.in(TAppStock::getGoodsId, emergeGoodsIds));
|
||||
// 查询拣选计划
|
||||
List<TAppPickPlan> emergePlans = appPickPlanService.list(new LambdaQueryWrapper<TAppPickPlan>()
|
||||
.in(TAppPickPlan::getWorkIndex, emergeOuts.stream().map(TAppOuts::getTaskId).distinct().toList()));
|
||||
// 查询到拣选任务
|
||||
List<TAppPickTask> emergePickTasks = new ArrayList<>();
|
||||
if (emergePlans != null && !emergePlans.isEmpty()) {
|
||||
emergePickTasks = appPickTaskService.list(new LambdaQueryWrapper<TAppPickTask>()
|
||||
.in(TAppPickTask::getVehicleId, emergePlans.stream().map(TAppPickPlan::getVehicleId).distinct().toList()));
|
||||
}
|
||||
for (TAppOuts emergeOut : emergeOuts) {
|
||||
List<TAppStock> emergeStocksOfThisGoodsId = emergeStocks.stream().filter(stock -> stock.getGoodsId().equals(emergeOut.getGoodsId())).toList();
|
||||
// 库存不足之后移除该任务
|
||||
if (emergeStocksOfThisGoodsId.isEmpty()) {
|
||||
addRemovingOutsAndRecord(needRemoveOutIds, emergeOut, needAddOutRecords);
|
||||
continue;
|
||||
}
|
||||
// 当拣选完之后也要判断是否要移除
|
||||
if (emergeOut.getDistributeNum() >= emergeOut.getNeedNum()) {
|
||||
if (emergePlans == null || emergePlans.isEmpty()) {
|
||||
// 没有拣选计划,直接移除
|
||||
addRemovingOutsAndRecord(needRemoveOutIds, emergeOut, needAddOutRecords);
|
||||
continue;
|
||||
}
|
||||
// 根据拣选计划+拣选任务来判断
|
||||
List<TAppPickPlan> thisOutsPickPlans = emergePlans.stream().filter(pickPlan -> pickPlan.getWorkIndex().equals(emergeOut.getTaskId())).toList();
|
||||
if (thisOutsPickPlans.isEmpty()) {
|
||||
// 没有拣选计划,直接移除
|
||||
addRemovingOutsAndRecord(needRemoveOutIds, emergeOut, needAddOutRecords);
|
||||
continue;
|
||||
}
|
||||
// 待拣选的载具列表
|
||||
List<String> vehicleIdsOfPlans = thisOutsPickPlans.stream().map(TAppPickPlan::getVehicleId).distinct().toList();
|
||||
// 判断是否还有去这个站台的拣选任务
|
||||
List<TAppPickTask> thisOutsPickTasks = emergePickTasks.stream().filter(pickTask -> vehicleIdsOfPlans.contains(pickTask.getVehicleId()) && Objects.equals(pickTask.getPickStand(), emergeOut.getDestination())).toList();
|
||||
if (thisOutsPickTasks.isEmpty()) {
|
||||
// 没有拣选任务,直接移除
|
||||
addRemovingOutsAndRecord(needRemoveOutIds, emergeOut, needAddOutRecords);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 移除任务
|
||||
if (!needRemoveOutIds.isEmpty()) {
|
||||
appOutsService.removeBatchByIds(needRemoveOutIds);
|
||||
// 需要移除pickPlan
|
||||
appPickPlanService.remove(new LambdaQueryWrapper<TAppPickPlan>()
|
||||
.in(TAppPickPlan::getWorkIndex, needRemoveOutIds));
|
||||
}
|
||||
// 添加任务记录
|
||||
if (!needAddOutRecords.isEmpty()) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user