@ -67,27 +67,34 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
@Override
public String buildEntrustMaterialCheckoutResultStr ( String entrustId ) {
// 先获取检材列表
List < EntrustmentIdentificationMaterial > materialList = entrustmentIdentificationMaterialService . list ( Wrappers . < EntrustmentIdentificationMaterial > lambdaQuery ( ) . eq ( EntrustmentIdentificationMaterial : : getEntrustmentId , entrustId ) ) ;
Map < String , EntrustmentIdentificationMaterial > materialMap = materialList . stream ( ) . collect ( Collectors . toMap ( EntrustmentIdentificationMaterial : : getId , Function . identity ( ) ) ) ;
// List<EntrustmentIdentificationMaterial> materialList = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId));
// Map<String, EntrustmentIdentificationMaterial> materialMap = materialList.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
// 获取检测结果
List < EntrustMaterialCheckoutResult > checkoutResultList = super . l ist( Wrappers . < EntrustMaterialCheckoutResult > lambdaQ uery( ) . eq ( EntrustMaterialCheckoutResult : : getEntrustId , entrustId ) ) ;
List < EntrustMaterialCheckoutResultVO > checkoutResultList = baseMapper . voL ist( Wrappers . < EntrustMaterialCheckoutResult > q uery( ) . eq ( "emr.entrust_id" , entrustId ) ) ;
if ( CollUtil . isEmpty ( checkoutResultList ) ) {
return "" ;
}
List < EntrustMaterialCheckoutResultVO > materialCheckoutResults = checkoutResultList . stream ( ) . filter ( o - > StrUtil . isNotBlank ( o . getQualitativeResult ( ) ) ) . collect ( Collectors . toList ( ) ) ;
List < EntrustMaterialCheckoutResultVO > materialNotCheckoutResults = checkoutResultList . stream ( ) . filter ( o - > StrUtil . isEmpty ( o . getQualitativeResult ( ) ) ) . collect ( Collectors . toList ( ) ) ;
List < String > resultStrList = new ArrayList < > ( ) ;
// 对检测结果进行分组
Map < String , List < EntrustMaterialCheckoutResult > > checkoutResultGroupMap = checkoutResultList . stream ( ) . collect ( Collectors . groupingBy ( item - > DrugLiteConvert . joiningDrugListNameToStr ( item . getQualitativeResult ( ) , "、" ) ) ) ;
Map < String , List < EntrustMaterialCheckoutResultVO > > checkoutResultGroupMap = materialCheckoutResults . stream ( ) . collect ( Collectors . groupingBy ( item - > DrugLiteConvert . joiningDrugListNameToStr ( DrugLiteConvert . getDrugLites ( item . getQualitativeResult ( ) ) , "、" ) ) ) ;
checkoutResultGroupMap . forEach ( ( key , value ) - > {
StringBuilder builder = new StringBuilder ( ) ;
builder
. append ( value . stream ( ) . map ( item - > materialMap . get ( item . getId ( ) ) . getOrderNo1 ( ) ) . sorted ( ) . collect ( Collectors . joining ( "、" ) ) )
. append ( value . stream ( ) . map ( item - > item . getOrderNo ( ) + "号检材" ) . sorted ( ) . collect ( Collectors . joining ( "、" ) ) )
. append ( " : [" )
. append ( key )
. append ( "]" ) ;
resultStrList . add ( builder . toString ( ) ) ;
} ) ;
if ( CollUtil . isNotEmpty ( materialNotCheckoutResults ) ) {
String notCheckoutStr = materialNotCheckoutResults . stream ( ) . map ( result - > result . getOrderNo ( ) + "号检材" ) . sorted ( ) . collect ( Collectors . joining ( "、" ) ) + materialNotCheckoutResults . get ( 0 ) . getCheckoutRemark ( ) ;
return resultStrList . stream ( ) . sorted ( ) . collect ( Collectors . joining ( "\n" ) ) + notCheckoutStr ;
}
return resultStrList . stream ( ) . sorted ( ) . collect ( Collectors . joining ( "\n" ) ) ;
}
@ -188,26 +195,31 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
* /
@Override
public IPage < EntrustMaterialCheckoutResultVO > voiPage ( EntrustMaterialCheckoutResultQuery query ) {
IPage < EntrustMaterialCheckoutResult > page = this . page (
// IPage<EntrustMaterialCheckoutResult> page = this.page(
// new Page<>(query.getCurrent(), query.getSize()),
// Wrappers.<EntrustMaterialCheckoutResult>lambdaQuery()
// .eq(StrUtil.isNotBlank(query.getEntrustId()), EntrustMaterialCheckoutResult::getEntrustId, query.getEntrustId())
// .orderByDesc(EntrustMaterialCheckoutResult::getUpdateTime)
// );
// IPage<EntrustMaterialCheckoutResultVO> voPage = new Page<>();
// BeanUtils.copyProperties(page, voPage, "records");
// List<EntrustMaterialCheckoutResult> records = page.getRecords();
// if (CollUtil.isNotEmpty(records)) {
// List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterials = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().in(EntrustmentIdentificationMaterial::getId, records.stream().map(EntrustMaterialCheckoutResult::getId).collect(Collectors.toSet())));
// Map<String, EntrustmentIdentificationMaterial> materialMap = entrustmentIdentificationMaterials.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
// List<EntrustMaterialCheckoutResultVO> entrustMaterialCheckoutResultVOS = records.stream().map(record -> {
// EntrustMaterialCheckoutResultVO entrustMaterialCheckoutResultVO = EntrustMaterialCheckoutResultConvert.entityToVO(record);
// entrustMaterialCheckoutResultVO.setName(materialMap.get(record.getId()).getName());
// return entrustMaterialCheckoutResultVO;
// }).collect(Collectors.toList());
// voPage.setRecords(entrustMaterialCheckoutResultVOS);
// }
return baseMapper . getEntrustMaterialCheckoutResultVOPage (
new Page < > ( query . getCurrent ( ) , query . getSize ( ) ) ,
Wrappers . < EntrustMaterialCheckoutResult > lambdaQuery ( )
. eq ( StrUtil . isNotBlank ( query . getEntrustId ( ) ) , EntrustMaterialCheckoutResult : : getEntrustId , query . getEntrustId ( ) )
. orderByDesc ( EntrustMaterialCheckoutResult : : getUpdateTime )
Wrappers . < EntrustMaterialCheckoutResultVO > q uery( )
. eq ( StrUtil . isNotBlank ( query . getEntrustId ( ) ) , "emr.entrust_id" , query . getEntrustId ( ) )
. orderByAsc ( "em.order_no" )
) ;
IPage < EntrustMaterialCheckoutResultVO > voPage = new Page < > ( ) ;
BeanUtils . copyProperties ( page , voPage , "records" ) ;
List < EntrustMaterialCheckoutResult > records = page . getRecords ( ) ;
if ( CollUtil . isNotEmpty ( records ) ) {
List < EntrustmentIdentificationMaterial > entrustmentIdentificationMaterials = entrustmentIdentificationMaterialService . list ( Wrappers . < EntrustmentIdentificationMaterial > lambdaQuery ( ) . in ( EntrustmentIdentificationMaterial : : getId , records . stream ( ) . map ( EntrustMaterialCheckoutResult : : getId ) . collect ( Collectors . toSet ( ) ) ) ) ;
Map < String , EntrustmentIdentificationMaterial > materialMap = entrustmentIdentificationMaterials . stream ( ) . collect ( Collectors . toMap ( EntrustmentIdentificationMaterial : : getId , Function . identity ( ) ) ) ;
List < EntrustMaterialCheckoutResultVO > entrustMaterialCheckoutResultVOS = records . stream ( ) . map ( record - > {
EntrustMaterialCheckoutResultVO entrustMaterialCheckoutResultVO = EntrustMaterialCheckoutResultConvert . entityToVO ( record ) ;
entrustMaterialCheckoutResultVO . setName ( materialMap . get ( record . getId ( ) ) . getName ( ) ) ;
return entrustMaterialCheckoutResultVO ;
} ) . collect ( Collectors . toList ( ) ) ;
voPage . setRecords ( entrustMaterialCheckoutResultVOS ) ;
}
return voPage ;
}
/ * *
@ -315,7 +327,7 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
excelDTO . setFormName ( material . getFormName ( ) ) ;
EntrustMaterialCheckoutResult entrustMaterialCheckoutResult = checkoutResultMap . get ( material . getId ( ) ) ;
excelDTO . setQualitativeResult (
DrugLiteConvert . convertDirtyLiteByJSON ( entrustMaterialCheckoutResult . getQualitativeResult ( ) )
DrugLiteConvert . getDrugLites ( entrustMaterialCheckoutResult . getQualitativeResult ( ) )
. stream ( ) . map ( DrugLite : : getName ) . collect ( Collectors . joining ( "、" ) )
) ;
excelDTO . setQuantitativeResult ( entrustMaterialCheckoutResult . getQuantitativeResult ( ) ) ;