|
|
@@ -786,43 +786,6 @@ class WorkOrder extends Api
|
|
|
}else{
|
|
|
$this->error('失败');
|
|
|
}
|
|
|
-// $UniqId = [];
|
|
|
-// $lastId = \db('工单_工艺资料')->field('rtrim(UniqId) as id')->order('UniqId desc')->find();
|
|
|
-// if ($lastId['id']>10000000){
|
|
|
-// $lastUniqId = $lastId['id'];
|
|
|
-// }else{
|
|
|
-// $lastUniqId = 10000000;
|
|
|
-// }
|
|
|
-// foreach ($param as $key=>$value){
|
|
|
-// $UniqId[$key] = $value['UniqId'];
|
|
|
-// }
|
|
|
-// $processList = \db('工单_工艺资料')->where('UniqId','in',$UniqId)->select();
|
|
|
-// if (empty($processList)){
|
|
|
-// $this->success('未找到工艺资料');
|
|
|
-// }
|
|
|
-// halt($processList);
|
|
|
-// $data = [];
|
|
|
-// foreach ($param as $key=>$value){
|
|
|
-// foreach ($processList as $k=>$v){
|
|
|
-// if ($value['UniqId'] = $v['UniqId']){
|
|
|
-// $data[$key] = $v;
|
|
|
-// $data[$key]['Gy0_gxh'] = $value['gxh'];
|
|
|
-// $data[$key]['Gy0_gdbh'] = $value['workOrder'];
|
|
|
-// $data[$key]['UniqId'] = $lastUniqId + $key + 1;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// $res = \db('工单_工艺资料')->where(['Gy0_gdbh'=>$param[0]['workOrder']])->delete();
|
|
|
-// if ($res !== false){
|
|
|
-// $result = \db('工单_工艺资料')->insertAll($data);
|
|
|
-// if ($result !== false){
|
|
|
-// $this->success('成功');
|
|
|
-// }else{
|
|
|
-// $this->error('失败');
|
|
|
-// }
|
|
|
-// }else{
|
|
|
-// $this->error('失败');
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1092,7 +1055,8 @@ class WorkOrder extends Api
|
|
|
if (empty($param) || isset($param['Uniqid']) === false){
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
- $param['Yj_Gdbh'] = \db('工单_印件资料')->where('Uniqid',$param['Uniqid'])->value('Yj_Gdbh');
|
|
|
+ $oldPrint = \db('工单_印件资料')->where('Uniqid',$param['Uniqid'])->find();
|
|
|
+ $param['Yj_Gdbh'] = $oldPrint ? $oldPrint['Yj_Gdbh'] : null;
|
|
|
$data = [
|
|
|
'Yj_Gdbh' =>$param['Yj_Gdbh'],
|
|
|
'yj_Yjno' =>$param['yjno'],
|
|
|
@@ -1121,6 +1085,28 @@ class WorkOrder extends Api
|
|
|
$UniqId = $param['Uniqid'];
|
|
|
$sql = \db('工单_印件资料')->where('Uniqid',$UniqId)->fetchSql(true)->update($data);
|
|
|
$res = Db::query($sql);
|
|
|
+ if ($res !== false && !empty($oldPrint)){
|
|
|
+ $logs = [];
|
|
|
+ foreach ($data as $field => $newValue) {
|
|
|
+ $oldValue = array_key_exists($field, $oldPrint) ? $oldPrint[$field] : '';
|
|
|
+ if (trim((string)$oldValue) === trim((string)$newValue)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $logs[] = [
|
|
|
+ 'Yj_Gdbh' => $oldPrint['Yj_Gdbh'],
|
|
|
+ 'yj_Yjno' => $data['yj_Yjno'],
|
|
|
+ 'yj_Yjdh' => $data['yj_Yjdh'],
|
|
|
+ 'yj_yjmc' => $data['yj_yjmc'],
|
|
|
+ 'PrintUniqid' => $UniqId,
|
|
|
+ '操作类型' => '修改',
|
|
|
+ '字段名' => $field,
|
|
|
+ '修改前' => trim((string)$oldValue),
|
|
|
+ '修改后' => trim((string)$newValue),
|
|
|
+ 'sys_id' => isset($param['sys_id']) ? $param['sys_id'] : '',
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $this->savePrintOperateLog($logs);
|
|
|
+ }
|
|
|
$process = \db('工单_工艺资料')
|
|
|
->where('Gy0_gdbh',$data['Yj_Gdbh'])
|
|
|
->where('Gy0_yjno',$data['yj_Yjno'])
|
|
|
@@ -1541,8 +1527,7 @@ class WorkOrder extends Api
|
|
|
}else{
|
|
|
$list[$key]['印件及工序名称'] = $value['yjno'].'-'.$value['gxh'].'-->'.$value['gxmc'];
|
|
|
}
|
|
|
- // $list[$key]['转序数'] = (int)($value['计划接货数']/$value['ls']);
|
|
|
- // $list[$key]['报废定额'] = (int)($value['计划损耗']/$value['ls']);
|
|
|
+
|
|
|
$list[$key]['转序数'] = $value['计划接货数'];
|
|
|
$list[$key]['报废定额'] = $value['计划损耗'];
|
|
|
if ((int)$value['计划接货数'] === 0){
|
|
|
@@ -1865,6 +1850,7 @@ class WorkOrder extends Api
|
|
|
$list['Mod_rq'] = $param['Mod_rq'];
|
|
|
unset($list['Uniqid']);
|
|
|
$workSql = \db('工单_基本资料')->fetchSql(true)->insert($list);
|
|
|
+ $workAction = '新增工单基本资料行';
|
|
|
}else{
|
|
|
$data['Gd_cpdh'] = $param['yj_Yjdh'];
|
|
|
$data['Gd_cpmc'] = $param['yj_yjmc'];
|
|
|
@@ -1873,6 +1859,7 @@ class WorkOrder extends Api
|
|
|
->where('行号',$param['yj_Yjno'])
|
|
|
->fetchSql(true)
|
|
|
->update($data);
|
|
|
+ $workAction = '更新工单基本资料行';
|
|
|
}
|
|
|
|
|
|
//开启事务
|
|
|
@@ -1881,6 +1868,18 @@ class WorkOrder extends Api
|
|
|
$sql = \db('工单_印件资料')->fetchSql(true)->insert($param);
|
|
|
$res = \db()->query($sql);
|
|
|
$workRes = \db()->query($workSql);
|
|
|
+ if ($res !== false && $workRes !== false){
|
|
|
+ $this->savePrintOperateLog([[
|
|
|
+ 'Yj_Gdbh' => $param['Yj_Gdbh'],
|
|
|
+ 'yj_Yjno' => $param['yj_Yjno'],
|
|
|
+ 'yj_Yjdh' => isset($param['yj_Yjdh']) ? $param['yj_Yjdh'] : '',
|
|
|
+ 'yj_yjmc' => isset($param['yj_yjmc']) ? $param['yj_yjmc'] : '',
|
|
|
+ 'PrintUniqid' => $param['Uniqid'],
|
|
|
+ '操作类型' => '新增',
|
|
|
+ 'sys_id' => isset($param['Sys_id']) ? $param['Sys_id'] : '',
|
|
|
+ '备注' => $workAction,
|
|
|
+ ]]);
|
|
|
+ }
|
|
|
//提交事务
|
|
|
\db()->commit();
|
|
|
} catch (\Exception $e) {
|
|
|
@@ -2009,15 +2008,36 @@ class WorkOrder extends Api
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
$printId = explode(',',$param['UniqId']);
|
|
|
+ $printRows = \db('工单_印件资料')->where('Uniqid','in',$printId)->select();
|
|
|
+ $printMap = [];
|
|
|
+ foreach ($printRows as $row) {
|
|
|
+ $printMap[$row['Uniqid']] = $row;
|
|
|
+ }
|
|
|
$i = 0;
|
|
|
+ $logs = [];
|
|
|
foreach ($printId as $value){
|
|
|
$res = \db('工单_印件资料')
|
|
|
->where('Uniqid',$value)
|
|
|
->delete();
|
|
|
if ($res === false){
|
|
|
$i++;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if ($res && isset($printMap[$value])) {
|
|
|
+ $row = $printMap[$value];
|
|
|
+ $logs[] = [
|
|
|
+ 'Yj_Gdbh' => $row['Yj_Gdbh'],
|
|
|
+ 'yj_Yjno' => $row['yj_Yjno'],
|
|
|
+ 'yj_Yjdh' => $row['yj_Yjdh'],
|
|
|
+ 'yj_yjmc' => $row['yj_yjmc'],
|
|
|
+ 'PrintUniqid' => $row['Uniqid'],
|
|
|
+ '操作类型' => '删除',
|
|
|
+ '修改前' => trim((string)$row['yj_yjmc']),
|
|
|
+ 'sys_id' => isset($param['sys_id']) ? $param['sys_id'] : '',
|
|
|
+ ];
|
|
|
}
|
|
|
}
|
|
|
+ $this->savePrintOperateLog($logs);
|
|
|
if ($i === 0){
|
|
|
$this->success('删除成功');
|
|
|
}else{
|
|
|
@@ -2448,7 +2468,6 @@ class WorkOrder extends Api
|
|
|
$PrintList[$key]['yj_ls'] = $value['yj_ls'];
|
|
|
$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());
|
|
|
$PrintList[$key]['Mod_rq'] = date('Y-m-d H:i:s',time());
|
|
|
array_push($arr,[$value['yj_yjno'],$v['行号']]);
|
|
|
@@ -2528,13 +2547,28 @@ class WorkOrder extends Api
|
|
|
$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']);
|
|
|
}
|
|
|
+ $oldPrintCount = \db('工单_印件资料')->where('Yj_Gdbh',$param['workorder'])->count();
|
|
|
+ $oldProcessCount = \db('工单_工艺资料')->where('Gy0_gdbh',$param['workorder'])->count();
|
|
|
+ $copyRemark = '产品代号'.$param['productCode'].',方案'.$param['option'].',原印件'.$oldPrintCount.'条、原工艺'.$oldProcessCount.'条已替换';
|
|
|
+ $printLogs = [];
|
|
|
+ foreach ($PrintList as $item) {
|
|
|
+ $printLogs[] = [
|
|
|
+ 'Yj_Gdbh' => $param['workorder'],
|
|
|
+ 'yj_Yjno' => isset($item['yj_Yjno']) ? $item['yj_Yjno'] : '',
|
|
|
+ 'yj_Yjdh' => isset($item['yj_Yjdh']) ? $item['yj_Yjdh'] : '',
|
|
|
+ 'yj_yjmc' => isset($item['yj_yjmc']) ? $item['yj_yjmc'] : '',
|
|
|
+ '操作类型' => '引用',
|
|
|
+ 'sys_id' => isset($param['sys_id']) ? $param['sys_id'] : '',
|
|
|
+ '备注' => $copyRemark,
|
|
|
+ ];
|
|
|
+ }
|
|
|
//插入数据
|
|
|
\db()->startTrans();
|
|
|
+ $copied = false;
|
|
|
try {
|
|
|
\db('工单_工艺资料')->where('Gy0_gdbh',$param['workorder'])->delete();
|
|
|
$processSql = \db('工单_工艺资料')->fetchSql(true)->insertAll($ProcessList);
|
|
|
@@ -2543,9 +2577,12 @@ class WorkOrder extends Api
|
|
|
$printSql = \db('工单_印件资料')->fetchSql(true)->insertAll($PrintList);
|
|
|
\db()->query($printSql);
|
|
|
\db()->commit();
|
|
|
+ $copied = true;
|
|
|
}catch (\Exception $e){
|
|
|
\db()->rollback();
|
|
|
-// echo $e->getMessage();
|
|
|
+ }
|
|
|
+ if ($copied) {
|
|
|
+ $this->savePrintOperateLog($printLogs);
|
|
|
}
|
|
|
//计算工序计划生产数量
|
|
|
if ($number !== null){
|
|
|
@@ -3316,6 +3353,37 @@ class WorkOrder extends Api
|
|
|
]);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 写入印件操作日志
|
|
|
+ * @param array $rows
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ protected function savePrintOperateLog(array $rows)
|
|
|
+ {
|
|
|
+ if (empty($rows)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $now = date('Y-m-d H:i:s');
|
|
|
+ $logs = [];
|
|
|
+ foreach ($rows as $row) {
|
|
|
+ $logs[] = [
|
|
|
+ 'Yj_Gdbh' => isset($row['Yj_Gdbh']) ? $row['Yj_Gdbh'] : '',
|
|
|
+ 'yj_Yjno' => isset($row['yj_Yjno']) ? $row['yj_Yjno'] : '',
|
|
|
+ 'yj_Yjdh' => isset($row['yj_Yjdh']) ? $row['yj_Yjdh'] : '',
|
|
|
+ 'yj_yjmc' => isset($row['yj_yjmc']) ? $row['yj_yjmc'] : '',
|
|
|
+ 'PrintUniqid' => isset($row['PrintUniqid']) ? $row['PrintUniqid'] : '',
|
|
|
+ '操作类型' => isset($row['操作类型']) ? $row['操作类型'] : '',
|
|
|
+ '字段名' => isset($row['字段名']) ? $row['字段名'] : '',
|
|
|
+ '修改前' => isset($row['修改前']) ? $row['修改前'] : '',
|
|
|
+ '修改后' => isset($row['修改后']) ? $row['修改后'] : '',
|
|
|
+ 'sys_id' => isset($row['sys_id']) ? $row['sys_id'] : '',
|
|
|
+ 'sys_rq' => $now,
|
|
|
+ '备注' => isset($row['备注']) ? $row['备注'] : '',
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ \db('工单_印件操作日志')->insertAll($logs);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 判断工单完工日期是否为空
|
|
|
* @param mixed $date
|