|
|
@@ -133,7 +133,6 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
$where['a.jjcp_gdbh|a.成品名称|a.jjcp_cpmc'] = array('like','%'.$params['search'].'%');
|
|
|
}
|
|
|
-// $where['b.行号' ] = 1;
|
|
|
$where['a.jjcp_smb' ] = array('IN', array('末 板', '末板'));
|
|
|
$limit = $params['limit'];
|
|
|
if (empty($limit)){
|
|
|
@@ -143,30 +142,10 @@ class OrderSuperLoss extends Api
|
|
|
if (empty($pages)){
|
|
|
$pages = 1;
|
|
|
}
|
|
|
-// $str = '';
|
|
|
-// if (empty($params['search'])){
|
|
|
-// $str = '/'.$date . '/' . $params['code'].'/'.$pages;
|
|
|
-// }
|
|
|
-// $is_have_cache = Cache::get('OrderSuperLoss/getList'.$str);
|
|
|
$is_have_cache = false;
|
|
|
$num = config('product_code_digit');
|
|
|
if ($is_have_cache === false){
|
|
|
if (!empty($params['code'])){
|
|
|
-// $data = db('成品入仓')->alias('a')
|
|
|
-// ->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh','left')
|
|
|
-// ->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh AND a.jjcp_cpdh = c.yj_Yjdh','left')
|
|
|
-// ->join('物料_收发记录 d',' a.jjcp_gdbh = d.st_gdbh AND d.cpdh = a.jjcp_cpdh')
|
|
|
-// ->where($where)
|
|
|
-// ->where('d.仓库编号','Y101')
|
|
|
-// ->whereRaw('LEFT(a.成品编码, ' . $num . ') = "' . $params['code'] . '"')
|
|
|
-// ->field('DISTINCT(a.jjcp_gdbh) as Gd_gdbh,a.jjcp_yjno,rtrim(a.jjcp_cpdh) as 成品编码,rtrim(a.jjcp_cpmc) as 成品名称,a.jjcp_sj,a.jjcp_smb,b.计量单位,
|
|
|
-// b.Gd_khdh, SUM(d.st_sl) as 实际投料 ,c.yj_Yjno, c.yj_ls,c.yj_ks,c.质量考核')
|
|
|
-// ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_yjno,d.st_rq desc')
|
|
|
-// ->group('a.jjcp_gdbh,a.jjcp_yjno')
|
|
|
-// ->page($pages)
|
|
|
-// ->limit($limit)
|
|
|
-// ->select();
|
|
|
-
|
|
|
$sql= db('物料_收发记录')
|
|
|
->alias('d')
|
|
|
->where('d.仓库编号', 'Y101')
|
|
|
@@ -197,20 +176,6 @@ class OrderSuperLoss extends Api
|
|
|
->whereRaw('LEFT(a.成品编码, CASE WHEN a.成品编码 REGEXP "[a-zA-Z]" THEN 5 ELSE 4 END) = ?', [$params['code']])
|
|
|
->count();
|
|
|
}else{
|
|
|
-// $data = db('成品入仓')->alias('a')
|
|
|
-// ->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh','left')
|
|
|
-// ->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh AND a.jjcp_cpdh = c.yj_Yjdh','left')
|
|
|
-// ->join('物料_收发记录 d',' a.jjcp_gdbh = d.st_gdbh AND d.cpdh = a.jjcp_cpdh')
|
|
|
-// ->where($where)
|
|
|
-// ->where('d.仓库编号','Y101')
|
|
|
-// ->field('DISTINCT(a.jjcp_gdbh) as Gd_gdbh,a.jjcp_yjno,rtrim(a.jjcp_cpdh) as 成品编码,rtrim(a.jjcp_cpmc) as 成品名称,a.jjcp_sj,a.jjcp_smb,b.计量单位,
|
|
|
-// b.Gd_khdh, SUM(d.st_sl) as 实际投料,c.yj_Yjno, c.yj_ls,c.yj_ks,c.质量考核')
|
|
|
-// ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_yjno,d.st_rq desc')
|
|
|
-// ->group('a.jjcp_gdbh,a.jjcp_yjno')
|
|
|
-// ->page($pages)
|
|
|
-// ->limit($limit)
|
|
|
-// ->select();
|
|
|
-
|
|
|
$sql= db('物料_收发记录')
|
|
|
->alias('d')
|
|
|
->where('d.仓库编号', 'Y101')
|
|
|
@@ -218,7 +183,6 @@ class OrderSuperLoss extends Api
|
|
|
->group('d.st_gdbh, d.cpdh')
|
|
|
->field('d.st_gdbh, d.cpdh,d.st_rq, SUM(d.st_sl) as 实际投料,d.仓库编号')
|
|
|
->buildSql();
|
|
|
-
|
|
|
$data = db('成品入仓')->alias('a')
|
|
|
->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh', 'left')
|
|
|
->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh AND a.jjcp_cpdh = c.yj_Yjdh', 'left')
|
|
|
@@ -231,20 +195,12 @@ class OrderSuperLoss extends Api
|
|
|
->page($pages)
|
|
|
->limit($limit)
|
|
|
->select();
|
|
|
-
|
|
|
-// echo "<pre>";
|
|
|
-// print_r($data);
|
|
|
-// echo "<pre>";
|
|
|
-
|
|
|
$total = db('成品入仓')->alias('a')
|
|
|
->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh','left')
|
|
|
->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh','left')
|
|
|
->where($where)
|
|
|
->count();
|
|
|
}
|
|
|
-// echo "<pre>";
|
|
|
-// print_r($data);
|
|
|
-// echo "<pre>";
|
|
|
foreach ($data as $key => $value){
|
|
|
//查出成品数量及日期
|
|
|
$cp_sql = "SELECT SUM(jjcp_sl) as cp_sl,MAX(jjcp_sj) as jjcp_sj FROM `成品入仓` WHERE jjcp_gdbh = '{$value['Gd_gdbh']}' AND jjcp_yjno = '{$value['jjcp_yjno']}' GROUP BY jjcp_gdbh,jjcp_yjno";
|
|
|
@@ -257,12 +213,6 @@ class OrderSuperLoss extends Api
|
|
|
UNION SELECT sczl_gxh FROM db_sczl WHERE sczl_gdbh = '{$value['Gd_gdbh']}' AND sczl_yjno = '{$value['jjcp_yjno']}') AS combined_result";
|
|
|
$gxh_arr = Db::query($gxh_sql);
|
|
|
$gxh_values = array_column($gxh_arr, 'sczl_gxh');
|
|
|
-// $gy_data =db('工单_工艺资料')
|
|
|
-// ->where('Gy0_gdbh',$value['Gd_gdbh'])
|
|
|
-// ->where('Gy0_yjno',$value['jjcp_yjno'])
|
|
|
-// ->where('Gy0_gxh','in',$gxh_values)
|
|
|
-// ->field('Gy0_gxmc,Gy0_计划接货数,Gy0_计划损耗')
|
|
|
-// ->select();
|
|
|
$gy_data =db('工单_工艺资料')
|
|
|
->alias('a')
|
|
|
->field([
|
|
|
@@ -289,23 +239,17 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
$arr[$k] = floor($rate * 10000) /10000;
|
|
|
$plan_loss[$k] = $v['Gy0_计划损耗'];
|
|
|
-
|
|
|
-// if (strpos($v['Gy0_gxmc'],'机检') !== false){
|
|
|
-// $machine_plan_loss = $v['Gy0_计划损耗'];
|
|
|
-// }
|
|
|
}
|
|
|
-
|
|
|
if ((int)$value['yj_ls'] > 0){
|
|
|
$value['实际投料'] = number_format(((int)$value['实际投料']/10000)*$value['yj_ls']*$value['yj_ks'],4);
|
|
|
}else{
|
|
|
$value['实际投料'] = number_format($value['实际投料']/10000,4);
|
|
|
}
|
|
|
$data[$key]['实际投料'] = $value['实际投料'];
|
|
|
-
|
|
|
if ($value['实际投料'] >0 ){
|
|
|
$target_rate = (1-array_sum($arr))*100;
|
|
|
$data[$key]['target_rate'] =$target_rate.'%'; //目标合格率
|
|
|
- $real_rate = $cp_data[0]['cp_sl'] / ((float)$value['实际投料'] * 10000) *100;
|
|
|
+ $real_rate = $cp_data[0]['cp_sl'] / ((float)str_replace(',', '', $value['实际投料']) * 10000) *100;
|
|
|
$data[$key]['real_rate'] = number_format($real_rate,2) . '%';//实际合格率
|
|
|
}else{
|
|
|
$data[$key]['target_rate'] = ''; //目标合格率
|
|
|
@@ -321,7 +265,7 @@ class OrderSuperLoss extends Api
|
|
|
$wasteTotal = 0;
|
|
|
}
|
|
|
$data[$key]['废品合计'] = $wasteTotal + $data[$key]['zcfp'];//废品合计
|
|
|
- $data[$key]['工单无形损'] = (int)((float)$value['实际投料'] *10000) - $cp_data[0]['cp_sl'] - $data[$key]['废品合计'];//工单无形损
|
|
|
+ $data[$key]['工单无形损'] = (int)((float)str_replace(',', '', $value['实际投料']) *10000) - $cp_data[0]['cp_sl'] - $data[$key]['废品合计'];//工单无形损
|
|
|
$out_sql = "SELECT fp_sl1,fp_sl2,fp_sl3,fp_sl4,fp_sl5,fp_sl6,fp_sl7,fp_sl8,fp_sl9,fp_sl10,fp_sl11,fp_sl12,fp_sl13,
|
|
|
fp_lb1,fp_lb2,fp_lb3,fp_lb4,fp_lb5,fp_lb6,fp_lb7,fp_lb8,fp_lb9,fp_lb10,fp_lb11,fp_lb12,fp_lb13,
|
|
|
fp_bh1,fp_bh2,fp_bh3,fp_bh4,fp_bh5,fp_bh6,fp_bh7,fp_bh8,fp_bh9,fp_bh10,fp_bh11,fp_bh12,fp_bh13,
|