From 8be136c5e451b623cec21e806bd30e6e2698587d Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 17 二月 2025 16:42:40 +0800 Subject: [PATCH] 新增捡货单excel导出,销售用 --- src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java | 99 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 90 insertions(+), 9 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..9eb8ebe 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,19 @@ 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; @@ -24,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)); } @Override @@ -40,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()); @@ -62,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(); } } @@ -81,17 +86,23 @@ } 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()); - plaQtyOut.setReturned(1); + 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(); @@ -101,17 +112,87 @@ plaQtyReturned.setLocNo(plaQtyOut.getLocNo()); plaQtyReturned.setOrderNo(plaQtyOut.getOrderNo()); plaQtyReturned.setPakoutTime(Utils.getDateStr(new Date())); - plaQtyReturned.setOrderWeight(0 - plaQtyOut.getOrderWeight()); + 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 = this.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo()); - pla.setStatus("寰呭叆搴�"); + //鐩存帴鏇存柊pla鐨勫簱瀛� + Pla pla = this.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo(),plaQty.getBrand()); + //pla.setStatus(GlobleParameter.PLA_STATUS_0); + pla.setModifyTime(new Date()); + // 閫�璐т汉 modify_user锛岄��璐у娉� create_user锛岄��璐ф爣璇� transfer + pla.setModifyUser(user.getUsername()); + pla.setCreateUser(plaQty.getMemo()); + pla.setTransfer("閫�璐�"); + pla.setStash(""); // 搴撳尯 + pla.setLocNo(""); // 搴撲綅 + + pla.setWeightAnfme(pla.getWeightAnfme() + plaQty.getOrderWeight()); + pla.setStatus(GlobleParameter.PLA_STATUS_1); this.updateById(pla); + SaasUtils.insertLog(4,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 type = (String) page.getCondition().get("type"); + String workshop = (String) page.getCondition().get("workshop"); + String transfer = (String) page.getCondition().get("transfer"); + + 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, type, workshop, transfer); + + 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