|
|
@@ -11,7 +11,6 @@ import javax.persistence.criteria.Root;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -25,6 +24,7 @@ import com.uas.platform.b2b.model.PurchaseOrderItem;
|
|
|
import com.uas.platform.b2b.model.PurchaseReply;
|
|
|
import com.uas.platform.b2b.service.PurchaseOrderService;
|
|
|
import com.uas.platform.core.exception.IllegalOperatorException;
|
|
|
+import com.uas.platform.core.exception.NotFoundException;
|
|
|
import com.uas.platform.core.model.PageInfo;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
|
|
|
@@ -77,51 +77,54 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
if (item.getReplyQty() > item.getQty())
|
|
|
throw new IllegalOperatorException("回复的数量合计超过了订单数量");
|
|
|
// 该行回复状态
|
|
|
- item.setStatus((short) (Double.compare(item.getReplyQty(), item.getQty()) == 0 ? Status.REPLIED.value() : Status.NOT_REPLY.value()));
|
|
|
+ item.setStatus((short) (Double.compare(item.getReplyQty(), item.getQty()) == 0 ? Status.REPLIED.value()
|
|
|
+ : Status.NOT_REPLY.value()));
|
|
|
purchaseReplyDao.save(reply);
|
|
|
purchaseOrderItemDao.save(item);
|
|
|
// 订单主记录状态
|
|
|
- List<PurchaseOrderItem> notReply = purchaseOrderItemDao.findByOrderIdAndStatus(item.getOrder().getId(), (short)Status.NOT_REPLY.value());
|
|
|
-// PurchaseOrder order = purchaseOrderDao.findOne(item.getOrder().getId());
|
|
|
-// order.setStatus((short) (notReply.size() > 0 ? Status.NOT_REPLY.value() : Status.REPLIED.value()));
|
|
|
-// purchaseOrderAllDao.save(order);
|
|
|
+ List<PurchaseOrderItem> notReply = purchaseOrderItemDao.findByOrderIdAndStatus(item.getOrder().getId(),
|
|
|
+ (short) Status.NOT_REPLY.value());
|
|
|
+ PurchaseOrder order = purchaseOrderDao.findOne(item.getOrder().getId());
|
|
|
+ order.setStatus((short) (notReply.size() > 0 ? Status.NOT_REPLY.value() : Status.REPLIED.value()));
|
|
|
+ purchaseOrderDao.save(order);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public PurchaseOrderAll findByCode(String code) {
|
|
|
- List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findPurchaseOrderAllByCode(code);
|
|
|
- if (purchaseOrderAlls.size() == 0) {
|
|
|
- throw new UsernameNotFoundException("没有找到对应单据号的PO-" + code);
|
|
|
- }
|
|
|
+ List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findByCode(code);
|
|
|
+ if (purchaseOrderAlls.size() == 0)
|
|
|
+ throw new NotFoundException(code);
|
|
|
return purchaseOrderAlls.get(0);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public PurchaseOrderAll findById(Long id) {
|
|
|
- List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findPurchaseOrderAllById(id);
|
|
|
- if (purchaseOrderAlls.size() == 0) {
|
|
|
- throw new UsernameNotFoundException("没有找到对应单据Id的PO-" + id);
|
|
|
- }
|
|
|
+ List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findById(id);
|
|
|
+ if (purchaseOrderAlls.size() == 0)
|
|
|
+ throw new NotFoundException();
|
|
|
return purchaseOrderAlls.get(0);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void replyByBatch(String[] str) {
|
|
|
+ public void reply(String[] orderItemIdString) {
|
|
|
PurchaseOrderItem orderItem;
|
|
|
- for (String s : str) {
|
|
|
- System.out.println(s);
|
|
|
- orderItem = purchaseOrderItemDao.findOne(Long.parseLong(s));
|
|
|
+ for (String orderItemId : orderItemIdString) {
|
|
|
+ orderItem = purchaseOrderItemDao.findOne(Long.parseLong(orderItemId));
|
|
|
PurchaseReply purchaseReply = new PurchaseReply();
|
|
|
purchaseReply.setOrderItem(orderItem);
|
|
|
purchaseReply.setDelivery(orderItem.getDelivery());
|
|
|
purchaseReply.setRemark("批量回复");
|
|
|
if (orderItem.getReplyQty() == null)
|
|
|
orderItem.setReplyQty((double) 0);
|
|
|
- System.out.println("orderItem.getReplyQty():" + orderItem.getReplyQty());
|
|
|
purchaseReply.setQty(orderItem.getQty() - orderItem.getReplyQty());
|
|
|
reply(purchaseReply);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<PurchaseReply> findReplyByOrderItem(long orderItemId) {
|
|
|
+ return purchaseReplyDao.findByOrderItemId(orderItemId);
|
|
|
+ }
|
|
|
+
|
|
|
}
|