|
|
@@ -423,24 +423,26 @@ class WorkOrder extends Api
|
|
|
$printCode = \db('工单_印件资料')
|
|
|
->where('Uniqid',$param['printID'])
|
|
|
->value('yj_Yjno');
|
|
|
- if (empty($printCode)){
|
|
|
- $this->success('未找到该工单印件资料');
|
|
|
- }
|
|
|
- //修改工单工艺计划产量
|
|
|
- $result = $this->PlannedProcessYield($param['gdbh'],$printCode,0,$param['jhtl']);
|
|
|
- if ($result === false){
|
|
|
- $this->success('分配工序计划产量失败');
|
|
|
+ if (!empty($printCode)){
|
|
|
+ if ((int)$param['jhtl'] >0){
|
|
|
+ //修改工单工艺计划产量
|
|
|
+ $result = $this->PlannedProcessYield($param['gdbh'],$printCode,0,$param['jhtl']);
|
|
|
+ if ($result === false){
|
|
|
+ $this->success('分配工序计划产量失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //修改印件信息
|
|
|
+ $printSql = \db('工单_印件资料')
|
|
|
+ ->where('Uniqid',$param['printID'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update(['Yj_Gdbh'=>$param['gdbh'],'yj_yjmc'=>$param['yjmc'],'yj_Yjdh'=>$param['yjdh'],'yj_平张投料'=>$param['jhtl']]);
|
|
|
+ $printRes = Db::query($printSql);
|
|
|
}
|
|
|
//修改工单信息
|
|
|
$sql = \db('工单_基本资料')->where('Uniqid',$param['Uniqid'])->fetchSql(true)->update($row);
|
|
|
$res = Db::query($sql);
|
|
|
- //修改印件信息
|
|
|
- $printSql = \db('工单_印件资料')
|
|
|
- ->where('Uniqid',$param['printID'])
|
|
|
- ->fetchSql(true)
|
|
|
- ->update(['yj_yjmc'=>$param['yjmc'],'yj_Yjdh'=>$param['yjdh'],'yj_平张投料'=>$param['jhtl']]);
|
|
|
- $printRes = Db::query($printSql);
|
|
|
- if ($res !== false && $printRes !== false){
|
|
|
+ if ($res !== false){
|
|
|
$this->success('成功');
|
|
|
}else{
|
|
|
$this->error('失败');
|
|
|
@@ -986,14 +988,41 @@ class WorkOrder extends Api
|
|
|
if (empty($param) || isset($param['Uniqid']) === false){
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
- //重新分配工序计划产量
|
|
|
- $result = $this->PlannedProcessYield($param['Yj_Gdbh'],$param['yj_Yjno'],0,$param['pztl']);
|
|
|
- if ($result === false){
|
|
|
- $this->success('修改工序产量失败');
|
|
|
+ $param['Yj_Gdbh'] = \db('工单_印件资料')->where('Uniqid',$param['Uniqid'])->value('Yj_Gdbh');
|
|
|
+ $data = [
|
|
|
+ 'Yj_Gdbh' =>$param['Yj_Gdbh'],
|
|
|
+ 'yj_Yjno' =>$param['yjno'],
|
|
|
+ 'yj_Yjdh' =>$param['yjdh'],
|
|
|
+ 'yj_yjmc' =>$param['yjmc'],
|
|
|
+ 'yj_zzdh' =>$param['zzdh'],
|
|
|
+ 'yj_zzdh1' =>$param['zzdh1'],
|
|
|
+ 'yj_zzdh2' =>$param['zzdh2'],
|
|
|
+ 'yj_zzdh3' =>$param['zzdh3'],
|
|
|
+ 'yj_zzdh4' =>$param['zzdh4'],
|
|
|
+ 'yj_zzmc' =>$param['zzmc'],
|
|
|
+ 'yj_zzmc1' =>$param['zzmc1'],
|
|
|
+ 'yj_zzmc2' =>$param['zzmc2'],
|
|
|
+ 'yj_zzmc3' =>$param['zzmc3'],
|
|
|
+ 'yj_zzmc4' =>$param['zzmc4'],
|
|
|
+ 'yj_tlgg' =>$param['tlgg'],
|
|
|
+ 'yj_klgg' =>$param['klgg'],
|
|
|
+ 'Yj_核算规格' =>$param['hsgg'],
|
|
|
+ 'yj_成品数量' =>$param['cpsl'],
|
|
|
+ 'yj_平张投料' =>$param['pztl'],
|
|
|
+ 'yj_ks' =>$param['ks'],
|
|
|
+ 'yj_ls' =>$param['ls'],
|
|
|
+ 'yj_desc' =>$param['desc'],
|
|
|
+ ];
|
|
|
+ if ((int)$data['yj_平张投料'] > 0 ){
|
|
|
+ //重新分配工序计划产量
|
|
|
+ $result = $this->PlannedProcessYield($data['Yj_Gdbh'],$data['yj_Yjno'],0,$data['yj_平张投料']);
|
|
|
+ if ($result === false){
|
|
|
+ $this->success('修改工序产量失败');
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
$UniqId = $param['Uniqid'];
|
|
|
- unset($param['Uniqid']);
|
|
|
- $sql = \db('工单_印件资料')->where('Uniqid',$UniqId)->fetchSql(true)->update($param);
|
|
|
+ $sql = \db('工单_印件资料')->where('Uniqid',$UniqId)->fetchSql(true)->update($data);
|
|
|
$res = Db::query($sql);
|
|
|
if ($res !== false){
|
|
|
$this->success('成功');
|
|
|
@@ -1045,7 +1074,9 @@ class WorkOrder extends Api
|
|
|
Db::query($statusSql);
|
|
|
}
|
|
|
//重新分配工序计划产量
|
|
|
- $result = $this->PlannedProcessYield($param['Gy0_gdbh'],$list['Gy0_yjno'],$list['Gy0_gxh'],$list['计划接货数']);
|
|
|
+ if ((int)$list['计划接货数'] > 0){
|
|
|
+ $result = $this->PlannedProcessYield($param['Gy0_gdbh'],$list['Gy0_yjno'],$list['Gy0_gxh'],$list['计划接货数']);
|
|
|
+ }
|
|
|
if ($res !== false){
|
|
|
$this->success('成功');
|
|
|
}else{
|
|
|
@@ -1640,7 +1671,9 @@ class WorkOrder extends Api
|
|
|
->where('yj_Yjno',$param['Gy0_yjno'])
|
|
|
->value('rtrim(yj_平张投料)');
|
|
|
//分配工艺计划产量
|
|
|
- $this->PlannedProcessYield($param['Gy0_gdbh'],$param['Gy0_yjno'],$param['Gy0_gxh'],$number);
|
|
|
+ if ((int)$number >0){
|
|
|
+ $this->PlannedProcessYield($param['Gy0_gdbh'],$param['Gy0_yjno'],$param['Gy0_gxh'],$number);
|
|
|
+ }
|
|
|
if ($res !== false){
|
|
|
$this->success('成功');
|
|
|
}else{
|
|
|
@@ -1752,7 +1785,9 @@ class WorkOrder extends Api
|
|
|
}
|
|
|
}
|
|
|
//重新分配工艺计划产量
|
|
|
- $this->PlannedProcessYield($codeList['工单编号'],$codeList['印件号'],0,$number);
|
|
|
+ if ((int)$number>0){
|
|
|
+ $this->PlannedProcessYield($codeList['工单编号'],$codeList['印件号'],0,$number);
|
|
|
+ }
|
|
|
if ($i === 0){
|
|
|
$this->success('删除成功');
|
|
|
}else{
|
|
|
@@ -2082,7 +2117,7 @@ class WorkOrder extends Api
|
|
|
foreach ($list as $k=>$v){
|
|
|
if ($value['yj_yjdh'] === $v['Gd_cpdh']){
|
|
|
$PrintList[$key]['Yj_Gdbh'] = $param['workorder'];
|
|
|
- $PrintList[$key]['yj_Yjno'] = $v['行号'];
|
|
|
+ $PrintList[$key]['yj_Yjno'] = $value['yj_yjno'];
|
|
|
$PrintList[$key]['yj_Yjdh'] = $value['yj_yjdh'];
|
|
|
$PrintList[$key]['yj_ks'] = $value['yj_ks'];
|
|
|
$PrintList[$key]['yj_ls'] = $value['yj_ls'];
|
|
|
@@ -2093,6 +2128,12 @@ class WorkOrder extends Api
|
|
|
$PrintList[$key]['Mod_rq'] = date('Y-m-d H:i:s',time());
|
|
|
array_push($arr,[$value['yj_yjno'],$v['行号']]);
|
|
|
}
|
|
|
+ $sql = \db('工单_基本资料')
|
|
|
+ ->where('Gd_gdbh',$param['workorder'])
|
|
|
+ ->where('Gd_cpdh',$value['yj_yjdh'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update(['行号'=>$value['yj_yjno']]);
|
|
|
+ \db()->query($sql);
|
|
|
}
|
|
|
unset($PrintList[$key]['mod_rq'],$PrintList[$key]['sys_rq'],$PrintList[$key]['sys_id'],$PrintList[$key]['KgToPages'],$PrintList[$key]['yj_tll'],$PrintList[$key]['yj_yjdh'],$PrintList[$key]['yj_yjno'],$PrintList[$key]['UniqId']);
|
|
|
}
|
|
|
@@ -2103,52 +2144,68 @@ class WorkOrder extends Api
|
|
|
];
|
|
|
$ProcessList = \db('产品_工艺资料')
|
|
|
->where($processWhere)
|
|
|
+ ->order('Gy0_yjno,Gy0_gxh')
|
|
|
->select();
|
|
|
if (empty($ProcessList)){
|
|
|
$this->error('未找到产品工艺资料');
|
|
|
}
|
|
|
$ProcesslastId = \db('工单_工艺资料')->order('UniqId desc')->value('rtrim(UniqId)');
|
|
|
foreach ($ProcessList as $key=>$value){
|
|
|
- foreach ($arr as $k=>$v){
|
|
|
- if ($value['Gy0_yjno'] === $v[0]) {
|
|
|
- $ProcessList[$key]['Gy0_yjno'] = $v[1];
|
|
|
- $ProcessList[$key]['Gy0_gdbh'] = $param['workorder'];
|
|
|
- $ProcessList[$key]['Gy0_gxmc'] = $value['gy0_gxmc'];
|
|
|
- $ProcessList[$key]['Gy0_SITE'] = $value['Gy0_site'];
|
|
|
- $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;
|
|
|
- $ProcessList[$key]['PD_WG'] = '1900-01-01 00:00:00';
|
|
|
- $ProcessList[$key]['Sys_rq'] = date('Y-m-d H:i:s', time());
|
|
|
- $ProcessList[$key]['Mod_rq'] = date('Y-m-d H:i:s', time());
|
|
|
- }
|
|
|
+ if (empty($value['Gy0_shdh'])){
|
|
|
+ $rate['rate0'] = 0;
|
|
|
+ $rate['rate1'] = 0;
|
|
|
+ }else{
|
|
|
+ $rate = \db('dic_lzsh')->where('sys_bh',$value['Gy0_shdh'])->field('rtrim(sys_rate0) as rate0,rtrim(sys_rate1) as rate1')->find();
|
|
|
+ }
|
|
|
+ //设置默认机台
|
|
|
+ $machineList = \db('设备_基本资料')
|
|
|
+ ->where('生产工序','like','%'.$value['gy0_gxmc'].'%')
|
|
|
+ ->order('设备编号')
|
|
|
+ ->value('设备编号');
|
|
|
+ $ProcessList[$key]['Gy0_sbbh'] = '';
|
|
|
+ if (!empty($machineList)){
|
|
|
+ $ProcessList[$key]['Gy0_sbbh'] = $machineList;
|
|
|
}
|
|
|
+ $ProcessList[$key]['Gy0_yjno'] = $value['Gy0_yjno'];
|
|
|
+ $ProcessList[$key]['Gy0_gdbh'] = $param['workorder'];
|
|
|
+ $ProcessList[$key]['Gy0_gxmc'] = $value['gy0_gxmc'];
|
|
|
+ $ProcessList[$key]['Gy0_SITE'] = $value['Gy0_site'];
|
|
|
+ $ProcessList[$key]['Gy0_shdh'] = $value['Gy0_shdh'];
|
|
|
+ $ProcessList[$key]['Gy0_Rate0'] = $rate['rate0'];
|
|
|
+ $ProcessList[$key]['Gy0_Rate1'] = $rate['rate1'];
|
|
|
+ $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;
|
|
|
+ $ProcessList[$key]['PD_WG'] = '1900-01-01 00:00:00';
|
|
|
+ $ProcessList[$key]['Sys_rq'] = date('Y-m-d H:i:s', time());
|
|
|
unset($ProcessList[$key]['Gy0_Oil'],$ProcessList[$key]['Gy0_Ms'],$ProcessList[$key]['Gy0_Ks'],$ProcessList[$key]['UniqID'],$ProcessList[$key]['Gy0_cpdh'],$ProcessList[$key]['gy0_gxmc'],$ProcessList[$key]['Gy0_site']);
|
|
|
}
|
|
|
-
|
|
|
//插入数据
|
|
|
- $processSql = \db('工单_工艺资料')->fetchSql(true)->insertAll($ProcessList);
|
|
|
- $processRes = \db()->query($processSql);
|
|
|
- if ($processRes === false){
|
|
|
- $this->error('插入工艺资料失败');
|
|
|
- }
|
|
|
- $printSql = \db('工单_印件资料')->fetchSql(true)->insertAll($PrintList);
|
|
|
- $printRes = \db()->query($printSql);
|
|
|
- if ($printRes === false){
|
|
|
- $this->error('插入印件资料失败');
|
|
|
+ \db()->startTrans();
|
|
|
+ try {
|
|
|
+ \db('工单_工艺资料')->where('Gy0_gdbh',$param['workorder'])->delete();
|
|
|
+ $processSql = \db('工单_工艺资料')->fetchSql(true)->insertAll($ProcessList);
|
|
|
+ \db()->query($processSql);
|
|
|
+ \db('工单_印件资料')->where('Yj_Gdbh',$param['workorder'])->delete();
|
|
|
+ $printSql = \db('工单_印件资料')->fetchSql(true)->insertAll($PrintList);
|
|
|
+ \db()->query($printSql);
|
|
|
+ \db()->commit();
|
|
|
+ }catch (\Exception $e){
|
|
|
+ \db()->rollback();
|
|
|
}
|
|
|
//计算工序计划生产数量
|
|
|
- if ($number !== 0){
|
|
|
- foreach ($PrintList as $value){
|
|
|
- $this->PlannedProcessYield($param['workorder'],$value['yj_Yjno'],0,$number);
|
|
|
+ $list = \db('工单_印件资料')->where('Yj_Gdbh',$param['workorder'])->field('yj_Yjno,yj_平张投料')->select();
|
|
|
+ foreach ($list as $value){
|
|
|
+ if ((int)$value['yj_平张投料'] >0){
|
|
|
+ $this->PlannedProcessYield($param['workorder'],$value['yj_Yjno'],0,$value['yj_平张投料']);
|
|
|
}
|
|
|
}
|
|
|
$this->success('成功');
|
|
|
@@ -2227,6 +2284,7 @@ class WorkOrder extends Api
|
|
|
$processList = \db('工单_工艺资料')
|
|
|
->where($where)
|
|
|
->field('Gy0_Rate0 as 损耗定额,Gy0_Rate1 as 损耗率,rtrim(损耗系数) as 损耗系数,Gy0_ms,Gy0_ls,UniqId')
|
|
|
+ ->order('Gy0_gxh')
|
|
|
->select();
|
|
|
if (empty($processList)){
|
|
|
$this->success('未找到该工单工序资料');
|