|
|
|
@ -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<TplusStorageOutDO> storageOutList = tplusStorageOutMapper.selectPage(reqOutVO);
|
|
|
|
|
PageResult<TplusStorageOutDO> storageOutList = tplusStorageOutMapper.selectPageByDate(reqOutVO);
|
|
|
|
|
|
|
|
|
|
saveTplusStockInDate(updateObj,storageMatList,storageOutList.getList());
|
|
|
|
|
}
|
|
|
|
@ -343,9 +344,10 @@ public class StorageServiceImpl implements StorageService {
|
|
|
|
|
}
|
|
|
|
|
private void saveTplusStockInDate(StorageDO storageDO,List<StorageMatDO> storageMatDOS,List<TplusStorageOutDO> tplusStorageOutDOS){
|
|
|
|
|
|
|
|
|
|
List<TplusStorageOutDO> sameWhAndMats;
|
|
|
|
|
if(CollUtil.isNotEmpty(tplusStorageOutDOS)){
|
|
|
|
|
List<TplusStorageOutDO> 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<TplusStorageOutDO> 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) {
|
|
|
|
|
|
|
|
|
|