From 46607139e955ca266e24bd8561bca1f93a650178 Mon Sep 17 00:00:00 2001 From: wang..123 <brook_w@163.com> Date: 星期二, 22 三月 2022 18:23:39 +0800 Subject: [PATCH] Merge branch 'master' of http://47.97.1.152:5880/r/wms_saas --- src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java | 186 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 179 insertions(+), 7 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 65af884..d4335cb 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java @@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; -import zy.cloud.wms.manager.entity.ReceiveDetl; -import zy.cloud.wms.manager.service.ReceiveDetlService; +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; @@ -23,6 +25,14 @@ @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 @@ -30,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, @@ -38,10 +48,11 @@ @RequestParam(required = false)String orderByType, @RequestParam Map<String, Object> param){ EntityWrapper<ReceiveDetl> wrapper = new EntityWrapper<>(); + param.values(); excludeTrash(param); convert(param, 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){ @@ -120,10 +131,171 @@ return R.ok(); } + /** + * 涓婃灦鍔ㄤ綔,鎻掑叆搴撳瓨鏄庣粏,鏇存柊鍗曟嵁鏄庣粏 + * @param putShelfDTO + * @return + */ @RequestMapping("/receiveDetl/addIn") - public R addIn(@RequestBody ReceiveDetl receiveDetl){ - System.out.println("receiveDetl = " + receiveDetl); - return R.ok(); + @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