From 81808d6e407b8b5a8d3c4d6225a3148114733f90 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期五, 06 六月 2025 10:17:59 +0800 Subject: [PATCH] #修改出库方式为按楼层东西区出,自动选择对应出库站点 --- src/main/java/com/zy/asrs/controller/WorkController.java | 137 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 127 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java index 8b6a223..a0ac33a 100644 --- a/src/main/java/com/zy/asrs/controller/WorkController.java +++ b/src/main/java/com/zy/asrs/controller/WorkController.java @@ -4,10 +4,7 @@ import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.entity.WaitPakin; -import com.zy.asrs.entity.param.EmptyPlateOutParam; -import com.zy.asrs.entity.param.FullStoreParam; -import com.zy.asrs.entity.param.LocDetlAdjustParam; -import com.zy.asrs.entity.param.StockOutParam; +import com.zy.asrs.entity.param.*; import com.zy.asrs.service.BasDevpService; import com.zy.asrs.service.WorkService; import com.zy.common.model.StartupDto; @@ -18,10 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 宸ヤ綔娴佹帴鍙f帶鍒跺櫒 @@ -86,9 +80,70 @@ return R.ok("鍏ュ簱鍚姩鎴愬姛").add(workService.startupFullPutStore(fullStoreParam,getUserId())); } +// @RequestMapping("/plate/out/start") +// @ManagerAuth(memo = "鍑哄簱浣滀笟") +// public R fullStoreTakeStart(@RequestBody StockOutParam param) { +// workService.startupFullTakeStore(param, getUserId()); +// return R.ok("鍑哄簱鍚姩鎴愬姛"); +// } + @RequestMapping("/plate/out/start") @ManagerAuth(memo = "鍑哄簱浣滀笟") - public R fullStoreTakeStart(@RequestBody StockOutParam param) { + public R fullStoreTakeStart(@RequestBody StockOutFloorParam param) { + if (param.getFloor() != null) { + List<Integer> siteIdList = new ArrayList<>(); + + // 绗竴姝ワ細鏍规嵁妤煎眰閫夋嫨绔欑偣闆嗗悎 + switch (param.getFloor()) { + case 1: // 涓�妤硷紙涓滃尯锛� + siteIdList = Arrays.asList(121, 124, 125, 126); + break; + case 2: // 浜屾ゼ锛堜笢鍖猴級 + siteIdList = Arrays.asList(221, 224, 226, 229); + break; + case 3: // 鍥涙ゼ锛堜笢鍖猴級 + siteIdList = Arrays.asList(411, 412, 413, 414); + break; + case 4: // 涓�妤硷紙瑗垮尯锛� + siteIdList = Arrays.asList(103); // 鍙湁涓�涓珯鐐� + break; + case 5: // 浜屾ゼ锛堣タ鍖猴級 + siteIdList = Arrays.asList(201, 204, 206, 209); + break; + case 6: // 鍥涙ゼ锛堣タ鍖猴級 + siteIdList = Arrays.asList(401, 402, 403, 404); + break; + default: + break; + } + + // 绗簩姝ワ細鏍规嵁 locNo 鐨勬帓鍙凤紝缁欐瘡涓� locDetl 璁剧疆 siteId + if (param.getLocDetls() != null) { + for (StockOutFloorParam.LocDetl locDetl : param.getLocDetls()) { + String locNo = locDetl.getLocNo(); // 濡傦細0312001 + if (locNo != null && locNo.length() >= 2) { + String rowStr = locNo.substring(0, 2); // 鍓嶄袱浣嶄负鎺掑彿 + int row = Integer.parseInt(rowStr); + + Integer siteId = null; + + // 绔欑偣鍒嗗竷瑙勫垯 + if (row == 1 || row == 2) { + siteId = siteIdList.size() > 0 ? siteIdList.get(0) : null; + } else if (row == 3 || row == 4) { + siteId = siteIdList.size() > 1 ? siteIdList.get(1) : null; + } else if (row == 5 || row == 6) { + siteId = siteIdList.size() > 2 ? siteIdList.get(2) : null; + } else if (row == 7 || row == 8) { + siteId = siteIdList.size() > 3 ? siteIdList.get(3) : null; + } + + // 璁剧疆 siteId + locDetl.setSiteId(siteId); + } + } + } + } workService.startupFullTakeStore(param, getUserId()); return R.ok("鍑哄簱鍚姩鎴愬姛"); } @@ -106,9 +161,71 @@ return R.ok("鍑哄簱鍚姩鎴愬姛"); } +// @RequestMapping("/locCheck/out/start") +// @ManagerAuth(memo = "鐩樼偣鍑哄簱") +// public R locCheckOutStart(@RequestBody StockOutParam param) { +// +// workService.locCheckOut(param, getUserId()); +// return R.ok("鍑哄簱鍚姩鎴愬姛"); +// } + @RequestMapping("/locCheck/out/start") @ManagerAuth(memo = "鐩樼偣鍑哄簱") - public R locCheckOutStart(@RequestBody StockOutParam param) { + public R locCheckOutStart(@RequestBody StockOutFloorParam param) { + if (param.getFloor() != null) { + List<Integer> siteIdList = new ArrayList<>(); + + // 绗竴姝ワ細鏍规嵁妤煎眰閫夋嫨绔欑偣闆嗗悎 + switch (param.getFloor()) { + case 1: // 涓�妤硷紙涓滃尯锛� + siteIdList = Arrays.asList(121, 124, 125, 126); + break; + case 2: // 浜屾ゼ锛堜笢鍖猴級 + siteIdList = Arrays.asList(221, 224, 226, 229); + break; + case 3: // 鍥涙ゼ锛堜笢鍖猴級 + siteIdList = Arrays.asList(411, 412, 413, 414); + break; + case 4: // 涓�妤硷紙瑗垮尯锛� + siteIdList = Arrays.asList(103); // 鍙湁涓�涓珯鐐� + break; + case 5: // 浜屾ゼ锛堣タ鍖猴級 + siteIdList = Arrays.asList(201, 204, 206, 209); + break; + case 6: // 鍥涙ゼ锛堣タ鍖猴級 + siteIdList = Arrays.asList(401, 402, 403, 404); + break; + default: + break; + } + + // 绗簩姝ワ細鏍规嵁 locNo 鐨勬帓鍙凤紝缁欐瘡涓� locDetl 璁剧疆 siteId + if (param.getLocDetls() != null) { + for (StockOutFloorParam.LocDetl locDetl : param.getLocDetls()) { + String locNo = locDetl.getLocNo(); // 濡傦細0312001 + if (locNo != null && locNo.length() >= 2) { + String rowStr = locNo.substring(0, 2); // 鍓嶄袱浣嶄负鎺掑彿 + int row = Integer.parseInt(rowStr); + + Integer siteId = null; + + // 绔欑偣鍒嗗竷瑙勫垯 + if (row == 1 || row == 2) { + siteId = siteIdList.size() > 0 ? siteIdList.get(0) : null; + } else if (row == 3 || row == 4) { + siteId = siteIdList.size() > 1 ? siteIdList.get(1) : null; + } else if (row == 5 || row == 6) { + siteId = siteIdList.size() > 2 ? siteIdList.get(2) : null; + } else if (row == 7 || row == 8) { + siteId = siteIdList.size() > 3 ? siteIdList.get(3) : null; + } + + // 璁剧疆 siteId + locDetl.setSiteId(siteId); + } + } + } + } workService.locCheckOut(param, getUserId()); return R.ok("鍑哄簱鍚姩鎴愬姛"); } -- Gitblit v1.9.1