From 7b26abe9d5e833901783613bbb3cfa27fa75a346 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 20 十一月 2023 20:17:41 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/LocMastController.java | 104 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 88 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index 5c8122e..3f1bc78 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -10,12 +10,21 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.AdjDetl;
+import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.LocMastInitParam;
+import com.zy.asrs.service.AdjDetlService;
+import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.common.entity.Parameter;
import com.zy.common.model.Shelves;
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.*;
import java.util.*;
@@ -25,6 +34,26 @@
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private LocDetlService locDetlService;
+ @Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
+ private AdjDetlService adjDetlService;
+
+ @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));
+ }
+
+ @PostMapping(value = "/group/empty/stock")
+ @ManagerAuth(memo = "鑾峰彇鍚岀粍璐ф灦鐨勭┖搴撲綅")
+ public R getGroupEmptyStock(@RequestParam(required = false) String sourceLocNo) {
+ return R.ok().add(locMastService.queryGroupEmptyStock(sourceLocNo));
+ }
@RequestMapping(value = "/locMast/{id}/auth")
@ManagerAuth
@@ -43,17 +72,18 @@
EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
convert(param, wrapper);
if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
- return R.ok(locMastService.selectPage(new Page<>(curr, limit), wrapper));
+ return R.ok(locMastService.selectPage(new Page<>(curr, limit), wrapper.eq("status",0)));
}
- private void convert(Map<String, Object> map, EntityWrapper wrapper){
+ private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
- if (entry.getKey().endsWith(">")) {
- wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
- } else if (entry.getKey().endsWith("<")) {
- wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
+ String val = String.valueOf(entry.getValue());
+ if (val.contains(RANGE_TIME_LINK)){
+ String[] dates = val.split(RANGE_TIME_LINK);
+ wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+ wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
} else {
- wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+ wrapper.like(entry.getKey(), val);
}
}
}
@@ -69,18 +99,58 @@
return R.ok();
}
- @RequestMapping(value = "/locMast/update/auth")
- @ManagerAuth(memo = "搴撲綅淇敼")
+ @RequestMapping(value = "/locMast/update/auth")
+ @ManagerAuth(memo = "搴撲綅淇敼")
+ @Transactional
public R update(LocMast locMast){
if (Cools.isEmpty(locMast) || null==locMast.getLocNo()){
return R.error();
}
+
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+ .eq("source_loc_no", locMast.getLocNo())
+ .or().eq("loc_no", locMast.getLocNo()));
+ if(!Cools.isEmpty(wrkMast)){
+ return R.error("璇ュ簱浣嶆鍦ㄤ綔涓氾紝璇峰厛澶勭悊宸ヤ綔妗�");
+ }
+
+ LocMast oldLocMast = locMastService.selectById(locMast.getLocNo());
+ if (locMast.getLocSts().equals("F") && (oldLocMast.getLocSts().equals("D") || oldLocMast.getLocSts().equals("O"))) {
+ return R.error("褰撳墠鎿嶄綔宸茶闃绘锛岃鑱旂郴绠$悊鍛�");
+ }
+ Date now = new Date();
+ // 鏈夌墿鏂欐椂淇敼涓虹┖搴撲綅鎴栬�呯┖鏉垮簱浣嶏紝鍒欏垹闄ゅ簱瀛樻槑缁�
+ if (oldLocMast.getLocSts().equals("R") || oldLocMast.getLocSts().equals("F") || oldLocMast.getLocSts().equals("S")) {
+ if (locMast.getLocSts().equals("O") || locMast.getLocSts().equals("D")) {
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+ for (LocDetl locDetl : locDetls) {
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locDetl.getLocNo());
+ adjDetl.setMatnr(locDetl.getMatnr());
+ adjDetl.setBatch(locDetl.getBatch());
+ adjDetl.setOriQty(locDetl.getAnfme());
+ adjDetl.setAdjQty(0.0D);
+ adjDetl.setModiTime(now);
+ adjDetl.setModiUser(getUserId());
+ adjDetl.setAppeTime(now);
+ adjDetl.setAppeUser(getUserId());
+ if (!adjDetlService.insert(adjDetl)) {
+ throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+ }
+ }
+ if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()))) {
+ throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+ }
+ }
+ }
locMast.setModiUser(getUserId());
- locMast.setModiTime(new Date());
- locMastService.updateById(locMast);
+ locMast.setModiTime(now);
+ if(!locMastService.updateById(locMast)) {
+ throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+ }
return R.ok();
}
-
@RequestMapping(value = "/locMast/delete/auth")
@ManagerAuth(memo = "搴撲綅鍒犻櫎")
public R delete(@RequestParam String param){
@@ -147,18 +217,19 @@
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.setLocType("O");
+ locMast.setLocSts("O");
locMast.setRow1(r); // 鎺�
locMast.setBay1(b); // 鍒�
locMast.setLev1(l); // 灞�
locMast.setCrnNo(crnNo); // 鍫嗗灈鏈�
- if (null != param.getWhsType()) {
- locMast.setWhsType(Long.valueOf(param.getWhsType()));
- }
+ locMast.setLocType1(param.getLocType1());
+ locMast.setLocType2(param.getLocType2());
+ locMast.setLocType3(param.getLocType3());
locMast.setAppeUser(getUserId());
locMast.setAppeTime(new Date());
locMast.setModiUser(getUserId());
@@ -168,6 +239,7 @@
}
}
locMastService.delete(new EntityWrapper<>());
+ locDetlService.delete(new EntityWrapper<>());
locMastService.insertBatch(list);
return R.ok("鍒濆鍖栨垚鍔�");
}
--
Gitblit v1.9.1