protected function updateDate($app, $TargetOrder, $OriginOrder)
{
$dateTime = new \DateTime();
// 編集
if ($TargetOrder->getId()) {
// 発送済
if ($TargetOrder->getOrderStatus()->getId() == $app['config']['order_deliv']) {
// 編集前と異なる場合のみ更新
if ($TargetOrder->getOrderStatus()->getId() != $OriginOrder->getOrderStatus()->getId()) {
$TargetOrder->setCommitDate($dateTime);
// お届け先情報の発送日も更新する.
$Shippings = $TargetOrder->getShippings();
foreach ($Shippings as $Shipping) {
$Shipping->setShippingCommitDate($dateTime);
}
}
// 入金済
} elseif ($TargetOrder->getOrderStatus()->getId() == $app['config']['order_pre_end']) {
// 編集前と異なる場合のみ更新
if ($TargetOrder->getOrderStatus()->getId() != $OriginOrder->getOrderStatus()->getId()) {
$TargetOrder->setPaymentDate($dateTime);
}
}
// 新規
} else {
// 発送済
if ($TargetOrder->getOrderStatus()->getId() == $app['config']['order_deliv']) {
$TargetOrder->setCommitDate($dateTime);
// お届け先情報の発送日も更新する.
$Shippings = $TargetOrder->getShippings();
foreach ($Shippings as $Shipping) {
$Shipping->setShippingCommitDate($dateTime);
}
// 入金済
} elseif ($TargetOrder->getOrderStatus()->getId() == $app['config']['order_pre_end']) {
$TargetOrder->setPaymentDate($dateTime);
}
// 受注日時
$TargetOrder->setOrderDate($dateTime);
}
}