|
|
@@ -644,6 +644,7 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
|
|
|
* @param id 采购单信息
|
|
|
* @return 返回发货单
|
|
|
*/
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public ResultMap ship(String shiInfo, Long id) {
|
|
|
if (StringUtilB2C.isEmpty(shiInfo)) {
|
|
|
@@ -694,8 +695,6 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
|
|
|
detail.setStatus(Status.INBOUND.value());
|
|
|
}
|
|
|
InvoiceFPurchase inFpu = inFpuDao.save(invoiceFPurchase);
|
|
|
-
|
|
|
-
|
|
|
if (inFpu.getLogistics() != null) {
|
|
|
purchase.setLgtId(inFpu.getLogistics().getId());
|
|
|
}
|
|
|
@@ -707,20 +706,36 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
|
|
|
purchase.addInid(inFpu.getInvoiceid());
|
|
|
//如果不是优软商城店铺,则代表店铺直售
|
|
|
Order order = null;
|
|
|
+ Double qty = 0.0d;
|
|
|
if(!purchase.getStoreid().equals(sysConf.getStoreid())) {
|
|
|
order = orderDao.findByOrderid(purchase.getOrderid());
|
|
|
order.addInInds(inFpu.getInvoiceid());
|
|
|
- }
|
|
|
-
|
|
|
- if(NumberUtil.compare(purchase.getQty(), purchase.getShipQty()) < 1) {
|
|
|
- //如果不是优软商城店铺,则代表店铺直售
|
|
|
- if(!purchase.getStoreid().equals(sysConf.getStoreid())) {
|
|
|
+ Set<OrderDetail> orderDetails = order.getOrderDetails();
|
|
|
+ for (OrderDetail orderDetail : orderDetails) {
|
|
|
+ Set<PurchaseDetail> purchaseDetails = purchase.getPurchaseDetails();
|
|
|
+ for (PurchaseDetail purchaseDetail : purchaseDetails) {
|
|
|
+ if (StringUtilB2C.equals(orderDetail.getDetailid(), purchaseDetail.getOrderdetailid())) {
|
|
|
+ orderDetail.setShipQty(purchaseDetail.getShipQty());
|
|
|
+ qty = NumberUtil.add(qty, purchaseDetail.getShipQty());
|
|
|
+ if (NumberUtil.compare(orderDetail.getShipQty(), orderDetail.getNumber()) > -1) {
|
|
|
+ orderDetail.setStatusInBound(SystemSession.getUser().getUserUU());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ order.setShipQty(qty);
|
|
|
+ if(NumberUtil.compare(purchase.getQty(), purchase.getShipQty()) < 1) {
|
|
|
order.setStatusInBound(userUU);
|
|
|
order.setSendstatus(Status.NOT_UPLOAD.value());// 将订单设置为未下载状态,以便erp下载
|
|
|
- for (OrderDetail detail : order.getOrderDetails()) {
|
|
|
- detail.setStatusInBound(userUU);
|
|
|
+ for (OrderDetail orderDetail : orderDetails) {
|
|
|
+ orderDetail.setStatusInBound(userUU);
|
|
|
}
|
|
|
}
|
|
|
+ orderDao.save(order);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(NumberUtil.compare(purchase.getQty(), purchase.getShipQty()) < 1) {
|
|
|
Set<PurchaseDetail> purchaseDetails = purchase.getPurchaseDetails();
|
|
|
for (PurchaseDetail purchaseDetail : purchaseDetails) {
|
|
|
if (Status.TOBESHIPPED.value() == purchaseDetail.getStatus()) {
|
|
|
@@ -729,9 +744,6 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
|
|
|
}
|
|
|
purchase.setStatusInBound(userUU);
|
|
|
}
|
|
|
- if (order != null) {
|
|
|
- orderDao.save(order);
|
|
|
- }
|
|
|
purchaseDao.save(purchase);
|
|
|
return ResultMap.success("ok");
|
|
|
}
|