package pwc.taxtech.atms.service.impl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.stereotype.Service; import pwc.taxtech.atms.dpo.BillDetailDto; import pwc.taxtech.atms.dto.billDetail.BillDetailParam; import pwc.taxtech.atms.dto.billDetail.BillDetailResult; import pwc.taxtech.atms.vat.dao.BillDetailMapper; import pwc.taxtech.atms.vat.entity.BillDetail; import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; @Service public class BillDetailService extends BaseService { @Resource private BillDetailMapper billDetailMapper; public PageInfo<BillDetailResult> queryPage(BillDetailParam param) { Page page = PageHelper.startPage(param.getPageInfo().getPageIndex(), param.getPageInfo().getPageSize()); List<BillDetailDto> dataList = billDetailMapper.queryBillWithRevenueConf(param.getBillType(), param.getCustomer(), param.getBillNumber(), param.getRevenueCofId(), param.getBillContent(), param.getDepartment(), param.getBillTaxRat(), param.getBillDate(), param.getProjectId(), param.getPeriod(), param.getQueryDate()); PageInfo<BillDetailResult> pageInfo = new PageInfo<>(dataList.stream() .map(o -> beanUtil.copyProperties(o, new BillDetailResult())).collect(Collectors.toList())); pageInfo.setTotal(page.getTotal()); return pageInfo; } public List<String> queryBillTypeGroupBy(String projectId,Integer period){ return billDetailMapper.queryBillTypeGroupBy(projectId,period); } public void updateBillDetail(BillDetail billDetail) { billDetailMapper.updateByPrimaryKeySelective(billDetail); } }