|
|
@@ -271,7 +271,6 @@ class Inspect extends Api
|
|
|
$option['sys_id'] = ['LIKE','%'.$req['sys_id'].'%'];
|
|
|
}
|
|
|
|
|
|
- $where['a.sczl_单据类型'] = '初检单';
|
|
|
$field = 'a.sczl_gdbh,trim(a.sczl_yjgx) as sczl_yjgx,rtrim(a.sczl_gxmc) as sczl_gxmc,a.sczl_jtbh,a.sczl_bzdh,DATE(a.sczl_rq) as sczl_rq,a.sczl_cl,rtrim(a.sczl_单据类型) as sczl_单据类型,
|
|
|
a.sczl_设备运行工时,a.sczl_dedh,a.sczl_废品率系数,rtrim(a.sczl_检验类别) as sczl_检验类别,a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.qczl_NumDesc,rtrim(a.sys_id) as sys_id,
|
|
|
a.sys_rq,a.mod_rq,a.UniqId,b.千件工价,b.日定额,rtrim(c1.员工姓名) as sczl_bh1_name,rtrim(c2.员工姓名) as sczl_bh2_name,rtrim(c3.员工姓名) as sczl_bh3_name,
|
|
|
@@ -285,8 +284,7 @@ class Inspect extends Api
|
|
|
->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
|
|
|
->where($where)
|
|
|
->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
|
|
|
- ->field($field)->limit($limit)->page($pages)->order('a.sczl_rq asc,a.UniqId desc')->select();
|
|
|
- $option['sczl_单据类型'] = '初检单';
|
|
|
+ ->field($field)->limit($limit)->page($pages)->order('a.UniqId desc')->select();
|
|
|
$count = Db::name('db_机器检验')->where($option)->count();
|
|
|
|
|
|
$data['data'] = $list;
|
|
|
@@ -705,7 +703,9 @@ class Inspect extends Api
|
|
|
->find();
|
|
|
$rows = db()->table('dic_lzde')
|
|
|
->field('sys_bh, rtrim(sys_mc) as sys_mc')
|
|
|
- ->where('Parent',$row['Key_'])
|
|
|
+// ->where('Parent',$row['Key_'])
|
|
|
+ ->where('sys_bh','like',$row['sys_bh'].'%')
|
|
|
+ ->where('sys_bh','<>',$row['sys_bh'])
|
|
|
->select();
|
|
|
$row['bh_mc'] = $rows;
|
|
|
|
|
|
@@ -734,7 +734,9 @@ class Inspect extends Api
|
|
|
->find();
|
|
|
$rows = db()->table('dic_lzde')
|
|
|
->field('sys_bh, rtrim(sys_mc) as sys_mc')
|
|
|
- ->where('Parent',$row['Key_'])
|
|
|
+// ->where('Parent',$row['Key_'])
|
|
|
+ ->where('sys_bh','like',$row['sys_bh'].'%')
|
|
|
+ ->where('sys_bh','<>',$row['sys_bh'])
|
|
|
->select();
|
|
|
$row['bh_mc'] = $rows;
|
|
|
|
|
|
@@ -826,7 +828,8 @@ class Inspect extends Api
|
|
|
->find();
|
|
|
$rows = db()->table('dic_lzde')->alias('d')
|
|
|
->field('rtrim(s.设备编号) as jtbh, rtrim(s.设备名称) as jtmc')
|
|
|
- ->where('Parent',$row['Key_'])
|
|
|
+// ->where('Parent',$row['Key_'])
|
|
|
+ ->where('d.适用机型','like','JP%')
|
|
|
->join(['设备_基本资料'=>'s'],'d.适用机型=s.设备编号')
|
|
|
->select();
|
|
|
|
|
|
@@ -1114,4 +1117,321 @@ class Inspect extends Api
|
|
|
$this->success('成功');
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 工序汇总导出
|
|
|
+ * @ApiMethod (GET)
|
|
|
+ * @param string date
|
|
|
+ * @param string sys_id
|
|
|
+ * @param array fields
|
|
|
+ */
|
|
|
+ public function export(){
|
|
|
+ if(!$this->request->isGet()){
|
|
|
+ $this->error('请求方式错误');
|
|
|
+ }
|
|
|
+ $req = $this->request->param();
|
|
|
+
|
|
|
+ $where = [];
|
|
|
+ if (!isset($req['date']) || empty($req['date'])) $this->error('参数缺失');
|
|
|
+
|
|
|
+ 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'].'%'];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $field = '';
|
|
|
+ $arr = [
|
|
|
+ 'sczl_gdyj' =>['工单印件','CONCAT(a.sczl_gdbh, "--", rtrim(d.yj_yjmc)) as sczl_gdyj'],
|
|
|
+ 'sczl_yjgx' =>['印件工序','CONCAT(rtrim(a.sczl_yjgx), " -", rtrim(a.sczl_gxmc)) as sczl_yjgx'],
|
|
|
+ 'sczl_rq' =>['日期','LEFT(a.sczl_rq, 10) as sczl_rq'],
|
|
|
+ 'sczl_cl' =>['计件产量','a.sczl_cl'],
|
|
|
+ '千件工价' =>['千件工价','b.千件工价'],
|
|
|
+ 'sczl_检验类别' =>['检验类别','rtrim(a.sczl_检验类别) as sczl_检验类别'],
|
|
|
+ 'sczl_废品率系数' =>['废品率系数','a.sczl_废品率系数'],
|
|
|
+ '日定额' =>['日定额','b.日定额'],
|
|
|
+ 'sczl_bh0' =>['组长编号','a.sczl_bh0'],
|
|
|
+ 'name' =>['组长姓名','rtrim(c.员工姓名) as name'],
|
|
|
+ 'qczl_NumDesc' =>['流程单备注','a.qczl_NumDesc'],
|
|
|
+ ];
|
|
|
+ $data[0] = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if ($k==0){
|
|
|
+ $field .= $arr[$v][1];
|
|
|
+ }else{
|
|
|
+ $field .= ','.$arr[$v][1];
|
|
|
+ }
|
|
|
+ array_push($data[0],$arr[$v][0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $rows = Db::name('db_手工检验')->alias('a')
|
|
|
+ ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
|
|
|
+ ->join('人事_基本资料 c','a.sczl_bh0 = c.员工编号','left')
|
|
|
+ ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
|
|
|
+ ->where($where)
|
|
|
+ ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
|
|
|
+ ->field($field)->order('a.sczl_rq,a.UniqId asc')->select();
|
|
|
+
|
|
|
+ foreach ($rows as $key=>$value) {
|
|
|
+ if (isset($value['sczl_cl'])) $value['sczl_cl'] = floatval($value['sczl_cl']);
|
|
|
+ if (isset($value['千件工价'])) $value['千件工价'] = floatval($value['千件工价']);
|
|
|
+ $subArray = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if($value[$v]){
|
|
|
+ array_push($subArray,$value[$v]);
|
|
|
+ }else{
|
|
|
+ array_push($subArray,'');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ array_push($data,$subArray);
|
|
|
+ }
|
|
|
+ $this->success('成功',['file_name'=>$req['file_name'],'data'=>$data]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 工序汇总导出
|
|
|
+ * @ApiMethod (GET)
|
|
|
+ * @param string file_name
|
|
|
+ * @param string date
|
|
|
+ * @param string sys_id
|
|
|
+ * @param array fields
|
|
|
+ */
|
|
|
+ public function machineExport(){
|
|
|
+ if(!$this->request->isGet()){
|
|
|
+ $this->error('请求方式错误');
|
|
|
+ }
|
|
|
+ $req = $this->request->param();
|
|
|
+
|
|
|
+ if (!isset($req['date']) || empty($req['date'])) $this->error('参数缺失');
|
|
|
+
|
|
|
+ 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'].'%'];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $field = '';
|
|
|
+ $arr = [
|
|
|
+ 'sczl_单据类型' =>['分类','rtrim(a.sczl_单据类型) as sczl_单据类型'],
|
|
|
+ 'sczl_gdyj' =>['工单印件','CONCAT(a.sczl_gdbh, "--", rtrim(d.yj_yjmc)) as sczl_gdyj'],
|
|
|
+ 'sczl_yjgx' =>['印件工序','CONCAT(rtrim(a.sczl_yjgx), " -", rtrim(a.sczl_gxmc)) as sczl_yjgx'],
|
|
|
+ 'sczl_jtbh' =>['机台编号','a.sczl_jtbh'],
|
|
|
+ 'sczl_rq' =>['日期','LEFT(a.sczl_rq, 10) as sczl_rq'],
|
|
|
+ 'sczl_cl' =>['计件产量','a.sczl_cl'],
|
|
|
+ 'sczl_检验类别' =>['检验类别','rtrim(a.sczl_检验类别) as sczl_检验类别'],
|
|
|
+ 'sczl_废品率系数' =>['废品率系数','a.sczl_废品率系数'],
|
|
|
+ '日定额' =>['日定额','b.日定额'],
|
|
|
+ 'sczl_bh1' =>['员工姓名1','rtrim(c1.员工姓名) as sczl_bh1'],
|
|
|
+ 'sczl_bh2' =>['员工姓名2','rtrim(c2.员工姓名) as sczl_bh2'],
|
|
|
+ 'sczl_bh3' =>['员工姓名3','rtrim(c3.员工姓名) as sczl_bh3'],
|
|
|
+ 'sczl_bh4' =>['员工姓名4','rtrim(c4.员工姓名) as sczl_bh4'],
|
|
|
+ 'sczl_bzdh' =>['班组代号','a.sczl_bzdh'],
|
|
|
+ '千件工价' =>['千件工价','b.千件工价'],
|
|
|
+ 'sczl_设备运行工时' =>['通电工时','a.sczl_设备运行工时'],
|
|
|
+ 'qczl_NumDesc' =>['流程单备注','a.qczl_NumDesc'],
|
|
|
+ ];
|
|
|
+ $data[0] = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if ($k==0){
|
|
|
+ $field .= $arr[$v][1];
|
|
|
+ }else{
|
|
|
+ $field .= ','.$arr[$v][1];
|
|
|
+ }
|
|
|
+ array_push($data[0],$arr[$v][0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $rows = Db::name('db_机器检验')->alias('a')
|
|
|
+ ->join('dic_lzde b','a.sczl_dedh = b.sys_bh','left')
|
|
|
+ ->join('人事_基本资料 c1','a.sczl_bh1 = c1.员工编号','left')
|
|
|
+ ->join('人事_基本资料 c2','a.sczl_bh2 = c2.员工编号','left')
|
|
|
+ ->join('人事_基本资料 c3','a.sczl_bh3 = c3.员工编号','left')
|
|
|
+ ->join('人事_基本资料 c4','a.sczl_bh4 = c4.员工编号','left')
|
|
|
+ ->join('工单_印件资料 d','a.sczl_gdbh = d.Yj_Gdbh','left')
|
|
|
+ ->where($where)
|
|
|
+ ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
|
|
|
+ ->field($field)->order('a.UniqId desc')->select();
|
|
|
+
|
|
|
+ foreach ($rows as $key=>$value) {
|
|
|
+ if (isset($value['sczl_cl'])) $value['sczl_cl'] = floatval($value['sczl_cl']);
|
|
|
+ if (isset($value['千件工价'])) $value['千件工价'] = floatval($value['千件工价']);
|
|
|
+ if (isset($value['sczl_设备运行工时'])) $value['sczl_设备运行工时'] = floatval($value['sczl_设备运行工时']);
|
|
|
+ $subArray = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if($value[$v]){
|
|
|
+ array_push($subArray,$value[$v]);
|
|
|
+ }else{
|
|
|
+ array_push($subArray,'');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ array_push($data,$subArray);
|
|
|
+ }
|
|
|
+ $this->success('成功',['file_name'=>$req['file_name'],'data'=>$data]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 月度汇总导出
|
|
|
+ * @ApiMethod (GET)
|
|
|
+ * @param string month
|
|
|
+ * @param string file_name
|
|
|
+ * @param array fields
|
|
|
+ */
|
|
|
+ public function monthExport(){
|
|
|
+ if(!$this->request->isGet()){
|
|
|
+ $this->error('请求方式错误');
|
|
|
+ }
|
|
|
+ $req = $this->request->param();
|
|
|
+
|
|
|
+ if (isset($req['date']) && !empty($req['date'])){
|
|
|
+ $where = ['a.sczl_rq'=>['like','%'.$req['date'].'%']];
|
|
|
+ }else{
|
|
|
+ $this->error('参数缺失');
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!(isset($req['fields']) && count($req['fields'])!=0)){
|
|
|
+ $this->error('参数错误','fields',100);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $field = '';
|
|
|
+ $arr = [
|
|
|
+ 'sczl_rq' =>['日期','LEFT(a.sczl_rq, 10) as sczl_rq'],
|
|
|
+ 'sczl_gdbh' =>['工单编号','a.sczl_gdbh'],
|
|
|
+ 'sczl_gdyj' =>['工单印件','rtrim(d.yj_yjmc) as sczl_gdyj'],
|
|
|
+ 'sczl_yjgx' =>['印件工序','CONCAT(rtrim(a.sczl_yjgx), " -", rtrim(a.sczl_gxmc)) as sczl_yjgx'],
|
|
|
+ 'sczl_cl' =>['计件产量','sum(a.sczl_cl) as sczl_cl'],
|
|
|
+ ];
|
|
|
+ $data[0] = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if ($k==0){
|
|
|
+ $field .= $arr[$v][1];
|
|
|
+ }else{
|
|
|
+ $field .= ','.$arr[$v][1];
|
|
|
+ }
|
|
|
+ array_push($data[0],$arr[$v][0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $rows = db()->table('db_手工检验')->alias('a')
|
|
|
+ ->field($field)
|
|
|
+ ->where($where)
|
|
|
+ ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
|
|
|
+ ->join('工单_印件资料 d', 'a.sczl_gdbh = d.Yj_Gdbh', 'left')
|
|
|
+ ->group('a.sczl_gdbh, d.yj_yjmc, a.sczl_yjgx')
|
|
|
+ ->order('a.sczl_gdbh asc')
|
|
|
+ ->select();
|
|
|
+
|
|
|
+ foreach ($rows as $key=>$value) {
|
|
|
+ if (isset($value['sczl_cl'])) $value['sczl_cl'] = floatval($value['sczl_cl']);
|
|
|
+ $subArray = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if($value[$v]){
|
|
|
+ array_push($subArray,$value[$v]);
|
|
|
+ }else{
|
|
|
+ array_push($subArray,'');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ array_push($data,$subArray);
|
|
|
+ }
|
|
|
+ $this->success('成功',['file_name'=>$req['file_name'],'data'=>$data]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 手检流程单统计导出
|
|
|
+ * @ApiMethod (GET)
|
|
|
+ * @param string start_time
|
|
|
+ * @param string end_time
|
|
|
+ * @param string file_name
|
|
|
+ * @param array fields
|
|
|
+ */
|
|
|
+ public function handInspectExport(){
|
|
|
+ if(!$this->request->isGet()){
|
|
|
+ $this->error('请求方式错误');
|
|
|
+ }
|
|
|
+ $req = $this->request->param();
|
|
|
+
|
|
|
+ $arr = [
|
|
|
+ 'start_time', 'end_time', 'file_name'
|
|
|
+ ];
|
|
|
+ foreach ($arr as $key => $value){
|
|
|
+ if (!isset($req[$value])){
|
|
|
+ $this->error('参数错误',$value,$key+1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!(isset($req['fields']) && count($req['fields'])!=0)){
|
|
|
+ $this->error('参数错误','fields',100);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $field = '';
|
|
|
+ $arr = [
|
|
|
+ 'sczl_gdbh' =>['工单编号','a.sczl_gdbh'],
|
|
|
+ 'sczl_yjgx' =>['印件工序','CONCAT(rtrim(a.sczl_yjgx), " -", rtrim(a.sczl_gxmc)) as sczl_yjgx'],
|
|
|
+ 'sczl_rq' =>['日期','LEFT(a.sczl_rq, 10) as sczl_rq'],
|
|
|
+
|
|
|
+ 'sczl_gdyj' =>['工单印件','rtrim(d.yj_yjmc) as sczl_gdyj'],
|
|
|
+ 'sczl_cl' =>['计件产量','sum(a.sczl_cl) as sczl_cl'],
|
|
|
+ ];
|
|
|
+ $data[0] = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if ($k==0){
|
|
|
+ $field .= $arr[$v][1];
|
|
|
+ }else{
|
|
|
+ $field .= ','.$arr[$v][1];
|
|
|
+ }
|
|
|
+ array_push($data[0],$arr[$v][0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $rows = db()->table('db_手工检验')->alias('a')
|
|
|
+ ->field($field)
|
|
|
+ ->where('a.sczl_rq',['>=',$req['start_time']],['<=',$req['end_time']],'and')
|
|
|
+ ->where('SUBSTR(a.sczl_yjgx,1,2) = d.yj_yjno')
|
|
|
+ ->join('工单_印件资料 d', 'a.sczl_gdbh = d.Yj_Gdbh', 'left')
|
|
|
+ ->group('a.sczl_gdbh, d.yj_yjmc, a.sczl_yjgx')
|
|
|
+ ->order('a.sczl_gdbh asc')
|
|
|
+ ->select();
|
|
|
+
|
|
|
+ foreach ($rows as $key=>$value) {
|
|
|
+ if (isset($value['sczl_cl'])) $value['sczl_cl'] = floatval($value['sczl_cl']);
|
|
|
+ $subArray = [];
|
|
|
+ foreach ($req['fields'] as $k=>$v){
|
|
|
+ if(array_key_exists($v,$arr)){
|
|
|
+ if($value[$v]){
|
|
|
+ array_push($subArray,$value[$v]);
|
|
|
+ }else{
|
|
|
+ array_push($subArray,'');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ array_push($data,$subArray);
|
|
|
+ }
|
|
|
+ $this->success('成功',['file_name'=>$req['file_name'],'data'=>$data]);
|
|
|
+ }
|
|
|
}
|