|
|
@@ -487,48 +487,31 @@ class RelatedSalaryAccounting extends Api
|
|
|
$req['date']=str_replace('.','-',$req['date']);
|
|
|
$start_time=$req['date'].' 00:00:00';
|
|
|
$end_time=$req['date'].' 23:59:59';
|
|
|
- $gd = db()->table('工单_基本资料')->where('Gd_cpmc',$req['search'])->value('Gd_gdbh');
|
|
|
+ $gd = db('人事_基本资料')->where('员工姓名','like','%'.$req['search'].'%')->column('员工编号');
|
|
|
if($gd){
|
|
|
- $req['search']=$gd;
|
|
|
- }
|
|
|
- $gz=db('绩效工资汇总')
|
|
|
- ->cache(true,86400)
|
|
|
- ->field('bh,rtrim(xm) as 姓名,sum(个人计件工资) as 个人计件工资,sum(个人加班工资) as 个人加班工资,
|
|
|
- DATE_FORMAT(sczl_rq,"%Y.%m.%d") as sczl_rq,sczl_bzdh')
|
|
|
- ->group('LEFT(sczl_rq, 10),bh')
|
|
|
- ->where(['sczl_rq'=>$start_time])
|
|
|
- ->select();
|
|
|
- foreach($gz as $v){
|
|
|
- $data[$v['bh']][$v['sczl_rq']]=$v;
|
|
|
+ $where = [
|
|
|
+ 'j.sczl_rq'=>['between',"$start_time,$end_time"],
|
|
|
+ 'j.bh'=>['in',$gd]
|
|
|
+ ];
|
|
|
+ }else{
|
|
|
+ $where = [
|
|
|
+ 'j.sczl_rq'=>['between',"$start_time,$end_time"],
|
|
|
+ 'j.bh'=>['like','%'.$req['search'].'%']
|
|
|
+ ];
|
|
|
}
|
|
|
- $res=db('人事_关联工资设置')
|
|
|
- ->cache(true,86400)
|
|
|
- ->join('人事_基本资料','人事_基本资料.员工编号=人事_关联工资设置.被关联员工','LEFT')
|
|
|
- ->field('DATE_FORMAT(日期,"%Y.%m.%d") as 日期,人事_基本资料.所在部门,人事_基本资料.职称职务,被关联员工 as 班组员工编号,人事_关联工资设置.UniqID')
|
|
|
- // ->group('被关联员工')
|
|
|
- ->where(['日期'=>['between',"$start_time,$end_time"],'被关联员工'=>['EQ',$req['search']]])
|
|
|
- ->order('人事_基本资料.所在部门')
|
|
|
+ $res=db('绩效工资汇总')->alias('j')->cache(true,3600)
|
|
|
+ ->join('人事_基本资料 r','r.员工编号=j.bh')
|
|
|
+ ->field('DATE_FORMAT(j.sczl_rq,"%Y.%m.%d") as 日期,
|
|
|
+ trim(r.所在部门) as 所在部门,sczl_bzdh, trim(r.职称职务) as 职称职务,
|
|
|
+ CONCAT(trim(j.xm),"(", j.bh, ")") as 班组员工编号,
|
|
|
+ sum(j.个人计件工资) as 个人计件工资, sum(j.个人加班工资) as 个人加班工资,
|
|
|
+ j.bh, j.UniqID')
|
|
|
+ ->group('j.bh')
|
|
|
+ ->where($where)
|
|
|
+ ->order('r.所在部门,r.所在部门,j.bh')
|
|
|
->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]['sczl_bzdh'];
|
|
|
- $v['计件工资基数']=$data[$bh][$rq]['个人计件工资'];
|
|
|
- $v['加班工资基数']=$data[$bh][$rq]['个人加班工资'];
|
|
|
- }else{
|
|
|
- $v['计件工资基数']='删除';
|
|
|
- $v['加班工资基数']='';
|
|
|
- }
|
|
|
- }
|
|
|
- foreach($res as $k=>$v){
|
|
|
- if($v['计件工资基数']=='删除'){
|
|
|
- unset($res[$k]);
|
|
|
- }
|
|
|
}
|
|
|
$this->success('成功',$res);
|
|
|
}
|