From 71d838e032d13a46a07917f5606862496220ea74 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 08 一月 2024 08:35:35 +0800 Subject: [PATCH] # 入库拣货功能添加 --- src/main/java/com/zy/asrs/controller/OutController.java | 68 +++++++++++++++++++++++++++++++-- 1 files changed, 63 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 934e4e8..02b14bc 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -11,13 +11,15 @@ import com.zy.common.model.TaskDto; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.math.BigDecimal; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; import java.util.stream.Collectors; /** @@ -45,6 +47,10 @@ private ManPakOutService manPakOutService; @Autowired private ManLocDetlService manLocDetlService; + @Autowired + private PlaService plaService; + @Autowired + private PlaQtyService plaQtyService; @PostMapping("/out/pakout/orderDetlIds/auth") @@ -68,6 +74,15 @@ } } + List<PlaQty> plaQties = new ArrayList<>(); + + for (OrderDetl orderDetl : orderDetls) { + plaService.queryStock(orderDetl,plaQties); + } + + return R.ok(plaQties); + +/* Set<String> exist = new HashSet<>(); for (OrderDetl orderDetl : orderDetls) { @@ -108,12 +123,13 @@ locDtos.add(locDto); } } - return R.ok().add(locDtos); + return R.ok().add(locDtos); */ } @PostMapping("/out/pakout/auth") @ManagerAuth(memo = "璁㈠崟鍑哄簱") public synchronized R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException { + int[][] is=new int[locDtos.size()][2]; for (int i=0;i<locDtos.size();i++){ LocDto locDto=locDtos.get(locDtos.size()-1-i); @@ -168,8 +184,31 @@ @PostMapping("/out/pakout2/auth") @ManagerAuth(memo = "鐢熸垚鎷h揣鍗�") - public synchronized R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException { - int[][] is = new int[locDtos.size()][2]; + @Transactional + public synchronized R pakout2(@RequestBody List<PlaQty> plaQties) throws InterruptedException { + + for (PlaQty plaQty : plaQties){ + if(Cools.isEmpty(plaQty.getLocNo())){ + continue; + } + //鎻掑叆涓�鏉la鐨勬嫞璐т俊鎭� + plaQtyService.insert(plaQty); + addPakOUT(plaQty); + + Pla pla = plaService.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo()); + //pla鏄庣粏涓慨鏀归攣瀹氬嚭搴撶殑閲嶉噺 + pla.setQtyAnfme(pla.getQtyAnfme() + plaQty.getQtyAnfme()); + plaService.updateById(pla); + + OrderDetl orderDetl = orderDetlService.selectById(plaQty.getOrderDetlId()); + orderDetl.setWorkQty(orderDetl.getWorkQty() + plaQty.getQtyAnfme()); + orderDetlService.updateById(orderDetl); + orderService.updateSettle(plaQty.getOrderId(),2L,null); + } + + return R.ok(); + + /* int[][] is = new int[locDtos.size()][2]; List<String> matnrs=new ArrayList<>(); for (int i = 0; i < locDtos.size(); i++) { LocDto locDto = locDtos.get(locDtos.size() - 1 - i); @@ -261,6 +300,25 @@ addPakOUT(locDto,uuid).equals(R.ok()); } } + return R.ok(); */ + } + + private R addPakOUT(PlaQty plaQty){ + ManPakOut manPakOut=new ManPakOut(); + manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+System.currentTimeMillis()); + manPakOut.setWrkSts((long)1); + manPakOut.setAnfme(plaQty.getQtyAnfme()); + manPakOut.setLocNo(plaQty.getLocNo()); + manPakOut.setBatch(plaQty.getBatch()); + manPakOut.setBarcode(plaQty.getPackageNo()); + manPakOut.setUuid(String.valueOf(System.currentTimeMillis())); + manPakOut.setCreateTime(new Date()); + manPakOut.setUpdateTime(new Date()); + manPakOut.setCount(0.0); + manPakOut.setDocNum(plaQty.getOrderNo()); + manPakOut.setNodeId(plaQty.getOrderDetlId()); + manPakOut.setStatus(0); + manPakOutService.insert(manPakOut); return R.ok(); } -- Gitblit v1.9.1