From dcff7f6292d92b067e078b02a417854789de41c8 Mon Sep 17 00:00:00 2001 From: TanYibin <5491541@qq.com> Date: Fri, 31 Mar 2023 10:45:37 +0800 Subject: [PATCH] 库位比较功能提交(6) --- ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocation.vue | 6 +++--- ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocationTask.vue | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationTaskDto.java | 13 ++++--------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationDto.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationTaskDto.java | 4 ++-- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java | 71 +++++++++++++++++++++++++++++++++++++---------------------------------- 7 files changed, 129 insertions(+), 54 deletions(-) diff --git a/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocation.vue b/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocation.vue index 947c52e..3541c9f 100644 --- a/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocation.vue +++ b/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocation.vue @@ -15,9 +15,9 @@ </a-form-item> </a-col> <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="数据一致性状态"> + <a-form-item label="数据状态"> <j-dict-select-tag - placeholder="请选择数据一致性状态" + placeholder="请选择数据状态" v-model="queryParam.consistencyStatus" dictCode="consistency_status" /> @@ -155,7 +155,7 @@ export default { scopedSlots: { customRender: 'wcsLocationStatus' } }, { - title: '数据一致性状态', + title: '数据状态', align: 'center', dataIndex: 'consistencyStatus', key: 'consistencyStatus', diff --git a/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocationTask.vue b/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocationTask.vue index f98eec1..9689495 100644 --- a/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocationTask.vue +++ b/ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocationTask.vue @@ -15,8 +15,12 @@ </a-form-item> </a-col> <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="WMS任务类型"> - <j-dict-select-tag placeholder="请选择WMS任务类型" v-model="queryParam.taskType" dictCode="task_type" /> + <a-form-item label="数据状态"> + <j-dict-select-tag + placeholder="请选择数据状态" + v-model="queryParam.consistencyStatus" + dictCode="consistency_status" + /> </a-form-item> </a-col> <a-col :xl="6" :lg="7" :md="8" :sm="24"> @@ -36,7 +40,6 @@ ref="table" size="middle" bordered - rowKey="wmsId" :scroll="{ x: true }" :columns="columns" :dataSource="dataSource" @@ -55,6 +58,18 @@ {{ solutionTaskStatus(taskStatus) }} </a-tag> </span> + + <span slot="wcsTaskStatus" slot-scope="wcsTaskStatus"> + <a-tag :key="wcsTaskStatus"> + {{ solutionWcsTaskStatus(wcsTaskStatus) }} + </a-tag> + </span> + + <span slot="consistencyStatus" slot-scope="consistencyStatus"> + <a-tag :key="consistencyStatus" :color="solutionPurchaseColor(consistencyStatus)"> + {{ solutionConsistencyStatus(consistencyStatus) }} + </a-tag> + </span> </a-table> </div> </a-card> @@ -94,6 +109,8 @@ export default { disableMixinCreated: true, taskTypeList: [], taskStatusList: [], + wcsTaskStatusList: [], + consistencyStatusList: [], // 表头 columns: [ { @@ -153,7 +170,9 @@ export default { { title: 'WCS任务状态', align: 'center', - dataIndex: 'wcsTaskStatus' + dataIndex: 'wcsTaskStatus', + key: 'wcsTaskStatus', + scopedSlots: { customRender: 'wcsTaskStatus' } }, { title: '任务创建时间', @@ -164,6 +183,13 @@ export default { title: 'WCS任务创建时间', align: 'center', dataIndex: 'wcsTaskCreateTime' + }, + { + title: '数据状态', + align: 'center', + dataIndex: 'consistencyStatus', + key: 'consistencyStatus', + scopedSlots: { customRender: 'consistencyStatus' } } ], url: { @@ -190,6 +216,7 @@ export default { } }) } + // 获取 task_header_status if (getDictItemsFromCache('task_header_status')) { this.taskStatusList = getDictItemsFromCache('task_header_status') } else { @@ -200,6 +227,29 @@ export default { } }) } + + // 获取 wcs_task_status + if (getDictItemsFromCache('wcs_task_status')) { + this.wcsTaskStatusList = getDictItemsFromCache('wcs_task_status') + } else { + //根据字典Code, 初始化字典数组 + ajaxGetDictItems('wcs_task_status', null).then(res => { + if (res.success) { + this.wcsTaskStatusList = res.result + } + }) + } + // 获取 consistency_status + if (getDictItemsFromCache('consistency_status')) { + this.consistencyStatusList = getDictItemsFromCache('consistency_status') + } else { + //根据字典Code, 初始化字典数组 + ajaxGetDictItems('consistency_status', null).then(res => { + if (res.success) { + this.consistencyStatusList = res.result + } + }) + } }, clearList() { this.dataSource = [] @@ -226,6 +276,33 @@ export default { }) return actions.join('') }, + solutionWcsTaskStatus(value) { + var actions = [] + Object.keys(this.wcsTaskStatusList).some(key => { + if (this.wcsTaskStatusList[key].value == '' + value) { + actions.push(this.wcsTaskStatusList[key].text) + return true + } + }) + return actions.join('') + }, + solutionConsistencyStatus(value) { + var actions = [] + Object.keys(this.consistencyStatusList).some(key => { + if (this.consistencyStatusList[key].value == '' + value) { + actions.push(this.consistencyStatusList[key].text) + return true + } + }) + return actions.join('') + }, + solutionPurchaseColor(value) { + var color = 'blue' + if (0 == value) { + color = 'red' + } + return color + }, searchReset() { var locationCode = this.queryParam['locationCode'] this.queryParam = {} diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java index 094083d..6691ed5 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java @@ -40,7 +40,7 @@ public class CompareLocationDto { /** WCS库位表状态 */ private String wcsLocationStatus; - /** 数据一致性状态 */ + /** 数据状态 */ private Integer consistencyStatus = 1; } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationTaskDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationTaskDto.java index c3aff6e..e44c15d 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationTaskDto.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationTaskDto.java @@ -1,9 +1,5 @@ package org.jeecg.modules.wms.config.location.dto; -import javax.validation.constraints.NotNull; - -import org.jeecg.common.aspect.annotation.Dict; - import lombok.Data; /** @@ -23,11 +19,7 @@ public class CompareLocationTaskDto { /** WCS任务ID */ private Integer wcsId; - /** WCS任务ID */ - private String wcsIdString; - /** 任务类型 */ - @Dict(dicCode = "task_type") private Integer taskType; /** 源库位 */ @@ -52,11 +44,14 @@ public class CompareLocationTaskDto { private Integer taskStatus; /** WCS任务状态 */ - private String wcsTaskStatus; + private Integer wcsTaskStatus; /** 任务创建时间 */ private String taskCreateTime; /** WCS任务创建时间 */ private String wcsTaskCreateTime; + + /** 数据状态 */ + private Integer consistencyStatus = 1; } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationDto.java index a312b34..4fd1aab 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationDto.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationDto.java @@ -14,7 +14,7 @@ public class QueryCompareLocationDto { /** 托盘编码 */ private String containerCode; - /** 数据一致性状态 */ + /** 数据状态 */ private Integer consistencyStatus; /** 页码 */ diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationTaskDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationTaskDto.java index 753c0b4..d42009c 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationTaskDto.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationTaskDto.java @@ -22,8 +22,8 @@ public class QueryCompareLocationTaskDto { /** WCS任务ID */ private Integer wcsId; - /** 任务类型 */ - private Integer taskType; + /** 数据状态 */ + private Integer consistencyStatus; /** 页码 */ private Integer pageNo = 1; diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java index 043b25a..90598a3 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java @@ -571,18 +571,17 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i if (queryCompareLocationTaskDto.getLocationCode() == null) { return PageUtil.create(finalCompareLocationTaskList, queryCompareLocationTaskDto.getPageNo(), queryCompareLocationTaskDto.getPageSize()); } - String queryCreateTime = DateUtil.format(DateUtil.offsetDay(new Date(), -31), DatePattern.NORM_DATE_PATTERN); + // 只查询近90天的数据 + String queryCreateTime = DateUtil.format(DateUtil.offsetDay(new Date(), -90), DatePattern.NORM_DATE_PATTERN); // 1.获取WMS任务信息 LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); - // 只查询近一个月的数据 taskHeaderLambdaQueryWrapper .select(TaskHeader::getId, TaskHeader::getWarehouseCode, TaskHeader::getTaskType, TaskHeader::getFromLocationCode, TaskHeader::getToLocationCode, TaskHeader::getContainerCode, TaskHeader::getStatus, TaskHeader::getCreateTime) .eq(TaskHeader::getWarehouseCode, queryCompareLocationTaskDto.getWarehouseCode()) - .eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()), TaskHeader::getFromLocationCode, - queryCompareLocationTaskDto.getLocationCode()) - .or() - .eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()), TaskHeader::getToLocationCode, queryCompareLocationTaskDto.getLocationCode()) + .and(t -> t.eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()), TaskHeader::getFromLocationCode, + queryCompareLocationTaskDto.getLocationCode()).or().eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()), + TaskHeader::getToLocationCode, queryCompareLocationTaskDto.getLocationCode())) .ge(TaskHeader::getCreateTime, queryCreateTime); List<TaskHeader> taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper); @@ -613,29 +612,32 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i for (TaskHeader taskHeader : taskHeaderList) { List<WcsTaskDto> wcsTaskDtoList = wcsTaskMap.get(taskHeader.getId()); if (!CollectionUtils.isEmpty(wcsTaskDtoList)) { - CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto(); - // 组装WMS数据 - compareLocationTaskDto.setWmsId(taskHeader.getId()); - compareLocationTaskDto.setTaskType(taskHeader.getTaskType()); - compareLocationTaskDto.setWarehouseCode(taskHeader.getWarehouseCode()); - compareLocationTaskDto.setFromLocationCode(taskHeader.getFromLocationCode()); - compareLocationTaskDto.setToLocationCode(taskHeader.getToLocationCode()); - compareLocationTaskDto.setContainerCode(taskHeader.getContainerCode()); - compareLocationTaskDto.setTaskStatus(taskHeader.getStatus()); - compareLocationTaskDto.setTaskCreateTime(DateUtil.format(taskHeader.getCreateTime(), DatePattern.NORM_DATETIME_PATTERN)); - // 组装WCS数据 - compareLocationTaskDto.setWcsId(wcsTaskDtoList.get(0).getId()); - compareLocationTaskDto.setWcsIdString(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getId()).collect(Collectors.toSet()), ",")); - compareLocationTaskDto - .setWcsFromLocationCode(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getFromLocation()).collect(Collectors.toSet()), ",")); - compareLocationTaskDto - .setWcsToLocationCode(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getToLocation()).collect(Collectors.toSet()), ",")); - compareLocationTaskDto - .setWcsContainerCode(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getContainerCode()).collect(Collectors.toSet()), ",")); - compareLocationTaskDto - .setWcsTaskStatus(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getTaskStatusDesc()).collect(Collectors.toSet()), ",")); - compareLocationTaskDto.setWcsTaskCreateTime(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getCreated()).collect(Collectors.toSet()), ",")); - wcsCompareLocationTaskList.add(compareLocationTaskDto); + for (WcsTaskDto wcsTaskDto : wcsTaskDtoList) { + CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto(); + // 组装WMS数据 + compareLocationTaskDto.setWmsId(taskHeader.getId()); + compareLocationTaskDto.setTaskType(taskHeader.getTaskType()); + compareLocationTaskDto.setWarehouseCode(taskHeader.getWarehouseCode()); + compareLocationTaskDto.setFromLocationCode(taskHeader.getFromLocationCode()); + compareLocationTaskDto.setToLocationCode(taskHeader.getToLocationCode()); + compareLocationTaskDto.setContainerCode(taskHeader.getContainerCode()); + compareLocationTaskDto.setTaskStatus(taskHeader.getStatus()); + compareLocationTaskDto.setTaskCreateTime(DateUtil.format(taskHeader.getCreateTime(), DatePattern.NORM_DATETIME_PATTERN)); + // 组装WCS数据 + compareLocationTaskDto.setWcsId(wcsTaskDto.getId()); + compareLocationTaskDto.setWcsFromLocationCode(wcsTaskDto.getFromLocation()); + compareLocationTaskDto.setWcsToLocationCode(wcsTaskDto.getToLocation()); + compareLocationTaskDto.setWcsContainerCode(wcsTaskDto.getContainerCode()); + compareLocationTaskDto.setWcsTaskStatus(wcsTaskDto.getTaskStatus()); + compareLocationTaskDto.setWcsTaskCreateTime(wcsTaskDto.getCreated()); + if (ObjectUtil.compare(compareLocationTaskDto.getFromLocationCode(), compareLocationTaskDto.getWcsFromLocationCode()) != 0 + || ObjectUtil.compare(compareLocationTaskDto.getToLocationCode(), compareLocationTaskDto.getWcsToLocationCode()) != 0 + || ObjectUtil.compare(compareLocationTaskDto.getContainerCode(), compareLocationTaskDto.getWcsContainerCode()) != 0 + || ObjectUtil.compare(compareLocationTaskDto.getTaskStatus(), compareLocationTaskDto.getWcsTaskStatus()) != 0) { + compareLocationTaskDto.setConsistencyStatus(0); + } + wcsCompareLocationTaskList.add(compareLocationTaskDto); + } continue; } CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto(); @@ -648,6 +650,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i compareLocationTaskDto.setContainerCode(taskHeader.getContainerCode()); compareLocationTaskDto.setTaskStatus(taskHeader.getStatus()); compareLocationTaskDto.setTaskCreateTime(DateUtil.format(taskHeader.getCreateTime(), DatePattern.NORM_DATETIME_PATTERN)); + compareLocationTaskDto.setConsistencyStatus(0); finalCompareLocationTaskList.add(compareLocationTaskDto); } } @@ -658,12 +661,12 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto(); // 组装WCS数据 compareLocationTaskDto.setWcsId(wcsTaskDto.getId()); - compareLocationTaskDto.setWcsIdString(wcsTaskDto.getId().toString()); compareLocationTaskDto.setWcsFromLocationCode(wcsTaskDto.getFromLocation()); compareLocationTaskDto.setWcsToLocationCode(wcsTaskDto.getToLocation()); compareLocationTaskDto.setWcsContainerCode(wcsTaskDto.getContainerCode()); - compareLocationTaskDto.setWcsTaskStatus(wcsTaskDto.getTaskStatusDesc()); + compareLocationTaskDto.setWcsTaskStatus(wcsTaskDto.getTaskStatus()); compareLocationTaskDto.setWcsTaskCreateTime(wcsTaskDto.getCreated()); + compareLocationTaskDto.setConsistencyStatus(0); wcsCompareLocationTaskList.add(compareLocationTaskDto); } } @@ -682,9 +685,9 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i finalCompareLocationTaskList = finalCompareLocationTaskList.stream().filter(t -> queryCompareLocationTaskDto.getWcsId().equals(t.getWcsId())).collect(Collectors.toList()); } - if (queryCompareLocationTaskDto.getTaskType() != null) { - finalCompareLocationTaskList = - finalCompareLocationTaskList.stream().filter(t -> queryCompareLocationTaskDto.getTaskType().equals(t.getTaskType())).collect(Collectors.toList()); + if (queryCompareLocationTaskDto.getConsistencyStatus() != null) { + finalCompareLocationTaskList = finalCompareLocationTaskList.stream().filter(t -> queryCompareLocationTaskDto.getConsistencyStatus().equals(t.getConsistencyStatus())) + .collect(Collectors.toList()); } return PageUtil.create(finalCompareLocationTaskList, queryCompareLocationTaskDto.getPageNo(), queryCompareLocationTaskDto.getPageSize()); } -- libgit2 0.22.2