|
|
@@ -32,59 +32,44 @@ class MachineProductionReport extends Api
|
|
|
$this->error('请求方式错误');
|
|
|
}
|
|
|
|
|
|
- $rows = db('设备_产量计酬')->cache(true,300)
|
|
|
- ->field('LEFT(sys_rq, 10) as date, COUNT(*) as counts')
|
|
|
- ->group('date')
|
|
|
- ->order('UniqId desc')
|
|
|
- ->limit(30)
|
|
|
- ->select();
|
|
|
-
|
|
|
- $rows1 = db('db_sczl')->cache(true,300)
|
|
|
- ->group('date')
|
|
|
- ->order('UniqId desc')
|
|
|
- ->limit(40)
|
|
|
- ->column('LEFT(sys_rq, 10) as date, COUNT(*) as counts');
|
|
|
-// $sql = 'SELECT date, COUNT(*) as counts
|
|
|
-//FROM (
|
|
|
-// SELECT LEFT(sys_rq, 10) as date FROM db_sczl
|
|
|
-// UNION ALL
|
|
|
-// SELECT LEFT(sys_rq, 10) as date FROM 设备_产量计酬
|
|
|
-//) AS t1
|
|
|
-//GROUP BY date
|
|
|
-//ORDER BY date DESC
|
|
|
-//LIMIT 30';
|
|
|
-// $rows = db()->query($sql);
|
|
|
-//halt($rows);
|
|
|
- $arr2 = db('设备_产量计酬')->cache(true,300)
|
|
|
- ->field('LEFT(sys_rq, 10) as date, rtrim(sys_id) as sys_id, COUNT(sys_id) as count')
|
|
|
- ->where('sys_rq','>=',$rows[29]['date'])
|
|
|
- ->group('date, sys_id')
|
|
|
- ->select();
|
|
|
-
|
|
|
- $arr1 = db('db_sczl')->cache(true,300)
|
|
|
- ->field('LEFT(sys_rq, 10) as date, rtrim(sys_id) as sys_id, COUNT(sys_id) as count')
|
|
|
- ->where('sys_rq','>=',$rows[29]['date'])
|
|
|
- ->group('date, sys_id')
|
|
|
- ->select();
|
|
|
+ $time = date('Y-m-d',time()-8640000);
|
|
|
+ $sql = 'SELECT date, COUNT(date) as counts
|
|
|
+ FROM (
|
|
|
+ SELECT LEFT(sys_rq, 10) as date FROM db_sczl WHERE sys_rq > "'.$time.'"
|
|
|
+ UNION ALL
|
|
|
+ SELECT LEFT(sys_rq, 10) as date FROM 设备_产量计酬 WHERE sys_rq > "'.$time.'"
|
|
|
+ ) AS t1
|
|
|
+ GROUP BY date
|
|
|
+ ORDER BY date DESC
|
|
|
+ LIMIT 30';
|
|
|
+ $rows = db()->query($sql);
|
|
|
|
|
|
+ if(count($rows) < 30){
|
|
|
+ $sql = 'SELECT date, COUNT(date) as counts
|
|
|
+ FROM (
|
|
|
+ SELECT LEFT(sys_rq, 10) as date FROM db_sczl WHERE sys_rq > "2023-11-01"
|
|
|
+ UNION ALL
|
|
|
+ SELECT LEFT(sys_rq, 10) as date FROM 设备_产量计酬 WHERE sys_rq > "2023-11-01"
|
|
|
+ ) AS t1
|
|
|
+ GROUP BY date
|
|
|
+ ORDER BY date DESC
|
|
|
+ LIMIT 30';
|
|
|
+ $rows = db()->query($sql);
|
|
|
+ }
|
|
|
+
|
|
|
+ $sql = 'SELECT date, sys_id, COUNT(sys_id) as count
|
|
|
+ FROM (
|
|
|
+ SELECT LEFT(sys_rq, 10) as date, rtrim(sys_id) as sys_id
|
|
|
+ FROM db_sczl WHERE sys_rq >= "'.$rows[count($rows)-1]['date'].'"
|
|
|
+ UNION ALL
|
|
|
+ SELECT LEFT(sys_rq, 10) as date, rtrim(sys_id) as sys_id
|
|
|
+ FROM 设备_产量计酬 WHERE sys_rq >= "'.$rows[count($rows)-1]['date'].'"
|
|
|
+ ) AS t1
|
|
|
+ GROUP BY date, sys_id';
|
|
|
+ $data = db()->query($sql);
|
|
|
+
|
|
|
$result = [];
|
|
|
- // 遍历第一个数组
|
|
|
- foreach ($arr1 as $item) {
|
|
|
- $date = $item['date'];
|
|
|
- $sysId = $item['sys_id'];
|
|
|
- $count = $item['count'];
|
|
|
-
|
|
|
- // 如果结果数组中不存在该日期和系统ID的记录,则创建新记录
|
|
|
- if (!isset($result[$date][$sysId])) {
|
|
|
- $result[$date][$sysId] = 0;
|
|
|
- }
|
|
|
-
|
|
|
- // 将count累加到对应的记录中
|
|
|
- $result[$date][$sysId] += $count;
|
|
|
- }
|
|
|
-
|
|
|
- // 遍历第二个数组
|
|
|
- foreach ($arr2 as $item) {
|
|
|
+ foreach ($data as $item) {
|
|
|
$date = $item['date'];
|
|
|
$sysId = $item['sys_id'];
|
|
|
$count = $item['count'];
|
|
|
@@ -107,11 +92,6 @@ class MachineProductionReport extends Api
|
|
|
}
|
|
|
|
|
|
foreach($rows as $key=>$value){
|
|
|
- if(array_key_exists($value['date'],$rows1)){
|
|
|
- $rows[$key]['counts'] = $value['counts']+$rows1[$value['date']];
|
|
|
- }else{
|
|
|
- $rows[$key]['counts'] = $value['counts'];
|
|
|
- }
|
|
|
$rows[$key]['sys'] = $result[$value['date']];
|
|
|
$rows[$key]['date'] = str_replace('-', '.', $rows[$key]['date']);
|
|
|
}
|
|
|
@@ -141,16 +121,28 @@ class MachineProductionReport extends Api
|
|
|
ORDER BY t1.`sczl_gdbh` DESC
|
|
|
LIMIT 65';
|
|
|
$rows = db()->query($sql);
|
|
|
- $arr1 = db('设备_产量计酬')->cache(true,3600)
|
|
|
- ->field('sczl_gdbh,rtrim(sys_id) as sys_id')
|
|
|
- ->where('sczl_gdbh','>=',$rows[64]['sczl_gdbh'])
|
|
|
- ->select();
|
|
|
|
|
|
- $arr2 = db('db_sczl')->cache(true,3600)
|
|
|
- ->field('sczl_gdbh,rtrim(sys_id) as sys_id')
|
|
|
- ->where('sczl_gdbh','>=',$rows[64]['sczl_gdbh'])
|
|
|
- ->select();
|
|
|
- $arr = array_merge($arr1,$arr2);
|
|
|
+ $sql = 'SELECT sczl_gdbh,rtrim(sys_id) as sys_id
|
|
|
+ FROM (
|
|
|
+ SELECT sczl_gdbh,rtrim(sys_id) as sys_id
|
|
|
+ FROM db_sczl WHERE sczl_gdbh >= "'.$rows[count($rows)-1]['sczl_gdbh'].'"
|
|
|
+ UNION ALL
|
|
|
+ SELECT sczl_gdbh,rtrim(sys_id) as sys_id
|
|
|
+ FROM 设备_产量计酬 WHERE sczl_gdbh >= "'.$rows[count($rows)-1]['sczl_gdbh'].'"
|
|
|
+ ) AS t1
|
|
|
+ ORDER BY sys_id';
|
|
|
+ $arr = db()->query($sql);
|
|
|
+
|
|
|
+ // $arr1 = db('设备_产量计酬')->cache(true,3600)
|
|
|
+ // ->field('sczl_gdbh,rtrim(sys_id) as sys_id')
|
|
|
+ // ->where('sczl_gdbh','>=',$rows[count($rows)-1]['sczl_gdbh'])
|
|
|
+ // ->select();
|
|
|
+
|
|
|
+ // $arr2 = db('db_sczl')->cache(true,3600)
|
|
|
+ // ->field('sczl_gdbh,rtrim(sys_id) as sys_id')
|
|
|
+ // ->where('sczl_gdbh','>=',$rows[count($rows)-1]['sczl_gdbh'])
|
|
|
+ // ->select();
|
|
|
+ // $arr = array_merge($arr1,$arr2);
|
|
|
|
|
|
$brr = [];
|
|
|
foreach($arr as $k=>$v){
|
|
|
@@ -194,60 +186,46 @@ class MachineProductionReport extends Api
|
|
|
if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
|
|
|
if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
|
|
|
|
|
|
- if(strpos($req['date'],'-')){
|
|
|
- $where = ['a.sys_rq'=>['like','%'.$req['date'].'%']];
|
|
|
- $option = ['sys_rq'=>['like','%'.$req['date'].'%']];
|
|
|
- }else{
|
|
|
- $where = ['a.sczl_gdbh'=>$req['date']];
|
|
|
- $option = ['sczl_gdbh'=>$req['date']];
|
|
|
- }
|
|
|
- if (isset($req['sys_id']) && !empty($req['sys_id'])){
|
|
|
- $where['a.sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
|
|
|
- $option['sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
|
|
|
- }
|
|
|
- $total1 = db('设备_产量计酬')->where($option)->count();
|
|
|
- $total2 = db('db_sczl')->where($option)->count();
|
|
|
-
|
|
|
+ //获取total
|
|
|
+ $sql = 'SELECT sum(count) AS count FROM (
|
|
|
+ SELECT COUNT(*) AS count FROM `设备_产量计酬` ';
|
|
|
+ $sql .= strpos($req['date'],'-') ? 'WHERE `sys_rq` LIKE "%'.$req['date'].'%" ' : 'WHERE `sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
+ $sql .= isset($req['sys_id']) && !empty($req['sys_id']) ? 'AND `sys_id` LIKE "%'.$req['sys_id'].'%" ' : '';
|
|
|
+ $sql .= 'UNION ALL SELECT COUNT(*) AS count FROM `db_sczl`';
|
|
|
+ $sql .= strpos($req['date'],'-') ? 'WHERE `sys_rq` LIKE "%'.$req['date'].'%" ' : 'WHERE `sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
+ $sql .= isset($req['sys_id']) && !empty($req['sys_id']) ? 'AND `sys_id` LIKE "%'.$req['sys_id'].'%" ' : '';
|
|
|
+ $sql .= ') as t';
|
|
|
+ $total = db()->query($sql)[0]['count'];
|
|
|
+
|
|
|
+ //判断是否存在缓存
|
|
|
if (!cache('ReportGetList-'.$req['date'].'-'.$req['sys_id'].'-'.$req['page'].'-'.$req['limit'])){
|
|
|
- // a.sczl_来料少数,
|
|
|
- //a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
+ //UNION 查询两表数据
|
|
|
+ // db_sczl缺少数据 --> a.sczl_来料少数,
|
|
|
+ // 设备_产量计酬缺少数据 --> a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
$sql = 'SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
- d.日定额, d.千件工价, d.补产标准, a.sczl_来料少数, NULL AS 拆片联拼系数, NULL AS 拆片条小盒系数,
|
|
|
- rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "设备_产量计酬" AS table_type
|
|
|
- FROM `设备_产量计酬` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
- if (strpos($req['date'],'-')){
|
|
|
- $sql .= 'WHERE `a`.`sys_rq` LIKE "%'.$req['date'].'%" ';
|
|
|
- }else{
|
|
|
- $sql .= 'WHERE `a`.`sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
- }
|
|
|
-
|
|
|
- if (isset($req['sys_id']) && !empty($req['sys_id'])){
|
|
|
- $sql .= 'AND `a`.`sys_id` LIKE "%'.$req['sys_id'].'%" ';
|
|
|
- }
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, a.sczl_来料少数, NULL AS 拆片联拼系数, NULL AS 拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "设备_产量计酬" AS table_type
|
|
|
+ FROM `设备_产量计酬` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
+ $sql .= strpos($req['date'],'-') ? 'WHERE `a`.`sys_rq` LIKE "%'.$req['date'].'%" ' : 'WHERE `a`.`sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
+ $sql .= isset($req['sys_id']) && !empty($req['sys_id']) ? 'AND `a`.`sys_id` LIKE "%'.$req['sys_id'].'%" ' : '';
|
|
|
$sql .= 'UNION ALL
|
|
|
- SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
- d.日定额, d.千件工价, d.补产标准, NULL AS sczl_来料少数, a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
- rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "db_sczl" AS table_type
|
|
|
- FROM `db_sczl` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh`';
|
|
|
- if (strpos($req['date'],'-')){
|
|
|
- $sql .= 'WHERE `a`.`sys_rq` LIKE "%'.$req['date'].'%" ';
|
|
|
- }else{
|
|
|
- $sql .= 'WHERE `a`.`sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
- }
|
|
|
-
|
|
|
- if (isset($req['sys_id']) && !empty($req['sys_id'])){
|
|
|
- $sql .= 'AND `a`.`sys_id` LIKE "%'.$req['sys_id'].'%" ';
|
|
|
- }
|
|
|
+ SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, NULL AS sczl_来料少数, a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "db_sczl" AS table_type
|
|
|
+ FROM `db_sczl` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh`';
|
|
|
+ $sql .= strpos($req['date'],'-') ? 'WHERE `a`.`sys_rq` LIKE "%'.$req['date'].'%" ' : 'WHERE `a`.`sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
+ $sql .= isset($req['sys_id']) && !empty($req['sys_id']) ? 'AND `a`.`sys_id` LIKE "%'.$req['sys_id'].'%" ' : '';
|
|
|
$sql .= 'ORDER BY sys_id ASC, sczl_num ASC LIMIT '.($page-1)*$limit.','.$limit;
|
|
|
$rows = db()->query($sql);
|
|
|
|
|
|
- cache('ReportGetList',$rows,3600);
|
|
|
+ //设置缓存
|
|
|
+ cache('ReportGetList-'.$req['date'].'-'.$req['sys_id'].'-'.$req['page'].'-'.$req['limit'],$rows,3600);
|
|
|
}else{
|
|
|
$rows = cache('ReportGetList-'.$req['date'].'-'.$req['sys_id'].'-'.$req['page'].'-'.$req['limit']);
|
|
|
}
|
|
|
@@ -292,7 +270,7 @@ class MachineProductionReport extends Api
|
|
|
}
|
|
|
|
|
|
$data = [
|
|
|
- 'total' => $total1+$total2,
|
|
|
+ 'total' => $total,
|
|
|
'rows' => $rows,
|
|
|
];
|
|
|
$this->success('成功',$data);
|
|
|
@@ -320,27 +298,34 @@ class MachineProductionReport extends Api
|
|
|
if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
|
|
|
|
|
|
if (isset($req['gdbh']) && !empty($req['gdbh'])){
|
|
|
- $option = [
|
|
|
- 'sczl_gdbh'=>[ 'like', '%' . $req['gdbh'] . '%']
|
|
|
- ];
|
|
|
+ //获取total
|
|
|
+ $sql = 'SELECT sum(count) AS count FROM (
|
|
|
+ SELECT COUNT(*) AS count FROM `设备_产量计酬` ';
|
|
|
+ $sql .= 'WHERE `sczl_gdbh` LIKE "%'.$req['gdbh'].'%" ';
|
|
|
+ $sql .= 'UNION ALL SELECT COUNT(*) AS count FROM `db_sczl`';
|
|
|
+ $sql .= 'WHERE `sczl_gdbh` LIKE "%'.$req['gdbh'].'%" ';
|
|
|
+ $sql .= ') as t';
|
|
|
+ $total = db()->query($sql)[0]['count'];
|
|
|
+
|
|
|
+ //判断缓存是否存在
|
|
|
if (!cache('ReportGetList-'.$req['gdbh'].'-'.$req['page'].'-'.$req['limit'])){
|
|
|
//a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
$sql = 'SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
- d.日定额, d.千件工价, d.补产标准, a.sczl_来料少数, NULL AS 拆片联拼系数, NULL AS 拆片条小盒系数,
|
|
|
- rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "设备_产量计酬" AS table_type
|
|
|
- FROM `设备_产量计酬` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, a.sczl_来料少数, NULL AS 拆片联拼系数, NULL AS 拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "设备_产量计酬" AS table_type
|
|
|
+ FROM `设备_产量计酬` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
$sql .= 'WHERE `a`.`sczl_gdbh` LIKE "%'.$req['gdbh'].'%" ';
|
|
|
$sql .= 'UNION ALL
|
|
|
- SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
- d.日定额, d.千件工价, d.补产标准, NULL AS sczl_来料少数, a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
- rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "db_sczl" AS table_type
|
|
|
- FROM `db_sczl` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh`';
|
|
|
+ SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, NULL AS sczl_来料少数, a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "db_sczl" AS table_type
|
|
|
+ FROM `db_sczl` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh`';
|
|
|
$sql .= 'WHERE `a`.`sczl_gdbh` LIKE "%'.$req['gdbh'].'%" ';
|
|
|
$sql .= 'ORDER BY sys_id ASC, sczl_num ASC LIMIT '.($page-1)*$limit.','.$limit;
|
|
|
$rows = db()->query($sql);
|
|
|
@@ -349,38 +334,40 @@ class MachineProductionReport extends Api
|
|
|
}else{
|
|
|
$rows = cache('ReportGetList-'.$req['gdbh'].'-'.$req['page'].'-'.$req['limit']);
|
|
|
}
|
|
|
-
|
|
|
- $total1 = db('设备_产量计酬')->where($option)->count();
|
|
|
- $total2 = db('db_sczl')->where($option)->count();
|
|
|
}else{
|
|
|
if (isset($req['cpmc']) && !empty($req['cpmc'])){
|
|
|
- //查询工单表
|
|
|
+ //查询包括该名称的工单号
|
|
|
$gd = db('工单_基本资料')
|
|
|
->where('Gd_cpmc', 'LIKE', '%'.$req['cpmc'].'%')
|
|
|
->column('Gd_gdbh');
|
|
|
$in = "'" . implode("','", $gd) . "'";
|
|
|
|
|
|
- $option = [
|
|
|
- 'sczl_gdbh'=>['in', $gd]
|
|
|
- ];
|
|
|
+ //获取total
|
|
|
+ $sql = 'SELECT sum(count) AS count FROM (
|
|
|
+ SELECT COUNT(*) AS count FROM `设备_产量计酬` ';
|
|
|
+ $sql .= 'WHERE `sczl_gdbh` IN ('.$in.') ';
|
|
|
+ $sql .= 'UNION ALL SELECT COUNT(*) AS count FROM `db_sczl`';
|
|
|
+ $sql .= 'WHERE `sczl_gdbh` IN ('.$in.') ';
|
|
|
+ $sql .= ') as t';
|
|
|
+ $total = db()->query($sql)[0]['count'];
|
|
|
|
|
|
if (!cache('ReportGetList-'.$req['gdbh'].'-'.$req['cpmc'].'-'.$req['limit'])){
|
|
|
$sql = 'SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
- d.日定额, d.千件工价, d.补产标准, a.sczl_来料少数, NULL AS 拆片联拼系数, NULL AS 拆片条小盒系数,
|
|
|
- rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "设备_产量计酬" AS table_type
|
|
|
- FROM `设备_产量计酬` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, a.sczl_来料少数, NULL AS 拆片联拼系数, NULL AS 拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "设备_产量计酬" AS table_type
|
|
|
+ FROM `设备_产量计酬` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
$sql .= 'WHERE `a`.`sczl_gdbh` IN ('.$in.') ';
|
|
|
$sql .= 'UNION ALL
|
|
|
- SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
- d.日定额, d.千件工价, d.补产标准, NULL AS sczl_来料少数, a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
- rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "db_sczl" AS table_type
|
|
|
- FROM `db_sczl` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
+ SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, NULL AS sczl_来料少数, a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "db_sczl" AS table_type
|
|
|
+ FROM `db_sczl` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
$sql .= 'WHERE `a`.`sczl_gdbh` IN ('.$in.') ';
|
|
|
$sql .= 'ORDER BY sys_id ASC, sczl_num ASC LIMIT '.($page-1)*$limit.','.$limit;
|
|
|
$rows = db()->query($sql);
|
|
|
@@ -388,10 +375,6 @@ class MachineProductionReport extends Api
|
|
|
}else{
|
|
|
$rows = cache('ReportGetList-'.$req['cpmc'].'-'.$req['page'].'-'.$req['limit']);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- $total1 = db('设备_产量计酬')->where($option)->count();
|
|
|
- $total2 = db('db_sczl')->where($option)->count();
|
|
|
}else{
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
@@ -437,7 +420,7 @@ class MachineProductionReport extends Api
|
|
|
}
|
|
|
|
|
|
$data = [
|
|
|
- 'total' => $total1+$total2,
|
|
|
+ 'total' => $total,
|
|
|
'rows' => $rows,
|
|
|
];
|
|
|
$this->success('成功',$data);
|
|
|
@@ -809,47 +792,39 @@ class MachineProductionReport extends Api
|
|
|
if (!(isset($req['fields']) && count($req['fields'])!=0)){
|
|
|
$this->error('参数错误','fields',100);
|
|
|
}
|
|
|
- if(strpos($req['date'],'-')){
|
|
|
- $where = ['a.sys_rq'=>['like','%'.$req['date'].'%']];
|
|
|
- }else{
|
|
|
- $where = ['a.sczl_gdbh'=>$req['date']];
|
|
|
- }
|
|
|
- if (isset($req['sys_id']) && !empty($req['sys_id'])){
|
|
|
- $where['a.sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
|
|
|
- }
|
|
|
|
|
|
$arr = [
|
|
|
- 'sczl_gdbh' =>['工单编号'],
|
|
|
- 'Gd_cpmc' =>['产品名称'],
|
|
|
- 'jyno_gxmc' =>['印件及工序'],
|
|
|
- 'sczl_rq' =>['生产日期'],
|
|
|
- 'sczl_jtbh' =>['机台'],
|
|
|
- 'sczl_bzdh' =>['班组'],
|
|
|
- 'sczl_num' =>['流程单'],
|
|
|
- 'sczl_cl' =>['车头产量'],
|
|
|
- 'sczl_ms' =>['色度数'],
|
|
|
- 'sczl_zcfp' =>['制程废'],
|
|
|
- 'sczl_zccp' =>['次品'],
|
|
|
+ 'sczl_gdbh' =>['工单编号'],
|
|
|
+ 'Gd_cpmc' =>['产品名称'],
|
|
|
+ 'jyno_gxmc' =>['印件及工序'],
|
|
|
+ 'sczl_rq' =>['生产日期'],
|
|
|
+ 'sczl_jtbh' =>['机台'],
|
|
|
+ 'sczl_bzdh' =>['班组'],
|
|
|
+ 'sczl_num' =>['流程单'],
|
|
|
+ 'sczl_cl' =>['车头产量'],
|
|
|
+ 'sczl_ms' =>['色度数'],
|
|
|
+ 'sczl_zcfp' =>['制程废'],
|
|
|
+ 'sczl_zccp' =>['次品'],
|
|
|
'sczl_来料异常' =>['来料异常'],
|
|
|
'sczl_装版工时' =>['装版工时'],
|
|
|
'sczl_保养工时' =>['保养工时'],
|
|
|
'sczl_打样工时' =>['打样工时'],
|
|
|
- 'sczl_异常停机工时' =>['异常停机工时'],
|
|
|
- 'sczl_设备运行工时' =>['设备运行工时'],
|
|
|
- 'sczl_bh1' =>['组员编号1'],
|
|
|
- 'sczl_bh1_name' =>['组员姓名1'],
|
|
|
- 'sczl_bh2' =>['组员编号2'],
|
|
|
- 'sczl_bh2_name' =>['组员姓名2'],
|
|
|
- 'sczl_bh3' =>['组员编号3'],
|
|
|
- 'sczl_bh3_name' =>['组员姓名3'],
|
|
|
- 'sczl_bh4' =>['组员编号4'],
|
|
|
- 'sczl_bh4_name' =>['组员姓名4'],
|
|
|
- 'sczl_bh5' =>['组员编号5'],
|
|
|
- 'sczl_bh5_name' =>['组员姓名5'],
|
|
|
- 'sczl_bh6' =>['组员编号6'],
|
|
|
- 'sczl_bh6_name' =>['组员姓名6'],
|
|
|
- '拆片联拼系数' =>['拆片联拼系数'],
|
|
|
- '拆片条小盒系数' =>['拆片条小盒系数'],
|
|
|
+ 'sczl_异常停机工时' =>['异常停机工时'],
|
|
|
+ 'sczl_设备运行工时' =>['设备运行工时'],
|
|
|
+ 'sczl_bh1' =>['组员编号1'],
|
|
|
+ 'sczl_bh1_name' =>['组员姓名1'],
|
|
|
+ 'sczl_bh2' =>['组员编号2'],
|
|
|
+ 'sczl_bh2_name' =>['组员姓名2'],
|
|
|
+ 'sczl_bh3' =>['组员编号3'],
|
|
|
+ 'sczl_bh3_name' =>['组员姓名3'],
|
|
|
+ 'sczl_bh4' =>['组员编号4'],
|
|
|
+ 'sczl_bh4_name' =>['组员姓名4'],
|
|
|
+ 'sczl_bh5' =>['组员编号5'],
|
|
|
+ 'sczl_bh5_name' =>['组员姓名5'],
|
|
|
+ 'sczl_bh6' =>['组员编号6'],
|
|
|
+ 'sczl_bh6_name' =>['组员姓名6'],
|
|
|
+ '拆片联拼系数' =>['拆片联拼系数'],
|
|
|
+ '拆片条小盒系数' =>['拆片条小盒系数'],
|
|
|
'sczl_工价系数' =>['工价系数'],
|
|
|
'日定额' =>['日定额'],
|
|
|
'千件工价' =>['千件工价'],
|
|
|
@@ -862,38 +837,38 @@ class MachineProductionReport extends Api
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //拆片联拼系数 拆片条小盒系数
|
|
|
- $rows1 = db('设备_产量计酬')->alias('a')->cache(true)
|
|
|
- ->field('a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp, a.sczl_来料少数 as sczl_来料异常,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6,
|
|
|
- a.sczl_工价系数, d.日定额, d.千件工价, d.补产标准
|
|
|
- ')
|
|
|
- ->where($where)
|
|
|
- ->join(['dic_lzde'=>'d'],'a.sczl_dedh = d.sys_bh')
|
|
|
- ->order('a.sys_id asc, a.sczl_num asc')
|
|
|
- ->select();
|
|
|
-
|
|
|
- $rows2 = db('db_sczl')->alias('a')
|
|
|
- ->field('a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
- a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
- a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
- a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6,
|
|
|
- a.拆片联拼系数, a.拆片条小盒系数, a.sczl_工价系数, d.日定额, d.千件工价, d.补产标准
|
|
|
- ')
|
|
|
- ->where($where)
|
|
|
- ->join(['dic_lzde'=>'d'],'a.sczl_dedh=d.sys_bh')
|
|
|
- ->order('a.sys_id asc, a.sczl_num asc')
|
|
|
- ->select();
|
|
|
+ // UNION 查询两表数据
|
|
|
+ // db_sczl缺少数据 --> a.sczl_来料少数,
|
|
|
+ // 设备_产量计酬缺少数据 --> a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
+ $sql = 'SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_zcfp, a.sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, a.sczl_来料少数 as sczl_来料异常, NULL AS 拆片联拼系数, NULL AS 拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "设备_产量计酬" AS table_type
|
|
|
+ FROM `设备_产量计酬` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh` ';
|
|
|
+ $sql .= strpos($req['date'],'-') ? 'WHERE `a`.`sys_rq` LIKE "%'.$req['date'].'%" ' : 'WHERE `a`.`sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
+ $sql .= isset($req['sys_id']) && !empty($req['sys_id']) ? 'AND `a`.`sys_id` LIKE "%'.$req['sys_id'].'%" ' : '';
|
|
|
+ $sql .= 'UNION ALL
|
|
|
+ SELECT a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, a.sczl_type, LEFT(a.sczl_rq, 10) as sczl_rq, a.sczl_jtbh,
|
|
|
+ a.sczl_bzdh, a.sczl_num, a.sczl_cl, a.sczl_ms, a.sczl_fp as sczl_zcfp, a.sczl_cp as sczl_zccp,
|
|
|
+ a.sczl_装版工时, a.sczl_保养工时, a.sczl_打样工时, a.sczl_异常停机工时, a.sczl_设备运行工时,
|
|
|
+ a.sczl_bh1, a.sczl_bh2, a.sczl_bh3, a.sczl_bh4, a.sczl_bh5, a.sczl_bh6, a.sczl_工价系数,
|
|
|
+ d.日定额, d.千件工价, d.补产标准, NULL AS sczl_来料异常, a.拆片联拼系数, a.拆片条小盒系数,
|
|
|
+ rtrim(a.sys_id) as sys_id, a.sys_rq, a.mod_rq, a.UniqId, "db_sczl" AS table_type
|
|
|
+ FROM `db_sczl` `a` INNER JOIN `dic_lzde` `d` ON `a`.`sczl_dedh`=`d`.`sys_bh`';
|
|
|
+ $sql .= strpos($req['date'],'-') ? 'WHERE `a`.`sys_rq` LIKE "%'.$req['date'].'%" ' : 'WHERE `a`.`sczl_gdbh` = "'.$req['date'].'" ';
|
|
|
+ $sql .= isset($req['sys_id']) && !empty($req['sys_id']) ? 'AND `a`.`sys_id` LIKE "%'.$req['sys_id'].'%" ' : '';
|
|
|
+ $sql .= 'ORDER BY sys_id ASC, sczl_num ASC';
|
|
|
+ $rows = db()->query($sql);
|
|
|
|
|
|
$gd = db('工单_基本资料')->column('Gd_gdbh, 成品名称 as Gd_cpmc');
|
|
|
$rs = db('人事_基本资料')->column('员工编号, 员工姓名');
|
|
|
- foreach ($rows2 as $key=>$value){
|
|
|
+ foreach ($rows as $key=>$value){
|
|
|
$subArray = [];
|
|
|
foreach ($arr as $k=>$v){
|
|
|
- if($k=='sczl_来料异常'){
|
|
|
- $subArray[$k] = '';
|
|
|
+ if($k=='sczl_来料异常' || $k=='拆片联拼系数' || $k=='拆片条小盒系数'){
|
|
|
+ $subArray[$k] = $value[$k] == null ? '' : floatval($value[$k]);
|
|
|
}else if($k=='Gd_cpmc'){
|
|
|
if(trim($value['sczl_gdbh']) != '' && array_key_exists($value['sczl_gdbh'],$gd)){
|
|
|
$subArray[$k] = trim($gd[$value['sczl_gdbh']]);
|
|
|
@@ -914,37 +889,7 @@ class MachineProductionReport extends Api
|
|
|
}else if($k=='jyno_gxmc'){
|
|
|
$subArray['jyno_gxmc'] = sprintf("%02d", $value['sczl_yjno']).'-'.sprintf("%02d", $value['sczl_gxh']).'-->'.trim($value['sczl_type']);
|
|
|
}else{
|
|
|
- $subArray[$k] = $rows2[$key][$k];
|
|
|
- }
|
|
|
- }
|
|
|
- array_push($data,$subArray);
|
|
|
- }
|
|
|
- foreach ($rows1 as $key=>$value){
|
|
|
- $subArray = [];
|
|
|
- foreach ($arr as $k=>$v){
|
|
|
- if($k=='拆片联拼系数' || $k=='拆片条小盒系数'){
|
|
|
- $subArray[$k] = '';
|
|
|
- }else if($k=='Gd_cpmc'){
|
|
|
- if(trim($value['sczl_gdbh']) != '' && array_key_exists($value['sczl_gdbh'],$gd)){
|
|
|
- $subArray[$k] = trim($gd[$value['sczl_gdbh']]);
|
|
|
- }else{
|
|
|
- $subArray[$k] = '';
|
|
|
- }
|
|
|
- }else if($k=='sczl_bh1_name' || $k=='sczl_bh2_name' || $k=='sczl_bh3_name' || $k=='sczl_bh4_name' || $k=='sczl_bh5_name' || $k=='sczl_bh6_name'){
|
|
|
- if(trim($value[substr($k,0,8)]) != '' && array_key_exists($value[substr($k,0,8)],$rs)){
|
|
|
- $subArray[$k] = trim($rs[$value[substr($k,0,8)]]);
|
|
|
- }else{
|
|
|
- $subArray[$k] = '';
|
|
|
- }
|
|
|
- }else if($k=='sczl_num' || $k=='sczl_cl' || $k=='sczl_zcfp' || $k=='sczl_zccp' || $k=='sczl_来料异常' || $k=='sczl_装版工时' ||
|
|
|
- $k=='sczl_保养工时' || $k=='sczl_打样工时' || $k=='sczl_异常停机工时' || $k=='sczl_设备运行工时' || $k=='sczl_工价系数' || $k=='千件工价'){
|
|
|
- $subArray[$k] = $value[$k] == 0 ? '' : floatval($value[$k]);
|
|
|
- }else if($k=='sczl_ms'){
|
|
|
- $subArray[$k] = $value[$k] == 0 ? 1 : floatval($value[$k]);
|
|
|
- }else if($k=='jyno_gxmc'){
|
|
|
- $subArray['jyno_gxmc'] = sprintf("%02d", $value['sczl_yjno']).'-'.sprintf("%02d", $value['sczl_gxh']).'-->'.trim($value['sczl_type']);
|
|
|
- }else{
|
|
|
- $subArray[$k] = $rows1[$key][$k];
|
|
|
+ $subArray[$k] = $rows[$key][$k];
|
|
|
}
|
|
|
}
|
|
|
array_push($data,$subArray);
|