From acad71339e2a131f6ef72c9be912b9e70dd00af0 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 24 三月 2022 15:17:16 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java | 212 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 190 insertions(+), 22 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java b/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java
index c69d7d2..d4335cb 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java
@@ -5,27 +5,34 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
+import com.core.common.DateUtils;
+import org.springframework.transaction.annotation.Transactional;
+import zy.cloud.wms.manager.entity.*;
+import zy.cloud.wms.manager.entity.dto.PutShelfDTO;
+import zy.cloud.wms.manager.service.*;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
-import com.core.common.DateUtils;
import com.core.common.R;
+import zy.cloud.wms.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import zy.cloud.wms.common.web.BaseController;
-import zy.cloud.wms.manager.entity.ReceiveDetl;
-import zy.cloud.wms.manager.service.ReceiveDetlService;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
@RestController
public class ReceiveDetlController extends BaseController {
@Autowired
private ReceiveDetlService receiveDetlService;
+ @Autowired
+ private LocDetlService locDetlService;
+ @Autowired
+ private NodeService nodeService;
+ @Autowired
+ private ReceiveLogService receiveLogService;
+ @Autowired
+ private ReceiveService receiveService;
@RequestMapping(value = "/receiveDetl/{id}/auth")
@ManagerAuth
@@ -33,7 +40,7 @@
return R.ok(receiveDetlService.selectById(String.valueOf(id)));
}
- @RequestMapping(value = "/receiveDetl/list/auth")
+ @RequestMapping(value ="/receiveDetl/list/auth")
@ManagerAuth
public R list(@RequestParam(defaultValue = "1")Integer curr,
@RequestParam(defaultValue = "10")Integer limit,
@@ -41,11 +48,11 @@
@RequestParam(required = false)String orderByType,
@RequestParam Map<String, Object> param){
EntityWrapper<ReceiveDetl> wrapper = new EntityWrapper<>();
+ param.values();
excludeTrash(param);
convert(param, wrapper);
- hostEq(wrapper);
if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
- return R.ok(receiveDetlService.selectPage(new Page<>(curr, limit), wrapper));
+ return R.ok(receiveDetlService.selectPage(new Page<>(curr, limit), wrapper.orderBy("id",false)));
}
private void convert(Map<String, Object> map, EntityWrapper wrapper){
@@ -56,7 +63,7 @@
wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
} else {
- wrapper.eq(entry.getKey(), val);
+ wrapper.like(entry.getKey(), val);
}
}
}
@@ -80,13 +87,9 @@
@RequestMapping(value = "/receiveDetl/delete/auth")
@ManagerAuth
- public R delete(@RequestParam String param){
- List<ReceiveDetl> list = JSONArray.parseArray(param, ReceiveDetl.class);
- if (Cools.isEmpty(list)){
- return R.error();
- }
- for (ReceiveDetl entity : list){
- receiveDetlService.delete(new EntityWrapper<>(entity));
+ public R delete(@RequestParam(value="ids[]") Long[] ids){
+ for (Long id : ids){
+ receiveDetlService.deleteById(id);
}
return R.ok();
}
@@ -95,9 +98,8 @@
@ManagerAuth
public R export(@RequestBody JSONObject param){
EntityWrapper<ReceiveDetl> wrapper = new EntityWrapper<>();
- hostEq(wrapper);
List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
- Map<String, Object> map = excludeTrash(param.getJSONObject("orderDetl"));
+ Map<String, Object> map = excludeTrash(param.getJSONObject("receiveDetl"));
convert(map, wrapper);
List<ReceiveDetl> list = receiveDetlService.selectList(wrapper);
return R.ok(exportSupport(list, fields));
@@ -108,7 +110,6 @@
public R query(String condition) {
EntityWrapper<ReceiveDetl> wrapper = new EntityWrapper<>();
wrapper.like("id", condition);
- hostEq(wrapper);
Page<ReceiveDetl> page = receiveDetlService.selectPage(new Page<>(0, 10), wrapper);
List<Map<String, Object>> result = new ArrayList<>();
for (ReceiveDetl receiveDetl : page.getRecords()){
@@ -130,4 +131,171 @@
return R.ok();
}
+ /**
+ * 涓婃灦鍔ㄤ綔,鎻掑叆搴撳瓨鏄庣粏,鏇存柊鍗曟嵁鏄庣粏
+ * @param putShelfDTO
+ * @return
+ */
+ @RequestMapping("/receiveDetl/addIn")
+ @ManagerAuth
+ public R addIn(@RequestBody PutShelfDTO putShelfDTO){
+ /**
+ * 鎺х涓庢暟鎹垵濮嬪寲
+ */
+ if (Cools.isEmpty(putShelfDTO.getId(),putShelfDTO.getRemain(),putShelfDTO.getSelect())){
+ return R.error("杈撳叆鏁版嵁鏈夎,璇烽噸鏂拌緭鍏�");
+ }
+ Date date = new Date();
+ double remain = Double.parseDouble(putShelfDTO.getRemain());
+ double anfme = Double.parseDouble(putShelfDTO.getAnfme());
+ double inQty = Double.parseDouble(putShelfDTO.getInQty());
+ if (anfme - (remain + inQty) < 0){
+ return R.error("鏈鍏ュ簱鏁伴噺澶т簬鎵�闇�鍏ュ簱鏁伴噺");
+ }
+ Node targetLoc = nodeService.selectOne(new EntityWrapper<Node>()
+ .eq("id", putShelfDTO.getSelect()));
+ /**
+ * 鏇存柊搴撳瓨
+ */
+ LocDetl checkLoc = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ .eq("loc_no", targetLoc.getName())
+ .eq("matnr", putShelfDTO.getMatnr())
+ .eq("batch", putShelfDTO.getBatch()));
+ if (Cools.isEmpty(checkLoc)) {
+ LocDetl locDetl = new LocDetl();
+ locDetl.setHostId(getHostId());
+ locDetl.setLocNo(targetLoc.getName());
+ locDetl.setNodeId(targetLoc.getId());
+ locDetl.setAnfme(remain);
+ locDetl.setMatnr(putShelfDTO.getMatnr());
+ locDetl.setMaktx(putShelfDTO.getMaktx());
+ locDetl.setCreateBy(getUserId());
+ locDetl.setCreateTime(date);
+ locDetl.setUpdateBy(getUserId());
+ locDetl.setUpdateTime(date);
+ locDetl.setBatch(putShelfDTO.getBatch());
+ locDetlService.insert(locDetl);
+ }else {
+ checkLoc.setAnfme(checkLoc.getAnfme() + remain);
+ locDetlService.update(checkLoc,new EntityWrapper<LocDetl>()
+ .eq("loc_no", targetLoc.getName())
+ .eq("matnr", putShelfDTO.getMatnr())
+ .eq("batch", putShelfDTO.getBatch()));
+ }
+
+ /**
+ * 鍙嶅啓璁㈠崟鏁伴噺
+ */
+
+ ReceiveDetl targetRece = receiveDetlService.selectOne(new EntityWrapper<ReceiveDetl>()
+ .eq("id", putShelfDTO.getId()));
+ targetRece.setInQty((targetRece.getInQty() + remain));
+ receiveDetlService.update(targetRece,new EntityWrapper<ReceiveDetl>()
+ .eq("id",targetRece.getId()));
+ /**
+ * 鍙嶅啓璁㈠崟鐘舵��
+ */
+ if(!Cools.isEmpty(putShelfDTO.getOrderNo())){
+ List<ReceiveDetl> list = receiveDetlService.selectList(new EntityWrapper<ReceiveDetl>().eq("order_no",putShelfDTO.getOrderNo()));
+ boolean flag = true;
+
+ if(list.size()>0){
+ for (ReceiveDetl receiveDetl : list){
+ if(receiveDetl.getInQty() < receiveDetl.getCount()){
+ flag = false;
+ break;
+ }
+ }
+ }
+
+ if(flag){
+ Receive receive = receiveService.selectOne(new EntityWrapper<Receive>().eq("order_no",putShelfDTO.getOrderNo()));
+ receive.setSettle(Long.valueOf(4));
+ receiveService.updateById(receive);
+ }
+// ReceiveDetl receiveDetl = receiveDetlService.selectOne(new EntityWrapper<ReceiveDetl>().eq("order_no",putShelfDTO.getOrderNo()).eq("matnr",putShelfDTO.getMatnr()));
+// for(int i=0;i<list.size();i++){
+// if(list.get(i).getMatnr().equals(receiveDetl.getMatnr())){
+// if(list.get(i).getInQty()>=list.get(i).getCount()){
+// Receive receive = receiveService.selectOne(new EntityWrapper<Receive>().eq("order_no",putShelfDTO.getOrderNo()));
+// receive.setSettle(Long.valueOf(4));
+// receiveService.updateById(receive);
+// break;
+// }
+// }
+// }
+
+ }
+ /**
+ * 涓婃灦瀹屾垚涔嬪悗,瀛樻斁鏁版嵁鑷充笂鏋剁粺璁¤〃 man_receive_log
+ */
+ ReceiveLog receiveLog = new ReceiveLog();
+ receiveLog.setOrderNo(putShelfDTO.getOrderNo());
+ receiveLog.setNodeId(targetLoc.getId());
+ receiveLog.setNodeName(targetLoc.getName());
+ receiveLog.setMatnr(putShelfDTO.getMatnr());
+ receiveLog.setAnfme(remain);
+ receiveLog.setBatch(putShelfDTO.getBatch());
+ receiveLog.setCreateBy(getUserId());
+ receiveLog.setUpdateBy(getUserId());
+ receiveLog.setIoType(1);
+ receiveLogService.insert(receiveLog);
+ return R.ok("娣诲姞鎴愬姛");
+ }
+
+ /**
+ * 鎾ら攢涓婃灦鎿嶄綔
+ */
+ @RequestMapping("/receiveDetl/renew/auth")
+ @ManagerAuth
+ @Transactional
+ public R renew(@RequestBody ReceiveDetl receiveDetl){
+ /**
+ * 鎺х
+ */
+ if (receiveDetl.getInQty() <= 0){
+ return R.error("娌℃湁涓婃灦璁板綍,鏃犳硶鎾ゅ洖");
+ }
+ Receive receive = receiveService.selectOne(new EntityWrapper<Receive>()
+ .eq("id", receiveDetl.getOrderId()));
+ if (Cools.isEmpty(receive)) {
+ return R.error("鎵句笉鍒拌鍗曟嵁,璇疯仈绯荤鐞嗗憳");
+ }
+ if (receive.getSettle() == 4){
+ return R.error("璇ュ崟鎹凡缁忓畬缁�");
+ }
+
+ /**
+ * 淇敼搴撳瓨鏁伴噺,鍚屾椂鎾ゅ洖涓婃灦瀹屾垚鍚�,灏嗘搷浣滆褰曞弽鍐欏洖涓婃灦缁熻琛� man_receive_log
+ */
+ List<ReceiveLog> receiveLogs = receiveLogService.selectList(new EntityWrapper<ReceiveLog>()
+ .eq("order_no", receiveDetl.getOrderNo())
+ .eq("matnr", receiveDetl.getMatnr())
+ .eq("batch", receiveDetl.getBatch())
+ .eq("io_type", 1));
+ if (Cools.isEmpty(receiveLogs)) {
+ return R.error("鎵句笉鍒板叆搴撹褰�");
+ }
+ for (ReceiveLog receiveLog : receiveLogs) {
+ locDetlService.delete(new EntityWrapper<LocDetl>()
+ .eq("loc_no",receiveLog.getNodeName())
+ .eq("matnr",receiveLog.getMatnr())
+ .eq("batch",receiveLog.getBatch()));
+ receiveLog.setIoType(101);
+ receiveLog.setCreateBy(getUserId());
+ receiveLog.setUpdateBy(getUserId());
+ receiveLogService.insert(receiveLog);
+ }
+
+ /**
+ * 鍙嶅啓鍥炲叆搴撴。
+ */
+ receiveDetl.setInQty(0.0);
+ receiveDetl.setUpdateTime(new Date());
+ receiveDetl.setUpdateBy(getUserId());
+ receiveDetlService.update(receiveDetl,new EntityWrapper<ReceiveDetl>()
+ .eq("id",receiveDetl.getId()));
+ return R.ok("鎾ゅ洖鎴愬姛");
+ }
+
}
--
Gitblit v1.9.1