111
k94314517
2024-01-23 9ee10a9db4aaf90f3002b894d519d39bf6ba6a87
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -12,6 +12,7 @@
import com.doumee.dao.business.SettleClaimsMapper;
import com.doumee.dao.business.dto.SCSupplementDTO;
import com.doumee.dao.business.join.SettleClaimsJoinMapper;
import com.doumee.dao.business.join.SettleClaimsLogJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.SettleClaimsLogService;
import com.doumee.service.business.SettleClaimsService;
@@ -28,6 +29,7 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * 理赔申请表Service实现
@@ -48,6 +50,9 @@
    @Autowired
    private SettleClaimsJoinMapper settleClaimsJoinMapper;
    @Autowired
    private SettleClaimsLogJoinMapper settleClaimsLogJoinMapper;
    @Override
    public Integer create(SettleClaims settleClaims) {
@@ -109,16 +114,51 @@
    }
    @Override
    public SettleClaims getSettleClaimsDetail(Integer id){
        SettleClaims settleClaims = settleClaimsJoinMapper.selectJoinOne(SettleClaims.class,new MPJLambdaWrapper<SettleClaims>()
                .selectAll(SettleClaims.class)
                .leftJoin(Member.class,Member::getId,SettleClaims::getMemberId)
                .leftJoin(InsuranceApply.class,InsuranceApply::getId,SettleClaims::getInsuranceApplyId)
                .leftJoin(DispatchUnit.class,DispatchUnit::getId,SettleClaims::getDuId)
                .leftJoin(Worktype.class,Worktype::getId,SettleClaims::getWorktypeId)
                .eq(SettleClaims::getId,id)
                .last(" limit 1 ")
        );
        List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>()
                .lambda().eq(Multifile::getObjId,id)
                .eq(Multifile::getIsdeleted,Constants.ZERO)
                .orderByAsc(Multifile::getCreateDate)
        );
        if(CollectionUtils.isNotEmpty(multifileList)){
            settleClaims.setReportFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SGXC_FILE.getKey())).collect(Collectors.toList()));
            settleClaims.setRelationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_YGGX_FILE.getKey())).collect(Collectors.toList()));
            settleClaims.setOutpatientFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_MZCL_FILE.getKey())).collect(Collectors.toList()));
            settleClaims.setHospitalFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_ZYCL_FILE.getKey())).collect(Collectors.toList()));
            settleClaims.setDisabilityFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SCZL_FILE.getKey())).collect(Collectors.toList()));
            settleClaims.setCompensationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_JACL_FILE.getKey())).collect(Collectors.toList()));
        }
        //查询操作记录
        List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogJoinMapper.selectJoinList(SettleClaimsLog.class,
                new MPJLambdaWrapper<SettleClaimsLog>()
                        .selectAll(SettleClaimsLog.class)
                        .selectAs(Member::getName,SettleClaimsLog::getCreatorName)
                        .selectAs(Company::getName,SettleClaimsLog::getCompanyName)
                        .leftJoin(Member.class,Member::getId,SettleClaimsLog::getCreator)
                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                        .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
                        .orderByAsc(SettleClaimsLog::getCreateDate)
        );
        settleClaims.setSettleClaimsLogList(settleClaimsLogList);
        return settleClaims;
    }