|
|
@@ -25,10 +25,7 @@ import org.springframework.ui.ModelMap;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
+import javax.persistence.criteria.*;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
@@ -89,12 +86,51 @@ public class PurcOrderChangeServiceImpl implements PurcOrderChangeService {
|
|
|
Page<PurchaseOrderAll> pageOrders = purchaseOrderAllDao.findAll(new Specification<PurchaseOrderAll>() {
|
|
|
@Override
|
|
|
public Predicate toPredicate(Root<PurchaseOrderAll> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
+// Predicate[] predicates = pageInfo.getPredicates(root, query, builder);
|
|
|
+// if( filter != null) {
|
|
|
+// predicates = Arrays.copyOf(predicates, predicates.length + 1);
|
|
|
+// SetJoin<PurchaseOrderAll,PurchaseOrderAllItem> join =
|
|
|
+// root.join(root.getModel().getSet("orderItems",PurchaseOrderAllItem.class),JoinType.LEFT);
|
|
|
+// Predicate p = builder.notEqual(join.get("puid").as(Long.class),963977);
|
|
|
+// predicates[predicates.length-1] = p;
|
|
|
+// }
|
|
|
return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
|
|
|
}
|
|
|
}, pageInfo);
|
|
|
return SPageUtils.covertSPage(pageOrders);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 过滤变更明细
|
|
|
+ *
|
|
|
+ * @param sPage 分页数据
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public SPage<PurchaseOrderAll> filterChangeItem(SPage<PurchaseOrderAll> sPage) {
|
|
|
+ for (PurchaseOrderAll orderAll : sPage.getContent()) {
|
|
|
+ Set<PurchaseOrderAllItem> orderAllItems = orderAll.getOrderItems();
|
|
|
+ List<PurchaseOrderChange> orderChanges = changeDao.findByOrderId(orderAll.getId());
|
|
|
+ Set<Long> set = new HashSet<>();
|
|
|
+ if (!CollectionUtils.isEmpty(orderChanges)) {
|
|
|
+ Iterator<PurchaseOrderChange> changeIterator = orderChanges.iterator();
|
|
|
+ while (changeIterator.hasNext()) {
|
|
|
+ PurchaseOrderChange orderChange = changeIterator.next();
|
|
|
+ Set<PurchaseOrderChangeItem> changeItems = orderChange.getOrderChangeItems();
|
|
|
+ for (PurchaseOrderChangeItem changeItem : changeItems) {
|
|
|
+ set.add(changeItem.getOrderItemId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(PurchaseOrderAllItem orderAllItem :orderAllItems) {
|
|
|
+ if (set.contains(orderAllItem.getId())) {
|
|
|
+ orderAllItem.setChange(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sPage;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 新增采购变更单
|
|
|
*
|
|
|
@@ -105,16 +141,10 @@ public class PurcOrderChangeServiceImpl implements PurcOrderChangeService {
|
|
|
public ModelMap save(PurchaseOrderChange change) {
|
|
|
change.setBackStatus((short) Status.NOT_UPLOAD.value());
|
|
|
change.setReplySendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
- /* List<PurchaseOrderChangeItem> itemList = changeItemDao.save(change.getOrderChangeItems());
|
|
|
- if (change.getUnNeedReply() == 1) {// 不需要供应商确认,更新原单据
|
|
|
- PurchaseOrderInfo orderInfo = orderInfoDao.findOne(change.getOrderId());
|
|
|
- //TODO 采购单主表信息变更
|
|
|
- // TODO 采购单明细变更
|
|
|
- }*/
|
|
|
- change.setEnUU(SystemSession.getUser().getEnterprise().getUu());
|
|
|
- change.setUserUU(SystemSession.getUser().getUserUU());
|
|
|
- change.setSendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
- change.setStatus((short)Status.NOT_REPLY.value());
|
|
|
+ change.setEnUU(SystemSession.getUser().getEnterprise().getUu());
|
|
|
+ change.setUserUU(SystemSession.getUser().getUserUU());
|
|
|
+ change.setSendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ change.setStatus((short)Status.NOT_REPLY.value());
|
|
|
if (!CollectionUtils.isEmpty(change.getOrderChangeItems())) {
|
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
|
Set<PurchaseOrderChangeItem> itemList = change.getOrderChangeItems();
|
|
|
@@ -209,4 +239,6 @@ public class PurcOrderChangeServiceImpl implements PurcOrderChangeService {
|
|
|
}
|
|
|
}, pageInfo);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|