|
|
@@ -358,10 +358,11 @@ class OrderSuperLoss extends Api
|
|
|
$data[$key]['reward_rate'] = '1';
|
|
|
if ($data[$key]['质量考核'] === 0){
|
|
|
$data[$key]['reward_money'] = number_format($reward,2);
|
|
|
+ $data[$key]['考核'] = '是';
|
|
|
}else{
|
|
|
$data[$key]['reward_money'] = '';
|
|
|
+ $data[$key]['考核'] = '否';
|
|
|
}
|
|
|
-// $data[$key]['reward_money'] = '';
|
|
|
$data[$key]['材料废'] = array_sum($material); //材料废
|
|
|
$data[$key]['零头处理'] = array_sum($change); //零头处理
|
|
|
$data[$key]['外发废'] = array_sum($list);//外发废
|
|
|
@@ -1151,14 +1152,16 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
$date = date('Ym',strtotime($params['date']));
|
|
|
$list = \db('工单_质量考核汇总')
|
|
|
- ->where('sys_ny',$date)
|
|
|
+ ->alias('a')
|
|
|
+ ->join('工单_印件资料 b','a.Gy0_gdbh = b.Yj_Gdbh AND a.印件及工序 = b.yj_Yjno')
|
|
|
+ ->where('a.sys_ny',$date)
|
|
|
+ ->where('b.质量考核',0)
|
|
|
->select();
|
|
|
$data = [];
|
|
|
foreach ($list as $item){
|
|
|
for ($i = 1; $i <9; $i++){
|
|
|
- if ($item['sczl_bh'.$i] !== '' && $item['sczl_bh'.$i] !== null){
|
|
|
+ if ($item['sczl_bh'.$i] !== '' && $item['sczl_bh'.$i] !== null && $item['sczl_bh'.$i] !== '0000'){
|
|
|
$item['sczl_rate'.$i] = 1;
|
|
|
-
|
|
|
$res = [
|
|
|
'bh' => $item['sczl_bh'.$i],
|
|
|
'xm' => $item['Xm'.$i],
|
|
|
@@ -1170,16 +1173,35 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
}
|
|
|
$result = [];
|
|
|
- foreach ($data as $key=>$value){
|
|
|
- if (!isset($result[$value['cj']])){
|
|
|
- $result[$value['cj']] = [];
|
|
|
+ foreach ($data as $item) {
|
|
|
+ $cj = $item['cj'];
|
|
|
+ $bh = $item['bh'];
|
|
|
+ $je = $item['je'];
|
|
|
+
|
|
|
+ // 如果 cj 不存在于结果数组中,则初始化
|
|
|
+ if (!isset($result[$cj])) {
|
|
|
+ $result[$cj] = array();
|
|
|
}
|
|
|
- foreach ($data as $k=>$v){
|
|
|
- if ($value['bh'] === $v['bh']){
|
|
|
- $value['je'] += $v['je'];
|
|
|
+
|
|
|
+ // 检查 bh 是否已经存在于当前 cj 的子数组中
|
|
|
+ $found = false;
|
|
|
+ foreach ($result[$cj] as &$subItem) {
|
|
|
+ if ($subItem['bh'] === $bh) {
|
|
|
+ $subItem['je'] += $je; // 累加 je
|
|
|
+ $found = true;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- array_push($result[$value['cj']],$value);
|
|
|
+
|
|
|
+ // 如果 bh 不存在,则添加新的子数组
|
|
|
+ if (!$found) {
|
|
|
+ $result[$cj][] = array(
|
|
|
+ 'bh' => $bh,
|
|
|
+ 'xm' => $item['xm'],
|
|
|
+ 'je' => number_format($je, 2), // 保留两位小数
|
|
|
+ 'cj' => $cj
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
$this->success('成功',$result);
|
|
|
}
|
|
|
@@ -1497,6 +1519,7 @@ class OrderSuperLoss extends Api
|
|
|
'sys_ny' => $value['sys_ny'],
|
|
|
'Gy0_gdbh' => $value['Gy0_gdbh'],
|
|
|
'印件及工序' => $value['Gy0_yjno'],
|
|
|
+ '工序' => $value['Gy0_gxh'],
|
|
|
'工序名称' => $value['sczl_gxmc'],
|
|
|
'联数' => $value['Gy0_ls'],
|
|
|
'基础损耗' => $value['Gy0_Rate0'] * $value['Gy0_ls'],
|
|
|
@@ -1570,6 +1593,42 @@ class OrderSuperLoss extends Api
|
|
|
return $result;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ //按月循环计算超节损,存入数据库
|
|
|
+// public function ComputeOrderLoss()
|
|
|
+// {
|
|
|
+// if ($this->request->isGet() === false){
|
|
|
+// $this->error('请求错误');
|
|
|
+// }
|
|
|
+// $param = $this->request->param();
|
|
|
+// if (empty($param)){
|
|
|
+// $this->error('参数错误');
|
|
|
+// }
|
|
|
+// $where = [
|
|
|
+// 'a.jjcp_sj'=>['like',$param['mouth'].'%'],
|
|
|
+// 'a.jjcp_smb' => ['like','末'.'%'],
|
|
|
+// 'b.质量考核' => 0,
|
|
|
+// ];
|
|
|
+// $list = \db('成品入仓')
|
|
|
+// ->alias('a')
|
|
|
+// ->join('工单_印件资料 b','a.jjcp_gdbh = b.Yj_Gdbh AND a.jjcp_yjno = b.yj_Yjno')
|
|
|
+// ->join('物料_收发记录 c', 'a.jjcp_gdbh = c.st_gdbh AND a.jjcp_cpdh = c.cpdh')
|
|
|
+// ->where($where)
|
|
|
+// ->where(function ($query) {
|
|
|
+// $query->where('c.仓库编号', '101')
|
|
|
+// ->whereOr('c.仓库编号', 'Y101');
|
|
|
+// })
|
|
|
+// ->field('a.jjcp_gdbh,a.jjcp_yjno')
|
|
|
+// ->select();
|
|
|
+// foreach ($list as $key=>$value){
|
|
|
+// $result = $this->OneOrderSuperLoss($value['jjcp_gdbh'],$value['jjcp_yjno']);
|
|
|
+// if (!empty($result)){
|
|
|
+// $sql = \db('工单_质量考核汇总')->fetchSql(true)->insertAll($result);
|
|
|
+// \db()->query($sql);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
|