Commit 3a970cd29307c4160b16acf58c1b9899e9ce1cbd
1 parent
ea534a9c
feat:新增PDA根据单据查询全部任务接口和根据任务号查询任务数据接口
Showing
4 changed files
with
87 additions
and
10 deletions
src/main/java/com/huaheng/framework/config/ShiroConfig.java
... | ... | @@ -255,6 +255,8 @@ public class ShiroConfig { |
255 | 255 | filterChainDefinitionMap.put("/mobile/download/*", "anon"); |
256 | 256 | filterChainDefinitionMap.put("/config/zone/*", "anon"); |
257 | 257 | filterChainDefinitionMap.put("/receipt/receiptHeader/listPda", "anon"); |
258 | + filterChainDefinitionMap.put("receipt/receiving/flatSaveBatch", "anon"); | |
259 | + filterChainDefinitionMap.put("/task/taskHeader/*", "anon"); | |
258 | 260 | filterChainDefinitionMap.put("/admin/login", "anon"); |
259 | 261 | filterChainDefinitionMap.put("/login", "anon"); |
260 | 262 | filterChainDefinitionMap.put("/file/**", "anon"); |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -150,7 +150,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
150 | 150 | |
151 | 151 | ReceiptContainerHeader receiptContainerHeader = new ReceiptContainerHeader(); |
152 | 152 | //当size大于等于1表示容器已经有组盘了 |
153 | - if (list.size() < 1) { | |
153 | + if (list.isEmpty()) { | |
154 | 154 | ReceiptDetail receiptDetail = receiptDetailService.getById(receiptDetailId); |
155 | 155 | receiptContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); |
156 | 156 | receiptContainerHeader.setCompanyCode(receiptDetail.getCompanyCode()); |
... | ... | @@ -232,11 +232,10 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
232 | 232 | throw new ServiceException("平库不能为空"); |
233 | 233 | } |
234 | 234 | //创建临时容器 |
235 | - //String containerCode = createFlatContainer(locationType); | |
235 | + String containerCode = createFlatContainer(locationType); | |
236 | + //String locationCode = createFlatLocation(locationType); | |
236 | 237 | |
237 | 238 | Container container = containerService.getOne(new LambdaQueryWrapper<Container>().eq(Container::getContainerType, locationType)); |
238 | - String containerCode = container.getCode(); | |
239 | - | |
240 | 239 | //检查容器编码合法性 |
241 | 240 | Integer taskType = checkContainer(containerCode, detail.getMaterialCode()); |
242 | 241 | if (taskType == 1) { |
... | ... | @@ -726,20 +725,21 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
726 | 725 | * 自动生成平库容器编码 |
727 | 726 | */ |
728 | 727 | @Transactional |
729 | - public String createFlatContainer(String locationCode) { | |
728 | + public String createFlatContainer(String type) { | |
730 | 729 | LocalDateTime now = LocalDateTime.now(); |
731 | 730 | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyMMddHHmmssSSS"); |
732 | 731 | String timestamp = now.format(formatter); |
733 | - String code = locationCode + timestamp; | |
732 | + String code = type + timestamp; | |
734 | 733 | Container container = new Container(); |
735 | 734 | container.setCode(code); |
736 | 735 | container.setWarehouseCode(ShiroUtils.getWarehouseCode()); |
737 | 736 | container.setCompanyCode(ShiroUtils.getCompanyCodeList().get(0)); |
738 | - container.setContainerType("PK"); | |
737 | + container.setContainerType(type);//平库托盘 | |
739 | 738 | container.setCreatedBy(ShiroUtils.getName()); |
740 | 739 | container.setLastUpdated(new Date()); |
741 | 740 | container.setLastUpdatedBy(ShiroUtils.getName()); |
742 | 741 | container.setEnable(true); |
742 | + container.setFlat(1); | |
743 | 743 | container.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY); |
744 | 744 | if (!containerService.save(container)) { |
745 | 745 | throw new ServiceException("新增容器失败"); |
... | ... | @@ -747,6 +747,34 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
747 | 747 | return code; |
748 | 748 | } |
749 | 749 | |
750 | + /** | |
751 | + * 自动生成平库库位编码 | |
752 | + */ | |
753 | + @Transactional | |
754 | + public String createFlatLocation(String type) { | |
755 | + LocalDateTime now = LocalDateTime.now(); | |
756 | + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyMMddHHmmssSSS"); | |
757 | + String timestamp = now.format(formatter); | |
758 | + String code = type + timestamp; | |
759 | + Location location = new Location(); | |
760 | + location.setCode(code); | |
761 | + location.setIColumn(0); | |
762 | + location.setIRow(0); | |
763 | + location.setILayer(0); | |
764 | + location.setIGrid(0); | |
765 | + location.setRowFlag(0); | |
766 | + location.setWarehouseCode(ShiroUtils.getWarehouseCode()); | |
767 | + location.setLocationType(type); | |
768 | + location.setCreatedBy(ShiroUtils.getName()); | |
769 | + location.setLastUpdated(new Date()); | |
770 | + location.setLastUpdatedBy(ShiroUtils.getName()); | |
771 | + location.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY); | |
772 | + if (!locationService.save(location)) { | |
773 | + throw new ServiceException("新增库位失败"); | |
774 | + } | |
775 | + return code; | |
776 | + } | |
777 | + | |
750 | 778 | @Override |
751 | 779 | @Transactional |
752 | 780 | public int insertTodayReceiptContainerHeader(ReceiptBill receiptBill, String receiptCode) { |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
... | ... | @@ -33,6 +33,7 @@ import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail; |
33 | 33 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
34 | 34 | import com.huaheng.pc.task.taskDetail.domain.TaskDetail; |
35 | 35 | import com.huaheng.pc.task.taskDetail.service.TaskDetailService; |
36 | +import com.huaheng.pc.task.taskHeader.domain.MobileTask; | |
36 | 37 | import com.huaheng.pc.task.taskHeader.domain.TaskHeader; |
37 | 38 | import com.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper; |
38 | 39 | import com.huaheng.pc.task.taskHeader.service.ReceiptTaskService; |
... | ... | @@ -77,8 +78,8 @@ public class TaskHeaderController extends BaseController { |
77 | 78 | |
78 | 79 | @Resource |
79 | 80 | private ReceiptTaskService receiptTaskService; |
80 | - | |
81 | - | |
81 | + @Resource | |
82 | + private TaskDetailService taskDetailService; | |
82 | 83 | private String prefix = "task/taskHeader"; |
83 | 84 | |
84 | 85 | @RequiresPermissions("task:taskHeader:view") |
... | ... | @@ -337,4 +338,50 @@ public class TaskHeaderController extends BaseController { |
337 | 338 | taskHeaderService.update(taskHeader1, taskHeaderLambdaQueryWrapper); |
338 | 339 | return AjaxResult.success(); |
339 | 340 | } |
341 | + | |
342 | + @PostMapping("/getTaskByShipmentCode") | |
343 | + @ResponseBody | |
344 | + public AjaxResult getTaskByShipmentCode(String shipmentCode) { | |
345 | + if (StringUtils.isEmpty(shipmentCode)) { | |
346 | + return AjaxResult.error("单据号为空!"); | |
347 | + } | |
348 | + List<TaskDetail> list = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillCode, shipmentCode)); | |
349 | + if (list.isEmpty()) { | |
350 | + return AjaxResult.error("没有查到对应的任务"); | |
351 | + } | |
352 | + TaskHeader taskHeader = taskHeaderService.getById(list.get(0).getTaskId()); | |
353 | + if (taskHeader == null) { | |
354 | + return AjaxResult.error("任务头表没找到"); | |
355 | + } | |
356 | + if (!taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_BUILD)) { | |
357 | + return AjaxResult.error("任务不是新建状态,可能已完成"); | |
358 | + } | |
359 | + MobileTask mobileTask = new MobileTask(); | |
360 | + mobileTask.setTaskHeader(taskHeader); | |
361 | + mobileTask.setTaskDetail(list); | |
362 | + return AjaxResult.success(mobileTask); | |
363 | + } | |
364 | + | |
365 | + @PostMapping("/getTaskByTaskId") | |
366 | + @ResponseBody | |
367 | + public AjaxResult getTaskByTaskId(String taskId) { | |
368 | + if (StringUtils.isEmpty(taskId)) { | |
369 | + return AjaxResult.error("任务号为空!"); | |
370 | + } | |
371 | + TaskHeader taskHeader = taskHeaderService.getById(taskId); | |
372 | + if (taskHeader == null) { | |
373 | + return AjaxResult.error("任务没找到ID:" + taskId); | |
374 | + } | |
375 | + if (!taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_BUILD)) { | |
376 | + return AjaxResult.error("任务不是新建状态,可能已完成"); | |
377 | + } | |
378 | + List<TaskDetail> list = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getTaskId, taskId)); | |
379 | + if (list.isEmpty()) { | |
380 | + return AjaxResult.error("没有查到对应的任务"); | |
381 | + } | |
382 | + MobileTask mobileTask = new MobileTask(); | |
383 | + mobileTask.setTaskHeader(taskHeader); | |
384 | + mobileTask.setTaskDetail(list); | |
385 | + return AjaxResult.success(mobileTask); | |
386 | + } | |
340 | 387 | } |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... | ... | @@ -61,7 +61,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
61 | 61 | |
62 | 62 | @Resource |
63 | 63 | private ShipmentContainerHeaderService shipmentContainerHeaderService; |
64 | - @Autowired | |
64 | + @Resource | |
65 | 65 | private AddressService addressService; |
66 | 66 | @Resource |
67 | 67 | private LocationService locationService; |
... | ... |