|
|
@@ -354,6 +354,7 @@ class GluingReport extends Api
|
|
|
'gxmc' => $param['sczl_gxmc'],
|
|
|
'sys_id' => $param['sys_id'],
|
|
|
'sczl_rq' => $param['sczl_rq'],
|
|
|
+ 'sczl_bzdh' => $param['sczl_bzdh'],
|
|
|
];
|
|
|
|
|
|
// 处理动态字段(1-30组bh/rate)
|
|
|
@@ -613,7 +614,7 @@ class GluingReport extends Api
|
|
|
'a.sczl_zcfp as 制程废品','a.startTime as 开始时间','a.endTime as 结束时间','a.sczl_ls as 联数','a.sczl_rq as 日期',
|
|
|
'a.sczl_dedh as 定额代号','a.工价系数','a.保养工时','a.装版工时','a.异常工时','a.异常类型','a.设备运行工时','a.role',
|
|
|
'a.sys_id as 创建人员','a.sys_rq as 上报时间','a.mod_rq as 修改时间','a.Uid','a.sczl_jtbh as 机台编号','a.price',
|
|
|
- 'b.Gd_cpdh as 产品代号','b.Gd_cpmc as 产品名称'];
|
|
|
+ 'b.Gd_cpdh as 产品代号','b.Gd_cpmc as 产品名称','a.sczl_bzdh as 班组',];
|
|
|
$list = \db('设备_糊盒报工资料')
|
|
|
->alias('a')
|
|
|
->join('工单_基本资料 b','a.sczl_gdbh = b.Gd_gdbh','left')
|
|
|
@@ -673,7 +674,7 @@ class GluingReport extends Api
|
|
|
'a.sczl_zcfp as 制程废品','a.startTime as 开始时间','a.endTime as 结束时间','a.sczl_ls as 联数','a.sczl_rq as 日期',
|
|
|
'a.sczl_dedh as 定额代号','a.工价系数','a.保养工时','a.装版工时','a.异常工时','a.异常类型','a.设备运行工时','a.role',
|
|
|
'a.sys_id as 创建人员','a.sys_rq as 上报时间','a.mod_rq as 修改时间','a.Uid','a.sczl_jtbh as 机台编号','a.price',
|
|
|
- 'b.Gd_cpdh as 产品代号','b.Gd_cpmc as 产品名称'];
|
|
|
+ 'b.Gd_cpdh as 产品代号','b.Gd_cpmc as 产品名称','a.sczl_bzdh as 班组',];
|
|
|
$list = \db('设备_糊盒报工资料')
|
|
|
->alias('a')
|
|
|
->join('工单_基本资料 b','a.sczl_gdbh = b.Gd_gdbh','left')
|
|
|
@@ -762,6 +763,7 @@ class GluingReport extends Api
|
|
|
'gdbh' => $param['sczl_gdbh'],
|
|
|
'gxmc' => $param['sczl_gxmc'],
|
|
|
'sczl_rq' => $param['sczl_rq'],
|
|
|
+ 'sczl_bzdh' => $param['sczl_bzdh'],
|
|
|
];
|
|
|
|
|
|
// 处理动态字段(1-30组bh/rate)
|
|
|
@@ -955,4 +957,102 @@ class GluingReport extends Api
|
|
|
}
|
|
|
$this->success('成功',$data);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ //最新糊盒班组查询
|
|
|
+ public function classifyList()
|
|
|
+ {
|
|
|
+ // 1. 请求方法验证
|
|
|
+ if (!$this->request->isGet()) {
|
|
|
+ $this->error('请使用GET请求');
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 参数验证
|
|
|
+ $params = $this->request->param();
|
|
|
+
|
|
|
+ // 验证必需参数
|
|
|
+ $requiredParams = ['sczl_jtbh', 'sczl_bzdh'];
|
|
|
+ foreach ($requiredParams as $param) {
|
|
|
+ if (empty($params[$param] ?? null)) {
|
|
|
+ $this->error("缺少必要参数: {$param}");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $jtbh = trim($params['sczl_jtbh']);
|
|
|
+ $bzdh = trim($params['sczl_bzdh']);
|
|
|
+
|
|
|
+ // 3. 查询糊盒报工资料
|
|
|
+ $role = \db('设备_糊盒报工资料')
|
|
|
+ ->where('sczl_jtbh', $jtbh)
|
|
|
+ ->where('sczl_bzdh', $bzdh)
|
|
|
+ ->order('Uid', 'desc')
|
|
|
+ ->value('role');
|
|
|
+
|
|
|
+ if (empty($role)) {
|
|
|
+ $this->error('未找到对应的报工班组信息');
|
|
|
+ }
|
|
|
+
|
|
|
+ // 4. 动态生成字段列表
|
|
|
+ $fields = [];
|
|
|
+ for ($i = 1; $i <= 30; $i++) {
|
|
|
+ $fields[] = "bh{$i}";
|
|
|
+ $fields[] = "rate{$i}";
|
|
|
+ }
|
|
|
+
|
|
|
+ // 5. 查询班组信息
|
|
|
+ $class = \db('糊盒报工班组')
|
|
|
+ ->where('id', $role)
|
|
|
+ ->field($fields)
|
|
|
+ ->find();
|
|
|
+
|
|
|
+ if (empty($class)) {
|
|
|
+ $this->error('班组信息不存在');
|
|
|
+ }
|
|
|
+
|
|
|
+ // 6. 处理班组成员信息
|
|
|
+ $members = [];
|
|
|
+ $employeeIds = [];
|
|
|
+
|
|
|
+ // 收集所有有效的员工编号
|
|
|
+ for ($i = 1; $i <= 30; $i++) {
|
|
|
+ $bh = $class["bh{$i}"] ?? '';
|
|
|
+ $rate = $class["rate{$i}"] ?? 0;
|
|
|
+
|
|
|
+ // 验证员工编号是否有效
|
|
|
+ $bh = trim($bh);
|
|
|
+ if (!empty($bh) && $bh !== '000000') {
|
|
|
+ $employeeIds[$bh] = [
|
|
|
+ 'index' => $i,
|
|
|
+ 'rate' => $rate
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果有有效的员工编号,批量查询员工信息
|
|
|
+ if (!empty($employeeIds)) {
|
|
|
+ $employeeNames = [];
|
|
|
+ $ids = array_keys($employeeIds);
|
|
|
+
|
|
|
+ // 批量查询员工信息(减少数据库查询次数)
|
|
|
+ $result = \db('人事_基本资料')
|
|
|
+ ->whereIn('员工编号', $ids)
|
|
|
+ ->field('员工编号, rtrim(员工姓名) as 姓名')
|
|
|
+ ->select();
|
|
|
+
|
|
|
+ foreach ($result as $item) {
|
|
|
+ $employeeNames[$item['员工编号']] = $item['姓名'];
|
|
|
+ }
|
|
|
+
|
|
|
+ // 组装返回数据
|
|
|
+ foreach ($employeeIds as $employeeId => $info) {
|
|
|
+ $members[] = [
|
|
|
+ '编号' => $employeeId,
|
|
|
+ '姓名' => $employeeNames[$employeeId] ?? '未知',
|
|
|
+ '比例' => $info['rate']
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->success('获取成功', array_values($members));
|
|
|
+ }
|
|
|
}
|