From e0004817f2edb903fd9707b194ba8db2429e33ae Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 04 三月 2024 13:46:57 +0800 Subject: [PATCH] 入出库日志筛选 入库无需校验 --- src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java | 73 +++++++++++++++++++++++++++++++++--- 1 files changed, 66 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java index 5843839..f90e61a 100644 --- a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java @@ -2,14 +2,18 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; +import com.core.exception.CoolException; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.Pla; import com.zy.asrs.entity.PlaQty; +import com.zy.asrs.entity.param.GlobleParameter; import com.zy.asrs.mapper.PlaMapper; import com.zy.asrs.service.PlaQtyService; import com.zy.asrs.service.PlaService; +import com.zy.asrs.utils.SaasUtils; import com.zy.asrs.utils.Utils; import com.zy.system.entity.User; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +28,7 @@ @Autowired private PlaQtyService plaQtyService; - public Pla selectByBatchAndPackageNo(String batch, String packageNo) { + public Pla selectByBatchAndPackageNo(String batch, Integer packageNo) { return this.selectOne(new EntityWrapper<Pla>().eq("batch",batch).eq("package_no",packageNo)); } @@ -40,7 +44,7 @@ if(!Cools.isEmpty(orderDetl.getBrand())){ wrapper.eq("package_no",orderDetl.getBrand()); } - wrapper.eq("status","宸插叆搴�"); + wrapper.eq("status", GlobleParameter.PLA_STATUS_1); wrapper.ge("finger_melting", orderDetl.getFingerMeltingMin()).le("finger_melting", orderDetl.getFingerMeltingMax()); wrapper.ge("fusing_point", orderDetl.getFusingPointMin()).le("fusing_point", orderDetl.getFusingPointMax()); wrapper.ge("yellowness", orderDetl.getYellownessMin()).le("yellowness", orderDetl.getYellownessMax()); @@ -62,7 +66,7 @@ } //闇�瑕佸噺鍘绘娆″嚭搴撻瑙堝叾浠栬鍗曢渶鍑哄簱鐨勬暟閲� for (PlaQty plaQty : plaQties){ - if(Cools.eq(plaQty.getBatch(),pla.getBatch()) && Cools.eq(plaQty.getPackageNo(),pla.getPackageNo())){ + if(Cools.eq(plaQty.getBatch(),pla.getBatch()) && plaQty.getPackageNo() == pla.getPackageNo()){ weightAnfme -= plaQty.getQtyAnfme(); } } @@ -81,7 +85,7 @@ } if(anfme > 0){ - PlaQty plaQty = new PlaQty(orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getId(),orderDetl.getOrderId(),orderDetl.getOrderNo(),anfme,null,new Date()); + PlaQty plaQty = new PlaQty(orderDetl.getBatch(),Integer.parseInt(orderDetl.getBrand()),orderDetl.getId(),orderDetl.getOrderId(),orderDetl.getOrderNo(),anfme,null,new Date()); plaQties.add(plaQty); } @@ -91,7 +95,11 @@ public void returned(List<PlaQty> plaQties, User user) { plaQties.forEach(plaQty -> { PlaQty plaQtyOut = plaQtyService.selectById(plaQty.getId()); - plaQtyOut.setReturned(1); + if(Cools.isEmpty(plaQtyOut.getReturned())){ + plaQtyOut.setReturned(plaQty.getOrderWeight()); + }else { + plaQtyOut.setReturned(plaQty.getOrderWeight()+plaQtyOut.getReturned()); + } plaQtyService.updateById(plaQtyOut); PlaQty plaQtyReturned = new PlaQty(); @@ -101,17 +109,68 @@ plaQtyReturned.setLocNo(plaQtyOut.getLocNo()); plaQtyReturned.setOrderNo(plaQtyOut.getOrderNo()); plaQtyReturned.setPakoutTime(Utils.getDateStr(new Date())); - plaQtyReturned.setOrderWeight(0 - plaQtyOut.getOrderWeight()); + plaQtyReturned.setOrderWeight(plaQty.getOrderWeight()); + plaQtyReturned.setTransfer("閫�鍥炲叆搴�"); plaQtyReturned.setHandlerBy(user.getUsername()); plaQtyReturned.setCustomer(plaQtyOut.getCustomer()); plaQtyReturned.setMemo(plaQty.getMemo()); plaQtyService.insert(plaQtyReturned); + //鐩存帴鏇存柊pla鐨勫簱瀛� Pla pla = this.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo()); - pla.setStatus("寰呭叆搴�"); + //pla.setStatus(GlobleParameter.PLA_STATUS_0); + pla.setModifyTime(new Date()); + pla.setWeightAnfme(pla.getWeightAnfme() + plaQty.getOrderWeight()); + pla.setStatus(GlobleParameter.PLA_STATUS_1); this.updateById(pla); + SaasUtils.insertLog(0,pla.getLocNo(),pla.getBrand(),plaQty.getOrderWeight(),user.getUsername(), + null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop()); + }); } + + @Override + @Transactional + public void viladate(List<Pla> plas, User user) { + plas.forEach(pla -> { + if(!pla.getStatus().equals(GlobleParameter.PLA_STATUS_00)){ + throw new CoolException("閫変腑鐨勬暟鎹笉鏄殏鍏ュ簱鐘舵�侊紝璇锋牳瀵圭姸鎬�"); + } + pla = this.selectById(pla.getId()); + pla.setModifyTime(new Date()); + pla.setStatus(GlobleParameter.PLA_STATUS_0); + this.updateById(pla); + }); + } + + @Override + public List<Pla> selectToHistory() { + return this.selectList(new EntityWrapper<Pla>().eq("status",GlobleParameter.PLA_STATUS_4)); + } + + @Override + public Page<Pla> getStockStatisAll(Page<Pla> page) { + + List<Pla> plaList; + if(Cools.isEmpty(page.getCondition().get("brand"))){ + plaList=baseMapper.getStockStatisAll(); + }else { + plaList = baseMapper.getStockStatisAllByBrand(page.getCondition().get("brand").toString()); + } + + double weightSum = plaList.stream().mapToDouble(Pla::getWeight).sum(); + + // 鏈�鍚庝竴鏉¤褰曚粎渚涘悎璁¢噸閲忎俊鎭睍绀� + Pla pla = new Pla(); + pla.setBrand("鍚堣"); + pla.setMatnr(""); + pla.setWeight(weightSum); + plaList.add(pla); + + page.setRecords(plaList); + page.setTotal(0); + return page; + } } -- Gitblit v1.9.1