From 43efe016c156158b9fc3a8b647810f612fb126e6 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 02 九月 2025 11:39:52 +0800
Subject: [PATCH] 自动补货单新增 1.订单中只能生成两笔自动补货单 2.CTU库是否有足够的空库位,空库位数需要大于100才会生成自动补货单 3.在补货时加上订单明细的数量进行判断
---
src/main/java/com/zy/asrs/controller/OutController.java | 73 +++++-------------------------------
1 files changed, 10 insertions(+), 63 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 9fc1c53..3cf87c2 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -13,6 +13,7 @@
import com.zy.common.model.OrderMergeVo;
import com.zy.common.model.TaskDto;
import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -23,7 +24,7 @@
/**
* Created by vincent on 2022/3/26
*/
-
+@Slf4j
@RestController
public class OutController extends BaseController {
@@ -116,7 +117,7 @@
@ManagerAuth(memo = "璁㈠崟鍑哄簱")
@Transactional
public synchronized R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException {
-
+ log.info("璁㈠崟鍑哄簱:{}", locDtos);
//鍒ゆ柇鏄惁鍙互鐢熸垚鍑哄簱宸ヤ綔妗�
boolean lack = true;
for (LocDto locDto : locDtos) {
@@ -163,7 +164,9 @@
@RequestMapping(value = "/order/merge/preview/auth")
@ManagerAuth
public R mergePreview(@RequestParam(value = "orderIds[]") List<Long> orderIds){
- return R.ok().add(orderService.mergePreview(orderIds));
+ List<OrderMergeVo> orderMergeVos = orderService.mergePreview(orderIds);
+ log.info("鍚堝苟鍑哄簱姹囨�籰ocDtoList:{}", orderMergeVos);
+ return R.ok().add(orderMergeVos);
}
@PostMapping("/out/pakout/preview/merge/auth")
@@ -190,47 +193,9 @@
}
}
-
+ log.info("鍚堝苟鍑哄簱棰勮locDtoList:{}", locDtoList);
return R.ok().add(locDtoList);
- /*
- if (Cools.isEmpty(list)) {
- return R.parse(BaseRes.PARAM);
- }
- Set<String> exist = new HashSet<>();
- List<LocDto> locDtos = new ArrayList<>();
-
- for (OrderMergeVo vo : list) {
- double issued = Optional.of(vo.getAnfme()).orElse(0.0D);
- if (issued <= 0.0D) { continue; }
- List<LocDetl> locDetls = locDetlService.queryStock(vo.getMatnr(), vo.getBatch(), null, exist);
- for (LocDetl locDetl : locDetls) {
- if (issued > 0) {
- LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), JSON.toJSONString(vo.getOrderDtos()),
- issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
- int ioType = (issued >= locDetl.getAnfme() && locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo())) == 1) ? 101 : 103;
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ioType);
- locDto.setStaNos(staNos);
- locDtos.add(locDto);
- exist.add(locDetl.getLocNo());
- // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
- issued = issued - locDetl.getAnfme();
- } else {
- break;
- }
- }
- if (issued > 0) {
- LocDto locDto = new LocDto(null, vo.getMatnr(), vo.getMaktx(), vo.getBatch(), JSON.toJSONString(vo.getOrderDtos()), issued);
- locDto.setLack(Boolean.TRUE);
- locDtos.add(locDto);
- }
- }
- for (LocDto locDto : locDtos) {
- Mat mat = matService.selectByMatnr(locDto.getMatnr());
- assert mat != null;
- locDto.setSpecs(mat.getSpecs());
- }
- return R.ok().add(locDtos);*/
}
@@ -246,9 +211,9 @@
//骞冲簱
if("鏃犻渶绔欑偣".equals(locDto.getAgvStaNo())){
generateManPakout(locDto);
+ }else {
+ generateTaskDtoForAgv(locDto,agvTaskDtos);
}
- generateTaskDtoForAgv(locDto,agvTaskDtos);
-
//鍥涢」搴�
}else{
generateTaskDtoForBase(locDto,taskDtos);
@@ -275,24 +240,6 @@
} else {
agvTaskDtos.add(taskDto);
}
-
- //瀵绘壘绌虹珯鐐逛綅缃�
- AgvBasDevp agvBasDevp = agvBasDevpService.selectEmptyDevpByStation(locDto.getAgvStaNo());
- if(Cools.isEmpty(agvBasDevp)){
- //濡傛灉娌℃湁鎵惧埌绌虹珯鐐癸紝鍒欑敓鎴愬噯澶囦换鍔�
- //TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
- //agvTaskDtos.add(taskDto);
- //濡傛灉搴撲綅瀛樺湪娣疯浇
-
- return;
- }
-// agvBasDevp.setLocSts("S");
-// agvBasDevpService.updateById(agvBasDevp);
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
- //TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
- taskDto.setAgvStaNo(agvBasDevp.getDevNo());
-
- //agvTaskDtos.add(taskDto);
}
@@ -321,7 +268,7 @@
鐢熸垚骞冲簱鎷h揣鍗�
*/
private void generateManPakout(LocDto locDto){
- ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch());
+ ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq(),locDto.getContainerCode());
if (!Cools.isEmpty(manLocDetl) && !(locDto.getAnfme()>manLocDetl.getAnfme())) {
manLocDetl.setStatus(0);
manLocDetlService.update(manLocDetl, new EntityWrapper<ManLocDetl>().eq("loc_no", manLocDetl.getLocNo()).eq("matnr",manLocDetl.getMatnr()));
--
Gitblit v1.9.1