|
|
@@ -15,11 +15,15 @@ import org.apache.poi.ss.usermodel.Sheet;
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.jpa.domain.Specification;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.ui.ModelMap;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
+import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
+import javax.persistence.criteria.Root;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
@@ -185,11 +189,14 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
|
|
|
@Override
|
|
|
public List<PurchaseTender> findAll() {
|
|
|
- List<SaleTender> saleTenders = saleTenderDao.findAll((root, query, cb) -> {
|
|
|
- // 根据供应商企业uu为本企业uu筛选
|
|
|
- Predicate myTender = cb.equal(root.get("enterpriseBaseInfo").get("uu"), SystemSession.getUser().getEnterprise().getUu());
|
|
|
- query.where(myTender);
|
|
|
- return query.getRestriction();
|
|
|
+ List<SaleTender> saleTenders = saleTenderDao.findAll(new Specification<SaleTender>() {
|
|
|
+ @Override
|
|
|
+ public Predicate toPredicate(Root<SaleTender> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
|
|
+ // 根据供应商企业uu为本企业uu筛选
|
|
|
+ Predicate myTender = cb.equal(root.get("enterpriseBaseInfo").get("uu"), SystemSession.getUser().getEnterprise().getUu());
|
|
|
+ query.where(myTender);
|
|
|
+ return query.getRestriction();
|
|
|
+ }
|
|
|
});
|
|
|
List<PurchaseTender> tenderList = new ArrayList<>();
|
|
|
for (SaleTender saleTender : saleTenders) {
|
|
|
@@ -204,15 +211,18 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
|
|
|
@Override
|
|
|
public Page<PurchaseTender> findOpen(PageInfo info) {
|
|
|
- return purchaseTenderDao.findAll((root, query, builder) -> {
|
|
|
- Predicate p1 = builder.equal(root.get("ifOpen"), Constant.YES);
|
|
|
- Predicate p2 = builder.equal(root.get("isPublish"), Constant.YES);
|
|
|
- Predicate p3 = builder.notEqual(root.get("enUU"), SystemSession.getUser().getEnterprise().getUu());
|
|
|
- Predicate p4 = builder.equal(root.get("overdue"), Constant.NO);
|
|
|
+ return purchaseTenderDao.findAll(new Specification<PurchaseTender>() {
|
|
|
+
|
|
|
+ public Predicate toPredicate(Root<PurchaseTender> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
+ Predicate p1 = builder.equal(root.get("ifOpen"), Constant.YES);
|
|
|
+ Predicate p2 = builder.equal(root.get("isPublish"), Constant.YES);
|
|
|
+ Predicate p3 = builder.notEqual(root.get("enUU"), SystemSession.getUser().getEnterprise().getUu());
|
|
|
+ Predicate p4 = builder.equal(root.get("overdue"), Constant.NO);
|
|
|
// Predicate p5 = builder.equal(root.get("status"), "待投标"); // 只要有人投标就变成了待评标
|
|
|
- Predicate predicate = builder.and(p1, p2, p3, p4);
|
|
|
- query.where(predicate);
|
|
|
- return null;
|
|
|
+ Predicate predicate = builder.and(p1, p2, p3, p4);
|
|
|
+ query.where(predicate);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}, info);
|
|
|
}
|
|
|
|
|
|
@@ -555,7 +565,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
enterpriseBaseInfoDao.save(enBaseInfo);
|
|
|
SaleTenderItem item = saleTenderItemDao.findOne(tenderItems.get(0).getId());
|
|
|
SaleTender saleTender = item.getSaleTender();
|
|
|
- saleTender.setStatus("待评标");
|
|
|
+ saleTender.setStatus("已投标");
|
|
|
saleTender.setModified(new Date());
|
|
|
Set<Attach> attachSet = new HashSet<>();
|
|
|
attachSet.addAll(attaches);
|
|
|
@@ -592,10 +602,6 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
tenderItem = saleTenderItemDao.findOne(tenderItem.getId());
|
|
|
tenderItem.getSaleTender().setStatus("已结标");
|
|
|
saleTenders.add(tenderItem.getSaleTender());
|
|
|
- } else if (!"已结标".equals(tenderItem.getSaleTender().getStatus()) && !"流标".equals(tenderItem.getSaleTender().getStatus())) {
|
|
|
- tenderItem = saleTenderItemDao.findOne(tenderItem.getId());
|
|
|
- tenderItem.getSaleTender().setStatus("流标");
|
|
|
- saleTenders.add(tenderItem.getSaleTender());
|
|
|
}
|
|
|
}
|
|
|
}
|