Commit e2641314 authored by hyuk's avatar hyuk

资方配置审批列表排序更改

parent 17c77c4b
......@@ -12,12 +12,10 @@ import javax.persistence.criteria.*;
import com.quantgroup.asset.distribution.service.funding.IFundModuleChannelFundConfigNewService;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.jpa.criteria.predicate.InPredicate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -26,9 +24,7 @@ import com.quantgroup.asset.distribution.enums.funding.AuditStatusEnum;
import com.quantgroup.asset.distribution.enums.funding.AuditTargetEnum;
import com.quantgroup.asset.distribution.enums.funding.AuditTypeEnum;
import com.quantgroup.asset.distribution.service.approval.IApprovalLogService;
import com.quantgroup.asset.distribution.service.funding.IFundModuleChannelFundConfigService;
import com.quantgroup.asset.distribution.service.jpa.entity.ApprovalLog;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfig;
import com.quantgroup.asset.distribution.service.jpa.repository.IApprovalLogRepository;
import com.quantgroup.asset.distribution.util.DateUtil;
......@@ -63,39 +59,39 @@ public class ApprovalLogServiceImpl implements IApprovalLogService{
Integer pageSize) {
// 分页条件
Pageable pageable = new PageRequest(pageNum < 0 ? 0 : pageNum, pageSize);
Specification<ApprovalLog> specification = new Specification<ApprovalLog>() {
@Override
public Predicate toPredicate(Root<ApprovalLog> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> predicatesAnd = new ArrayList<>();
List<Predicate> predicatesOr = new ArrayList<>();
predicatesAnd.add(cb.equal(root.get("enable"), true));
if(auditStatus != null){
predicatesAnd.add(cb.equal(root.get("auditStatus"), auditStatus));
}
if(auditType != null){
predicatesAnd.add(cb.equal(root.get("auditType"), auditType));
}
if(auditTarget != null){
predicatesAnd.add(cb.equal(root.get("auditTarget"), auditTarget));
}
if(StringUtils.isNotEmpty(applyStartTime)){
predicatesAnd.add(cb.greaterThanOrEqualTo(root.get("applyTime").as(Timestamp.class), Timestamp.valueOf(applyStartTime)));
}
if(StringUtils.isNotEmpty(applyEndTime)){
predicatesAnd.add(cb.lessThan(root.get("applyTime").as(Timestamp.class), Timestamp.valueOf(applyEndTime)));
}
if(StringUtils.isNotEmpty(targetName)){
predicatesAnd.add(cb.like(root.get("targetName"), "%" + targetName + "%"));
}
if (StringUtils.isNotEmpty(user)) {
predicatesOr.add(cb.equal(root.get("proposer"), user));
predicatesOr.add(cb.equal(root.get("auditor"), user));
}
List<Order> orderList = new ArrayList<>();
orderList.add(cb.asc(root.get("auditStatus")));
return query.where(cb.and(predicatesAnd.toArray(new Predicate[predicatesAnd.size()])), cb.or(predicatesOr.toArray(new Predicate[predicatesOr.size()])))
.orderBy(orderList).getRestriction();
Specification<ApprovalLog> specification = (root, query, cb) -> {
List<Predicate> predicatesAnd = new ArrayList<>();
List<Predicate> predicatesOr = new ArrayList<>();
predicatesAnd.add(cb.equal(root.get("enable"), true));
if(auditStatus != null){
predicatesAnd.add(cb.equal(root.get("auditStatus"), auditStatus));
}
if(auditType != null){
predicatesAnd.add(cb.equal(root.get("auditType"), auditType));
}
if(auditTarget != null){
predicatesAnd.add(cb.equal(root.get("auditTarget"), auditTarget));
}
if(StringUtils.isNotEmpty(applyStartTime)){
predicatesAnd.add(cb.greaterThanOrEqualTo(root.get("applyTime").as(Timestamp.class), Timestamp.valueOf(applyStartTime)));
}
if(StringUtils.isNotEmpty(applyEndTime)){
predicatesAnd.add(cb.lessThan(root.get("applyTime").as(Timestamp.class), Timestamp.valueOf(applyEndTime)));
}
if(StringUtils.isNotEmpty(targetName)){
predicatesAnd.add(cb.like(root.get("targetName"), "%" + targetName + "%"));
}
if (StringUtils.isNotEmpty(user)) {
predicatesOr.add(cb.equal(root.get("proposer"), user));
predicatesOr.add(cb.equal(root.get("auditor"), user));
}
List<Order> orderList = new ArrayList<>();
orderList.add(cb.asc(root.get("auditStatus")));
orderList.add(cb.desc(root.get("createdAt")));
return query.where(cb.and(predicatesAnd.toArray(new Predicate[0])), cb.or(predicatesOr.toArray(new Predicate[0])))
.orderBy(orderList).getRestriction();
};
Page<ApprovalLog> channelFundConfigs = approvalLogRepository.findAll(specification, pageable);
Map<String, Object> result = new HashMap<>();
......
......@@ -54,7 +54,13 @@ public class ApprovalLog implements Serializable{
@Column(name = "audit_time")
private String auditTime;
/**
* 0-待审批
* 1-审批通过
* 2-审批拒绝
* 3-撤销
*/
@Column(name = "audit_status")
private Integer auditStatus;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment