|
@@ -37,6 +37,7 @@ class ExpendController extends BaseController
|
|
|
$currentEndTime = $currentEndDate . ' 23:59:59';
|
|
$currentEndTime = $currentEndDate . ' 23:59:59';
|
|
|
|
|
|
|
|
$where = ['mainId' => $this->mainId];
|
|
$where = ['mainId' => $this->mainId];
|
|
|
|
|
+ // 汇总默认按记账时间 payTime(与列表默认一致)
|
|
|
$where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
|
|
$where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
|
|
|
$where['delStatus'] = 0; //过滤掉已删除的
|
|
$where['delStatus'] = 0; //过滤掉已删除的
|
|
|
$list = ExpendClass::getAllByCondition($where, null, '*', null);
|
|
$list = ExpendClass::getAllByCondition($where, null, '*', null);
|
|
@@ -218,8 +219,11 @@ class ExpendController extends BaseController
|
|
|
$currentEndDate = date('Y-m-d', strtotime($end));
|
|
$currentEndDate = date('Y-m-d', strtotime($end));
|
|
|
$currentStartTime = $currentStartDate . ' 00:00:00';
|
|
$currentStartTime = $currentStartDate . ' 00:00:00';
|
|
|
$currentEndTime = $currentEndDate . ' 23:59:59';
|
|
$currentEndTime = $currentEndDate . ' 23:59:59';
|
|
|
- $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
|
|
|
|
|
- $respond = ExpendClass::getExpendList($where);
|
|
|
|
|
|
|
+ // timeType=pay(默认记账 payTime)/ send(发生 sendTime)
|
|
|
|
|
+ $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'pay';
|
|
|
|
|
+ $timeField = ($timeType === 'send') ? 'sendTime' : 'payTime';
|
|
|
|
|
+ $where[$timeField] = ['between', [$currentStartTime, $currentEndTime]];
|
|
|
|
|
+ $respond = ExpendClass::getExpendList($where, $timeField . ' DESC,id DESC');
|
|
|
$map = dict::getDict('expendTypeMap');
|
|
$map = dict::getDict('expendTypeMap');
|
|
|
if (!empty($respond['list'])) {
|
|
if (!empty($respond['list'])) {
|
|
|
foreach ($respond['list'] as $key => $val) {
|
|
foreach ($respond['list'] as $key => $val) {
|
|
@@ -319,10 +323,18 @@ class ExpendController extends BaseController
|
|
|
}
|
|
}
|
|
|
$staffName = $staff->name ?? '';
|
|
$staffName = $staff->name ?? '';
|
|
|
$ptStyle = dict::getDict('ptStyle', 'ghs');
|
|
$ptStyle = dict::getDict('ptStyle', 'ghs');
|
|
|
|
|
+ // payTime:登记记账时间,固定为当前时刻(不可再改)
|
|
|
$payTime = date("Y-m-d H:i:s");
|
|
$payTime = date("Y-m-d H:i:s");
|
|
|
- $historyDate = $post['historyDate'] ?? '';
|
|
|
|
|
- if (!empty($historyDate)) {
|
|
|
|
|
- $payTime = $historyDate . date(" H:i:s");
|
|
|
|
|
|
|
+ // sendTime:业务归属时间,前端可选日期;空则当天
|
|
|
|
|
+ $sendTimeInput = isset($post['sendTime']) ? str_replace('/', '-', trim((string)$post['sendTime'])) : '';
|
|
|
|
|
+ if ($sendTimeInput === '') {
|
|
|
|
|
+ $sendTime = $payTime;
|
|
|
|
|
+ } elseif (preg_match('/^\d{4}-\d{2}-\d{2}$/', $sendTimeInput)) {
|
|
|
|
|
+ $sendTime = $sendTimeInput . date(' H:i:s');
|
|
|
|
|
+ } elseif (preg_match('/^\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}/', $sendTimeInput)) {
|
|
|
|
|
+ $sendTime = $sendTimeInput;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $sendTime = $payTime;
|
|
|
}
|
|
}
|
|
|
$expendData = [
|
|
$expendData = [
|
|
|
'type' => $type,
|
|
'type' => $type,
|
|
@@ -335,6 +347,7 @@ class ExpendController extends BaseController
|
|
|
'payWay' => $payWay,
|
|
'payWay' => $payWay,
|
|
|
'bx' => $bx,
|
|
'bx' => $bx,
|
|
|
'payTime' => $payTime,
|
|
'payTime' => $payTime,
|
|
|
|
|
+ 'sendTime' => $sendTime,
|
|
|
];
|
|
];
|
|
|
$respond = ExpendClass::add($expendData, true);
|
|
$respond = ExpendClass::add($expendData, true);
|
|
|
|
|
|
|
@@ -425,4 +438,37 @@ class ExpendController extends BaseController
|
|
|
util::complete('修改成功');
|
|
util::complete('修改成功');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 修改支出业务时间 sendTime(列表「修改」走此接口;payTime 仍不可改)。
|
|
|
|
|
+ */
|
|
|
|
|
+ public function actionChangeSendTime()
|
|
|
|
|
+ {
|
|
|
|
|
+ $get = Yii::$app->request->get();
|
|
|
|
|
+ $id = $get['id'] ?? 0;
|
|
|
|
|
+ $date = $get['date'] ?? '';
|
|
|
|
|
+ if (empty($date)) {
|
|
|
|
|
+ util::fail('没有日期');
|
|
|
|
|
+ }
|
|
|
|
|
+ $date = str_replace('/', '-', trim((string)$date));
|
|
|
|
|
+ if (!preg_match('/^\d{4}-\d{2}-\d{2}/', $date)) {
|
|
|
|
|
+ util::fail('日期格式错误');
|
|
|
|
|
+ }
|
|
|
|
|
+ $expend = ExpendClass::getById($id, true);
|
|
|
|
|
+ if (empty($expend)) {
|
|
|
|
|
+ util::fail('没有找到支出');
|
|
|
|
|
+ }
|
|
|
|
|
+ if ($expend->mainId != $this->mainId) {
|
|
|
|
|
+ util::fail('不是你的支出');
|
|
|
|
|
+ }
|
|
|
|
|
+ // 只改 sendTime;时分秒沿用原 sendTime,空则用 addTime
|
|
|
|
|
+ $baseTime = $expend->sendTime ?? '';
|
|
|
|
|
+ if (empty($baseTime) || strpos((string)$baseTime, '0000-00-00') === 0) {
|
|
|
|
|
+ $baseTime = $expend->addTime ?? date('Y-m-d H:i:s');
|
|
|
|
|
+ }
|
|
|
|
|
+ $day = substr($date, 0, 10);
|
|
|
|
|
+ $expend->sendTime = $day . date(' H:i:s', strtotime($baseTime));
|
|
|
|
|
+ $expend->save();
|
|
|
|
|
+ util::complete('修改成功');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|