Commit 3a970cd29307c4160b16acf58c1b9899e9ce1cbd

Authored by 易文鹏
1 parent ea534a9c

feat:新增PDA根据单据查询全部任务接口和根据任务号查询任务数据接口

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&lt;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&lt;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&lt;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&lt;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;
... ...