|
@@ -460,4 +460,71 @@ class Decision extends Api
|
|
|
->column('YEAR(STR_TO_DATE(sys_ny, "%Y%m")) as year');
|
|
->column('YEAR(STR_TO_DATE(sys_ny, "%Y%m")) as year');
|
|
|
$this->success('成功',$data);
|
|
$this->success('成功',$data);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ //数据透视表
|
|
|
|
|
+ public function PoductData()
|
|
|
|
|
+ {
|
|
|
|
|
+ if ($this->request->isGet() === false){
|
|
|
|
|
+ $this->error('请求错误');
|
|
|
|
|
+ }
|
|
|
|
|
+ $param = $this->request->param();
|
|
|
|
|
+ if (empty($param) || !isset($param['year'])){
|
|
|
|
|
+ $this->error('参数错误');
|
|
|
|
|
+ }
|
|
|
|
|
+ $processType = ['胶印','卷凹','圆烫','圆切','烫金','模切','丝印','喷码','单凹'];
|
|
|
|
|
+ $list = \db('工单_质量考核汇总')
|
|
|
|
|
+ ->alias('a')
|
|
|
|
|
+ ->field('
|
|
|
|
|
+ a.sczl_jtbh AS 机台编号,
|
|
|
|
|
+ a.Gy0_gdbh AS 工单编号,
|
|
|
|
|
+ a.印件及工序 AS 工序号,
|
|
|
|
|
+ a.产品名称 AS 印件名称,
|
|
|
|
|
+ a.工序 AS 工序,
|
|
|
|
|
+ a.工序名称,
|
|
|
|
|
+ a.联数,
|
|
|
|
|
+ a.班组产量,
|
|
|
|
|
+ a.班组制程废品,
|
|
|
|
|
+ a.班组质检废品,
|
|
|
|
|
+ a.sczl_bzdh AS 班组编号,
|
|
|
|
|
+ b.印刷方式,
|
|
|
|
|
+ b.版距,
|
|
|
|
|
+ DATE_FORMAT(a.入仓日期, \'%Y%m\') AS 完工年月
|
|
|
|
|
+ ')
|
|
|
|
|
+ ->join('工单_工艺资料 b', 'a.Gy0_gdbh = b.Gy0_gdbh AND a.印件及工序 = b.Gy0_yjno AND a.工序 = b.Gy0_gxh')
|
|
|
|
|
+ ->where('a.sys_ny', 'like', $param['year'] . '%')
|
|
|
|
|
+ ->where('a.工序名称','not like','%机检%')
|
|
|
|
|
+ ->where('a.工序名称','not like','%拆片%')
|
|
|
|
|
+ ->select();
|
|
|
|
|
+ if (empty($list)){
|
|
|
|
|
+ $this->error('未找到数据');
|
|
|
|
|
+ }
|
|
|
|
|
+// foreach ($list as $key=>$value){
|
|
|
|
|
+// foreach ($processType as $index=>$item){
|
|
|
|
|
+// if (strpos($value['工序名称'],$item) !== false){
|
|
|
|
|
+// $list[$key]['工序类型'] = ($index+1).'.'.$item;
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// if (!isset($list[$key]['工序类型'])){
|
|
|
|
|
+// if (strpos($value['工序名称'],'凹凸') !== false){
|
|
|
|
|
+// $list[$key]['工序类型'] = '6.模切';
|
|
|
|
|
+// }
|
|
|
|
|
+// if (strpos($value['工序名称'],'上光') !== false){
|
|
|
|
|
+// $list[$key]['工序类型'] = '1.胶印';
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+ // 按照“工序类型”的数字部分进行排序
|
|
|
|
|
+// usort($list, function($a, $b) {
|
|
|
|
|
+// // 提取工序类型的数字部分
|
|
|
|
|
+// preg_match('/^(\d+)\./', $a['工序类型'], $matchesA);
|
|
|
|
|
+// preg_match('/^(\d+)\./', $b['工序类型'], $matchesB);
|
|
|
|
|
+//
|
|
|
|
|
+// $numberA = isset($matchesA[1]) ? (int)$matchesA[1] : 0;
|
|
|
|
|
+// $numberB = isset($matchesB[1]) ? (int)$matchesB[1] : 0;
|
|
|
|
|
+//
|
|
|
|
|
+// return $numberA <=> $numberB; // 使用太空船运算符进行比较
|
|
|
|
|
+// });
|
|
|
|
|
+ $this->success('成功',$list);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|