Commit 9c00fa2c197de15f789beba4f039410c6d85ca1a
1 parent
6906a06f
fix:pda根据出库单号查询任务,新增根据库区筛选
Showing
5 changed files
with
157 additions
and
77 deletions
src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java
@@ -17,6 +17,7 @@ import com.huaheng.common.constant.QuantityConstant; | @@ -17,6 +17,7 @@ import com.huaheng.common.constant.QuantityConstant; | ||
17 | import com.huaheng.common.exception.service.ServiceException; | 17 | import com.huaheng.common.exception.service.ServiceException; |
18 | import com.huaheng.common.utils.StringUtils; | 18 | import com.huaheng.common.utils.StringUtils; |
19 | import com.huaheng.common.utils.reflect.ReflectUtils; | 19 | import com.huaheng.common.utils.reflect.ReflectUtils; |
20 | +import com.huaheng.common.utils.security.ShiroUtils; | ||
20 | import com.huaheng.framework.aspectj.lang.annotation.ApiLogger; | 21 | import com.huaheng.framework.aspectj.lang.annotation.ApiLogger; |
21 | import com.huaheng.framework.web.controller.BaseController; | 22 | import com.huaheng.framework.web.controller.BaseController; |
22 | import com.huaheng.framework.web.domain.AjaxResult; | 23 | import com.huaheng.framework.web.domain.AjaxResult; |
@@ -468,15 +469,26 @@ public class MesReceiptController extends BaseController { | @@ -468,15 +469,26 @@ public class MesReceiptController extends BaseController { | ||
468 | //@ApiLogger(apiName = "post调用E_Rd_In(MOM)入库接口", from="ROBOT") | 469 | //@ApiLogger(apiName = "post调用E_Rd_In(MOM)入库接口", from="ROBOT") |
469 | @PostMapping("/postE_Rd_In") | 470 | @PostMapping("/postE_Rd_In") |
470 | public ReturnInfo postE_Rd_In(@RequestBody ReceiptDetail receiptDetail) { | 471 | public ReturnInfo postE_Rd_In(@RequestBody ReceiptDetail receiptDetail) { |
472 | + if (StringUtils.isNotBlank(receiptDetail.getLastUpdatedBy())) { | ||
473 | + receiptDetail.setLastUpdatedBy("PDA"); | ||
474 | + } else if (StringUtils.isNotEmpty(ShiroUtils.getName())) { | ||
475 | + receiptDetail.setLastUpdatedBy(ShiroUtils.getName()); | ||
476 | + } | ||
471 | User user = userService.selectUserByEmail(receiptDetail.getLastUpdatedBy()); | 477 | User user = userService.selectUserByEmail(receiptDetail.getLastUpdatedBy()); |
472 | - ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); //59 | 478 | + String loginName = ""; |
479 | + if (user == null) { | ||
480 | + loginName = "PDA"; | ||
481 | + } else { | ||
482 | + loginName = user.getLoginName(); | ||
483 | + } | ||
484 | + ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); | ||
473 | JSONObject Rd_In_M = new JSONObject(); | 485 | JSONObject Rd_In_M = new JSONObject(); |
474 | Rd_In_M.put("mno", receiptHeader.getCode()); | 486 | Rd_In_M.put("mno", receiptHeader.getCode()); |
475 | Rd_In_M.put("MGPK", receiptHeader.getMOMID()); | 487 | Rd_In_M.put("MGPK", receiptHeader.getMOMID()); |
476 | Rd_In_M.put("cBusType", receiptHeader.getReceiptType()); | 488 | Rd_In_M.put("cBusType", receiptHeader.getReceiptType()); |
477 | Rd_In_M.put("TAID", receiptHeader.getTAID()); | 489 | Rd_In_M.put("TAID", receiptHeader.getTAID()); |
478 | Rd_In_M.put("FAID", receiptHeader.getFAID()); | 490 | Rd_In_M.put("FAID", receiptHeader.getFAID()); |
479 | - Rd_In_M.put("UserNo", user.getLoginName()); | 491 | + Rd_In_M.put("UserNo", loginName); |
480 | Rd_In_M.put("warehouse", receiptHeader.getWarehouse()); | 492 | Rd_In_M.put("warehouse", receiptHeader.getWarehouse()); |
481 | 493 | ||
482 | JSONArray jsonArray = new JSONArray(); | 494 | JSONArray jsonArray = new JSONArray(); |
@@ -493,7 +505,7 @@ public class MesReceiptController extends BaseController { | @@ -493,7 +505,7 @@ public class MesReceiptController extends BaseController { | ||
493 | Rd_In_S.put("receiptBarcode", receiptDetail.getReceiptBarcode()); | 505 | Rd_In_S.put("receiptBarcode", receiptDetail.getReceiptBarcode()); |
494 | Rd_In_S.put("warehouse", receiptHeader.getWarehouse()); | 506 | Rd_In_S.put("warehouse", receiptHeader.getWarehouse()); |
495 | Rd_In_S.put("warehouseName", receiptHeader.getWarehouseName()); | 507 | Rd_In_S.put("warehouseName", receiptHeader.getWarehouseName()); |
496 | - Rd_In_S.put("creatorCode", user.getLoginName()); | 508 | + Rd_In_S.put("creatorCode", loginName); |
497 | Rd_In_S.put("creatorName", receiptDetail.getLastUpdatedBy()); | 509 | Rd_In_S.put("creatorName", receiptDetail.getLastUpdatedBy()); |
498 | Rd_In_S.put("productionWorker", receiptHeader.getProductionWorker()); | 510 | Rd_In_S.put("productionWorker", receiptHeader.getProductionWorker()); |
499 | Rd_In_S.put("productionWorkerName", receiptHeader.getProductionWorkerName()); | 511 | Rd_In_S.put("productionWorkerName", receiptHeader.getProductionWorkerName()); |
src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetailDto.java renamed to src/main/java/com/huaheng/pc/task/taskDetail/domain/PdaTaskDetail.java
1 | package com.huaheng.pc.task.taskDetail.domain; | 1 | package com.huaheng.pc.task.taskDetail.domain; |
2 | 2 | ||
3 | -import com.baomidou.mybatisplus.annotation.*; | ||
4 | -import io.swagger.annotations.ApiModel; | ||
5 | -import io.swagger.annotations.ApiModelProperty; | ||
6 | import lombok.Data; | 3 | import lombok.Data; |
7 | 4 | ||
8 | import java.io.Serializable; | 5 | import java.io.Serializable; |
9 | import java.math.BigDecimal; | 6 | import java.math.BigDecimal; |
10 | -import java.util.Date; | ||
11 | - | ||
12 | 7 | ||
8 | +/** | ||
9 | + * @author yiwenpeng | ||
10 | + * @date 2023/9/13 14:18 | ||
11 | + */ | ||
13 | @Data | 12 | @Data |
14 | -public class TaskDetailDto implements Serializable { | 13 | +public class PdaTaskDetail implements Serializable { |
15 | private static final long serialVersionUID = 1L; | 14 | private static final long serialVersionUID = 1L; |
16 | - | ||
17 | - private Integer taskId; | ||
18 | private String materialCode; | 15 | private String materialCode; |
19 | private String materialName; | 16 | private String materialName; |
20 | - private String materialSpec; | ||
21 | - private String materialUnit; | ||
22 | - private String zoneCode; | ||
23 | - private String zoneName; | ||
24 | private String recordCode; | 17 | private String recordCode; |
25 | private BigDecimal qty; | 18 | private BigDecimal qty; |
26 | } | 19 | } |
src/main/java/com/huaheng/pc/task/taskDetail/domain/PdaTaskHeader.java
0 → 100644
1 | +package com.huaheng.pc.task.taskDetail.domain; | ||
2 | + | ||
3 | +import lombok.Data; | ||
4 | + | ||
5 | +import java.io.Serializable; | ||
6 | +import java.util.List; | ||
7 | + | ||
8 | +/** | ||
9 | + * @author yiwenpeng | ||
10 | + * @date 2023/9/13 14:29 | ||
11 | + */ | ||
12 | +@Data | ||
13 | +public class PdaTaskHeader implements Serializable { | ||
14 | + private static final long serialVersionUID = 1L; | ||
15 | + private Integer taskId; | ||
16 | + private String zoneCode; | ||
17 | + private String zoneName; | ||
18 | + private List<PdaTaskDetail> pdaTaskDetail; | ||
19 | +} |
src/main/java/com/huaheng/pc/task/taskDetail/domain/PdaTaskVo.java
0 → 100644
1 | +package com.huaheng.pc.task.taskDetail.domain; | ||
2 | + | ||
3 | +import lombok.Data; | ||
4 | + | ||
5 | +import java.io.Serializable; | ||
6 | +import java.math.BigDecimal; | ||
7 | +import java.util.List; | ||
8 | + | ||
9 | +/** | ||
10 | + * @author yiwenpeng | ||
11 | + * @date 2023/9/13 13:48 | ||
12 | + */ | ||
13 | + | ||
14 | +@Data | ||
15 | +public class PdaTaskVo implements Serializable { | ||
16 | + private static final long serialVersionUID = 1L; | ||
17 | + | ||
18 | + private List<PdaTaskHeader> pdaTaskHeader; | ||
19 | + | ||
20 | +} |
src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
@@ -35,8 +35,10 @@ import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail; | @@ -35,8 +35,10 @@ import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail; | ||
35 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; | 35 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
36 | import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; | 36 | import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; |
37 | import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; | 37 | import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; |
38 | +import com.huaheng.pc.task.taskDetail.domain.PdaTaskDetail; | ||
39 | +import com.huaheng.pc.task.taskDetail.domain.PdaTaskHeader; | ||
40 | +import com.huaheng.pc.task.taskDetail.domain.PdaTaskVo; | ||
38 | import com.huaheng.pc.task.taskDetail.domain.TaskDetail; | 41 | import com.huaheng.pc.task.taskDetail.domain.TaskDetail; |
39 | -import com.huaheng.pc.task.taskDetail.domain.TaskDetailDto; | ||
40 | import com.huaheng.pc.task.taskDetail.service.TaskDetailService; | 42 | import com.huaheng.pc.task.taskDetail.service.TaskDetailService; |
41 | import com.huaheng.pc.task.taskHeader.domain.MobileTask; | 43 | import com.huaheng.pc.task.taskHeader.domain.MobileTask; |
42 | import com.huaheng.pc.task.taskHeader.domain.TaskHeader; | 44 | import com.huaheng.pc.task.taskHeader.domain.TaskHeader; |
@@ -55,10 +57,7 @@ import org.springframework.web.bind.annotation.*; | @@ -55,10 +57,7 @@ import org.springframework.web.bind.annotation.*; | ||
55 | 57 | ||
56 | import javax.annotation.Resource; | 58 | import javax.annotation.Resource; |
57 | import javax.servlet.http.HttpServletRequest; | 59 | import javax.servlet.http.HttpServletRequest; |
58 | -import java.util.AbstractList; | ||
59 | -import java.util.ArrayList; | ||
60 | -import java.util.Collections; | ||
61 | -import java.util.List; | 60 | +import java.util.*; |
62 | import java.util.stream.Collectors; | 61 | import java.util.stream.Collectors; |
63 | 62 | ||
64 | 63 | ||
@@ -349,72 +348,109 @@ public class TaskHeaderController extends BaseController { | @@ -349,72 +348,109 @@ public class TaskHeaderController extends BaseController { | ||
349 | return AjaxResult.success(); | 348 | return AjaxResult.success(); |
350 | } | 349 | } |
351 | 350 | ||
351 | + | ||
352 | + //@PostMapping("/getTaskByShipmentCode") | ||
353 | + //@ResponseBody | ||
354 | + //public AjaxResult getTaskByShipmentCode(String shipmentCode) { | ||
355 | + // if (StringUtils.isEmpty(shipmentCode)) { | ||
356 | + // return AjaxResult.error("单据号为空!"); | ||
357 | + // } | ||
358 | + // List<TaskDetailDto> DTO = new ArrayList<>(); | ||
359 | + // List<TaskDetail> list = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillCode, shipmentCode)); | ||
360 | + // if (list.isEmpty()) { | ||
361 | + // return AjaxResult.error("该单据号,没有查到对应平库出库任务:" + shipmentCode); | ||
362 | + // } | ||
363 | + // for (TaskDetail taskDetail : list) { | ||
364 | + // if (taskDetail.getFlat() != null && taskDetail.getFlat() == 1 && taskDetail.getStatus().equals(QuantityConstant.TASK_STATUS_BUILD)) { | ||
365 | + // TaskDetailDto taskDetailDto = new TaskDetailDto(); | ||
366 | + // taskDetailDto.setTaskId(taskDetail.getTaskId()); | ||
367 | + // taskDetailDto.setMaterialName(taskDetail.getMaterialName()); | ||
368 | + // taskDetailDto.setMaterialCode(taskDetail.getMaterialCode()); | ||
369 | + // taskDetailDto.setZoneCode(taskDetail.getZoneCode()); | ||
370 | + // taskDetailDto.setZoneName(taskDetail.getZoneName()); | ||
371 | + // taskDetailDto.setRecordCode(taskDetail.getRecordCode()); | ||
372 | + // taskDetailDto.setQty(taskDetail.getQty()); | ||
373 | + // DTO.add(taskDetailDto); | ||
374 | + // } | ||
375 | + // } | ||
376 | + // return AjaxResult.success(DTO); | ||
377 | + //} | ||
378 | + | ||
352 | @PostMapping("/getTaskByShipmentCode") | 379 | @PostMapping("/getTaskByShipmentCode") |
353 | @ResponseBody | 380 | @ResponseBody |
354 | - public AjaxResult getTaskByShipmentCode(String shipmentCode) { | 381 | + public AjaxResult getTaskByShipmentCode(String shipmentCode, String zoneCode) { |
355 | if (StringUtils.isEmpty(shipmentCode)) { | 382 | if (StringUtils.isEmpty(shipmentCode)) { |
356 | return AjaxResult.error("单据号为空!"); | 383 | return AjaxResult.error("单据号为空!"); |
357 | } | 384 | } |
358 | - List<TaskDetailDto> DTO = new ArrayList<>(); | ||
359 | - List<TaskDetail> list = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillCode, shipmentCode)); | ||
360 | - if (list.isEmpty()) { | 385 | + List<TaskDetail> taskDetails = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>() |
386 | + .eq(StringUtils.isNotEmpty(zoneCode), TaskDetail::getZoneCode, zoneCode) | ||
387 | + .eq(TaskDetail::getBillCode, shipmentCode)); | ||
388 | + if (taskDetails.isEmpty()) { | ||
361 | return AjaxResult.error("该单据号,没有查到对应平库出库任务:" + shipmentCode); | 389 | return AjaxResult.error("该单据号,没有查到对应平库出库任务:" + shipmentCode); |
362 | - //List<TaskDetail> list1 = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getRecordCode, shipmentCode)); | ||
363 | - //if (!list1.isEmpty()) { | ||
364 | - // shipmentCode = list1.get(0).getBillCode(); | ||
365 | - // list = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillCode, shipmentCode)); | ||
366 | - //} else { | ||
367 | - // return AjaxResult.error("该单据号,没有查到对应平库出库任务:" + shipmentCode); | ||
368 | - //} | ||
369 | } | 390 | } |
370 | - for (TaskDetail taskDetail : list) { | ||
371 | - if (taskDetail.getFlat() != null && taskDetail.getFlat() == 1 && taskDetail.getStatus().equals(QuantityConstant.TASK_STATUS_BUILD)) { | ||
372 | - TaskDetailDto taskDetailDto = new TaskDetailDto(); | ||
373 | - taskDetailDto.setTaskId(taskDetail.getTaskId()); | ||
374 | - taskDetailDto.setMaterialName(taskDetail.getMaterialName()); | ||
375 | - taskDetailDto.setMaterialCode(taskDetail.getMaterialCode()); | ||
376 | - taskDetailDto.setZoneCode(taskDetail.getZoneCode()); | ||
377 | - taskDetailDto.setZoneName(taskDetail.getZoneName()); | ||
378 | - taskDetailDto.setRecordCode(taskDetail.getRecordCode()); | ||
379 | - taskDetailDto.setQty(taskDetail.getQty()); | ||
380 | - DTO.add(taskDetailDto); | 391 | + List<Integer> ids = taskDetails.stream().map(TaskDetail::getTaskId).distinct().collect(Collectors.toList()); |
392 | + PdaTaskVo VO = new PdaTaskVo(); | ||
393 | + List<TaskHeader> taskHeaders = taskHeaderService.list(new LambdaQueryWrapper<TaskHeader>().in(TaskHeader::getId, ids)); | ||
394 | + List<PdaTaskHeader> headerList = new ArrayList<>(); | ||
395 | + for (TaskHeader taskHeader : taskHeaders) { | ||
396 | + List<PdaTaskDetail> details = new ArrayList<>(); | ||
397 | + if (taskHeader.getFlat() != null && taskHeader.getFlat() == 1 && taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_BUILD)) { | ||
398 | + PdaTaskHeader header = new PdaTaskHeader(); | ||
399 | + header.setTaskId(taskHeader.getId()); | ||
400 | + header.setZoneCode(taskHeader.getZoneCode()); | ||
401 | + String name = zoneService.getOne(new LambdaQueryWrapper<Zone>().eq(Zone::getCode, taskHeader.getZoneCode())).getName(); | ||
402 | + header.setZoneName(name); | ||
403 | + for (TaskDetail taskDetail : taskDetails) { | ||
404 | + if (taskDetail.getTaskId().equals(taskHeader.getId())) { | ||
405 | + PdaTaskDetail detail = new PdaTaskDetail(); | ||
406 | + detail.setMaterialCode(taskDetail.getMaterialCode()); | ||
407 | + detail.setMaterialName(taskDetail.getMaterialName()); | ||
408 | + detail.setRecordCode(taskDetail.getRecordCode()); | ||
409 | + detail.setQty(taskDetail.getQty()); | ||
410 | + details.add(detail); | ||
411 | + } | ||
412 | + | ||
413 | + } | ||
414 | + header.setPdaTaskDetail(details); | ||
415 | + headerList.add(header); | ||
381 | } | 416 | } |
382 | } | 417 | } |
383 | - return AjaxResult.success(DTO); | 418 | + VO.setPdaTaskHeader(headerList); |
419 | + return AjaxResult.success(VO); | ||
384 | } | 420 | } |
385 | 421 | ||
386 | - @PostMapping("/getTaskByTaskId") | ||
387 | - @ResponseBody | ||
388 | - public AjaxResult getTaskByTaskId(String taskId) { | ||
389 | - if (StringUtils.isEmpty(taskId)) { | ||
390 | - return AjaxResult.error("任务号为空!"); | ||
391 | - } | ||
392 | - TaskHeader taskHeader = taskHeaderService.getById(taskId); | ||
393 | - if (taskHeader == null) { | ||
394 | - return AjaxResult.error("任务没找到ID:" + taskId); | ||
395 | - } | ||
396 | - if (!taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_BUILD)) { | ||
397 | - return AjaxResult.error("任务不是新建状态,可能已完成"); | ||
398 | - } | ||
399 | - if (taskHeader.getFlat() == null || taskHeader.getFlat() != 1) { | ||
400 | - return AjaxResult.error("只能扫平库任务"); | ||
401 | - } | ||
402 | - List<TaskDetail> taskDetails = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getTaskId, taskId)); | ||
403 | - if (taskDetails.isEmpty()) { | ||
404 | - return AjaxResult.error("没有查到对应的任务明细"); | ||
405 | - } | ||
406 | - List<TaskDetailDto> DTO = new ArrayList<>(); | ||
407 | - for (TaskDetail taskDetail : taskDetails) { | ||
408 | - TaskDetailDto taskDetailDto = new TaskDetailDto(); | ||
409 | - taskDetailDto.setTaskId(taskDetail.getTaskId()); | ||
410 | - taskDetailDto.setMaterialName(taskDetail.getMaterialName()); | ||
411 | - taskDetailDto.setMaterialCode(taskDetail.getMaterialCode()); | ||
412 | - taskDetailDto.setZoneCode(taskDetail.getZoneCode()); | ||
413 | - taskDetailDto.setZoneName(taskDetail.getZoneName()); | ||
414 | - taskDetailDto.setRecordCode(taskDetail.getRecordCode()); | ||
415 | - taskDetailDto.setQty(taskDetail.getQty()); | ||
416 | - DTO.add(taskDetailDto); | ||
417 | - } | ||
418 | - return AjaxResult.success(DTO); | ||
419 | - } | 422 | + //@PostMapping("/getTaskByTaskId") |
423 | + //@ResponseBody | ||
424 | + //public AjaxResult getTaskByTaskId(String taskId) { | ||
425 | + // if (StringUtils.isEmpty(taskId)) { | ||
426 | + // return AjaxResult.error("任务号为空!"); | ||
427 | + // } | ||
428 | + // TaskHeader taskHeader = taskHeaderService.getById(taskId); | ||
429 | + // if (taskHeader == null) { | ||
430 | + // return AjaxResult.error("任务没找到ID:" + taskId); | ||
431 | + // } | ||
432 | + // if (!taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_BUILD)) { | ||
433 | + // return AjaxResult.error("任务不是新建状态,可能已完成"); | ||
434 | + // } | ||
435 | + // if (taskHeader.getFlat() == null || taskHeader.getFlat() != 1) { | ||
436 | + // return AjaxResult.error("只能扫平库任务"); | ||
437 | + // } | ||
438 | + // List<TaskDetail> taskDetails = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getTaskId, taskId)); | ||
439 | + // if (taskDetails.isEmpty()) { | ||
440 | + // return AjaxResult.error("没有查到对应的任务明细"); | ||
441 | + // } | ||
442 | + // List<TaskDetailDto> DTO = new ArrayList<>(); | ||
443 | + // for (TaskDetail taskDetail : taskDetails) { | ||
444 | + // TaskDetailDto taskDetailDto = new TaskDetailDto(); | ||
445 | + // taskDetailDto.setTaskId(taskDetail.getTaskId()); | ||
446 | + // taskDetailDto.setMaterialName(taskDetail.getMaterialName()); | ||
447 | + // taskDetailDto.setMaterialCode(taskDetail.getMaterialCode()); | ||
448 | + // taskDetailDto.setZoneCode(taskDetail.getZoneCode()); | ||
449 | + // taskDetailDto.setZoneName(taskDetail.getZoneName()); | ||
450 | + // taskDetailDto.setRecordCode(taskDetail.getRecordCode()); | ||
451 | + // taskDetailDto.setQty(taskDetail.getQty()); | ||
452 | + // DTO.add(taskDetailDto); | ||
453 | + // } | ||
454 | + // return AjaxResult.success(DTO); | ||
455 | + //} | ||
420 | } | 456 | } |