|
|
@@ -7,6 +7,7 @@ import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
|
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
@@ -62,27 +63,28 @@ public class PurchaseAcceptServiceImpl implements PurchaseAcceptService {
|
|
|
|
|
|
@Override
|
|
|
public void nonPosting(List<PurchaseAcceptItem> acceptItems) {
|
|
|
- for(PurchaseAcceptItem acceptItem : acceptItems) {
|
|
|
- if(acceptItem.getAccept().getSendStatus() == Status.NOT_UPLOAD.value()) {
|
|
|
- //未传输到供应商ERP,直接删除平台上的单据
|
|
|
- purchaseAcceptItemDao.delete(acceptItem);
|
|
|
- } else if(acceptItem.getAccept().getSendStatus() == Status.DOWNLOADED.value()) {
|
|
|
- //已传输到供应商ERP,修改单据反过账状态
|
|
|
- acceptItem.getAccept().setNonPosting(Constant.YES);
|
|
|
- acceptItem.getAccept().setSendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
- purchaseAcceptItemDao.save(acceptItem);
|
|
|
- }
|
|
|
- //关联订单的验收数量
|
|
|
- List<PurchaseOrderItem> orderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(acceptItem.getOrderItem().getOrder().getEnUU(),
|
|
|
- acceptItem.getOrderItem().getOrder().getCode(), acceptItem.getOrderItem().getNumber());
|
|
|
- if(orderItems.size() > 0) {
|
|
|
- PurchaseOrderItem orderItem = orderItems.get(0);
|
|
|
- if(orderItem.getAcceptQty() == null || orderItem.getAcceptQty() < acceptItem.getQty()) {//已接受数未空或小于本次验收单数目,设为0
|
|
|
- orderItem.setAcceptQty((double) 0);
|
|
|
- } else {//否则减去本次的验收数量
|
|
|
- orderItem.setAcceptQty(orderItem.getAcceptQty() - acceptItem.getQty());
|
|
|
+ if( ! CollectionUtils.isEmpty(acceptItems)) {
|
|
|
+ for(PurchaseAcceptItem acceptItem : acceptItems) {
|
|
|
+ if(acceptItem.getAccept().getSendStatus() == Status.NOT_UPLOAD.value()) {
|
|
|
+ //未传输到供应商ERP,直接删除平台上的单据
|
|
|
+ purchaseAcceptItemDao.delete(acceptItem);
|
|
|
+ } else if(acceptItem.getAccept().getSendStatus() == Status.DOWNLOADED.value()) {
|
|
|
+ //已传输到供应商ERP,修改单据反过账状态
|
|
|
+ acceptItem.getAccept().setNonPosting(Constant.YES);
|
|
|
+ purchaseAcceptItemDao.save(acceptItem);
|
|
|
+ }
|
|
|
+ //关联订单的验收数量
|
|
|
+ List<PurchaseOrderItem> orderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(acceptItem.getOrderItem().getOrder().getEnUU(),
|
|
|
+ acceptItem.getOrderItem().getOrder().getCode(), acceptItem.getOrderItem().getNumber());
|
|
|
+ if(orderItems.size() > 0) {
|
|
|
+ PurchaseOrderItem orderItem = orderItems.get(0);
|
|
|
+ if(orderItem.getAcceptQty() == null || orderItem.getAcceptQty() < acceptItem.getQty()) {//已接受数未空或小于本次验收单数目,设为0
|
|
|
+ orderItem.setAcceptQty((double) 0);
|
|
|
+ } else {//否则减去本次的验收数量
|
|
|
+ orderItem.setAcceptQty(orderItem.getAcceptQty() - acceptItem.getQty());
|
|
|
+ }
|
|
|
+ purchaseOrderItemDao.save(orderItem);
|
|
|
}
|
|
|
- purchaseOrderItemDao.save(orderItem);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -125,8 +127,7 @@ public class PurchaseAcceptServiceImpl implements PurchaseAcceptService {
|
|
|
|
|
|
@Override
|
|
|
public List<PurchaseAccept> getNonPosting() {
|
|
|
- return purchaseAcceptDao.findByVendUUAndSendStatusAndNonPosting(SystemSession.getUser().getEnterprise().getUu(),
|
|
|
- (short) Status.NOT_UPLOAD.value(), Constant.YES);
|
|
|
+ return purchaseAcceptDao.findByVendUUAndNonPosting(SystemSession.getUser().getEnterprise().getUu(), Constant.YES);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -134,7 +135,6 @@ public class PurchaseAcceptServiceImpl implements PurchaseAcceptService {
|
|
|
for(String id : idArray) {
|
|
|
PurchaseAccept accept = purchaseAcceptDao.findOne(Long.parseLong(id));
|
|
|
if (accept != null) {
|
|
|
- accept.setSendStatus((short) Status.DOWNLOADED.value());
|
|
|
purchaseAcceptDao.delete(accept);
|
|
|
}
|
|
|
}
|