1.库存码详情没数据时,删除库存记录

master
x_z 3 years ago
parent ef8bdfcd68
commit 2c87ed7efb

@ -213,7 +213,7 @@ public class CodesServiceImpl implements CodesService {
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
//出库 //出库
int count = invProductEntity.getOutCount() + invProductDetailEntity.getCount(); int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount();
invProductEntity.setOutCount(count); invProductEntity.setOutCount(count);
} else if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { } else if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
//入库 //入库
@ -221,8 +221,19 @@ public class CodesServiceImpl implements CodesService {
invProductEntity.setInCount(count); invProductEntity.setInCount(count);
} }
//更新库存 //查询库存码详情,如果库存码详情为空,则删除此库存
invProductDao.updateInvProduct(invProductEntity); FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest();
detailParams.setBatchNo(invProductEntity.getBatchNo());
detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode()));
detailParams.setProductIdFk(invProductEntity.getRelIdFk());
int count = invProductDetailDao.statCount(detailParams);
if (count == 0) {
//如果库存码详情为空,则删除此库存
invProductDao.deleteById(String.valueOf(invProductEntity.getId()));
} else {
//更新库存
invProductDao.updateInvProduct(invProductEntity);
}
} }
} }

@ -35,10 +35,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -407,7 +404,7 @@ public class OrderServiceImpl implements OrderService {
productEntity.setInCount(count); productEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
//出库,在原有库存上增加库存 //出库,在原有库存上增加库存
int count = productEntity.getOutCount() + invProductDetailEntity.getCount(); int count = productEntity.getOutCount() - invProductDetailEntity.getCount();
productEntity.setOutCount(count); productEntity.setOutCount(count);
} }
@ -416,12 +413,23 @@ public class OrderServiceImpl implements OrderService {
//删除单据相关数据,更新库存 //删除单据相关数据,更新库存
try { try {
//删除库存详情
invProductDetailDao.deleteByOrderId(id);
//更新库存 //更新库存
for (InvProductEntity invProductEntity : invProductList) { for (InvProductEntity invProductEntity : invProductList) {
invProductDao.updateInvProduct(invProductEntity); //查询库存码详情,如果库存码详情为空,则删除此库存
FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest();
detailParams.setBatchNo(invProductEntity.getBatchNo());
detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode()));
detailParams.setProductIdFk(invProductEntity.getRelIdFk());
int count = invProductDetailDao.statCount(detailParams);
if (count == 0) {
//如果库存码详情为空,则删除此库存
invProductDao.deleteById(String.valueOf(invProductEntity.getId()));
} else {
invProductDao.updateInvProduct(invProductEntity);
}
} }
//删除库存详情
invProductDetailDao.deleteByOrderId(id);
//删除码详情 //删除码详情
codesDao.deleteByOrderId(id); codesDao.deleteByOrderId(id);
//查询业务单据 //查询业务单据

Loading…
Cancel
Save