From f7b699b0da8aa185edeb38dc1abaaf964ba41d95 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 02 八月 2024 09:15:01 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java | 93 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 85 insertions(+), 8 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java index 1aa2fea..f8d976b 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinController.java @@ -1,26 +1,27 @@ package com.zy.asrs.wms.asrs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; +import com.zy.asrs.framework.exception.CoolException; +import com.zy.asrs.wms.asrs.entity.*; +import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType; +import com.zy.asrs.wms.asrs.service.*; import com.zy.asrs.wms.common.annotation.OperationLog; import com.zy.asrs.wms.common.domain.BaseParam; import com.zy.asrs.wms.common.domain.KeyValVo; import com.zy.asrs.wms.common.domain.PageParam; -import com.zy.asrs.wms.asrs.entity.WaitPakin; -import com.zy.asrs.wms.asrs.service.WaitPakinService; import com.zy.asrs.wms.system.controller.BaseController; import com.zy.asrs.wms.utils.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController @RequestMapping("/api") @@ -28,6 +29,14 @@ @Autowired private WaitPakinService waitPakinService; + @Autowired + private OrderService orderService; + @Autowired + private OrderDetlService orderDetlService; + @Autowired + private LocService locService; + @Autowired + private TaskService taskService; @PreAuthorize("hasAuthority('asrs:waitPakin:list')") @PostMapping("/waitPakin/page") @@ -49,12 +58,65 @@ return R.ok().add(waitPakinService.getById(id)); } + @PreAuthorize("hasAuthority('asrs:waitPakin:list')") + @GetMapping("/waitPakin/orderDetlId/{orderDetlId}") + public R getByOrderDetlId(@PathVariable("orderDetlId") Long orderDetlId) { + return R.ok().add(waitPakinService.getByOrderDetlId(orderDetlId)); + } + @PreAuthorize("hasAuthority('asrs:waitPakin:save')") @OperationLog("娣诲姞缁勬墭閫氱煡妗�") @PostMapping("/waitPakin/save") + @Transactional public R save(@RequestBody WaitPakin waitPakin) { - if (!waitPakinService.save(waitPakin)) { - return R.error("娣诲姞澶辫触"); + if (waitPakin.getAnfme() <= 0) { + return R.error("缁勬墭鏁伴噺閿欒"); + } + + List<Loc> locList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, waitPakin.getBarcode())); + if (!locList.isEmpty()) { + return R.error("鎵樼洏宸插湪搴�"); + } + + List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, waitPakin.getBarcode())); + if (!taskList.isEmpty()) { + return R.error("鎵樼洏姝e湪鍏ュ簱涓�"); + } + + //鏌ヨ鏄惁瀛樺湪鐩稿悓鏄庣粏鍜屾墭鐩樼爜鐨勭粍鎵橀�氱煡妗� + WaitPakin waitPakin1 = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, waitPakin.getBarcode()).eq(WaitPakin::getDetlId, waitPakin.getDetlId())); + if (waitPakin1 == null) { + //涓嶅瓨鍦ㄧ粍鎵橀�氱煡妗o紝鍒涘缓 + if (!waitPakinService.save(waitPakin)) { + return R.error("娣诲姞澶辫触"); + } + }else { + //瀛樺湪缁勬墭閫氱煡妗o紝鏇存柊 + waitPakin1.setAnfme(waitPakin1.getAnfme() + waitPakin.getAnfme()); + waitPakin1.setUpdateTime(new Date()); + if (!waitPakinService.updateById(waitPakin1)) { + return R.error("娣诲姞澶辫触"); + } + } + + OrderDetl orderDetl = orderDetlService.getById(waitPakin.getDetlId()); + if (orderDetl == null) { + throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�"); + } + + //鑾峰彇璁㈠崟 + Order order = orderService.getById(orderDetl.getOrderId()); + if(order == null){ + throw new CoolException("璁㈠崟涓嶅瓨鍦�"); + } + + //鏇存柊璁㈠崟鐘舵�� + if (order.getOrderSettle().equals(OrderSettleType.INIT.val())) { + order.setOrderSettle(OrderSettleType.WAIT.val()); + order.setUpdateTime(new Date()); + if (!orderService.updateById(order)) { + throw new CoolException("璁㈠崟鏁版嵁鏇存柊澶辫触"); + } } return R.ok("娣诲姞鎴愬姛"); } @@ -94,6 +156,21 @@ } @PreAuthorize("hasAuthority('asrs:waitPakin:list')") + @PostMapping("/waitPakin/barcode/query") + public R barcodeQuery(@RequestParam(required = false) String condition) { + List<KeyValVo> vos = new ArrayList<>(); + QueryWrapper<WaitPakin> queryWrapper = new QueryWrapper<>(); + queryWrapper.select("distinct barcode"); + if (!Cools.isEmpty(condition)) { + queryWrapper.like("barcode", condition); + } + waitPakinService.page(new Page<>(1, 30), queryWrapper).getRecords().forEach( + item -> vos.add(new KeyValVo(item.getBarcode(), item.getBarcode())) + ); + return R.ok().add(vos); + } + + @PreAuthorize("hasAuthority('asrs:waitPakin:list')") @PostMapping("/waitPakin/export") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { ExcelUtil.build(ExcelUtil.create(waitPakinService.list(), WaitPakin.class), response); -- Gitblit v1.9.1