edit-biz-settle

This commit is contained in:
lccsw
2022-04-12 11:34:39 +08:00
parent f2db79c239
commit e0dc63e1f4
7 changed files with 94 additions and 12 deletions
+29 -3
View File
@@ -38,11 +38,16 @@ class Business extends HD_Controller{
} else{
$params['V_id'] = '';
}
if(strlen($params['status']) > 0){
if(strlen($params['status'])){
$where['status'] = $params['status'];
} else {
$params['status'] = '';
}
if(strlen($params['if_effect'])){
$where['if_effect'] = $params['if_effect'];
} else {
$params['if_effect'] = '';
}
if($params['city_id']){
$where['city_id'] = $params['city_id'];
} else{
@@ -118,6 +123,7 @@ class Business extends HD_Controller{
'month' => $month,
's_effect_time' => $v['s_effect_time'] ? date('Y-m-d',$v['s_effect_time']) : '',
'effect_status' => $v['if_effect'] ? '生效中' : '未生效',
'if_effect' => $v['if_effect'],
);
}
}
@@ -325,11 +331,31 @@ class Business extends HD_Controller{
$value = $this->input->post('value');
$status = $this->input->post('status');
$upd = [];
if('status' == $field){
$status = $value;
$upd = array('status' => $status);
}
if($field == 'if_effect'){
$upd['if_effect'] = $value;
if($value){ //生效
$row = $this->auto_business_model->get(['id'=>$id]);
$where = [
'city_id' => $row['city_id'],
'brand_id' => $row['brand_id'],
's_id' => $row['s_id'],
'v_id' => $row['v_id'],
'status' => 1,
's_effect_time>' => $row['s_effect_time'],
];
if($this->auto_business_model->count($where)){
return $this->show_json(SYS_CODE_FAIL, '存在更新生效设置');
}
unset($where['s_effect_time']);
$this->auto_business_model->update(['if_effect'=>0],$where);
}
}
$upd = array('status' => $status);
if(is_numeric($id)){
$where = array('id' => $id);
+33 -1
View File
@@ -19,11 +19,13 @@ class Settle extends HD_Controller
$this->load->model('auto/auto_business_model');
$this->load->model('items/items_model');
$this->load->model('receiver/order/receiver_orders_v2_model');
$this->load->model('biz/biz_model');
$this->load->model('biz/biz_settle_model');
$this->load->model('biz/biz_settle_static_model');
$this->load->model('biz/biz_info_model');
$this->load->model('biz/biz_trucking_model');
}
public function index()
@@ -399,9 +401,39 @@ class Settle extends HD_Controller
}
}
}
$car_total = $this->biz_settle_model->count(['stic_id'=>$row['id']]);
$biz_info = $this->biz_info_model->get(['biz_id'=>$row['biz_id']]);
$type_config = $this->biz_type[$biz_info['type']];
$price_need = $row['rent'] + $row['wat_ele'] + $row['employee_wage'] + $row['manager_wage'] + $row['commission'] + $row['price_trucking'];
$update = [
'rent' => $biz_info['rent'],
'wat_ele' => $biz_info['wat_ele'],
'manager_wage' => $biz_info['manager_wage'],
'commission' => $biz_info['commission']*$car_total,
];
$employee_wage = $biz_info['num'] ? ceil($car_total/$biz['num']) : 0;
$update['employee_wage'] = $employee_wage;
$settle_rows = $this->biz_settle_model->select(['stic_id'=>$row['id']],'id asc',0,0,'id,o_id');
if(is_array($settle_rows)){
$o_id_str = implode(',',array_column($settle_rows,'o_id'));
$order_rows = [];
if($o_id_str){
$where = [
"id in ($o_id_str)" => null
];
$order_rows = $this->receiver_orders_v2_model->map('id','brand_id',$where,0,0,'id,brand_id');
}
foreach($settle_rows as $val){
$auto_b_id = $order_rows[$val['o_id']] ? $order_rows[$val['o_id']] : 0;
$truck_row = $this->biz_trucking_model->get(['biz_id'=>$row['biz_id'],'auto_b_id'=>$auto_b_id,'status'=>1]);
$price = $truck_row ? $truck_row['money'] : 0;
$this->biz_settle_model->update(['price_trucking'=>$price],['id'=>$val['id']]);
}
}
$truck_sum = $this->biz_settle_model->sum('price_trucking',['stic_id' => $row['id']]);
$update['price_trucking'] = $truck_sum['price_trucking'];
$price_need = $update['rent'] + $update['wat_ele'] + $update['employee_wage'] + $update['manager_wage'] + $update['commission'] + $update['price_trucking'];
$price_ml = $row['price_total'] - $price_need - $all_other;
$update['profix_liche'] = $price_ml*$type_config['liche']-$liche_other;
$update['profix_partner'] = $price_ml*$type_config['partner']-$partner_other;
+2
View File
@@ -1038,6 +1038,7 @@ class Store extends HD_Controller
'employee_wage' => $base_info['employee_wage'],
'manager_wage' => $base_info['manager_wage'],
'commission' => $base_info['commission'],
'num' => $base_info['num'],
's_time' => $base_info['s_time'] ? date('Y-m-d', $base_info['s_time']) : '',
'e_time' => $base_info['e_time'] ? date('Y-m-d', $base_info['e_time']) : '',
'type' => $base_info['type'],
@@ -1090,6 +1091,7 @@ class Store extends HD_Controller
'e_time' => $info['e_time'] ? strtotime($info['e_time']) : 0,
'type' => $info['type'],
'rate' => $info['rate'],
'num' => $info['num']
];
$this->biz_info_model->update($up_data, ['id' => $info['id']]);
$b_ids = array_column($brands, 'id');
+15 -1
View File
@@ -24,7 +24,7 @@
</select>
</div>
</div>
<div class="am-form-group">
<div class="am-form-group fl">
<label class="am-para-label">状态:</label>
<div class="am-para-inline w150">
<select name="status" v-model="params.status">
@@ -33,6 +33,16 @@
</select>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">是否生效:</label>
<div class="am-para-inline w150">
<select name="if_effect" v-model="params.if_effect">
<option value="">请选择</option>
<option value="1"></option>
<option value="0"></option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label">城市:</label>
<div class="am-para-inline w150">
@@ -126,6 +136,10 @@
data-field="status" data-value="0" v-if="1==v.status">关闭</a>
<a :data-update="v.id" data-action="/auto/business/edit_status" class="am-btn am-btn-success am-btn-xs"
data-field="status" data-value="1" v-if="0==v.status">开启</a>
<a :data-update="v.id" data-action="/auto/business/edit_status" class="am-btn am-btn-danger am-btn-xs"
data-field="if_effect" data-value="0" v-if="1==v.if_effect">失效</a>
<a :data-update="v.id" data-action="/auto/business/edit_status" class="am-btn am-btn-success am-btn-xs"
data-field="if_effect" data-value="1" v-if="0==v.if_effect">生效</a>
</td>
</tr>
</template>
+8 -1
View File
@@ -52,11 +52,18 @@
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">人工工资</label>
<label class="am-para-label">销售底薪</label>
<div class="am-para-input w150">
<input type="text" placeholder="输入人工工资" name="" type="number" v-model="info.employee_wage"/>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">人员核定:</label>
<div class="am-para-input">
<input type="text" style="width:90px;display:inline" placeholder="" name="" v-model="info.num"/>
/
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">店长工资:</label>
<div class="am-para-input w150">
+2 -6
View File
@@ -2,10 +2,6 @@
class Biz extends HD_Controller
{
private $biz_type = [
1 => ['liche' => 0.25 , 'partner' => 0.75],
2 => ['liche' => 0.35 , 'partner' => 0.65],
];
public function __construct()
{
@@ -109,7 +105,6 @@ class Biz extends HD_Controller
$rows = $this->biz_settle_model->select($where,'id asc',$page,$size);
if($rows){
foreach($rows as $key=>$val){
$biz_info = $this->biz_info_model->get(['biz_id'=>$val['biz_id']]);
$where = [
'biz_id' => $val['biz_id'],
'year' => $val['year'],
@@ -157,10 +152,11 @@ class Biz extends HD_Controller
'profix_car_after' => sprintf("%.2f",$val['profix_car']/1.13),
'rent' => $biz_info['rent'],
'wat_ele' => $biz_info['wat_ele'],
'employee_wage' => $biz_info['employee_wage'],
'manager_wage' => $biz_info['manager_wage'],
'commission' => $biz_info['commission']*$car_total,
];
$employee_wage = $biz_info['num'] ? ceil($car_total/$biz['num']) : 0;
$data['employee_wage'] = $employee_wage;
$data['price_total'] = $val['price_all']+$data['profix_car_after'];
$price_need = $data['price_total'] - $data['rent'] - $data['wat_ele'] - $data['employee_wage'] - $data['manager_wage'] - $data['commission'] - $data['price_trucking'];
$partner_rate = $biz_info['rate']/100;
@@ -27,6 +27,7 @@ class CusorderV2 extends Wxapp{
$this->load->model('receiver/order/receiver_order_status_model');
$this->load->model('receiver/order/receiver_order_deliverys_model','order_deliverys_model');
$this->load->model('receiver/order/receiver_order_loans_model', 'order_loans_model');
$this->load->model('receiver/order/receiver_order_bills_model','order_bills_model');
$this->load->model('auto/auto_series_model');
$this->load->model('auto/auto_attr_model');
@@ -526,6 +527,10 @@ class CusorderV2 extends Wxapp{
}
$data['cardid'] = $info_json['c_cardid'];
$inten_money && $data['inten_money'] = $inten_money;
//开票文件
$bill = $this->order_bills_model->get(['o_id'=>$row['id']],'file');
$data['bill_img'] = $bill['file'] ? build_qiniu_image_url($bill['file']) : '';
//选择随车物品
$ckcar_status = 0;
if($this->receiver_order_status_model->count(['o_id'=>$row['id'],'pid_status'=>3,'status'=>1]) && !$this->receiver_order_status_model->count(['o_id'=>$row['id'],'pid_status'=>4,'status'=>1])){