From f53706e7e8a7b4e0278917e9d3cdfbc877de177d Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 30 五月 2024 16:59:47 +0800
Subject: [PATCH] #平库下架完成
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 100 insertions(+), 4 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java
index d34037c..f0f05a5 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java
@@ -1,11 +1,14 @@
package com.zy.asrs.wms.controller;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.common.domain.entity.Parameter;
+import com.zy.asrs.common.domain.entity.Shelves;
+import com.zy.asrs.common.domain.param.LocMastInitParam;
import com.zy.asrs.common.wms.entity.LocDetl;
import com.zy.asrs.common.wms.entity.LocMast;
+import com.zy.asrs.common.wms.service.LocDetlService;
import com.zy.asrs.common.wms.service.LocMastService;
import com.zy.asrs.framework.annotations.ManagerAuth;
import com.zy.asrs.framework.common.Cools;
@@ -14,8 +17,9 @@
import com.zy.asrs.framework.common.DateUtils;
import com.zy.asrs.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
-
import java.util.*;
@RestController
@@ -23,11 +27,16 @@
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private LocDetlService locDetlService;
+
+ @Value("${wcs.url}")
+ private String WCS_URL;
@RequestMapping(value = "/locMast/{id}/auth")
@ManagerAuth
public R get(@PathVariable("id") String id) {
- return R.ok(locMastService.getById(String.valueOf(id)));
+ return R.ok(locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, id).eq(LocMast::getHostId, getHostId())));
}
@RequestMapping(value = "/locMast/page/auth")
@@ -50,7 +59,16 @@
if (!Cools.isEmpty(param.get("loc_no"))) {
wrapper.eq(LocMast::getLocNo, param.get("loc_no"));
}
+ if (!Cools.isEmpty(param.get("loc_sts"))) {
+ wrapper.eq(LocMast::getLocSts, param.get("loc_sts"));
+ }
return R.ok(locMastService.page(new Page<>(curr, limit), wrapper));
+ }
+
+ @PostMapping(value = "/group/empty/stock")
+ @ManagerAuth(memo = "鑾峰彇鍚岀粍璐ф灦鐨勭┖搴撲綅")
+ public R getGroupEmptyStock(@RequestParam(required = false) String sourceLocNo) {
+ return R.ok().add(locMastService.queryGroupEmptyStock(sourceLocNo, getHostId()));
}
@@ -111,4 +129,82 @@
return R.ok().add(vos);
}
+ @RequestMapping(value = "/locMast/init/pwd")
+ public R locMastInitPwd(@RequestParam(required = false) String pwd) {
+ if (Cools.isEmpty(pwd)) {
+ return R.error("璇疯緭鍏ュ彛浠�");
+ }
+ return R.ok().add(Parameter.get().getLocMastInitPwd().equals(pwd));
+ }
+
+ @RequestMapping(value = "/locMast/init/auth")
+ @ManagerAuth(memo = "鍒濆鍖栧簱浣�")
+ @Transactional
+ public R init(LocMastInitParam param) {
+ Long hostId = getHostId();
+ List<LocMast> list = new ArrayList<>();
+ for (int r=param.getStartRow(); r<=param.getEndRow(); r++){
+ for (int b=param.getStartBay(); b<=param.getEndBay(); b++) {
+ for (int l=param.getStartLev(); l<=param.getEndLev(); l++) {
+ // 鑾峰彇搴撲綅鍙�
+ String locNo = String.format("%02d", r) + String.format("%03d", b) + String.format("%02d", l);
+ // 鑾峰彇鍫嗗灈鏈哄彿
+ int crnNo = 0;
+ Shelves shelves = new Shelves(param.getEndRow() - param.getStartRow() + 1, param.getCrnAmount());
+ for (List<Integer> node : shelves.nodes){
+ if (node.contains(r)) {
+ crnNo = shelves.nodes.indexOf(node) + 1;
+ break;
+ }
+ }
+ LocMast locMast = new LocMast();
+ locMast.setLocNo(locNo);
+ locMast.setLocSts("O");
+ locMast.setRow1(r); // 鎺�
+ locMast.setBay1(b); // 鍒�
+ locMast.setLev1(l); // 灞�
+ locMast.setCrnNo(crnNo); // 鍫嗗灈鏈�
+ locMast.setLocType1(param.getLocType1());
+ locMast.setLocType2(param.getLocType2());
+ locMast.setLocType3(param.getLocType3());
+ locMast.setAppeUser(getUserId());
+ locMast.setAppeTime(new Date());
+ locMast.setModiUser(getUserId());
+ locMast.setModiTime(new Date());
+ locMast.setHostId(hostId);
+ list.add(locMast);
+ }
+ }
+ }
+ locMastService.remove(new LambdaQueryWrapper<LocMast>().eq(LocMast::getHostId, hostId));
+ locDetlService.remove(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getHostId, hostId));
+ for (LocMast locMast : list) {
+ locMastService.save(locMast);
+ }
+ return R.ok("鍒濆鍖栨垚鍔�");
+ }
+
+ @GetMapping("/locMast/picUrl")
+ @ManagerAuth
+ public R getPicUrl(@RequestParam String locNo) {
+ LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>()
+ .eq(LocMast::getLocNo, locNo)
+ .eq(LocMast::getHostId, getHostId()));
+ if (locMast == null) {
+ return R.error();
+ }
+
+ ArrayList<String> list = new ArrayList<>();
+ String picStr = locMast.getPic();
+ if (Cools.isEmpty(picStr)) {
+ return R.ok().add(list);
+ }
+ List<String> pics = JSON.parseArray(picStr, String.class);
+ for (String pic : pics) {
+ list.add("http://" + WCS_URL + "/image/" + pic + "-1.jpg");
+ list.add("http://" + WCS_URL + "/image/" + pic + "-2.jpg");
+ }
+ return R.ok().add(list);
+ }
+
}
--
Gitblit v1.9.1