|
|
@@ -330,43 +330,38 @@ class RelatedSalaryAccounting extends Api
|
|
|
$this->error('请求方式错误');
|
|
|
}
|
|
|
$req = $this->request->param();
|
|
|
- $req['date']=str_replace('.','-',$req['date']);
|
|
|
$start_time=$req['date'].' 00:00:00';
|
|
|
$end_time=$req['date'].' 23:59:59';
|
|
|
- $gz=db('绩效工资汇总')
|
|
|
- ->cache(true,86400)
|
|
|
- ->field('bh,rtrim(xm) as 姓名,sum(个人计件工资) as 个人计件工资,sum(个人加班工资) as 个人加班工资,
|
|
|
- DATE_FORMAT(sczl_rq,"%Y.%m.%d") as sczl_rq')
|
|
|
- ->group('LEFT(sczl_rq, 10),bh')
|
|
|
+ $data=db('绩效工资汇总')
|
|
|
+ ->cache(true,3600)
|
|
|
+ ->group('bh')
|
|
|
->where(['sczl_rq'=>$start_time])
|
|
|
+ ->column('bh,rtrim(xm) as 姓名,sum(个人计件工资) as 个人计件工资,
|
|
|
+ sum(个人加班工资) as 个人加班工资');
|
|
|
+
|
|
|
+ $res = db('人事_关联工资设置')->alias('r')
|
|
|
+ ->cache(true,3600)
|
|
|
+ ->join('人事_基本资料 j1','j1.员工编号 = r.关联员工')
|
|
|
+ ->join('人事_基本资料 j2','j2.员工编号 = r.被关联员工')
|
|
|
+ ->field('DATE_FORMAT(r.日期,"%Y.%m.%d") as 日期, r.关联员工 as 关联人员工号,
|
|
|
+ rtrim(j1.员工姓名) as 关联人员姓名, r.被关联员工 as 班组员工编号,rtrim(j2.员工姓名) as 被关联人员姓名,
|
|
|
+ r.权重 as 组员权重,r.关联系数 as 日关联系数,r.UniqID')
|
|
|
+ ->where(['r.日期'=>['between',"$start_time,$end_time"],'r.关联员工'=>$req['code']])
|
|
|
+ ->order('r.关联员工')
|
|
|
->select();
|
|
|
- foreach($gz as $v){
|
|
|
- $data[$v['bh']][$v['sczl_rq']]=$v;
|
|
|
- }
|
|
|
- $res=db('人事_关联工资设置')
|
|
|
- ->cache(true,86400)
|
|
|
- ->join('人事_基本资料','人事_基本资料.员工编号=人事_关联工资设置.关联员工','LEFT')
|
|
|
- ->field('DATE_FORMAT(日期,"%Y.%m.%d") as 日期,关联员工 as 关联人员工号,rtrim(人事_基本资料.员工姓名) as 关联人员姓名,
|
|
|
- 被关联员工 as 班组员工编号,权重 as 组员权重,关联系数 as 日关联系数,人事_关联工资设置.UniqID')
|
|
|
- ->group('被关联员工')
|
|
|
- ->where(['日期'=>['between',"$start_time,$end_time"],'关联员工'=>$req['code']])
|
|
|
- ->order('关联员工,日期')
|
|
|
- ->select();
|
|
|
- if(!$res){
|
|
|
+ if($res===false){
|
|
|
$this->error('失败');
|
|
|
}
|
|
|
foreach($res as &$v){
|
|
|
- if(isset($data[$v['班组员工编号']][$v['日期']])){
|
|
|
- $bh=$v['班组员工编号'];
|
|
|
- $rq=$v['日期'];
|
|
|
- $v['班组员工编号']=$bh.'('.$data[$bh][$rq]['姓名'].')';
|
|
|
- $v['计件工资基数']=$data[$bh][$rq]['个人计件工资'];
|
|
|
- $v['加班工资基数']=$data[$bh][$rq]['个人加班工资'];
|
|
|
- $v['日关联人数']=count($res);
|
|
|
+ if(isset($data[$v['班组员工编号']])){
|
|
|
+ $v['计件工资基数'] = $data[$v['班组员工编号']]['个人计件工资'];
|
|
|
+ $v['加班工资基数'] = $data[$v['班组员工编号']]['个人加班工资'];
|
|
|
}else{
|
|
|
- $v['个人计件工资']='';
|
|
|
- $v['个人加班工资']='';
|
|
|
+ $v['计件工资基数'] = 0;
|
|
|
+ $v['加班工资基数'] = 0;
|
|
|
}
|
|
|
+ $v['班组员工编号'] = $v['班组员工编号'].'('.$v['被关联人员姓名'].')';
|
|
|
+ $v['日关联人数'] = count($res);
|
|
|
}
|
|
|
$this->success('成功',$res);
|
|
|
}
|