|
@@ -81,7 +81,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PurchaseOrderReplyDao purchaseOrderReplyDao;
|
|
private PurchaseOrderReplyDao purchaseOrderReplyDao;
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PurchaseOrderWaitingDao purchaseOrderWaitingDao;
|
|
private PurchaseOrderWaitingDao purchaseOrderWaitingDao;
|
|
|
|
|
|
|
@@ -99,19 +99,24 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private UserBaseInfoDao userBaseInfoDao;
|
|
private UserBaseInfoDao userBaseInfoDao;
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
public void save(List<PurchaseOrderAllItem> orderItems) {
|
|
public void save(List<PurchaseOrderAllItem> orderItems) {
|
|
|
- List<PurchaseOrderAllItem> newOrderItems = purchaseOrderAllItemDao.save(orderItems);
|
|
|
|
|
- ContextUtils.publishEvent(new PurchaseOrderSaveEvent(PurchaseOrderAllItem.distinct(newOrderItems)));
|
|
|
|
|
|
|
+ List<PurchaseOrderAllItem> newOrderItems = purchaseOrderAllItemDao
|
|
|
|
|
+ .save(orderItems);
|
|
|
|
|
+ ContextUtils.publishEvent(new PurchaseOrderSaveEvent(
|
|
|
|
|
+ PurchaseOrderAllItem.distinct(newOrderItems)));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public Page<PurchaseOrder> findAllByPageInfo(final PageInfo pageInfo ,final SearchFilter filter) {
|
|
|
|
|
|
|
+ public Page<PurchaseOrder> findAllByPageInfo(final PageInfo pageInfo,
|
|
|
|
|
+ final SearchFilter filter) {
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
- pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("enUU",
|
|
|
|
|
+ filter.getDistribute(), false));
|
|
|
}
|
|
}
|
|
|
return purchaseOrderDao.findAll(new Specification<PurchaseOrder>() {
|
|
return purchaseOrderDao.findAll(new Specification<PurchaseOrder>() {
|
|
|
- public Predicate toPredicate(Root<PurchaseOrder> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
|
|
+ public Predicate toPredicate(Root<PurchaseOrder> root,
|
|
|
|
|
+ CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
query.where(pageInfo.getPredicates(root, query, builder));
|
|
query.where(pageInfo.getPredicates(root, query, builder));
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
@@ -119,40 +124,57 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public Page<PurchaseOrderAll> findAllDetailByPageInfo(final PageInfo pageInfo, final SearchFilter filter) {
|
|
|
|
|
|
|
+ public Page<PurchaseOrderAll> findAllDetailByPageInfo(
|
|
|
|
|
+ final PageInfo pageInfo, final SearchFilter filter) {
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
|
- pageInfo.expression(PredicateUtils.in("id",
|
|
|
|
|
- purchaseOrderIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), filter.getKeyword()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in(
|
|
|
|
|
+ "id",
|
|
|
|
|
+ purchaseOrderIndexDao.findByKeyword(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
|
|
+ filter.getKeyword()), false));
|
|
|
if (filter.getFromDate() != null)
|
|
if (filter.getFromDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.gte("date",
|
|
|
|
|
+ new Date(filter.getFromDate()), false));
|
|
|
if (filter.getEndDate() != null)
|
|
if (filter.getEndDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.lte("date",
|
|
|
|
|
+ new Date(filter.getEndDate()), false));
|
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
- pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("enUU",
|
|
|
|
|
+ filter.getDistribute(), false));
|
|
|
}
|
|
}
|
|
|
- Page<PurchaseOrderAll> pageOrders = purchaseOrderAllDao.findAll(new Specification<PurchaseOrderAll>() {
|
|
|
|
|
- public Predicate toPredicate(Root<PurchaseOrderAll> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
- Predicate[] predicates = pageInfo.getPredicates(root, query, builder);
|
|
|
|
|
- if (filter != null && filter.getFromDelivery() != null) {
|
|
|
|
|
- predicates = Arrays.copyOf(predicates, predicates.length + 1);
|
|
|
|
|
- SetJoin<PurchaseOrderAll, PurchaseOrderAllItem> join = root.join(
|
|
|
|
|
- root.getModel().getSet("orderItems", PurchaseOrderAllItem.class), JoinType.INNER);
|
|
|
|
|
- Predicate p = builder.greaterThanOrEqualTo(join.get("delivery").as(Date.class), new Date(filter.getFromDelivery()));
|
|
|
|
|
- predicates[predicates.length - 1] = p;
|
|
|
|
|
- }
|
|
|
|
|
- return query.where(predicates).getRestriction();
|
|
|
|
|
- }
|
|
|
|
|
- }, pageInfo);
|
|
|
|
|
|
|
+ Page<PurchaseOrderAll> pageOrders = purchaseOrderAllDao.findAll(
|
|
|
|
|
+ new Specification<PurchaseOrderAll>() {
|
|
|
|
|
+ public Predicate toPredicate(Root<PurchaseOrderAll> root,
|
|
|
|
|
+ CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
+ Predicate[] predicates = pageInfo.getPredicates(root,
|
|
|
|
|
+ query, builder);
|
|
|
|
|
+ if (filter != null && filter.getFromDelivery() != null) {
|
|
|
|
|
+ predicates = Arrays.copyOf(predicates,
|
|
|
|
|
+ predicates.length + 1);
|
|
|
|
|
+ SetJoin<PurchaseOrderAll, PurchaseOrderAllItem> join = root
|
|
|
|
|
+ .join(root.getModel().getSet("orderItems",
|
|
|
|
|
+ PurchaseOrderAllItem.class),
|
|
|
|
|
+ JoinType.INNER);
|
|
|
|
|
+ Predicate p = builder.greaterThanOrEqualTo(join
|
|
|
|
|
+ .get("delivery").as(Date.class), new Date(
|
|
|
|
|
+ filter.getFromDelivery()));
|
|
|
|
|
+ predicates[predicates.length - 1] = p;
|
|
|
|
|
+ }
|
|
|
|
|
+ return query.where(predicates).getRestriction();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, pageInfo);
|
|
|
// 明细包含关键词
|
|
// 明细包含关键词
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
|
List<PurchaseOrderAll> orders = pageOrders.getContent();
|
|
List<PurchaseOrderAll> orders = pageOrders.getContent();
|
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
|
for (PurchaseOrderAll order : orders) {
|
|
for (PurchaseOrderAll order : orders) {
|
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
|
- for (PurchaseOrderAllItem orderItem : order.getOrderItems()) {
|
|
|
|
|
|
|
+ for (PurchaseOrderAllItem orderItem : order
|
|
|
|
|
+ .getOrderItems()) {
|
|
|
if (StringUtils.hasText(filter.getKeyword())) {
|
|
if (StringUtils.hasText(filter.getKeyword())) {
|
|
|
- if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
|
|
|
|
|
|
|
+ if (FlexJsonUtils.toJson(orderItem).contains(
|
|
|
|
|
+ filter.getKeyword())) {
|
|
|
orderItem.setKey(true);
|
|
orderItem.setKey(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -185,17 +207,24 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
reply.setRecorder(SystemSession.getUser().getUserName());
|
|
reply.setRecorder(SystemSession.getUser().getUserName());
|
|
|
reply.setType("供应商平台回复");
|
|
reply.setType("供应商平台回复");
|
|
|
}
|
|
}
|
|
|
- PurchaseOrderItem item = purchaseOrderItemDao.findOne(reply.getOrderItem().getId());
|
|
|
|
|
|
|
+ PurchaseOrderItem item = purchaseOrderItemDao.findOne(reply
|
|
|
|
|
+ .getOrderItem().getId());
|
|
|
Double replyQty = item.getReplyQty();
|
|
Double replyQty = item.getReplyQty();
|
|
|
replyQty = replyQty == null ? 0 : replyQty;
|
|
replyQty = replyQty == null ? 0 : replyQty;
|
|
|
item.setReplyQty(replyQty + reply.getQty());
|
|
item.setReplyQty(replyQty + reply.getQty());
|
|
|
- if (item.getReplyQty() > item.getQty())
|
|
|
|
|
- throw new IllegalOperatorException("回复的数量合计超过了订单数量");
|
|
|
|
|
|
|
+ if (item.getReplyQty() > item.getQty()) {
|
|
|
|
|
+ if (isB2b){
|
|
|
|
|
+ throw new IllegalOperatorException("回复的数量合计超过了订单数量");
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (item.getReplyQty() < 0)
|
|
if (item.getReplyQty() < 0)
|
|
|
throw new IllegalOperatorException("回复的数量合计不能为负数");
|
|
throw new IllegalOperatorException("回复的数量合计不能为负数");
|
|
|
reply.setOrderItem(item);
|
|
reply.setOrderItem(item);
|
|
|
reply = purchaseOrderReplyDao.save(reply);
|
|
reply = purchaseOrderReplyDao.save(reply);
|
|
|
- purchaseOrderItemDao.updateByReply(reply.getDelivery(), reply.getRemark(), item.getId());
|
|
|
|
|
|
|
+ purchaseOrderItemDao.updateByReply(reply.getDelivery(),
|
|
|
|
|
+ reply.getRemark(), item.getId());
|
|
|
PurchaseOrder order = item.getOrder();
|
|
PurchaseOrder order = item.getOrder();
|
|
|
// 订单主记录状态
|
|
// 订单主记录状态
|
|
|
order = updateOrderStatus(order.getId());
|
|
order = updateOrderStatus(order.getId());
|
|
@@ -204,7 +233,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
Enterprise vendor = enterpriseDao.findOne(order.getVendUU());
|
|
Enterprise vendor = enterpriseDao.findOne(order.getVendUU());
|
|
|
if (vendor != null) {
|
|
if (vendor != null) {
|
|
|
UserBaseInfo user = userBaseInfoDao.findOne(order.getUserUU());
|
|
UserBaseInfo user = userBaseInfoDao.findOne(order.getUserUU());
|
|
|
- XingePusher.pushByUser(user, "新增采购单回复", "单号:" + order.getCode() + ",供应商:" + vendor.getEnName(), "", "");
|
|
|
|
|
|
|
+ XingePusher.pushByUser(user, "新增采购单回复", "单号:" + order.getCode()
|
|
|
|
|
+ + ",供应商:" + vendor.getEnName(), "", "");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return reply;
|
|
return reply;
|
|
@@ -214,11 +244,13 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
* 修改客户采购单的状态
|
|
* 修改客户采购单的状态
|
|
|
*/
|
|
*/
|
|
|
private PurchaseOrder updateOrderStatus(long orderId) {
|
|
private PurchaseOrder updateOrderStatus(long orderId) {
|
|
|
- int notReply = purchaseOrderItemDao.getCountByStatus(orderId, (short) Status.NOT_REPLY.value());
|
|
|
|
|
|
|
+ int notReply = purchaseOrderItemDao.getCountByStatus(orderId,
|
|
|
|
|
+ (short) Status.NOT_REPLY.value());
|
|
|
PurchaseOrder order = purchaseOrderDao.findOne(orderId);
|
|
PurchaseOrder order = purchaseOrderDao.findOne(orderId);
|
|
|
if (order.getDisplay() == 1)
|
|
if (order.getDisplay() == 1)
|
|
|
order.setDisplay(Constant.NO);// 设置查看状态为已查看
|
|
order.setDisplay(Constant.NO);// 设置查看状态为已查看
|
|
|
- order.setStatus((short) (notReply > 0 ? Status.NOT_REPLY.value() : Status.REPLIED.value()));
|
|
|
|
|
|
|
+ order.setStatus((short) (notReply > 0 ? Status.NOT_REPLY.value()
|
|
|
|
|
+ : Status.REPLIED.value()));
|
|
|
if (purchaseOrderItemDao.getCountByReply(orderId) > 0)
|
|
if (purchaseOrderItemDao.getCountByReply(orderId) > 0)
|
|
|
order.setReply(Constant.YES);
|
|
order.setReply(Constant.YES);
|
|
|
else
|
|
else
|
|
@@ -232,8 +264,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public PurchaseOrderAll findByCode(String code) {
|
|
public PurchaseOrderAll findByCode(String code) {
|
|
|
- List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findByVendUUAndCode(SystemSession.getUser().getEnterprise().getUu(),
|
|
|
|
|
- code);
|
|
|
|
|
|
|
+ List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao
|
|
|
|
|
+ .findByVendUUAndCode(SystemSession.getUser().getEnterprise()
|
|
|
|
|
+ .getUu(), code);
|
|
|
if (purchaseOrderAlls.size() == 0)
|
|
if (purchaseOrderAlls.size() == 0)
|
|
|
throw new NotFoundException(code);
|
|
throw new NotFoundException(code);
|
|
|
return purchaseOrderAlls.get(0);
|
|
return purchaseOrderAlls.get(0);
|
|
@@ -241,7 +274,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public PurchaseOrderAll findById(Long id) {
|
|
public PurchaseOrderAll findById(Long id) {
|
|
|
- List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findById(id);
|
|
|
|
|
|
|
+ List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao
|
|
|
|
|
+ .findById(id);
|
|
|
if (purchaseOrderAlls.size() == 0)
|
|
if (purchaseOrderAlls.size() == 0)
|
|
|
throw new NotFoundException();
|
|
throw new NotFoundException();
|
|
|
return purchaseOrderAlls.get(0);
|
|
return purchaseOrderAlls.get(0);
|
|
@@ -251,7 +285,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
public List<PurchaseOrderReply> reply(String[] orderItemIdString) {
|
|
public List<PurchaseOrderReply> reply(String[] orderItemIdString) {
|
|
|
List<PurchaseOrderReply> replies = new ArrayList<PurchaseOrderReply>();
|
|
List<PurchaseOrderReply> replies = new ArrayList<PurchaseOrderReply>();
|
|
|
for (String orderItemId : orderItemIdString) {
|
|
for (String orderItemId : orderItemIdString) {
|
|
|
- PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long.parseLong(orderItemId));
|
|
|
|
|
|
|
+ PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long
|
|
|
|
|
+ .parseLong(orderItemId));
|
|
|
PurchaseOrderReply reply = new PurchaseOrderReply();
|
|
PurchaseOrderReply reply = new PurchaseOrderReply();
|
|
|
reply.setOrderItem(orderItem);
|
|
reply.setOrderItem(orderItem);
|
|
|
reply.setDelivery(orderItem.getDelivery());
|
|
reply.setDelivery(orderItem.getDelivery());
|
|
@@ -259,7 +294,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
if (orderItem.getReplyQty() == null)
|
|
if (orderItem.getReplyQty() == null)
|
|
|
orderItem.setReplyQty((double) 0);
|
|
orderItem.setReplyQty((double) 0);
|
|
|
reply.setQty(orderItem.getQty() - orderItem.getReplyQty());
|
|
reply.setQty(orderItem.getQty() - orderItem.getReplyQty());
|
|
|
- replies.add(reply(reply, true));
|
|
|
|
|
|
|
+ reply = reply(reply, true);
|
|
|
|
|
+ if (reply != null)
|
|
|
|
|
+ replies.add(reply);
|
|
|
}
|
|
}
|
|
|
return replies;
|
|
return replies;
|
|
|
}
|
|
}
|
|
@@ -271,20 +308,23 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<PurchaseOrderReply> findNotUploadReply() {
|
|
public List<PurchaseOrderReply> findNotUploadReply() {
|
|
|
- return purchaseOrderReplyDao
|
|
|
|
|
- .findByEnUUAndStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_UPLOAD.value());
|
|
|
|
|
|
|
+ return purchaseOrderReplyDao.findByEnUUAndStatus(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
|
|
+ (short) Status.NOT_UPLOAD.value());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<PurchaseOrderReply> findNotSendReply() {
|
|
public List<PurchaseOrderReply> findNotSendReply() {
|
|
|
- return purchaseOrderReplyDao.findByVendUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(),
|
|
|
|
|
|
|
+ return purchaseOrderReplyDao.findByVendUUAndSendStatus(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
(short) Status.NOT_UPLOAD.value());
|
|
(short) Status.NOT_UPLOAD.value());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void onReplyUploadSuccess(String[] idArray) {
|
|
public void onReplyUploadSuccess(String[] idArray) {
|
|
|
for (String id : idArray) {
|
|
for (String id : idArray) {
|
|
|
- PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long.parseLong(id));
|
|
|
|
|
|
|
+ PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long
|
|
|
|
|
+ .parseLong(id));
|
|
|
if (reply != null) {
|
|
if (reply != null) {
|
|
|
reply.setStatus((short) Status.DOWNLOADED.value());
|
|
reply.setStatus((short) Status.DOWNLOADED.value());
|
|
|
purchaseOrderReplyDao.save(reply);
|
|
purchaseOrderReplyDao.save(reply);
|
|
@@ -295,7 +335,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
@Override
|
|
@Override
|
|
|
public void onReplyDownSuccess(String[] idArray) {
|
|
public void onReplyDownSuccess(String[] idArray) {
|
|
|
for (String id : idArray) {
|
|
for (String id : idArray) {
|
|
|
- PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long.parseLong(id));
|
|
|
|
|
|
|
+ PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long
|
|
|
|
|
+ .parseLong(id));
|
|
|
if (reply != null) {
|
|
if (reply != null) {
|
|
|
reply.setSendStatus((short) Status.DOWNLOADED.value());
|
|
reply.setSendStatus((short) Status.DOWNLOADED.value());
|
|
|
purchaseOrderReplyDao.save(reply);
|
|
purchaseOrderReplyDao.save(reply);
|
|
@@ -311,7 +352,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<PurchaseOrderAll> findNotUploadOrder() {
|
|
public List<PurchaseOrderAll> findNotUploadOrder() {
|
|
|
- return purchaseOrderAllDao.findByVendUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(),
|
|
|
|
|
|
|
+ return purchaseOrderAllDao.findByVendUUAndSendStatus(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
(short) Status.NOT_UPLOAD.value());
|
|
(short) Status.NOT_UPLOAD.value());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -328,14 +370,16 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<PurchaseOrderItem> findNotSendEnd() {
|
|
public List<PurchaseOrderItem> findNotSendEnd() {
|
|
|
- return purchaseOrderItemDao.findByVendUUAndEndStatus(SystemSession.getUser().getEnterprise().getUu(),
|
|
|
|
|
|
|
+ return purchaseOrderItemDao.findByVendUUAndEndStatus(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
(short) Status.NOT_UPLOAD.value());
|
|
(short) Status.NOT_UPLOAD.value());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void onEndDownSuccess(String[] idArray) {
|
|
public void onEndDownSuccess(String[] idArray) {
|
|
|
for (String id : idArray) {
|
|
for (String id : idArray) {
|
|
|
- PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long.parseLong(id));
|
|
|
|
|
|
|
+ PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long
|
|
|
|
|
+ .parseLong(id));
|
|
|
if (orderItem != null) {
|
|
if (orderItem != null) {
|
|
|
orderItem.setEndStatus((short) Status.DOWNLOADED.value());
|
|
orderItem.setEndStatus((short) Status.DOWNLOADED.value());
|
|
|
purchaseOrderItemDao.save(orderItem);
|
|
purchaseOrderItemDao.save(orderItem);
|
|
@@ -353,36 +397,50 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public int getOnhandCount() {
|
|
public int getOnhandCount() {
|
|
|
- return purchaseOrderDao
|
|
|
|
|
- .getCountByVendUUAndStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_REPLY.value());
|
|
|
|
|
|
|
+ return purchaseOrderDao.getCountByVendUUAndStatus(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
|
|
+ (short) Status.NOT_REPLY.value());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public Page<PurchaseOrderTodo> findTodoByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
|
|
|
|
|
|
|
+ public Page<PurchaseOrderTodo> findTodoByPageInfo(final PageInfo pageInfo,
|
|
|
|
|
+ SearchFilter filter) {
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
|
- pageInfo.expression(PredicateUtils.in("id",
|
|
|
|
|
- purchaseOrderIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), filter.getKeyword()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in(
|
|
|
|
|
+ "id",
|
|
|
|
|
+ purchaseOrderIndexDao.findByKeyword(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
|
|
+ filter.getKeyword()), false));
|
|
|
if (filter.getFromDate() != null)
|
|
if (filter.getFromDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.gte("date",
|
|
|
|
|
+ new Date(filter.getFromDate()), false));
|
|
|
if (filter.getEndDate() != null)
|
|
if (filter.getEndDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.lte("date",
|
|
|
|
|
+ new Date(filter.getEndDate()), false));
|
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
- pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("enUU",
|
|
|
|
|
+ filter.getDistribute(), false));
|
|
|
}
|
|
}
|
|
|
- Page<PurchaseOrderTodo> pageOrders = purchaseOrderTodoDao.findAll(new Specification<PurchaseOrderTodo>() {
|
|
|
|
|
- public Predicate toPredicate(Root<PurchaseOrderTodo> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
- return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
|
|
|
|
|
- }
|
|
|
|
|
- }, pageInfo);
|
|
|
|
|
|
|
+ Page<PurchaseOrderTodo> pageOrders = purchaseOrderTodoDao.findAll(
|
|
|
|
|
+ new Specification<PurchaseOrderTodo>() {
|
|
|
|
|
+ public Predicate toPredicate(Root<PurchaseOrderTodo> root,
|
|
|
|
|
+ CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
+ return query.where(
|
|
|
|
|
+ pageInfo.getPredicates(root, query, builder))
|
|
|
|
|
+ .getRestriction();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, pageInfo);
|
|
|
// 明细包含关键词
|
|
// 明细包含关键词
|
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
|
List<PurchaseOrderTodo> orders = pageOrders.getContent();
|
|
List<PurchaseOrderTodo> orders = pageOrders.getContent();
|
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
|
for (PurchaseOrderTodo order : orders) {
|
|
for (PurchaseOrderTodo order : orders) {
|
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
|
- for (PurchaseOrderTodoItem orderItem : order.getOrderItems()) {
|
|
|
|
|
- if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
|
|
|
|
|
|
|
+ for (PurchaseOrderTodoItem orderItem : order
|
|
|
|
|
+ .getOrderItems()) {
|
|
|
|
|
+ if (FlexJsonUtils.toJson(orderItem).contains(
|
|
|
|
|
+ filter.getKeyword())) {
|
|
|
orderItem.setKey(true);
|
|
orderItem.setKey(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -394,31 +452,44 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public Page<PurchaseOrderDone> findDoneByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
|
|
|
|
|
|
|
+ public Page<PurchaseOrderDone> findDoneByPageInfo(final PageInfo pageInfo,
|
|
|
|
|
+ SearchFilter filter) {
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
|
- pageInfo.expression(PredicateUtils.in("id",
|
|
|
|
|
- purchaseOrderIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), filter.getKeyword()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in(
|
|
|
|
|
+ "id",
|
|
|
|
|
+ purchaseOrderIndexDao.findByKeyword(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
|
|
+ filter.getKeyword()), false));
|
|
|
if (filter.getFromDate() != null)
|
|
if (filter.getFromDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.gte("date",
|
|
|
|
|
+ new Date(filter.getFromDate()), false));
|
|
|
if (filter.getEndDate() != null)
|
|
if (filter.getEndDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.lte("date",
|
|
|
|
|
+ new Date(filter.getEndDate()), false));
|
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
- pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("enUU",
|
|
|
|
|
+ filter.getDistribute(), false));
|
|
|
}
|
|
}
|
|
|
- Page<PurchaseOrderDone> pageOrders = purchaseOrderDoneDao.findAll(new Specification<PurchaseOrderDone>() {
|
|
|
|
|
- public Predicate toPredicate(Root<PurchaseOrderDone> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
- return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
|
|
|
|
|
- }
|
|
|
|
|
- }, pageInfo);
|
|
|
|
|
|
|
+ Page<PurchaseOrderDone> pageOrders = purchaseOrderDoneDao.findAll(
|
|
|
|
|
+ new Specification<PurchaseOrderDone>() {
|
|
|
|
|
+ public Predicate toPredicate(Root<PurchaseOrderDone> root,
|
|
|
|
|
+ CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
+ return query.where(
|
|
|
|
|
+ pageInfo.getPredicates(root, query, builder))
|
|
|
|
|
+ .getRestriction();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, pageInfo);
|
|
|
// 明细包含关键词
|
|
// 明细包含关键词
|
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
|
List<PurchaseOrderDone> orders = pageOrders.getContent();
|
|
List<PurchaseOrderDone> orders = pageOrders.getContent();
|
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
|
for (PurchaseOrderDone order : orders) {
|
|
for (PurchaseOrderDone order : orders) {
|
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
|
- for (PurchaseOrderDoneItem orderItem : order.getOrderItems()) {
|
|
|
|
|
- if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
|
|
|
|
|
|
|
+ for (PurchaseOrderDoneItem orderItem : order
|
|
|
|
|
+ .getOrderItems()) {
|
|
|
|
|
+ if (FlexJsonUtils.toJson(orderItem).contains(
|
|
|
|
|
+ filter.getKeyword())) {
|
|
|
orderItem.setKey(true);
|
|
orderItem.setKey(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -430,31 +501,44 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public Page<PurchaseOrderEnd> findEndByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
|
|
|
|
|
|
|
+ public Page<PurchaseOrderEnd> findEndByPageInfo(final PageInfo pageInfo,
|
|
|
|
|
+ SearchFilter filter) {
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
|
- pageInfo.expression(PredicateUtils.in("id",
|
|
|
|
|
- purchaseOrderIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), filter.getKeyword()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in(
|
|
|
|
|
+ "id",
|
|
|
|
|
+ purchaseOrderIndexDao.findByKeyword(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
|
|
+ filter.getKeyword()), false));
|
|
|
if (filter.getFromDate() != null)
|
|
if (filter.getFromDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.gte("date",
|
|
|
|
|
+ new Date(filter.getFromDate()), false));
|
|
|
if (filter.getEndDate() != null)
|
|
if (filter.getEndDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.lte("date",
|
|
|
|
|
+ new Date(filter.getEndDate()), false));
|
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
- pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("enUU",
|
|
|
|
|
+ filter.getDistribute(), false));
|
|
|
}
|
|
}
|
|
|
- Page<PurchaseOrderEnd> pageOrders = purchaseOrderEndDao.findAll(new Specification<PurchaseOrderEnd>() {
|
|
|
|
|
- public Predicate toPredicate(Root<PurchaseOrderEnd> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
- return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
|
|
|
|
|
- }
|
|
|
|
|
- }, pageInfo);
|
|
|
|
|
|
|
+ Page<PurchaseOrderEnd> pageOrders = purchaseOrderEndDao.findAll(
|
|
|
|
|
+ new Specification<PurchaseOrderEnd>() {
|
|
|
|
|
+ public Predicate toPredicate(Root<PurchaseOrderEnd> root,
|
|
|
|
|
+ CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
+ return query.where(
|
|
|
|
|
+ pageInfo.getPredicates(root, query, builder))
|
|
|
|
|
+ .getRestriction();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, pageInfo);
|
|
|
// 明细包含关键词
|
|
// 明细包含关键词
|
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
|
List<PurchaseOrderEnd> orders = pageOrders.getContent();
|
|
List<PurchaseOrderEnd> orders = pageOrders.getContent();
|
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
|
for (PurchaseOrderEnd order : orders) {
|
|
for (PurchaseOrderEnd order : orders) {
|
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
|
- for (PurchaseOrderEndItem orderItem : order.getOrderItems()) {
|
|
|
|
|
- if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
|
|
|
|
|
|
|
+ for (PurchaseOrderEndItem orderItem : order
|
|
|
|
|
+ .getOrderItems()) {
|
|
|
|
|
+ if (FlexJsonUtils.toJson(orderItem).contains(
|
|
|
|
|
+ filter.getKeyword())) {
|
|
|
orderItem.setKey(true);
|
|
orderItem.setKey(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -464,33 +548,47 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
}
|
|
}
|
|
|
return pageOrders;
|
|
return pageOrders;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
- public Page<PurchaseOrderWaiting> findWaitingByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
|
|
|
|
|
|
|
+ public Page<PurchaseOrderWaiting> findWaitingByPageInfo(
|
|
|
|
|
+ final PageInfo pageInfo, SearchFilter filter) {
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
if (StringUtils.hasText(filter.getKeyword()))
|
|
|
- pageInfo.expression(PredicateUtils.in("id",
|
|
|
|
|
- purchaseOrderIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), filter.getKeyword()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in(
|
|
|
|
|
+ "id",
|
|
|
|
|
+ purchaseOrderIndexDao.findByKeyword(SystemSession
|
|
|
|
|
+ .getUser().getEnterprise().getUu(),
|
|
|
|
|
+ filter.getKeyword()), false));
|
|
|
if (filter.getFromDate() != null)
|
|
if (filter.getFromDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.gte("date",
|
|
|
|
|
+ new Date(filter.getFromDate()), false));
|
|
|
if (filter.getEndDate() != null)
|
|
if (filter.getEndDate() != null)
|
|
|
- pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.lte("date",
|
|
|
|
|
+ new Date(filter.getEndDate()), false));
|
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
- pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
|
|
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("enUU",
|
|
|
|
|
+ filter.getDistribute(), false));
|
|
|
}
|
|
}
|
|
|
- Page<PurchaseOrderWaiting> pageOrders = purchaseOrderWaitingDao.findAll(new Specification<PurchaseOrderWaiting>() {
|
|
|
|
|
- public Predicate toPredicate(Root<PurchaseOrderWaiting> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
- return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
|
|
|
|
|
- }
|
|
|
|
|
- }, pageInfo);
|
|
|
|
|
|
|
+ Page<PurchaseOrderWaiting> pageOrders = purchaseOrderWaitingDao
|
|
|
|
|
+ .findAll(new Specification<PurchaseOrderWaiting>() {
|
|
|
|
|
+ public Predicate toPredicate(
|
|
|
|
|
+ Root<PurchaseOrderWaiting> root,
|
|
|
|
|
+ CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
|
+ return query.where(
|
|
|
|
|
+ pageInfo.getPredicates(root, query, builder))
|
|
|
|
|
+ .getRestriction();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, pageInfo);
|
|
|
// 明细包含关键词
|
|
// 明细包含关键词
|
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
|
List<PurchaseOrderWaiting> orders = pageOrders.getContent();
|
|
List<PurchaseOrderWaiting> orders = pageOrders.getContent();
|
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
if (!CollectionUtils.isEmpty(orders)) {
|
|
|
for (PurchaseOrderWaiting order : orders) {
|
|
for (PurchaseOrderWaiting order : orders) {
|
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
|
- for (PurchaseOrderWaitingItem orderItem : order.getOrderItems()) {
|
|
|
|
|
- if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
|
|
|
|
|
|
|
+ for (PurchaseOrderWaitingItem orderItem : order
|
|
|
|
|
+ .getOrderItems()) {
|
|
|
|
|
+ if (FlexJsonUtils.toJson(orderItem).contains(
|
|
|
|
|
+ filter.getKeyword())) {
|
|
|
orderItem.setKey(true);
|
|
orderItem.setKey(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -516,7 +614,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
public void print(Long id) {
|
|
public void print(Long id) {
|
|
|
PurchaseOrder order = purchaseOrderDao.findOne(id);
|
|
PurchaseOrder order = purchaseOrderDao.findOne(id);
|
|
|
if (order != null) {
|
|
if (order != null) {
|
|
|
- order.setPrint((short) ((order.getPrint() == null ? 0 : order.getPrint()) + 1));
|
|
|
|
|
|
|
+ order.setPrint((short) ((order.getPrint() == null ? 0 : order
|
|
|
|
|
+ .getPrint()) + 1));
|
|
|
}
|
|
}
|
|
|
purchaseOrderDao.save(order);
|
|
purchaseOrderDao.save(order);
|
|
|
}
|
|
}
|
|
@@ -525,10 +624,11 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
public Long getOrdersCount(Long uu) {
|
|
public Long getOrdersCount(Long uu) {
|
|
|
return purchaseOrderAllDao.findOrderCountByEnUU(uu);
|
|
return purchaseOrderAllDao.findOrderCountByEnUU(uu);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public Long getAllCount() {
|
|
public Long getAllCount() {
|
|
|
- return purchaseOrderAllDao.countByVendUU(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
|
|
+ return purchaseOrderAllDao.countByVendUU(SystemSession.getUser()
|
|
|
|
|
+ .getEnterprise().getUu());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|