|
@@ -52,25 +52,23 @@ class PieceWorkSchedule extends Api
|
|
|
*/
|
|
*/
|
|
|
public function getList()
|
|
public function getList()
|
|
|
{
|
|
{
|
|
|
- //get请求
|
|
|
|
|
- if(!$this->request->isGet()){
|
|
|
|
|
|
|
+ // 验证请求方式
|
|
|
|
|
+ if (!$this->request->isGet()) {
|
|
|
$this->error('请求方式错误');
|
|
$this->error('请求方式错误');
|
|
|
}
|
|
}
|
|
|
- $req = $this->request->param();
|
|
|
|
|
|
|
|
|
|
- $page = 1;
|
|
|
|
|
- $limit = 15;
|
|
|
|
|
- if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
|
|
|
|
|
- if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
|
|
|
|
|
|
|
+ $req = $this->request->param();
|
|
|
|
|
|
|
|
- $where = [];
|
|
|
|
|
- if (isset($req['date']) && !empty($req['date'])){
|
|
|
|
|
- $where['wgjs_rq'] = ['LIKE',$req['date'].'%'];
|
|
|
|
|
- }else{
|
|
|
|
|
- $this->error('参数错误');
|
|
|
|
|
|
|
+ // 必需参数校验
|
|
|
|
|
+ if (empty($req['date'])) {
|
|
|
|
|
+ $this->error('参数错误: 缺少日期参数');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $rows = db()->table('db_wgjs')
|
|
|
|
|
|
|
+ $where['wgjs_rq'] = ['LIKE', $req['date'] . '%'];
|
|
|
|
|
+ $usePagination = isset($req['page'], $req['limit']) && $req['page'] > 0 && $req['limit'] > 0;
|
|
|
|
|
+
|
|
|
|
|
+ // 构建基础查询
|
|
|
|
|
+ $query = db()->table('db_wgjs')
|
|
|
->field('LEFT(wgjs_rq, 10) as wgjs_rq, UniqId,
|
|
->field('LEFT(wgjs_rq, 10) as wgjs_rq, UniqId,
|
|
|
wgjs_bh1, wgjs_js1, rtrim(wgjs_yy1) as wgjs_yy1,
|
|
wgjs_bh1, wgjs_js1, rtrim(wgjs_yy1) as wgjs_yy1,
|
|
|
wgjs_bh2, wgjs_js2, rtrim(wgjs_yy2) as wgjs_yy2,
|
|
wgjs_bh2, wgjs_js2, rtrim(wgjs_yy2) as wgjs_yy2,
|
|
@@ -79,48 +77,46 @@ class PieceWorkSchedule extends Api
|
|
|
wgjs_bh5, wgjs_js5, rtrim(wgjs_yy5) as wgjs_yy5,
|
|
wgjs_bh5, wgjs_js5, rtrim(wgjs_yy5) as wgjs_yy5,
|
|
|
wgjs_bh6, wgjs_js6, rtrim(wgjs_yy6) as wgjs_yy6')
|
|
wgjs_bh6, wgjs_js6, rtrim(wgjs_yy6) as wgjs_yy6')
|
|
|
->where($where)
|
|
->where($where)
|
|
|
- ->order('wgjs_rq desc, UniqId asc')
|
|
|
|
|
- ->page($page,$limit)
|
|
|
|
|
- ->select();
|
|
|
|
|
- $total = db()->table('db_wgjs')->where($where)->count();
|
|
|
|
|
|
|
+ ->order('wgjs_rq desc, UniqId asc');
|
|
|
|
|
+
|
|
|
|
|
+ // 执行分页/全量查询
|
|
|
|
|
+ if ($usePagination) {
|
|
|
|
|
+ $rows = $query->page($req['page'], $req['limit'])->select();
|
|
|
|
|
+ $total = db()->table('db_wgjs')->where($where)->count();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $rows = $query->select();
|
|
|
|
|
+ $total = count($rows); // 避免额外COUNT查询
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 获取员工基础数据
|
|
|
|
|
+ $employees = db()->table('人事_基本资料')->column('员工编号, 员工姓名, 所在部门');
|
|
|
|
|
|
|
|
- $rs = db()->table('人事_基本资料')->column('员工编号, 员工姓名, 所在部门');
|
|
|
|
|
-
|
|
|
|
|
- foreach ($rows as $key=>$value){
|
|
|
|
|
- $rows[$key]['wgjs_js1'] = $value['wgjs_js1'] == 0 ? '' : $value['wgjs_js1'];
|
|
|
|
|
- //存在该员工编号
|
|
|
|
|
- if (array_key_exists($value['wgjs_bh1'],$rs)){
|
|
|
|
|
- $rows[$key]['department'] = trim($rs[$value['wgjs_bh1']]['所在部门']);
|
|
|
|
|
- $rows[$key]['name1'] = trim($rs[$value['wgjs_bh1']]['员工姓名']);
|
|
|
|
|
- for ($i=2;$i<=6;$i++){
|
|
|
|
|
- $rows[$key]['wgjs_js'.$i] = $value['wgjs_js'.$i] == '0.0' ? '' : $value['wgjs_js'.$i];
|
|
|
|
|
- if ($value['wgjs_bh'.$i]){
|
|
|
|
|
- if ($value['wgjs_bh'.$i]==$value['wgjs_bh1']){
|
|
|
|
|
- $rows[$key]['name'.$i] = $rows[$key]['name1'];
|
|
|
|
|
- }else{
|
|
|
|
|
- $rows[$key]['name'.$i] = trim($rs[$value['wgjs_bh'.$i]]['员工姓名']);
|
|
|
|
|
- }
|
|
|
|
|
- }else{
|
|
|
|
|
- $rows[$key]['name'.$i] = '';
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }else{
|
|
|
|
|
- $rows[$key]['department'] = '';
|
|
|
|
|
- $rows[$key]['name1'] = '';
|
|
|
|
|
- for ($i=2;$i<=6;$i++){
|
|
|
|
|
- $rows[$key]['wgjs_js'.$i] = $value['wgjs_js'.$i] == '0.0' ? '' : $value['wgjs_js'.$i];
|
|
|
|
|
- $rows[$key]['name'.$i] = '';
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 数据处理优化
|
|
|
|
|
+ foreach ($rows as &$row) {
|
|
|
|
|
+ // 处理主员工信息
|
|
|
|
|
+ $mainId = $row['wgjs_bh1'];
|
|
|
|
|
+ $hasMain = isset($employees[$mainId]);
|
|
|
|
|
+
|
|
|
|
|
+ $row['wgjs_js1'] = $row['wgjs_js1'] == 0 ? '' : $row['wgjs_js1'];
|
|
|
|
|
+ $row['department'] = $hasMain ? trim($employees[$mainId]['所在部门']) : '';
|
|
|
|
|
+ $row['name1'] = $hasMain ? trim($employees[$mainId]['员工姓名']) : '';
|
|
|
|
|
+
|
|
|
|
|
+ // 处理2-6号员工信息
|
|
|
|
|
+ for ($i = 2; $i <= 6; $i++) {
|
|
|
|
|
+ $fieldId = $row["wgjs_bh$i"];
|
|
|
|
|
+ $row["wgjs_js$i"] = $row["wgjs_js$i"] == '0.0' ? '' : $row["wgjs_js$i"];
|
|
|
|
|
+
|
|
|
|
|
+ $row["name$i"] = ($fieldId && isset($employees[$fieldId]))
|
|
|
|
|
+ ? trim($employees[$fieldId]['员工姓名'])
|
|
|
|
|
+ : ($fieldId === $mainId ? $row['name1'] : '');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $data = [
|
|
|
|
|
- 'total' => $total,
|
|
|
|
|
- 'rows' => $rows,
|
|
|
|
|
- ];
|
|
|
|
|
- $this->success('成功',$data);
|
|
|
|
|
|
|
+ $this->success('成功', [
|
|
|
|
|
+ 'total' => $total,
|
|
|
|
|
+ 'rows' => $rows
|
|
|
|
|
+ ]);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取计件工计时单信息
|
|
* 获取计件工计时单信息
|
|
|
* @ApiMethod (GET)
|
|
* @ApiMethod (GET)
|