From 66172fb38c71b42931896b9a1a38b8b6ed9e57e4 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期四, 26 九月 2024 16:14:17 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 105 insertions(+), 5 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 81a1491..6aa415c 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,21 @@ 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.common.DateUtils; +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; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -22,8 +29,8 @@ @Autowired private PlaQtyService plaQtyService; - public Pla selectByBatchAndPackageNo(String batch, String packageNo) { - return this.selectOne(new EntityWrapper<Pla>().eq("batch",batch).eq("package_no",packageNo)); + public Pla selectByBatchAndPackageNo(String batch, Integer packageNo, String brand) { + return this.selectOne(new EntityWrapper<Pla>().eq("batch",batch).eq("package_no",packageNo).eq("brand",brand).eq(false,"status","鍏ㄩ儴鍑哄簱")); } @Override @@ -38,7 +45,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()); @@ -60,7 +67,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(); } } @@ -79,9 +86,102 @@ } 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); } } + + //閫�鍥� + @Transactional + public void returned(List<PlaQty> plaQties, User user) { + plaQties.forEach(plaQty -> { + PlaQty plaQtyOut = plaQtyService.selectById(plaQty.getId()); + if(Cools.isEmpty(plaQtyOut.getReturned()) || plaQtyOut.getReturned() == 0){ + plaQtyOut.setReturned(plaQty.getOrderWeight()); + }else { + throw new CoolException("璇ュ寘鐗╂枡宸查��鍥�"); + //plaQtyOut.setReturned(plaQty.getOrderWeight()+plaQtyOut.getReturned()); + } + plaQtyService.updateById(plaQtyOut); + + PlaQty plaQtyReturned = new PlaQty(); + plaQtyReturned.setBatch(plaQtyOut.getBatch()); + plaQtyReturned.setPackageNo(plaQtyOut.getPackageNo()); + plaQtyReturned.setCreateTime(new Date()); + plaQtyReturned.setLocNo(plaQtyOut.getLocNo()); + plaQtyReturned.setOrderNo(plaQtyOut.getOrderNo()); + plaQtyReturned.setPakoutTime(Utils.getDateStr(new Date())); + plaQtyReturned.setBrand(plaQty.getBrand()); + 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(),plaQty.getBrand()); + //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(),null); + + }); + } + + @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; + Date stime = null; + Date etime = null; + Object create_time = page.getCondition().get("create_time"); + Object brand = page.getCondition().get("brand"); + Object status = page.getCondition().get("status"); + String createTime = create_time == null ? null : create_time.toString(); + if(!Cools.isEmpty(createTime)){ + String[] dates = createTime.split(" - "); + stime = DateUtils.convert(dates[0]); + etime = DateUtils.convert(dates[1]); + } + plaList=baseMapper.getStockStatisAll(brand == null ? null:brand.toString(), status == null ? null:status.toString(), stime,etime); + + 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