|
|
@@ -4,15 +4,20 @@ import cn.com.taiji.common.manager.net.http.ServiceHandleException; |
|
|
|
import cn.com.taiji.common.model.dao.Pagination; |
|
|
|
import cn.com.taiji.common.pub.BeanTools; |
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import com.google.common.collect.Lists; |
|
|
|
import com.qtzl.alterSales.dao.repo.jpa.primary.FssPaccountFinalbillRepo; |
|
|
|
import com.qtzl.alterSales.manager.model.protocol.UcServiceError; |
|
|
|
import com.qtzl.alterSales.manager.model.protocol.sales.FssPaccountFinalbillFindCountRequest; |
|
|
|
import com.qtzl.alterSales.manager.model.protocol.sales.FssPaccountFinalbillFindCountResponse; |
|
|
|
import com.qtzl.alterSales.manager.model.protocol.sales.FssPaccountFinalbillFindPageRequest; |
|
|
|
import com.qtzl.alterSales.manager.vo.FssPaccountFinalbillVo; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.persistence.criteria.Predicate; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
@Service |
|
|
|
public class FssPaccountFinalbillServiceImpl implements FssPaccountFinalbillService{ |
|
|
@@ -40,9 +45,28 @@ public class FssPaccountFinalbillServiceImpl implements FssPaccountFinalbillServ |
|
|
|
if (request.getPageSize() > 100) { |
|
|
|
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("请求每页数量过大 " + request.getPageSize()); |
|
|
|
} |
|
|
|
if (!StringUtils.isEmpty(request.getNaturalDate())){ |
|
|
|
long count = count(request); |
|
|
|
if (count<1){ |
|
|
|
Pagination pagination = new Pagination(); |
|
|
|
pagination.setPageSize(request.getPageSize()); |
|
|
|
pagination.setResult(new ArrayList<FssPaccountFinalbillVo>()); |
|
|
|
return pagination; |
|
|
|
} |
|
|
|
} |
|
|
|
FssPaccountFinalbillFindPageRequest queryRequest = new FssPaccountFinalbillFindPageRequest(); |
|
|
|
BeanUtil.copyProperties(request, queryRequest); |
|
|
|
return fssPaccountFinalbillRepo.page(queryRequest); |
|
|
|
} |
|
|
|
private long count(FssPaccountFinalbillFindCountRequest request) throws ServiceHandleException { |
|
|
|
return fssPaccountFinalbillRepo.count(((root, query, cb) -> { |
|
|
|
List<Predicate> list = Lists.newArrayList(); |
|
|
|
if (!StringUtils.isEmpty(request.getNaturalDate())) { |
|
|
|
list.add(cb.equal(root.<String>get("naturalDate"), request.getNaturalDate())); |
|
|
|
} |
|
|
|
Predicate[] p = new Predicate[list.size()]; |
|
|
|
return cb.and(list.toArray(p)); |
|
|
|
})); |
|
|
|
} |
|
|
|
|
|
|
|
} |