|
|
@@ -235,15 +235,10 @@ class WorkOrder extends Api
|
|
|
if ($value['Gy0_gxh']<10){
|
|
|
$value['Gy0_gxh'] = '0'.$value['Gy0_gxh'];
|
|
|
}
|
|
|
- if ((int)$value['Gy0_ms'] === 0){
|
|
|
- $scrap = ceil(($value['Gy0_Rate0']+((int)($value['Gy0_计划接货数']/$value['Gy0_ls']))*$value['Gy0_Rate1'])*$value['损耗系数']);
|
|
|
- }else{
|
|
|
- $scrap = ceil(($value['Gy0_Rate0']+((int)($value['Gy0_计划接货数']/$value['Gy0_ls']))*$value['Gy0_Rate1'])*$value['损耗系数']*$value['Gy0_ms']);
|
|
|
- }
|
|
|
if (rtrim($value['Gy0_sbbh']) == '' || $value['Gy0_计划接货数'] == 0){
|
|
|
$number = 0;
|
|
|
}else{
|
|
|
- $number = round(($scrap/((int)($value['Gy0_计划接货数']/$value['Gy0_ls'])))*100,2).'%';
|
|
|
+ $number = round(((int)$value['Gy0_计划损耗']/(int)($value['Gy0_计划接货数']))*100,2).'%';
|
|
|
}
|
|
|
if ($value['PD_WG'] !== '1900-01-01 00:00:00'){
|
|
|
$status = '已完工';
|
|
|
@@ -255,11 +250,11 @@ class WorkOrder extends Api
|
|
|
'印件-工序' => rtrim($value['Gy0_yjno']).'-'.rtrim($value['Gy0_gxh']),
|
|
|
'备选工序' => rtrim($value['备选工序']),
|
|
|
'工序名称' => rtrim($value['Gy0_gxmc']).'【'.rtrim($value['Add_gxmc']).'】',
|
|
|
- '计划产量' => (int)($value['Gy0_计划接货数']/$value['Gy0_ls']),
|
|
|
+ '计划产量' => $value['Gy0_计划接货数'],
|
|
|
'基础损耗' => rtrim($value['Gy0_Rate0']),
|
|
|
'损耗率' => rtrim($value['Gy0_Rate1']),
|
|
|
'机台编号' => rtrim($value['Gy0_sbbh']),
|
|
|
- '报废定额' => $scrap,
|
|
|
+ '报废定额' => rtrim($value['Gy0_计划损耗']),
|
|
|
'允损比例' => $number,
|
|
|
'难度系数' => isset($value['工价系数'])?rtrim($value['工价系数']):'',
|
|
|
'损耗系数' => isset($value['损耗系数'])?rtrim($value['损耗系数']):'',
|
|
|
@@ -348,25 +343,23 @@ class WorkOrder extends Api
|
|
|
$field = 'rtrim(Gd_lx) as 重点工单,rtrim(Gd_gdbh) as 工单编号,rtrim(Gd_生产分类) as 生产类型,rtrim(Gd_khdh) as 客户代号,rtrim(Gd_客户名称) as 客户名称,
|
|
|
rtrim(Gd_cpdh) as 印件代号,rtrim(Gd_cpmc) as 印件名称,rtrim(成品代号) as 产品代号,rtrim(成品名称) as 产品名称,rtrim(接单日期) as 开单日期,rtrim(订单数量) as 订单数量,rtrim(交货日期) as 交货日期,
|
|
|
rtrim(投料率) as 投料率,rtrim(实际投料) as 万小张,rtrim(计量单位) as 单位,rtrim(投料大箱) as 投料大箱,rtrim(排产时库存) as 库存大箱,rtrim(警语版面) as 警语版面,
|
|
|
- rtrim(销售订单号) as 销售订单号,rtrim(产品版本号) as 版本号,rtrim(客户ERP编码) as 客户ERP编码,rtrim(码源数量) as 码源数量,rtrim(进程备注) as 进程备注,rtrim(Gd_desc) as 备注,rtrim(Uniqid) as Uniqid';
|
|
|
+ rtrim(销售订单号) as 销售订单号,rtrim(产品版本号) as 版本号,rtrim(客户ERP编码) as 客户ERP编码,rtrim(码源数量) as 码源数量,rtrim(进程备注) as 进程备注,rtrim(Gd_desc) as 备注,rtrim(Uniqid) as Uniqid,rtrim(计划投料) as 平张投料';
|
|
|
$list = \db('工单_基本资料')->where('Gd_gdbh',$workOrder)->field($field)->find();
|
|
|
if (empty($list)){
|
|
|
$this->error('未找到该工单信息');
|
|
|
}
|
|
|
$printData = \db('工单_印件资料')
|
|
|
->where('Yj_Gdbh',$workOrder)
|
|
|
- ->field('rtrim(yj_yjmc) as 印件名称,rtrim(yj_Yjdh) as 印件代号,rtrim(yj_平张投料) as 平张投料,rtrim(Uniqid) as id')
|
|
|
+ ->field('rtrim(yj_yjmc) as 印件名称,rtrim(yj_Yjdh) as 印件代号,rtrim(Uniqid) as id')
|
|
|
->cache(true,84600)
|
|
|
->find();
|
|
|
if (empty($printData)){
|
|
|
$list['印件名称'] = '';
|
|
|
$list['印件代号'] = '';
|
|
|
- $list['平张投料'] = '';
|
|
|
$list['印件ID'] = '';
|
|
|
}else{
|
|
|
$list['印件名称'] = $printData['印件名称'];
|
|
|
$list['印件代号'] = $printData['印件代号'];
|
|
|
- $list['平张投料'] = $printData['平张投料'];
|
|
|
$list['印件ID'] = $printData['id'];
|
|
|
}
|
|
|
$this->success('成功',$list);
|
|
|
@@ -1776,18 +1769,13 @@ class WorkOrder extends Api
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
$param = $this->request->param();
|
|
|
- if (isset($param['search']) === false){
|
|
|
+ if (empty($param['process'])){
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
$order = \db('dic_lzsh')
|
|
|
- ->where('sys_mc','like',substr($param['search'],0,6).'%')
|
|
|
+ ->where('sys_mc','like',$param['process'].'%')
|
|
|
->value('rtrim(sys_bh) as 编号');
|
|
|
- $list = \db('dic_lzsh')
|
|
|
- ->where('sys_bh','like',$order.'%')
|
|
|
- ->where('sys_bh','<>',$order)
|
|
|
- ->field('rtrim(sys_bh) as 编号,rtrim(sys_mc) as 名称,rtrim(UniqId) as UniqId')
|
|
|
- ->select();
|
|
|
- $this->success('成功',$list);
|
|
|
+ $this->success('成功',$order);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -2087,6 +2075,11 @@ class WorkOrder extends Api
|
|
|
$ProcessList[$key]['Gy0_ks'] = $value['Gy0_Ks'];
|
|
|
$ProcessList[$key]['Gy0_ms'] = $value['Gy0_Ms'];
|
|
|
$ProcessList[$key]['Gy0_oil'] = $value['Gy0_Oil'];
|
|
|
+ $ProcessList[$key]['Gy0_计划接货数'] = 0;
|
|
|
+ $ProcessList[$key]['Gy0_计划损耗'] = 0;
|
|
|
+ $ProcessList[$key]['无形损承担比例'] = 0;
|
|
|
+ $ProcessList[$key]['超节损承担比例'] = 0;
|
|
|
+ $ProcessList[$key]['超节损核算单价'] = 0;
|
|
|
$ProcessList[$key]['Gy0_sj1'] = '1900-01-01 00:00:00';
|
|
|
$ProcessList[$key]['Gy0_sj2'] = '1900-01-01 00:00:00';
|
|
|
$ProcessList[$key]['UniqId'] = $ProcesslastId + $key + 1;
|
|
|
@@ -2103,10 +2096,15 @@ class WorkOrder extends Api
|
|
|
$this->error('未找到印件资料');
|
|
|
}
|
|
|
$PrintLastId = \db('工单_印件资料')->order('Uniqid desc')->value('rtrim(Uniqid)');
|
|
|
+ $number = \db('工单_基本资料')
|
|
|
+ ->where('Gd_gdbh',$param['workorder'])
|
|
|
+ ->where('成品代号',$param['productCode'])
|
|
|
+ ->value('rtrim(计划投料)');
|
|
|
foreach ($PrintList as $key => $value){
|
|
|
$PrintList[$key]['Yj_Gdbh'] = $param['workorder'];
|
|
|
$PrintList[$key]['yj_Yjno'] = $value['yj_yjno'];
|
|
|
$PrintList[$key]['yj_Yjdh'] = $value['yj_yjdh'];
|
|
|
+ $PrintList[$key]['yj_平张投料'] = $number;
|
|
|
$PrintList[$key]['Sys_id'] = $value['sys_id'];
|
|
|
$PrintList[$key]['Uniqid'] = $PrintLastId + $key + 1;
|
|
|
$PrintList[$key]['Sys_rq'] = date('Y-m-d H:i:s',time());
|
|
|
@@ -2124,6 +2122,12 @@ class WorkOrder extends Api
|
|
|
if ($printRes === false){
|
|
|
$this->error('插入印件资料失败');
|
|
|
}
|
|
|
+ //计算工序计划生产数量
|
|
|
+ if ($number !== 0){
|
|
|
+ foreach ($PrintList as $value){
|
|
|
+ $this->PlannedProcessYield($param['workorder'],$value['yj_yjno'],0,$number);
|
|
|
+ }
|
|
|
+ }
|
|
|
$this->success('成功');
|
|
|
}
|
|
|
|