From 1ed0d9a39f500c2b39de10320c47ce90a38bb2ba Mon Sep 17 00:00:00 2001 From: 18516761980 <56479841@qq.com> Date: 星期一, 27 六月 2022 13:57:34 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/luxiaotao1123/zy-asrs into hylyasrs --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 94 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 82 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index ed38381..34c46a2 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -3,10 +3,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.core.common.BaseRes; -import com.core.common.Cools; -import com.core.common.DateUtils; -import com.core.common.SnowflakeIdWorker; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.CombParam; @@ -59,6 +57,12 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private ApiLogService apiLogService; + @Autowired + private BasCrnpService basCrnpService; + @Autowired + private LocMastService locMastService; + @Autowired + private LocDetlService locDetlService; @Override @Transactional @@ -125,9 +129,9 @@ if (elem.getAnfme() > orderDetl.getEnableQty()) { throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } - // 淇敼璁㈠崟鏄庣粏鏁伴噺 - if (!orderDetlService.increase(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); + // 淇敼璁㈠崟浣滀笟鏁伴噺 + if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) { + throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); } DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); @@ -147,7 +151,7 @@ WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 - waitPakin.setBatch(detlDto.getBatch()); // 鎵瑰彿 + waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮� waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺 @@ -290,8 +294,11 @@ if (packDown) { MesCombParam mesCombParam = new MesCombParam(); mesCombParam.setZpallet(param.getBarcode()); - mesCombParam.setCombTime(DateUtils.convert(now)); + mesCombParam.setPakinTime(DateUtils.convert(now)); mesCombParam.setLgort("5008"); + mesCombParam.setPlantCode("5000"); + mesCombParam.setFromCode("5012-20"); + mesCombParam.setStationCode("JJQ-PFZPDB-XX"); for (DetlDto detlDto : detlDtos) { mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getOrderNo(), detlDto.getAnfme())); } @@ -359,9 +366,9 @@ if (detlDto.getAnfme() > orderDetl.getEnableQty()) { throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } - // 淇敼璁㈠崟鏄庣粏鏁伴噺 - if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); + // 淇敼璁㈠崟浣滀笟鏁伴噺 + if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { + throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); } // 淇濆瓨鍏ュ簱閫氱煡妗� @@ -397,4 +404,67 @@ } } + @Override + @Transactional + public void pakoutByOrder(JSONObject param, Long userId) { + Integer staNo = param.containsKey("staNo") ? Integer.parseInt(param.get("staNo").toString()) : 0; + String orderNo = param.containsKey("orderNo") ? param.get("orderNo").toString() : ""; + + BasDevp sta = basDevpService.checkSiteStatus(staNo); + //鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。 + Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo)); + List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo)); + Date now = new Date(); + for(OrderDetl orderDetl : orderDetls){ + //鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭� + List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),null); + if (locDetls.size() == 0) { + throw new CoolException("搴撳瓨涓病鏈夎鐗╂枡"); + } + for(LocDetl locDetl : locDetls){ + //濡傛灉璇ュ簱浣嶅嚭搴撹矾绾挎墍鐢ㄧ殑鍫嗗灈鏈簅ut_enable涓嶄负Y,璺宠繃璇ュ惊鐜� + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", locDetl.getLocNo())); + if (Cools.isEmpty(locMast)) { + continue; + } + BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>() + .eq("crn_no", locMast.getCrnNo())); + if (Cools.isEmpty(crn_no) || !crn_no.getOutEnable().equals("Y")){ + continue; + } + + //鍙嚭搴撴暟閲� = 璁㈠崟鏁伴噺 - 浣滀笟涓暟閲� + Double outQty = orderDetl.getAnfme() - orderDetl.getWorkQty(); + if(outQty <= 0){ + break; + } + // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱 + Double sumCount = locDetlService.getLocDetlSumQty(locDetl.getLocNo()); + Double curOutQty = outQty >= locDetl.getAnfme() ? locDetl.getAnfme() : outQty; //鏈鍑哄簱閲� + int ioType = sumCount <= curOutQty ? 101 : 103; + +// stockOut(orderDetl, staNo, locDetl, curOutQty, ioType, userId); + order.setSettle(2L); + order.setUpdateBy(userId); + order.setUpdateTime(now); + if(orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))){ + throw new CoolException("鏇存柊璁㈠崟鐘舵�佸け璐�"); + } + orderDetl.setWorkQty(orderDetl.getWorkQty() + curOutQty); + orderDetl.setUpdateBy(userId); + orderDetl.setUpdateTime(now); + Wrapper wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo) + .eq("matnr",orderDetl.getMatnr()); + if(!Cools.isEmpty(orderDetl.getBatch())){ + wrapper.eq("batch", orderDetl.getBatch()); + } + if(orderDetlService.update(orderDetl, wrapper)){ + throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触"); + } + } + + } + } + } -- Gitblit v1.9.1