From d9aab59e3d4c8688eaf00c0d98f6926a218ff57f Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 28 四月 2025 15:28:11 +0800 Subject: [PATCH] 拣货单出库完成,但是库存没减,日志埋点 --- src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java | 189 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 129 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java index 6ab4f2a..3c68fbb 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java @@ -3,22 +3,19 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; -import com.core.common.DateUtils; +import com.core.common.R; import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.OpenOrderPakinParam; -import com.zy.asrs.entity.param.OpenOrderPakoutParam; +import com.zy.asrs.entity.param.ExamineParam; import com.zy.asrs.mapper.OrderCheckMapper; import com.zy.asrs.mapper.OrderDetlMapper; -import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; -import com.zy.common.model.DetlDto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; +import java.util.Date; import java.util.List; @Slf4j @@ -40,6 +37,14 @@ @Autowired private LocCheckService locCheckService; + + @Autowired + private ManLocDetlService manLocDetlService; + + @Autowired + private NodeService nodeService; + @Autowired + private OrderCheckService orderCheckService; @Override public OrderCheck selectByNo(String orderNo) { @@ -76,8 +81,9 @@ } if (complete) { for (OrderDetl orderDetl : orderDetls) { - //鐢熸垚鍗曟嵁鍜屽叆搴撻�氱煡妗f椂锛岀粰batch涓虹┖鐨勬槑缁嗚祴浜嗕竴涓� =""锛� 鐜板湪鏀逛负null锛屽洖浼犵敤 - if (orderDetl.getBatch().equals("")){ + if (Cools.isEmpty(orderDetl.getBatch())){ + orderDetlService.updateById(orderDetl); + }else if (orderDetl.getBatch().equals("")){//鐢熸垚鍗曟嵁鍜屽叆搴撻�氱煡妗f椂锛岀粰batch涓虹┖鐨勬槑缁嗚祴浜嗕竴涓� =""锛� 鐜板湪鏀逛负null锛屽洖浼犵敤 orderDetl.setBatch(null); orderDetlService.updateById(orderDetl); } @@ -89,55 +95,55 @@ } - @Override - public boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls) { - try { - List<DetlDto> detlDtos = new ArrayList<>(); - wrkDetls.forEach(wrkDetl -> { - detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())); - }); - String orderNo = "HAND" + snowflakeIdWorker.nextId(); - if (pakin) { - // 鐢熸垚鍏ュ簱鍗曟嵁 - OpenOrderPakinParam openParam = new OpenOrderPakinParam(); - openParam.setOrderNo(orderNo); - openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); - openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�"); - openParam.setOrderDetails(detlDtos); - openService.pakinOrderCreate(openParam); - } else { - // 鐢熸垚鍑哄簱鍗曟嵁 - OpenOrderPakoutParam openParam = new OpenOrderPakoutParam(); - openParam.setOrderNo(orderNo); - openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); - openParam.setOrderType("鎵嬪姩鍑哄簱鍗�"); - openParam.setOrderDetails(detlDtos); - openService.pakoutOrderCreate(openParam); - } - - OrderCheck order = this.selectByNo(orderNo); - if (null == order) { - throw new CoolException("鐢熸垚鍗曟嵁澶辫触"); - } - if (!this.updateSettle(order.getId(), 4L, null)) { - throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); - } - for (DetlDto detlDto : detlDtos) { - // 淇敼璁㈠崟鏄庣粏鏁伴噺 - 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("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); - } - } - } catch (Exception e) { - log.error("saveHandlerOrder===>>", e); - return false; - } - return true; - } +// @Override +// public boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls) { +// try { +// List<DetlDto> detlDtos = new ArrayList<>(); +// wrkDetls.forEach(wrkDetl -> { +// detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())); +// }); +// String orderNo = "HAND" + snowflakeIdWorker.nextId(); +// if (pakin) { +// // 鐢熸垚鍏ュ簱鍗曟嵁 +// OpenOrderPakinParam openParam = new OpenOrderPakinParam(); +// openParam.setOrderNo(orderNo); +// openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); +// openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�"); +// openParam.setOrderDetails(detlDtos); +// openService.pakinOrderCreate(openParam); +// } else { +// // 鐢熸垚鍑哄簱鍗曟嵁 +// OpenOrderPakoutParam openParam = new OpenOrderPakoutParam(); +// openParam.setOrderNo(orderNo); +// openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); +// openParam.setOrderType("鎵嬪姩鍑哄簱鍗�"); +// openParam.setOrderDetails(detlDtos); +// openService.pakoutOrderCreate(openParam); +// } +// +// OrderCheck order = this.selectByNo(orderNo); +// if (null == order) { +// throw new CoolException("鐢熸垚鍗曟嵁澶辫触"); +// } +// if (!this.updateSettle(order.getId(), 4L, null)) { +// throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); +// } +// for (DetlDto detlDto : detlDtos) { +// // 淇敼璁㈠崟鏄庣粏鏁伴噺 +// 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("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); +// } +// } +// } catch (Exception e) { +// log.error("saveHandlerOrder===>>", e); +// return false; +// } +// return true; +// } @@ -166,9 +172,8 @@ } @Override - public List<OrderCheck> selectToBeHistoryOrder(boolean isERP) { - int settle = isERP ? 6 : 4; - return this.baseMapper.selectToBeHistoryOrder(settle); + public List<OrderCheck> selectToBeHistoryOrder() { + return this.baseMapper.selectToBeHistoryOrder(); } @Override @@ -179,5 +184,69 @@ locCheckService.delete(new EntityWrapper<LocCheck>().eq("order_no", orderNo)); } + @Override + public R examine(ExamineParam param) { + for (ExamineParam.data list:param.getList()){ + EntityWrapper<ManLocDetl> wrapper = new EntityWrapper<>(); + wrapper.eq("matnr", list.getMatnr()) + .eq("loc_no", list.getLocNo()) + .eq("batch", list.getBatch()); + + ManLocDetl manLocDetl = manLocDetlService.selectOne(wrapper); + if (manLocDetl == null){ + Date now = new Date(); + + Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", list.getLocNo())); + + ManLocDetl manLocDetl1 = new ManLocDetl(); + + manLocDetl1.setLocNo(list.getLocNo()); + manLocDetl1.setNodeId(node.getId()); + manLocDetl1.setAnfme(list.getRealAnfme()); + manLocDetl1.setMatnr(list.getMatnr()); + manLocDetl1.setMaktx(list.getMaktx()); + manLocDetl1.setStatus(1); + manLocDetl1.setCreateTime(now); + manLocDetl1.setModiTime(now); + manLocDetl1.setOrderNo(list.getOrderNo()); + manLocDetl1.setStockFreeze(1); + manLocDetl1.setBatch(list.getBatch()); + + if (!manLocDetlService.insert(manLocDetl1)){ + return R.error("鎻掑叆鏁版嵁澶辫触"); + } + + }else { + if (list.getRealAnfme() == 0){ + if (!manLocDetlService.delete(wrapper)){ + return R.error("鍒犻櫎鏁版嵁澶辫触锛�"); + } + }else { + manLocDetl.setAnfme(list.getRealAnfme()); + if (!manLocDetlService.update(manLocDetl,wrapper)){ + return R.error("鏇存柊搴撳瓨鏁伴噺澶辫触锛�"); + } + } + } + + EntityWrapper<LocCheck> wrapper2 = new EntityWrapper<>(); + wrapper2.eq("order_no", list.getOrderNo()) + .eq("matnr", list.getMatnr()) + .eq("loc_no", list.getLocNo()); + LocCheck checkDetl = locCheckService.selectOne(wrapper2); + checkDetl.setType(2); + if (!locCheckService.update(checkDetl,wrapper2)){ + return R.error("鏇存柊鐩樼偣鏄庣粏澶辫触锛�"); + } + } + OrderCheck orderCheck = orderCheckService.selectOne(new EntityWrapper<OrderCheck>().eq("order_no", param.getOrderNo())); + orderCheck.setSettle(4L); + if (!orderCheckService.update(orderCheck,new EntityWrapper<OrderCheck>().eq("order_no", param.getOrderNo()))){ + return R.error("鏇存柊鐩樼偣鍗曠姸鎬佸け璐ワ紒"); + } + + return R.ok(); +} + } -- Gitblit v1.9.1