Commit dcff7f6292d92b067e078b02a417854789de41c8

Authored by 谭毅彬
1 parent bd523154

库位比较功能提交(6)

Signed-off-by: TanYibin <5491541@qq.com>
ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocation.vue
... ... @@ -15,9 +15,9 @@
15 15 </a-form-item>
16 16 </a-col>
17 17 <a-col :xl="6" :lg="7" :md="8" :sm="24">
18   - <a-form-item label="数据一致性状态">
  18 + <a-form-item label="数据状态">
19 19 <j-dict-select-tag
20   - placeholder="请选择数据一致性状态"
  20 + placeholder="请选择数据状态"
21 21 v-model="queryParam.consistencyStatus"
22 22 dictCode="consistency_status"
23 23 />
... ... @@ -155,7 +155,7 @@ export default {
155 155 scopedSlots: { customRender: 'wcsLocationStatus' }
156 156 },
157 157 {
158   - title: '数据一致性状态',
  158 + title: '数据状态',
159 159 align: 'center',
160 160 dataIndex: 'consistencyStatus',
161 161 key: 'consistencyStatus',
... ...
ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocationTask.vue
... ... @@ -15,8 +15,12 @@
15 15 </a-form-item>
16 16 </a-col>
17 17 <a-col :xl="6" :lg="7" :md="8" :sm="24">
18   - <a-form-item label="WMS任务类型">
19   - <j-dict-select-tag placeholder="请选择WMS任务类型" v-model="queryParam.taskType" dictCode="task_type" />
  18 + <a-form-item label="数据状态">
  19 + <j-dict-select-tag
  20 + placeholder="请选择数据状态"
  21 + v-model="queryParam.consistencyStatus"
  22 + dictCode="consistency_status"
  23 + />
20 24 </a-form-item>
21 25 </a-col>
22 26 <a-col :xl="6" :lg="7" :md="8" :sm="24">
... ... @@ -36,7 +40,6 @@
36 40 ref="table"
37 41 size="middle"
38 42 bordered
39   - rowKey="wmsId"
40 43 :scroll="{ x: true }"
41 44 :columns="columns"
42 45 :dataSource="dataSource"
... ... @@ -55,6 +58,18 @@
55 58 {{ solutionTaskStatus(taskStatus) }}
56 59 </a-tag>
57 60 </span>
  61 +
  62 + <span slot="wcsTaskStatus" slot-scope="wcsTaskStatus">
  63 + <a-tag :key="wcsTaskStatus">
  64 + {{ solutionWcsTaskStatus(wcsTaskStatus) }}
  65 + </a-tag>
  66 + </span>
  67 +
  68 + <span slot="consistencyStatus" slot-scope="consistencyStatus">
  69 + <a-tag :key="consistencyStatus" :color="solutionPurchaseColor(consistencyStatus)">
  70 + {{ solutionConsistencyStatus(consistencyStatus) }}
  71 + </a-tag>
  72 + </span>
58 73 </a-table>
59 74 </div>
60 75 </a-card>
... ... @@ -94,6 +109,8 @@ export default {
94 109 disableMixinCreated: true,
95 110 taskTypeList: [],
96 111 taskStatusList: [],
  112 + wcsTaskStatusList: [],
  113 + consistencyStatusList: [],
97 114 // 表头
98 115 columns: [
99 116 {
... ... @@ -153,7 +170,9 @@ export default {
153 170 {
154 171 title: 'WCS任务状态',
155 172 align: 'center',
156   - dataIndex: 'wcsTaskStatus'
  173 + dataIndex: 'wcsTaskStatus',
  174 + key: 'wcsTaskStatus',
  175 + scopedSlots: { customRender: 'wcsTaskStatus' }
157 176 },
158 177 {
159 178 title: '任务创建时间',
... ... @@ -164,6 +183,13 @@ export default {
164 183 title: 'WCS任务创建时间',
165 184 align: 'center',
166 185 dataIndex: 'wcsTaskCreateTime'
  186 + },
  187 + {
  188 + title: '数据状态',
  189 + align: 'center',
  190 + dataIndex: 'consistencyStatus',
  191 + key: 'consistencyStatus',
  192 + scopedSlots: { customRender: 'consistencyStatus' }
167 193 }
168 194 ],
169 195 url: {
... ... @@ -190,6 +216,7 @@ export default {
190 216 }
191 217 })
192 218 }
  219 + // 获取 task_header_status
193 220 if (getDictItemsFromCache('task_header_status')) {
194 221 this.taskStatusList = getDictItemsFromCache('task_header_status')
195 222 } else {
... ... @@ -200,6 +227,29 @@ export default {
200 227 }
201 228 })
202 229 }
  230 +
  231 + // 获取 wcs_task_status
  232 + if (getDictItemsFromCache('wcs_task_status')) {
  233 + this.wcsTaskStatusList = getDictItemsFromCache('wcs_task_status')
  234 + } else {
  235 + //根据字典Code, 初始化字典数组
  236 + ajaxGetDictItems('wcs_task_status', null).then(res => {
  237 + if (res.success) {
  238 + this.wcsTaskStatusList = res.result
  239 + }
  240 + })
  241 + }
  242 + // 获取 consistency_status
  243 + if (getDictItemsFromCache('consistency_status')) {
  244 + this.consistencyStatusList = getDictItemsFromCache('consistency_status')
  245 + } else {
  246 + //根据字典Code, 初始化字典数组
  247 + ajaxGetDictItems('consistency_status', null).then(res => {
  248 + if (res.success) {
  249 + this.consistencyStatusList = res.result
  250 + }
  251 + })
  252 + }
203 253 },
204 254 clearList() {
205 255 this.dataSource = []
... ... @@ -226,6 +276,33 @@ export default {
226 276 })
227 277 return actions.join('')
228 278 },
  279 + solutionWcsTaskStatus(value) {
  280 + var actions = []
  281 + Object.keys(this.wcsTaskStatusList).some(key => {
  282 + if (this.wcsTaskStatusList[key].value == '' + value) {
  283 + actions.push(this.wcsTaskStatusList[key].text)
  284 + return true
  285 + }
  286 + })
  287 + return actions.join('')
  288 + },
  289 + solutionConsistencyStatus(value) {
  290 + var actions = []
  291 + Object.keys(this.consistencyStatusList).some(key => {
  292 + if (this.consistencyStatusList[key].value == '' + value) {
  293 + actions.push(this.consistencyStatusList[key].text)
  294 + return true
  295 + }
  296 + })
  297 + return actions.join('')
  298 + },
  299 + solutionPurchaseColor(value) {
  300 + var color = 'blue'
  301 + if (0 == value) {
  302 + color = 'red'
  303 + }
  304 + return color
  305 + },
229 306 searchReset() {
230 307 var locationCode = this.queryParam['locationCode']
231 308 this.queryParam = {}
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationDto.java
... ... @@ -40,7 +40,7 @@ public class CompareLocationDto {
40 40 /** WCS库位表状态 */
41 41 private String wcsLocationStatus;
42 42  
43   - /** 数据一致性状态 */
  43 + /** 数据状态 */
44 44 private Integer consistencyStatus = 1;
45 45  
46 46 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/CompareLocationTaskDto.java
1 1 package org.jeecg.modules.wms.config.location.dto;
2 2  
3   -import javax.validation.constraints.NotNull;
4   -
5   -import org.jeecg.common.aspect.annotation.Dict;
6   -
7 3 import lombok.Data;
8 4  
9 5 /**
... ... @@ -23,11 +19,7 @@ public class CompareLocationTaskDto {
23 19 /** WCS任务ID */
24 20 private Integer wcsId;
25 21  
26   - /** WCS任务ID */
27   - private String wcsIdString;
28   -
29 22 /** 任务类型 */
30   - @Dict(dicCode = "task_type")
31 23 private Integer taskType;
32 24  
33 25 /** 源库位 */
... ... @@ -52,11 +44,14 @@ public class CompareLocationTaskDto {
52 44 private Integer taskStatus;
53 45  
54 46 /** WCS任务状态 */
55   - private String wcsTaskStatus;
  47 + private Integer wcsTaskStatus;
56 48  
57 49 /** 任务创建时间 */
58 50 private String taskCreateTime;
59 51  
60 52 /** WCS任务创建时间 */
61 53 private String wcsTaskCreateTime;
  54 +
  55 + /** 数据状态 */
  56 + private Integer consistencyStatus = 1;
62 57 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationDto.java
... ... @@ -14,7 +14,7 @@ public class QueryCompareLocationDto {
14 14 /** 托盘编码 */
15 15 private String containerCode;
16 16  
17   - /** 数据一致性状态 */
  17 + /** 数据状态 */
18 18 private Integer consistencyStatus;
19 19  
20 20 /** 页码 */
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/dto/QueryCompareLocationTaskDto.java
... ... @@ -22,8 +22,8 @@ public class QueryCompareLocationTaskDto {
22 22 /** WCS任务ID */
23 23 private Integer wcsId;
24 24  
25   - /** 任务类型 */
26   - private Integer taskType;
  25 + /** 数据状态 */
  26 + private Integer consistencyStatus;
27 27  
28 28 /** 页码 */
29 29 private Integer pageNo = 1;
... ...
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&lt;LocationMapper, Location&gt; i
571 571 if (queryCompareLocationTaskDto.getLocationCode() == null) {
572 572 return PageUtil.create(finalCompareLocationTaskList, queryCompareLocationTaskDto.getPageNo(), queryCompareLocationTaskDto.getPageSize());
573 573 }
574   - String queryCreateTime = DateUtil.format(DateUtil.offsetDay(new Date(), -31), DatePattern.NORM_DATE_PATTERN);
  574 + // 只查询近90天的数据
  575 + String queryCreateTime = DateUtil.format(DateUtil.offsetDay(new Date(), -90), DatePattern.NORM_DATE_PATTERN);
575 576 // 1.获取WMS任务信息
576 577 LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
577   - // 只查询近一个月的数据
578 578 taskHeaderLambdaQueryWrapper
579 579 .select(TaskHeader::getId, TaskHeader::getWarehouseCode, TaskHeader::getTaskType, TaskHeader::getFromLocationCode, TaskHeader::getToLocationCode,
580 580 TaskHeader::getContainerCode, TaskHeader::getStatus, TaskHeader::getCreateTime)
581 581 .eq(TaskHeader::getWarehouseCode, queryCompareLocationTaskDto.getWarehouseCode())
582   - .eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()), TaskHeader::getFromLocationCode,
583   - queryCompareLocationTaskDto.getLocationCode())
584   - .or()
585   - .eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()), TaskHeader::getToLocationCode, queryCompareLocationTaskDto.getLocationCode())
  582 + .and(t -> t.eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()), TaskHeader::getFromLocationCode,
  583 + queryCompareLocationTaskDto.getLocationCode()).or().eq(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode()),
  584 + TaskHeader::getToLocationCode, queryCompareLocationTaskDto.getLocationCode()))
586 585 .ge(TaskHeader::getCreateTime, queryCreateTime);
587 586 List<TaskHeader> taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper);
588 587  
... ... @@ -613,29 +612,32 @@ public class LocationServiceImpl extends ServiceImpl&lt;LocationMapper, Location&gt; i
613 612 for (TaskHeader taskHeader : taskHeaderList) {
614 613 List<WcsTaskDto> wcsTaskDtoList = wcsTaskMap.get(taskHeader.getId());
615 614 if (!CollectionUtils.isEmpty(wcsTaskDtoList)) {
616   - CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto();
617   - // 组装WMS数据
618   - compareLocationTaskDto.setWmsId(taskHeader.getId());
619   - compareLocationTaskDto.setTaskType(taskHeader.getTaskType());
620   - compareLocationTaskDto.setWarehouseCode(taskHeader.getWarehouseCode());
621   - compareLocationTaskDto.setFromLocationCode(taskHeader.getFromLocationCode());
622   - compareLocationTaskDto.setToLocationCode(taskHeader.getToLocationCode());
623   - compareLocationTaskDto.setContainerCode(taskHeader.getContainerCode());
624   - compareLocationTaskDto.setTaskStatus(taskHeader.getStatus());
625   - compareLocationTaskDto.setTaskCreateTime(DateUtil.format(taskHeader.getCreateTime(), DatePattern.NORM_DATETIME_PATTERN));
626   - // 组装WCS数据
627   - compareLocationTaskDto.setWcsId(wcsTaskDtoList.get(0).getId());
628   - compareLocationTaskDto.setWcsIdString(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getId()).collect(Collectors.toSet()), ","));
629   - compareLocationTaskDto
630   - .setWcsFromLocationCode(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getFromLocation()).collect(Collectors.toSet()), ","));
631   - compareLocationTaskDto
632   - .setWcsToLocationCode(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getToLocation()).collect(Collectors.toSet()), ","));
633   - compareLocationTaskDto
634   - .setWcsContainerCode(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getContainerCode()).collect(Collectors.toSet()), ","));
635   - compareLocationTaskDto
636   - .setWcsTaskStatus(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getTaskStatusDesc()).collect(Collectors.toSet()), ","));
637   - compareLocationTaskDto.setWcsTaskCreateTime(StringUtils.join(wcsTaskDtoList.stream().map(t -> t.getCreated()).collect(Collectors.toSet()), ","));
638   - wcsCompareLocationTaskList.add(compareLocationTaskDto);
  615 + for (WcsTaskDto wcsTaskDto : wcsTaskDtoList) {
  616 + CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto();
  617 + // 组装WMS数据
  618 + compareLocationTaskDto.setWmsId(taskHeader.getId());
  619 + compareLocationTaskDto.setTaskType(taskHeader.getTaskType());
  620 + compareLocationTaskDto.setWarehouseCode(taskHeader.getWarehouseCode());
  621 + compareLocationTaskDto.setFromLocationCode(taskHeader.getFromLocationCode());
  622 + compareLocationTaskDto.setToLocationCode(taskHeader.getToLocationCode());
  623 + compareLocationTaskDto.setContainerCode(taskHeader.getContainerCode());
  624 + compareLocationTaskDto.setTaskStatus(taskHeader.getStatus());
  625 + compareLocationTaskDto.setTaskCreateTime(DateUtil.format(taskHeader.getCreateTime(), DatePattern.NORM_DATETIME_PATTERN));
  626 + // 组装WCS数据
  627 + compareLocationTaskDto.setWcsId(wcsTaskDto.getId());
  628 + compareLocationTaskDto.setWcsFromLocationCode(wcsTaskDto.getFromLocation());
  629 + compareLocationTaskDto.setWcsToLocationCode(wcsTaskDto.getToLocation());
  630 + compareLocationTaskDto.setWcsContainerCode(wcsTaskDto.getContainerCode());
  631 + compareLocationTaskDto.setWcsTaskStatus(wcsTaskDto.getTaskStatus());
  632 + compareLocationTaskDto.setWcsTaskCreateTime(wcsTaskDto.getCreated());
  633 + if (ObjectUtil.compare(compareLocationTaskDto.getFromLocationCode(), compareLocationTaskDto.getWcsFromLocationCode()) != 0
  634 + || ObjectUtil.compare(compareLocationTaskDto.getToLocationCode(), compareLocationTaskDto.getWcsToLocationCode()) != 0
  635 + || ObjectUtil.compare(compareLocationTaskDto.getContainerCode(), compareLocationTaskDto.getWcsContainerCode()) != 0
  636 + || ObjectUtil.compare(compareLocationTaskDto.getTaskStatus(), compareLocationTaskDto.getWcsTaskStatus()) != 0) {
  637 + compareLocationTaskDto.setConsistencyStatus(0);
  638 + }
  639 + wcsCompareLocationTaskList.add(compareLocationTaskDto);
  640 + }
639 641 continue;
640 642 }
641 643 CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto();
... ... @@ -648,6 +650,7 @@ public class LocationServiceImpl extends ServiceImpl&lt;LocationMapper, Location&gt; i
648 650 compareLocationTaskDto.setContainerCode(taskHeader.getContainerCode());
649 651 compareLocationTaskDto.setTaskStatus(taskHeader.getStatus());
650 652 compareLocationTaskDto.setTaskCreateTime(DateUtil.format(taskHeader.getCreateTime(), DatePattern.NORM_DATETIME_PATTERN));
  653 + compareLocationTaskDto.setConsistencyStatus(0);
651 654 finalCompareLocationTaskList.add(compareLocationTaskDto);
652 655 }
653 656 }
... ... @@ -658,12 +661,12 @@ public class LocationServiceImpl extends ServiceImpl&lt;LocationMapper, Location&gt; i
658 661 CompareLocationTaskDto compareLocationTaskDto = new CompareLocationTaskDto();
659 662 // 组装WCS数据
660 663 compareLocationTaskDto.setWcsId(wcsTaskDto.getId());
661   - compareLocationTaskDto.setWcsIdString(wcsTaskDto.getId().toString());
662 664 compareLocationTaskDto.setWcsFromLocationCode(wcsTaskDto.getFromLocation());
663 665 compareLocationTaskDto.setWcsToLocationCode(wcsTaskDto.getToLocation());
664 666 compareLocationTaskDto.setWcsContainerCode(wcsTaskDto.getContainerCode());
665   - compareLocationTaskDto.setWcsTaskStatus(wcsTaskDto.getTaskStatusDesc());
  667 + compareLocationTaskDto.setWcsTaskStatus(wcsTaskDto.getTaskStatus());
666 668 compareLocationTaskDto.setWcsTaskCreateTime(wcsTaskDto.getCreated());
  669 + compareLocationTaskDto.setConsistencyStatus(0);
667 670 wcsCompareLocationTaskList.add(compareLocationTaskDto);
668 671 }
669 672 }
... ... @@ -682,9 +685,9 @@ public class LocationServiceImpl extends ServiceImpl&lt;LocationMapper, Location&gt; i
682 685 finalCompareLocationTaskList =
683 686 finalCompareLocationTaskList.stream().filter(t -> queryCompareLocationTaskDto.getWcsId().equals(t.getWcsId())).collect(Collectors.toList());
684 687 }
685   - if (queryCompareLocationTaskDto.getTaskType() != null) {
686   - finalCompareLocationTaskList =
687   - finalCompareLocationTaskList.stream().filter(t -> queryCompareLocationTaskDto.getTaskType().equals(t.getTaskType())).collect(Collectors.toList());
  688 + if (queryCompareLocationTaskDto.getConsistencyStatus() != null) {
  689 + finalCompareLocationTaskList = finalCompareLocationTaskList.stream().filter(t -> queryCompareLocationTaskDto.getConsistencyStatus().equals(t.getConsistencyStatus()))
  690 + .collect(Collectors.toList());
688 691 }
689 692 return PageUtil.create(finalCompareLocationTaskList, queryCompareLocationTaskDto.getPageNo(), queryCompareLocationTaskDto.getPageSize());
690 693 }
... ...