This commit is contained in:
parent
b507147335
commit
475d76eeab
|
|
@ -94,21 +94,32 @@ public class BackApplyServiceImpl implements BackApplyService {
|
||||||
@Override
|
@Override
|
||||||
public boolean isBackApplyNumberCorrect(BackApplyInfo bean) {
|
public boolean isBackApplyNumberCorrect(BackApplyInfo bean) {
|
||||||
boolean isCorrect = true; //默认合法
|
boolean isCorrect = true; //默认合法
|
||||||
|
Map<String, Integer> oldBackMap = new HashMap<>();
|
||||||
|
Map<Integer, Integer> leaseMap = new HashMap<>();
|
||||||
|
Map<String, Integer> thisBackMap = new HashMap<>();
|
||||||
// 查看出库数据
|
// 查看出库数据
|
||||||
List<BackApplyInfo> backTypes = backApplyMapper.getBackApplyDetailsTypeCount(bean);
|
List<BackApplyInfo> oldBackTypes = backApplyMapper.getBackApplyDetailsTypeCount(bean);
|
||||||
|
if (CollectionUtils.isNotEmpty(oldBackTypes)) {
|
||||||
|
oldBackMap = oldBackTypes.stream().collect(Collectors.groupingBy(BackApplyInfo::getTypeId,
|
||||||
|
Collectors.summingInt(BackApplyInfo::getBackNum)));
|
||||||
|
}
|
||||||
// 查看退料已审核数据
|
// 查看退料已审核数据
|
||||||
List<LeaseApplyDetails> leaseTypes = leaseApplyDetailsMapper.getLeaseApplyDetailsTypeCount(bean);
|
List<LeaseApplyDetails> leaseTypes = leaseApplyDetailsMapper.getLeaseApplyDetailsTypeCount(bean);
|
||||||
|
if (CollectionUtils.isNotEmpty(leaseTypes)) {
|
||||||
|
leaseMap = leaseTypes.stream().collect(Collectors.groupingBy(LeaseApplyDetails::getTypeId,
|
||||||
|
Collectors.summingInt(LeaseApplyDetails::getAlNum)));
|
||||||
|
}
|
||||||
// 比较本次退料数据,是否大于前两者的差额,大于就报错
|
// 比较本次退料数据,是否大于前两者的差额,大于就报错
|
||||||
List<BackApplyInfo> thisBackTypes = bean.getBackApplyDetails();
|
if (CollectionUtils.isNotEmpty(bean.getBackApplyDetails())) {
|
||||||
|
thisBackMap = bean.getBackApplyDetails().stream().collect(Collectors.groupingBy(BackApplyInfo::getTypeId,
|
||||||
|
Collectors.summingInt(BackApplyInfo::getNum)));
|
||||||
|
}
|
||||||
// 判断3个list是否具备合法性
|
// 判断3个list是否具备合法性
|
||||||
Map<String, Integer> oldBackMap = backTypes.stream().collect(Collectors.groupingBy(BackApplyInfo::getTypeId,
|
|
||||||
Collectors.summingInt(BackApplyInfo::getBackNum)));
|
|
||||||
Map<Integer, Integer> leaseMap = leaseTypes.stream().collect(Collectors.groupingBy(LeaseApplyDetails::getTypeId,
|
|
||||||
Collectors.summingInt(LeaseApplyDetails::getAlNum)));
|
|
||||||
Map<String, Integer> thisBackMap = thisBackTypes.stream().collect(Collectors.groupingBy(BackApplyInfo::getTypeId,
|
|
||||||
Collectors.summingInt(BackApplyInfo::getNum)));
|
|
||||||
for (Integer key : leaseMap.keySet()) {
|
for (Integer key : leaseMap.keySet()) {
|
||||||
if (oldBackMap.get(String.valueOf(key)) + thisBackMap.get(String.valueOf(key)) > leaseMap.get(key)) {
|
int oldBackNum = Objects.isNull(oldBackMap.get(String.valueOf(key))) ? 0 : oldBackMap.get(String.valueOf(key));
|
||||||
|
int thisBackNum = Objects.isNull(thisBackMap.get(String.valueOf(key))) ? 0 : thisBackMap.get(String.valueOf(key));
|
||||||
|
int leaseNum = Objects.isNull(leaseMap.get(key)) ? 0 : leaseMap.get(key);
|
||||||
|
if (oldBackNum + thisBackNum > leaseNum) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue