From 651abfd31b7f84ae8f0aff482aa2042174c1a12b Mon Sep 17 00:00:00 2001 From: siontion Date: Mon, 15 Jul 2024 22:54:56 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=80=80=E6=96=99=E3=80=91=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TplusStorageOutMapper.java | 4 ++- .../service/storage/StorageServiceImpl.java | 25 +++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/dal/mysql/tplusstorageout/TplusStorageOutMapper.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/dal/mysql/tplusstorageout/TplusStorageOutMapper.java index fcff09b1..939354a2 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/dal/mysql/tplusstorageout/TplusStorageOutMapper.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/dal/mysql/tplusstorageout/TplusStorageOutMapper.java @@ -43,7 +43,9 @@ public interface TplusStorageOutMapper extends BaseMapperX { .disableSubLogicDel() .orderByDesc(TplusStorageOutDO::getId); - query.between(!StringUtils.isEmpty(reqVO.getSDate()) && !StringUtils.isEmpty(reqVO.getEDate()),TplusStorageOutDO::getCreateTime,reqVO.getSDate(),reqVO.getEDate()); + query.between(!StringUtils.isEmpty(reqVO.getSDate()) && !StringUtils.isEmpty(reqVO.getEDate()),TplusStorageOutDO::getCreateTime,reqVO.getSDate(),reqVO.getEDate()) + .apply(true,"exists(select id from wms_storage where id=t.stock_id and stock_type=2)") + ; return selectPage(reqVO,query); } diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/storage/StorageServiceImpl.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/storage/StorageServiceImpl.java index b514bd4b..bfb66489 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/storage/StorageServiceImpl.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/storage/StorageServiceImpl.java @@ -37,6 +37,7 @@ import com.chanko.yunxi.mes.module.biz.manager.CrossOrderManager; import com.chanko.yunxi.mes.module.biz.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.biz.service.storagemat.StorageMatService; import com.chanko.yunxi.mes.module.system.dal.mysql.dept.DeptMapper; +import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -303,7 +304,7 @@ public class StorageServiceImpl implements StorageService { reqOutVO.setSDate(firstDay); reqOutVO.setEDate(lastDay); - PageResult storageOutList = tplusStorageOutMapper.selectPage(reqOutVO); + PageResult storageOutList = tplusStorageOutMapper.selectPageByDate(reqOutVO); saveTplusStockInDate(updateObj,storageMatList,storageOutList.getList()); } @@ -343,9 +344,10 @@ public class StorageServiceImpl implements StorageService { } private void saveTplusStockInDate(StorageDO storageDO,List storageMatDOS,List tplusStorageOutDOS){ + List sameWhAndMats; if(CollUtil.isNotEmpty(tplusStorageOutDOS)){ - List sameWhAndMats = tplusStorageOutDOS.stream().filter(ot->{ - return storageMatDOS.stream().anyMatch(mo ->mo.getProjectNo()!=null && mo.getWhId().equals(ot.getWhId()) && mo.getMatId().equals(ot.getMatId())); + sameWhAndMats = tplusStorageOutDOS.stream().filter(ot -> { + return storageMatDOS.stream().filter(mo -> mo.getWhId().longValue() == ot.getWhId().longValue() && mo.getMatId().longValue() == ot.getMatId().longValue()).count() > 0; }).collect(Collectors.toList()); if(CollUtil.isNotEmpty(sameWhAndMats)){ @@ -360,8 +362,12 @@ public class StorageServiceImpl implements StorageService { }); if(fixRatioAll[0].doubleValue()==0){ fixRatioAll[0] = ko.getFixRatio(); + ko.setStorageOkQty(storageOkQtyIn.multiply(BigDecimal.valueOf(-1))); + }else{ + val divideData = ko.getFixRatio().doubleValue() / fixRatioAll[0].doubleValue(); + ko.setStorageOkQty(storageOkQtyIn.multiply(BigDecimal.valueOf(divideData)).multiply(BigDecimal.valueOf(-1))); } - ko.setStorageOkQty(storageOkQtyIn.multiply(ko.getFixRatio().divide(fixRatioAll[0])).multiply(BigDecimal.valueOf(-1))); + }); } @@ -382,11 +388,8 @@ public class StorageServiceImpl implements StorageService { } }); - tplusStorageOutMapper.delete(TplusStorageOutDO::getStockId,storageDO.getId()); - tplusStorageOutMapper.insertBatch(sameWhAndMats); - }else{ - List insertWhAndMats = new ArrayList<>(); + sameWhAndMats = new ArrayList<>(); storageMatDOS.forEach(sm->{ TplusStorageOutDO tplusStorageOutDO = new TplusStorageOutDO(); tplusStorageOutDO.setStockId(storageDO.getId()); @@ -399,11 +402,11 @@ public class StorageServiceImpl implements StorageService { tplusStorageOutDO.setMatId(materialMapper.selectOne(MaterialDO::getCode,sm.getProjectSubCode()).getId()); tplusStorageOutDO.setStorageOkQty(sm.getStorageOkQty().multiply(new BigDecimal(-1))); tplusStorageOutDO.setIsSend(0); - insertWhAndMats.add(tplusStorageOutDO); + sameWhAndMats.add(tplusStorageOutDO); }); - tplusStorageOutMapper.delete(TplusStorageOutDO::getStockId,storageDO.getId()); - tplusStorageOutMapper.insertBatch(insertWhAndMats); } + tplusStorageOutMapper.delete(TplusStorageOutDO::getStockId,storageDO.getId()); + tplusStorageOutMapper.insertBatch(sameWhAndMats); } private Date getLastDayOfMonth(Date date) {