|
|
|
@ -331,7 +331,7 @@ public class UdiProductService {
|
|
|
|
|
// BeanUtils.copyProperties(updateLevelDrugRequest, udiProductEntity);
|
|
|
|
|
BeanUtils.copyProperties(addProductRequest, udiProductEntity);
|
|
|
|
|
udiProductEntity.setNameCode(updateLevelDrugRequest.getNameCode());
|
|
|
|
|
udiProductEntity.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
|
|
|
|
|
udiProductEntity.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
|
|
|
|
|
udiProductEntity.setPackUnit(updateLevelDrugRequest.getPackUnit());
|
|
|
|
|
udiProductEntity.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
|
|
|
|
|
udiProductEntity.setCpmctymc(addProductRequest.getCpmctymc());
|
|
|
|
@ -369,7 +369,7 @@ public class UdiProductService {
|
|
|
|
|
*/
|
|
|
|
|
public void updateLevelCount(UdiRelevanceEntity udiRelevanceEntity) {
|
|
|
|
|
List<UdiProductEntity> udiProductEntities = udiProductDao.findByUuids(udiRelevanceEntity.getUuid());
|
|
|
|
|
Integer curLevel = udiRelevanceEntity.getDistributeLevelCount();
|
|
|
|
|
Integer curLevel = udiRelevanceEntity.getDistributeLevel();
|
|
|
|
|
//更新各个层级流通时包含计量单元数量
|
|
|
|
|
if (CollUtil.isNotEmpty(udiProductEntities)) {
|
|
|
|
|
for (UdiProductEntity udiProductEntity : udiProductEntities) {
|
|
|
|
@ -380,16 +380,16 @@ public class UdiProductService {
|
|
|
|
|
if (nextLevelProduct2 != null && IntUtil.value(nextLevelProduct2.getPackLevel()) > IntUtil.value(curLevel)) {
|
|
|
|
|
UdiProductEntity nextLevelProduct3 = getNextLevelProduct(nextLevelProduct2, udiProductEntities);
|
|
|
|
|
if (nextLevelProduct3 != null && IntUtil.value(nextLevelProduct3.getPackLevel()) == IntUtil.value(curLevel)) {
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(nextLevelProduct1.getBhxjsl()) * IntUtil.value(nextLevelProduct2.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getDistributeLevelCount()));
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl()));
|
|
|
|
|
} else {
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(nextLevelProduct1.getBhxjsl()) * IntUtil.value(nextLevelProduct2.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getDistributeLevelCount()));
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl()));
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(nextLevelProduct1.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getDistributeLevelCount()));
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()));
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (nextLevelProduct1 != null && IntUtil.value(nextLevelProduct1.getPackLevel()) == IntUtil.value(curLevel)) {
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getDistributeLevelCount()));
|
|
|
|
|
udiProductEntity.setBhltcjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
@ -400,7 +400,7 @@ public class UdiProductService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
curLevel = udiRelevanceEntity.getUseLevel();
|
|
|
|
|
//更新各个层级使用时包含计量单元数量
|
|
|
|
|
if (CollUtil.isNotEmpty(udiProductEntities)) {
|
|
|
|
|
for (UdiProductEntity udiProductEntity : udiProductEntities) {
|
|
|
|
@ -411,16 +411,16 @@ public class UdiProductService {
|
|
|
|
|
if (nextLevelProduct2 != null && IntUtil.value(nextLevelProduct2.getPackLevel()) > IntUtil.value(curLevel)) {
|
|
|
|
|
UdiProductEntity nextLevelProduct3 = getNextLevelProduct(nextLevelProduct2, udiProductEntities);
|
|
|
|
|
if (nextLevelProduct3 != null && IntUtil.value(nextLevelProduct3.getPackLevel()) == IntUtil.value(curLevel)) {
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(nextLevelProduct1.getBhxjsl()) * IntUtil.value(nextLevelProduct2.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getUseLeverCount()));
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl()) );
|
|
|
|
|
} else {
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(nextLevelProduct1.getBhxjsl()) * IntUtil.value(nextLevelProduct2.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getUseLeverCount()));
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) * IntUtil.value(nextLevelProduct2.getMyBhxjsl()) );
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(nextLevelProduct1.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getUseLeverCount()));
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) * IntUtil.value(nextLevelProduct1.getMyBhxjsl()) );
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (nextLevelProduct1 != null && IntUtil.value(nextLevelProduct1.getPackLevel()) == IntUtil.value(curLevel)) {
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getBhxjsl()) * IntUtil.value(udiRelevanceEntity.getUseLeverCount()));
|
|
|
|
|
udiProductEntity.setBhsycjsl(IntUtil.value(udiProductEntity.getMyBhxjsl()) );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
@ -461,7 +461,7 @@ public class UdiProductService {
|
|
|
|
|
udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit());
|
|
|
|
|
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
|
|
|
|
|
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
|
|
|
|
|
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
|
|
|
|
|
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
|
|
|
|
|
udiProductDao.updateById(udiProductEntity1);
|
|
|
|
|
} else {
|
|
|
|
|
//新增
|
|
|
|
@ -471,7 +471,7 @@ public class UdiProductService {
|
|
|
|
|
udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit());
|
|
|
|
|
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
|
|
|
|
|
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
|
|
|
|
|
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
|
|
|
|
|
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
|
|
|
|
|
udiProductEntity1.setUuid(udiRelevanceEntity.getUuid());
|
|
|
|
|
udiProductEntity1.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
udiProductDao.insert(udiProductEntity1);
|
|
|
|
@ -511,7 +511,7 @@ public class UdiProductService {
|
|
|
|
|
|
|
|
|
|
public UdiProductEntity findUltimateEntity(UdiProductEntity udiProductEntity, List<UdiProductEntity> udiProductEntities, CountWrapper xjCountWrapper) {
|
|
|
|
|
if (StrUtil.isEmpty(udiProductEntity.getBhxjcpbm())) {
|
|
|
|
|
xjCountWrapper.addCount(IntUtil.value(udiProductEntity.getBhxjsl()));
|
|
|
|
|
xjCountWrapper.addCount(IntUtil.value(udiProductEntity.getMyBhxjsl()));
|
|
|
|
|
return udiProductEntity;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -519,7 +519,7 @@ public class UdiProductService {
|
|
|
|
|
.filter(item -> item.getNameCode().equals(udiProductEntity.getBhxjcpbm()))
|
|
|
|
|
.findFirst();
|
|
|
|
|
|
|
|
|
|
nextEntityOptional.ifPresent(entity -> xjCountWrapper.addCount(IntUtil.value(udiProductEntity.getBhxjsl())));
|
|
|
|
|
nextEntityOptional.ifPresent(entity -> xjCountWrapper.addCount(IntUtil.value(udiProductEntity.getMyBhxjsl())));
|
|
|
|
|
|
|
|
|
|
return nextEntityOptional
|
|
|
|
|
.map(entity -> findUltimateEntity(entity, udiProductEntities, xjCountWrapper))
|
|
|
|
|