|
|
@@ -19,6 +19,8 @@ use bizGhs\order\traits\OrderTrait;
|
|
|
use bizGhs\product\classes\ProductClass;
|
|
|
use bizGhs\stock\classes\OnStockRecordClass;
|
|
|
use bizGhs\stock\classes\StockRecordClass;
|
|
|
+use bizHd\cg\classes\CgMergeClass;
|
|
|
+use bizHd\cg\classes\CgMergeSnClass;
|
|
|
use bizHd\cg\classes\CgRefundClass;
|
|
|
use bizHd\cg\classes\CgTreeClass;
|
|
|
use bizHd\cg\classes\CgXjClass;
|
|
|
@@ -64,6 +66,52 @@ class PurchaseClass extends BaseClass
|
|
|
const REFUND_NO = 1;
|
|
|
const REFUND_YES = 2;
|
|
|
|
|
|
+ public static function updateMergeCg($cg, $update = 0)
|
|
|
+ {
|
|
|
+ $date = substr($cg->payTime, 0, 10);
|
|
|
+ $ghsId = $cg->ghsId ?? 0;
|
|
|
+ $mainId = $cg->mainId ?? 0;
|
|
|
+ //找到当前订单客户的账单日期为 $date 的所有订单
|
|
|
+ $startTime = $date . ' 00:00:00';
|
|
|
+ $endTime = $date . ' 23:59:59';
|
|
|
+ $dayOrders = self::getAllByCondition([
|
|
|
+ 'mainId' => $mainId,
|
|
|
+ 'ghsId' => $ghsId,
|
|
|
+ 'payTime' => ['between', [$startTime, $endTime]]
|
|
|
+ ], 'id ASC', 'id');
|
|
|
+ if (!empty($dayOrders)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $ids = array_column($dayOrders, 'id');
|
|
|
+ $count = count($ids);
|
|
|
+ if ($update == 0) {
|
|
|
+ if ($count <= 1) {
|
|
|
+ //新增,如果当天只有一个订单,不需要操作
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //修改
|
|
|
+ $oldMergeId = $cg->mergeId ?? 0;
|
|
|
+ $oldMerge = CgMergeSnClass::getById($oldMergeId, true);
|
|
|
+ $oldDate = $oldMerge->mergeDate ?? '';
|
|
|
+ if ($oldDate == $date) {
|
|
|
+ //修改前后日期一样,不需要调整
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ CgMergeClass::deleteByCondition(['id' => ['in', $ids]]);
|
|
|
+
|
|
|
+ $mergeData = ['mergeDate' => $date, 'ghsId' => $ghsId, 'mainId' => $mainId];
|
|
|
+ $mergeId = orderSn::getGhsOrderMergeId($mergeData);
|
|
|
+ self::updateByIds($ids, ['mergeId' => $mergeId]);
|
|
|
+ $addData = [];
|
|
|
+ foreach ($ids as $currentId) {
|
|
|
+ $addData[] = ['mergeId' => $mergeId, 'orderId' => $currentId, 'mergeDate' => $date];
|
|
|
+ }
|
|
|
+ CgMergeClass::batchAdd($addData);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
//获取打包费
|
|
|
public static function getKmPackCost($mainId)
|
|
|
{
|
|
|
@@ -1102,7 +1150,7 @@ class PurchaseClass extends BaseClass
|
|
|
}
|
|
|
if (!empty($data['treeData'][$currentPtItemId])) {
|
|
|
$myTreeData = $data['treeData'][$currentPtItemId];
|
|
|
- foreach($myTreeData as $treeItem) {
|
|
|
+ foreach ($myTreeData as $treeItem) {
|
|
|
$treeNum = $treeItem['num'] ?? 0;
|
|
|
$treeParams = [
|
|
|
'orderSn' => $orderSn,
|