diff --git a/dev_wms_client/src/api/kateWork.js b/dev_wms_client/src/api/kateWork.js index 546c0f7..aef246e 100644 --- a/dev_wms_client/src/api/kateWork.js +++ b/dev_wms_client/src/api/kateWork.js @@ -188,4 +188,13 @@ export const getGoodsRequirement = (params) => { data: params, timeout: 5000 }) -} \ No newline at end of file +} +// 删除配料单 +export const deleteKittingBom = (params) => { + return request({ + url: '/kate/deleteKittingBom', + method: 'post', + data: params, + timeout: 5000 + }) +} diff --git a/dev_wms_client/src/api/taskQuery.js b/dev_wms_client/src/api/taskQuery.js index ad3a06f..fce41b4 100644 --- a/dev_wms_client/src/api/taskQuery.js +++ b/dev_wms_client/src/api/taskQuery.js @@ -39,4 +39,12 @@ export const queryOutsByPage = (params) => { method: 'post', data: params }) +} +// 分页查询盘点信息 +export const queryInventoryRecordByPage = (params) => { + return request({ + url: '/taskQuery/queryInventoryRecordByPage', + method: 'post', + data: params + }) } \ No newline at end of file diff --git a/dev_wms_client/src/layout/goodsOut.vue b/dev_wms_client/src/layout/goodsOut.vue index 1a2c964..3abf2b9 100644 --- a/dev_wms_client/src/layout/goodsOut.vue +++ b/dev_wms_client/src/layout/goodsOut.vue @@ -286,7 +286,7 @@ const confirmOut = () => { userName: USER_NAME, standId: STAND_ID } - loading.open('请求中,请稍等...') + loading.open('处理中...') requireStockOut(request).then(res => { const response = res.data if (response.code === 0) { @@ -328,6 +328,7 @@ const confirmOrRelease = () => { standId: STAND_ID, userName: USER_NAME } + loading.open('确认中...') confirmCurrentTask(request).then(res => { const response = res.data if (response.code === 0) { @@ -345,6 +346,8 @@ const confirmOrRelease = () => { }).catch(err => { console.log(err) errorBox('请求错误,请检查完原因后刷新界面。') + }).finally(() => { + loading.close() }) } // 当拣选数量修改时,要对应的修改 diff --git a/dev_wms_client/src/layout/inventory.vue b/dev_wms_client/src/layout/inventory.vue index 78bd22e..3815e0a 100644 --- a/dev_wms_client/src/layout/inventory.vue +++ b/dev_wms_client/src/layout/inventory.vue @@ -84,6 +84,7 @@ import {ElMessage} from "element-plus"; import {confirmInventory, getInventoryConfirm, requestInventory} from "@/api/task"; import {labelPosition} from "@/constant/form"; import UploadExcelInventory from "@/excel/UploadExcelInventory.vue"; +import {loading} from "@/utils/loading"; const STAND_ID = store.getters.getStandId const USER_NAME = store.getters.getUserName @@ -168,7 +169,7 @@ const getInventory = () => { const sendInventoryRequest = () => { inventoryRequestFormEntity.goodsId = inventoryRequestFormEntity.goodsId.trim().toUpperCase() inventoryRequestFormEntity.vehicleId = inventoryRequestFormEntity.vehicleId.trim().toUpperCase() - if (inventoryRequestFormEntity.goodsId == '') { + if (inventoryRequestFormEntity.goodsId === '') { ElMessage.error("料号为必须项。") return } @@ -178,9 +179,10 @@ const sendInventoryRequest = () => { standId: STAND_ID, userName: USER_NAME } + loading.open('处理中...') requestInventory(request).then(res => { const response = res.data - if (response.code == 0) { + if (response.code === 0) { ElMessage.success(response.message) pauseGetPickFlag.value = false } else { @@ -189,6 +191,8 @@ const sendInventoryRequest = () => { }).catch(err => { console.log(err) ElMessage.error("发生异常。") + }).finally(() => { + loading.close() }) } // 确认/放行 @@ -202,14 +206,15 @@ const confirmOrRelease = () => { standId:STAND_ID, userName: USER_NAME } + loading.open('处理中...') confirmInventory(request).then(res => { const response = res.data - if (response.code == 0) { + if (response.code === 0) { // 设置form resetConfirmEntity() ElMessage.success(response.message) pauseGetPickFlag.value = false - } else if (response.code == 400) { + } else if (response.code === 400) { // 设置form resetConfirmEntity() warningBox(response.message) @@ -221,6 +226,8 @@ const confirmOrRelease = () => { }).catch(err => { console.log(err) errorBox('请求错误,请检查完原因后刷新界面。') + }).finally(() => { + loading.close() }) } // 重置确认信息 diff --git a/dev_wms_client/src/layout/inventoryRecord.vue b/dev_wms_client/src/layout/inventoryRecord.vue index 5aa2725..14c66a9 100644 --- a/dev_wms_client/src/layout/inventoryRecord.vue +++ b/dev_wms_client/src/layout/inventoryRecord.vue @@ -12,8 +12,8 @@ :options="queryTypeOptions" @change="search()"> - - + @@ -40,43 +40,39 @@ @sort-change="handleSortChange"> - - - - - - - - - - - + + - - -
import store from '@/store' import zhCn from 'element-plus/dist/locale/zh-cn.mjs' -import {queryOutsByPage} from '@/api/taskQuery.js' -import {timeFormatter, outTaskTypeFormatter} from '@/utils/formatter.js' +import {queryInventoryRecordByPage} from '@/api/taskQuery.js' +import {timeFormatter} from '@/utils/formatter.js' import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue' import {ElMessage} from 'element-plus' import {genTableRequest} from '@/utils/generator.js' import {labelPosition} from '@/constant/form.js' -import {invResultOptions, outTypeOptions} from '@/constant/options.js' +import {invResultOptions} from '@/constant/options.js' import {addAllOptionOfOptions} from '@/utils/generator.js' -import {loading} from '@/utils/loading' -import {updateOutsTask} from "@/api/taskOperation"; /** * 常量定义 @@ -131,14 +125,14 @@ let searchQueryFormEntity = reactive({ queryType: 1 }) let searchQueryFormRef = ref() -let taskId = '' +let inventoryId = '' const queryTypeOptions = [ { - label: '任务', + label: '未关闭', value: 1 }, { - label: '记录', + label: '已关闭', value: 2 } ] @@ -169,9 +163,9 @@ const search = () => { // 设定查询参数 request.vehicleId = searchQueryFormEntity.vehicleId.trim() request.goodsId = searchQueryFormEntity.goodsId.trim() - request.outType = searchQueryFormEntity.outType === DEFAULT_TOTAL_OPTIONS ? null : searchQueryFormEntity.outType + request.invResult = searchQueryFormEntity.invResult === DEFAULT_TOTAL_OPTIONS ? null : searchQueryFormEntity.invResult request.queryType = searchQueryFormEntity.queryType// 查询类型 - queryOutsByPage(request).then((res) => { + queryInventoryRecordByPage(request).then((res) => { const response = res.data if (response.code === 0) { const data = response.data @@ -204,61 +198,48 @@ const handleSortChange = (data) => { search() } const getCurrentRow = (row) => { - taskId = row.taskId + inventoryId = row.inventoryId } const timeFormat = (row, column, cellValue, index) => { return timeFormatter(cellValue) } -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 +// 盘点任务状态format +const invStatusFormat = (row, column, cellValue, index) => { + switch (cellValue) { + case 0: + return '初始化' + case 1: + return '已解析' + case 2: + return '已确认' + default: + return '未知状态' } - 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 +// 盘点类型format +const invTypeFormat = (row, column, cellValue, index) => { + if (cellValue === 1) { + return '明盘' + } else if (cellValue === 2) { + return '盲盘' + } else { + return '未知类型' + } +} +// 盘点结果format +const invResultFormat = (row, column, cellValue, index) => { + switch (cellValue) { + case -99: + return '未盘' + case -1: + return '盘亏' + case 0: + return '正常' + case 1: + return '盘盈' + default: + return '未知结果' } - 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() - }) } \ No newline at end of file diff --git a/dev_wms_client/src/layout/workSummary.vue b/dev_wms_client/src/layout/workSummary.vue index a8f7202..550d34b 100644 --- a/dev_wms_client/src/layout/workSummary.vue +++ b/dev_wms_client/src/layout/workSummary.vue @@ -178,13 +178,13 @@ - - diff --git a/dev_wms_client/src/utils/generator.js b/dev_wms_client/src/utils/generator.js index 5c46fe2..4f8f5e5 100644 --- a/dev_wms_client/src/utils/generator.js +++ b/dev_wms_client/src/utils/generator.js @@ -25,7 +25,6 @@ export const genTableRequest = (baseTableQuery) => { * @returns */ export const addAllOptionOfOptions = (options, defaultValue) => { - console.log(defaultValue) const allOption = [ { value: defaultValue === undefined || defaultValue === null ? -99 : defaultValue, diff --git a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java index 39d4436..0e29f0a 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java +++ b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java @@ -232,4 +232,14 @@ public class KateWorkController { public BaseWmsApiResponse deleteDbsPlan(@RequestBody DbsRequest dbsRequest) { return kateWorkControllerService.deleteDbsPlan(dbsRequest); } + + /** + * 删除配料单 + * @param kittingBomRequest 删除请求 + * @return 删除结果 + */ + @PostMapping("/deleteKittingBom") + public BaseWmsApiResponse deleteKittingBom(@RequestBody KittingBomRequest kittingBomRequest) { + return kateWorkControllerService.deleteKittingBom(kittingBomRequest); + } } diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/KittingBomQuery.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/KittingBomQuery.java index 73617df..7e96c8d 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/KittingBomQuery.java +++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/KittingBomQuery.java @@ -16,8 +16,8 @@ import lombok.NoArgsConstructor; public class KittingBomQuery extends PageQuery { /** * 配料单类型 - * 1:总成 - * 2:单片 + * 1:非服务件 + * 2:服务件 */ @JsonProperty("bomType") private Integer bomType; diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/KittingBomRequest.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/KittingBomRequest.java new file mode 100644 index 0000000..27c18bd --- /dev/null +++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/KittingBomRequest.java @@ -0,0 +1,44 @@ +package com.wms_main.model.dto.request.wms; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 配料单请求 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class KittingBomRequest extends BaseWmsRequest{ + /** + * 配料单类型 + * 1:非服务件 + * 2:服务件 + */ + @JsonProperty("bomType") + private Integer bomType; + /** + * 机型 + */ + @JsonProperty("model") + private String model; + /** + * 成品号 + */ + @JsonProperty("productId") + private String productId; + /** + * 原材料号 + */ + @JsonProperty("goodsId") + private String goodsId; + /** + * 料盒号 + */ + @JsonProperty("boxNo") + private String boxNo; +} diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/InventoryRecordVo.java b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/InventoryRecordVo.java index d4afebd..be32925 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/InventoryRecordVo.java +++ b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/InventoryRecordVo.java @@ -61,10 +61,9 @@ public class InventoryRecordVo { private Integer invType; /** * 盘点状态 - * 1. 初始化 - * 2. 已解析 - * 3. 数量确认 - * 4. 盘点关闭 + * 0. 初始化 + * 1. 已解析 + * 2. 已确认 */ @JsonProperty("invStatus") private Integer invStatus; diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java index a953064..3d84de2 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java +++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java @@ -159,4 +159,11 @@ public interface IKateWorkControllerService { * @return 删除结果 */ BaseWmsApiResponse deleteDbsPlan(DbsRequest dbsRequest); + + /** + * 删除配料单 + * @param kittingBomRequest 删除请求 + * @return 删除结果 + */ + BaseWmsApiResponse deleteKittingBom(KittingBomRequest kittingBomRequest); } diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java index cb9a5d2..e659b5a 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java +++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java @@ -1331,6 +1331,36 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService return appDbsService.removeById(targetDbs.getDbsId()) ? BaseWmsApiResponse.success("删除DBS成功。") : BaseWmsApiResponse.error("删除DBS失败。"); } + /** + * 删除配料单---实现 + * @param kittingBomRequest 删除请求 + * @return 删除结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public BaseWmsApiResponse deleteKittingBom(KittingBomRequest kittingBomRequest) { + if (kittingBomRequest == null) { + // 请求为NULL + return BaseWmsApiResponse.error("请求参数不能为NULL。"); + } + if (kittingBomRequest.getBomType() == null || StringUtils.isEmpty(kittingBomRequest.getProductId())) { + return BaseWmsApiResponse.error("请求参数中,配料单类型bomType与成品号productId为必须项。"); + } + if (kittingBomRequest.getBomType() == 1) { + // 删除非服务件配料单 + LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper() + .eq(TAppProduct::getProductId, kittingBomRequest.getProductId()); + return appProductService.remove(deleteWrapper) ? BaseWmsApiResponse.success("删除非服务件配料单成功。") : BaseWmsApiResponse.error("删除非服务件配料单失败。"); + } else if (kittingBomRequest.getBomType() == 2) { + // 删除非服务件配料单 + LambdaQueryWrapper deleteServiceWrapper = new LambdaQueryWrapper() + .eq(TAppSingleProduct::getProductId, kittingBomRequest.getProductId()); + return appSingleProductService.remove(deleteServiceWrapper) ? BaseWmsApiResponse.success("删除服务件配料单成功。") : BaseWmsApiResponse.error("删除服务件配料单失败。"); + } else { + return BaseWmsApiResponse.error("请求参数中,配料单类型bomType错误。"); + } + } + /** * 获取服务件成品号的物料需求 *