From 08b4403ec8d6b69528d161cfcad80b5d64dea76c Mon Sep 17 00:00:00 2001 From: Administrator <876263681@qq.com> Date: 星期三, 02 七月 2025 15:12:43 +0800 Subject: [PATCH] #优化库位检索 --- src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 76 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java index fe31337..b542e65 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java @@ -3,12 +3,13 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.core.exception.CoolException; -import com.zy.asrs.entity.MatCode; -import com.zy.asrs.entity.WrkDetl; +import com.zy.asrs.entity.Mat; import com.zy.asrs.entity.MatCodeCountDto; +import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.mapper.WrkDetlMapper; -import com.zy.asrs.service.MatCodeService; +import com.zy.asrs.service.MatService; import com.zy.asrs.service.WrkDetlService; +import com.zy.common.model.DetlDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,30 +21,58 @@ public class WrkDetlServiceImpl extends ServiceImpl<WrkDetlMapper, WrkDetl> implements WrkDetlService { @Autowired - private MatCodeService matCodeService; + private MatService matService; @Override @Transactional - public void createWorkDetail(Integer workNo, List<MatCodeCountDto> matCodeCountDtos, String barcode, Long userId) { + public void createWorkDetail(Integer workNo, List<DetlDto> detlDtos, String barcode, Long userId, Date now) { + if (detlDtos.isEmpty()){ + return; + } + for (DetlDto dto : detlDtos) { + Mat mat = matService.selectByMatnr(dto.getMatnr()); + if (Cools.isEmpty(mat)){ + throw new CoolException(dto.getMatnr() + "鍟嗗搧缁存姢澶辫触"); + } + // 淇濇寔宸ヤ綔妗f槑缁� + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(now); + wrkDetl.setBatch(dto.getBatch()); + wrkDetl.setAnfme(dto.getAnfme()); // 鏁伴噺 + wrkDetl.setZpallet(barcode); // 鎵樼洏鏉$爜 + wrkDetl.setAppeUser(userId); + wrkDetl.setAppeTime(now); + wrkDetl.setModiUser(userId); + wrkDetl.setModiTime(now); + if (!this.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + } + + @Override + public void createWorkDetail2(Integer workNo, List<MatCodeCountDto> matCodeCountDtos, String barcode, Long userId) { if (matCodeCountDtos.isEmpty()){ return; } for (MatCodeCountDto dto : matCodeCountDtos) { - MatCode matCode = matCodeService.selectById(dto.getMatNo()); - if (Cools.isEmpty(matCode)){ - throw new CoolException("鐗╂枡鏉$爜鏁版嵁涓虹┖"); + Mat mat = matService.selectByMatnr(dto.getMatNo()); + if (Cools.isEmpty(mat)){ + throw new CoolException(dto.getMatNo() + "鍟嗗搧缁存姢澶辫触"); } // 淇濇寔宸ヤ綔妗f槑缁� WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(new Date()); - wrkDetl.setMatnr(matCode.getMatNo()); // 鐗╂枡缂栧彿 wrkDetl.setAnfme(dto.getCount()); // 鏁伴噺 + wrkDetl.setMemo(""); + wrkDetl.setBatch(dto.getBatch()); +// VersionUtils.setWrkDetl(wrkDetl, matCode); // 鐗堟湰鎺у埗 +// wrkDetl.setBname(dto.getStr4()); wrkDetl.setZpallet(barcode); // 鎵樼洏鏉$爜 - wrkDetl.setLgnum("寰呭畾"); // todo - wrkDetl.setTbnum(0); // todo - wrkDetl.setTbpos(0); // todo - wrkDetl.setZmatid("寰呭畾"); // todo wrkDetl.setAppeUser(userId); wrkDetl.setAppeTime(new Date()); wrkDetl.setModiUser(userId); @@ -53,4 +82,38 @@ } } } + + @Override + public List<WrkDetl> selectByWrkNo(Integer wrkNo) { + return this.baseMapper.selectByWrkNo(wrkNo); + } + + @Override + public boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch) { + if (anfme <= 0) { + return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0; + } else { + return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0; + } + } + + @Override + public List<WrkDetl> selectAndLogByOrderNo(String orderNo) { + return this.baseMapper.selectAndLogByOrderNo(orderNo); + } + + @Override + public boolean updateInspect(Integer wrkNo, String matnr, String batch) { + return this.baseMapper.updateInspect(wrkNo, matnr, batch) > 0; + } + + @Override + public List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr) { + return this.baseMapper.selectPakoutQuery(staNo, matnr); + } + + @Override + public Double getBomQty(String bomCode,String matnr) { + return this.baseMapper.getBomQty(bomCode,matnr); + } } -- Gitblit v1.9.1