|
|
@@ -22,25 +22,22 @@ class Synchronization extends Api
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
$db3 = Db::connect(config('database.db3'));
|
|
|
- $nowTime = date('Y-m-d H:i:s',time());
|
|
|
- $oldTime = date('Y-m-d 00:00:00',time()-259200);
|
|
|
$workOrderList = $db3->name('U8_06工单资料')
|
|
|
- ->where("U8传递时间",'between',[$oldTime,$nowTime])
|
|
|
- ->where('工单编号','<>','')
|
|
|
- ->order('U8传递时间 desc')
|
|
|
- ->limit(10)
|
|
|
+ ->where('MES接收时间',null)
|
|
|
+ ->where('MES接收状态','0')
|
|
|
+ ->where('U8插入类型','<>','关闭')
|
|
|
->select();
|
|
|
if (empty($workOrderList)){
|
|
|
$this->success('未获取新工单');
|
|
|
}
|
|
|
- $data = [];
|
|
|
- $i = $j = $m = $n =0;
|
|
|
+ $j = $m = $n =0;
|
|
|
foreach ($workOrderList as $key=>$value){
|
|
|
+ //插入产品资料
|
|
|
$productData = \db('产品_基本资料')
|
|
|
->where('产品编号',$value['成品编号'])
|
|
|
->count();
|
|
|
if ($productData === 0){
|
|
|
- $clientCode = substr($value['成品编号'],0,4);
|
|
|
+ $clientCode = substr($value['成品编号'],0,5);
|
|
|
$product = [
|
|
|
'客户编号' => $clientCode,
|
|
|
'客户名称' => $value['客户名称'],
|
|
|
@@ -62,98 +59,79 @@ class Synchronization extends Api
|
|
|
$n++;
|
|
|
}
|
|
|
}
|
|
|
- $res = \db('工单_基本资料')
|
|
|
+ //插入工单资料
|
|
|
+ $client = \db('产品_基本资料')->where('产品编号',$value['成品编号'])->field('rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称')->find();
|
|
|
+ $data = [
|
|
|
+ 'Gd_gdbh' => $value['工单编号'],
|
|
|
+ '行号' => $value['行号'],
|
|
|
+ 'Gd_客户代号' => $client['客户编号'],
|
|
|
+ 'Gd_客户名称' => $client['客户名称'],
|
|
|
+ 'Gd_khdh' => $value['客户编号'],
|
|
|
+ 'Gd_khmc' => $value['客户名称'],
|
|
|
+ '客户料号' => $value['客户料号'],
|
|
|
+ '成品代号' => $value['成品编号'],
|
|
|
+ '成品名称' => $value['成品名称'],
|
|
|
+ 'Gd_cpdh' => $value['产品编号'],
|
|
|
+ 'Gd_cpmc' => $value['产品名称'],
|
|
|
+ '产品版本号' => $value['版本号'],
|
|
|
+ '销售订单号' => $value['销售订单号'],
|
|
|
+ '警语版面' => $value['警语版面'],
|
|
|
+ '码源数量' => substr(str_replace('.','',$value['投料数量']),0,-2),
|
|
|
+ 'Gd_desc' => $value['备注'],
|
|
|
+ '接单日期' => $value['接单日期'],
|
|
|
+ '开单日期' => $value['开单日期'],
|
|
|
+ '交货日期' => $value['交货日期'],
|
|
|
+ '订单数量' => $value['订单数量'],
|
|
|
+ '实际投料' => $value['投料数量'],
|
|
|
+ '产品单价' => $value['产品单价'],
|
|
|
+ '计量单位' => '万张',
|
|
|
+ '成本考核_胶印' => 1,
|
|
|
+ '成本考核_凹印' => 1,
|
|
|
+ '成本考核_丝印' => 1,
|
|
|
+ '成本考核_模切' => 1,
|
|
|
+ '成本考核_检验' => 1,
|
|
|
+ 'gd_statu' => '3-计划中',
|
|
|
+ 'Sys_id' => '[1012/开单员]',
|
|
|
+ 'Sys_rq' => date('Y-m-d H:i:s',time()),
|
|
|
+ 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
+ 'U8UID' => $value['U8_UID'],
|
|
|
+ 'Uniqid' => $value['UniqId']
|
|
|
+ ];
|
|
|
+ $workOrderdata = \db('工单_基本资料')
|
|
|
->where('Uniqid',$value['UniqId'])
|
|
|
->count();
|
|
|
- $client = \db('产品_基本资料')->where('产品编号',$value['成品编号'])->field('rtrim(客户编号) as 客户编号,rtrim(客户名称) as 客户名称')->find();
|
|
|
- if ($res === 0){
|
|
|
- $data['add'][$i] = [
|
|
|
- 'Gd_gdbh' => $value['工单编号'],
|
|
|
- '行号' => $value['行号'],
|
|
|
- 'Gd_客户代号' => $client['客户编号'],
|
|
|
- 'Gd_客户名称' => $client['客户名称'],
|
|
|
- 'Gd_khdh' => $value['客户编号'],
|
|
|
- 'Gd_khmc' => $value['客户名称'],
|
|
|
- '客户料号' => $value['客户料号'],
|
|
|
- '成品代号' => $value['成品编号'],
|
|
|
- '成品名称' => $value['成品名称'],
|
|
|
- 'Gd_cpdh' => $value['产品编号'],
|
|
|
- 'Gd_cpmc' => $value['产品名称'],
|
|
|
- '产品版本号' => $value['版本号'],
|
|
|
- '销售订单号' => $value['销售订单号'],
|
|
|
- '警语版面' => $value['警语版面'],
|
|
|
- '码源数量' => substr(str_replace('.','',$value['投料数量']),0,-2),
|
|
|
- 'Gd_desc' => $value['备注'],
|
|
|
- '接单日期' => $value['接单日期'],
|
|
|
- '开单日期' => $value['开单日期'],
|
|
|
- '交货日期' => $value['交货日期'],
|
|
|
- '订单数量' => $value['订单数量'],
|
|
|
- '实际投料' => $value['投料数量'],
|
|
|
- '产品单价' => $value['产品单价'],
|
|
|
- '计量单位' => '万张',
|
|
|
- '成本考核_胶印' => 1,
|
|
|
- '成本考核_凹印' => 1,
|
|
|
- '成本考核_丝印' => 1,
|
|
|
- '成本考核_模切' => 1,
|
|
|
- '成本考核_检验' => 1,
|
|
|
- 'gd_statu' => '3-计划中',
|
|
|
- 'Sys_id' => '[1012/开单员]',
|
|
|
- 'Sys_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'U8UID' => $value['U8_UID'],
|
|
|
- 'Uniqid' => $value['UniqId']
|
|
|
- ];
|
|
|
- $i++;
|
|
|
+ if ($workOrderdata === 0){
|
|
|
+ $addSql = \db('工单_基本资料')->fetchSql(true)->insert($data);
|
|
|
+ $result = \db()->query($addSql);
|
|
|
+ if ($result === false){
|
|
|
+ $m++;
|
|
|
+ }else{
|
|
|
+ $sqlString = $db3->name('U8_06工单资料')
|
|
|
+ ->where('UniqId', $value['UniqId'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
+ }
|
|
|
}else{
|
|
|
- $data['update'] = [
|
|
|
- 'Gd_gdbh' => $value['工单编号'],
|
|
|
- '行号' => $value['行号'],
|
|
|
- 'Gd_客户代号' => $client['客户编号'],
|
|
|
- 'Gd_客户名称' => $client['客户名称'],
|
|
|
- 'Gd_khdh' => $value['客户编号'],
|
|
|
- 'Gd_khmc' => $value['客户名称'],
|
|
|
- '客户料号' => $value['客户料号'],
|
|
|
- '成品代号' => $value['成品编号'],
|
|
|
- '成品名称' => $value['成品名称'],
|
|
|
- 'Gd_cpdh' => $value['产品编号'],
|
|
|
- 'Gd_cpmc' => $value['产品名称'],
|
|
|
- '产品版本号' => $value['版本号'],
|
|
|
- '销售订单号' => $value['销售订单号'],
|
|
|
- '警语版面' => $value['警语版面'],
|
|
|
- '码源数量' => substr(str_replace('.','',$value['投料数量']),0,-2),
|
|
|
- 'Gd_desc' => $value['备注'],
|
|
|
- '接单日期' => $value['接单日期'],
|
|
|
- '开单日期' => $value['开单日期'],
|
|
|
- '交货日期' => $value['交货日期'],
|
|
|
- '订单数量' => $value['订单数量'],
|
|
|
- '实际投料' => $value['投料数量'],
|
|
|
- '产品单价' => $value['产品单价'],
|
|
|
- '计量单位' => '万张',
|
|
|
- '成本考核_胶印' => 1,
|
|
|
- '成本考核_凹印' => 1,
|
|
|
- '成本考核_丝印' => 1,
|
|
|
- '成本考核_模切' => 1,
|
|
|
- '成本考核_检验' => 1,
|
|
|
- 'gd_statu' => '3-计划中',
|
|
|
- 'Sys_id' => '[1012/开单员]',
|
|
|
- 'Sys_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'U8UID' => $value['U8_UID']
|
|
|
- ];
|
|
|
- $updateSql = \db('工单_基本资料')->where('Uniqid',$value['UniqId'])->fetchSql(true)->update($data['update']);
|
|
|
+ $updateSql = \db('工单_基本资料')->where('Uniqid',$value['UniqId'])->fetchSql(true)->update($data);
|
|
|
$updateRes = \db()->query($updateSql);
|
|
|
if ($updateRes === false){
|
|
|
$j++;
|
|
|
+ }else{
|
|
|
+ $sqlString = $db3->name('U8_06工单资料')
|
|
|
+ ->where('UniqId', $value['UniqId'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if ($i !== 0){
|
|
|
- $addSql = \db('工单_基本资料')->fetchSql(true)->insertAll($data['add']);
|
|
|
- $result = \db()->query($addSql);
|
|
|
- if ($result === false){
|
|
|
- $m++;
|
|
|
- }
|
|
|
- }
|
|
|
if ($j !== 0 || $m !==0 || $n !== 0){
|
|
|
$this->error('工单资料同步失败');
|
|
|
}else{
|
|
|
@@ -171,85 +149,75 @@ class Synchronization extends Api
|
|
|
$this->error('请求错误');
|
|
|
}
|
|
|
$db3 = Db::connect(config('database.db3'));
|
|
|
- $nowTime = date('Y-m-d H:i:s',time());
|
|
|
- $oldTime = date('Y-m-d 00:00:00',time()-259200);
|
|
|
$BomDataList = $db3->name('U8_09工单bom')
|
|
|
- ->where('U8传递时间','between',[$oldTime,$nowTime])
|
|
|
- ->where('BOM_工单编号','<>','')
|
|
|
+ ->where('MES接收时间',null)
|
|
|
+ ->where('MES接收状态','0')
|
|
|
->order('U8传递时间 desc')
|
|
|
->select();
|
|
|
if (empty($BomDataList)){
|
|
|
$this->success('未找到新工单BOM');
|
|
|
}
|
|
|
- $data = [];
|
|
|
- $i = $j = $m = 0;
|
|
|
+ $j = $m = 0;
|
|
|
foreach ($BomDataList as $key=>$value){
|
|
|
$res = \db('工单_bom资料')->where('UNIQID',$value['UNIQID'])->count();
|
|
|
+ $data = [
|
|
|
+ 'BOM_方案' => '工单评审定案',
|
|
|
+ 'BOM_工单编号' => $value['BOM_工单编号'],
|
|
|
+ 'BOM_版本' => $value['BOM_版本'],
|
|
|
+ 'BOM_工单行号' => $value['BOM_工单行号'],
|
|
|
+ 'BOM_行号' => $value['BOM_行号'],
|
|
|
+ 'BOM_产品编号' => $value['BOM_产品编号'],
|
|
|
+ 'BOM_物料编码' => $value['BOM_物料编码'],
|
|
|
+ 'BOM_物料名称' => $value['BOM_物料名称'],
|
|
|
+ 'BOM_投料单位' => $value['BOM_投料单位'],
|
|
|
+ 'BOM_投入数' => $value['BOM_投入数'],
|
|
|
+ 'BOM_产出数' => $value['BOM_产出数'],
|
|
|
+ 'BOM_产出单位' => $value['BOM_产出单位'],
|
|
|
+ 'BOM_标准用量' => $value['BOM_标准用量'],
|
|
|
+ 'BOM_实际用量' => $value['BOM_实际用量'],
|
|
|
+ 'BOM_计划用量' => $value['BOM_计划用量'],
|
|
|
+ 'BOM_核算价格' => 0,
|
|
|
+ 'Bom_领用工序' => '01-01',
|
|
|
+ 'BOM_备注' => $value['BOM_备注'],
|
|
|
+ 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
+ 'U8UID' => $value['U8_UID'],
|
|
|
+ 'UNIQID' => $value['UNIQID']
|
|
|
+ ];
|
|
|
if ($res === 0){
|
|
|
- $data['add'][$i] = [
|
|
|
- 'BOM_方案' => '工单评审定案',
|
|
|
- 'BOM_工单编号' => $value['BOM_工单编号'],
|
|
|
- 'BOM_版本' => $value['BOM_版本'],
|
|
|
- 'BOM_工单行号' => $value['BOM_工单行号'],
|
|
|
- 'BOM_行号' => $value['BOM_行号'],
|
|
|
- 'BOM_产品编号' => $value['BOM_产品编号'],
|
|
|
- 'BOM_物料编码' => $value['BOM_物料编码'],
|
|
|
- 'BOM_物料名称' => $value['BOM_物料名称'],
|
|
|
- 'BOM_投料单位' => $value['BOM_投料单位'],
|
|
|
- 'BOM_投入数' => $value['BOM_投入数'],
|
|
|
- 'BOM_产出数' => $value['BOM_产出数'],
|
|
|
- 'BOM_产出单位' => $value['BOM_产出单位'],
|
|
|
- 'BOM_标准用量' => $value['BOM_标准用量'],
|
|
|
- 'BOM_实际用量' => $value['BOM_实际用量'],
|
|
|
- 'BOM_计划用量' => $value['BOM_计划用量'],
|
|
|
- 'BOM_核算价格' => 0,
|
|
|
- 'Bom_领用工序' => '01-01',
|
|
|
- 'BOM_备注' => $value['BOM_备注'],
|
|
|
- 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'U8UID' => $value['U8_UID'],
|
|
|
- 'UNIQID' => $value['UNIQID']
|
|
|
- ];
|
|
|
- $i++;
|
|
|
+ $addSql = \db('工单_bom资料')->fetchSql(true)->insert($data);
|
|
|
+ $addRes = \db()->query($addSql);
|
|
|
+ if ($addRes === false){
|
|
|
+ $m++;
|
|
|
+ }else{
|
|
|
+ $sqlString = $db3->name('U8_09工单bom')
|
|
|
+ ->where('UniqId', $value['UNIQID'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
+ }
|
|
|
}else{
|
|
|
- $data['update'] = [
|
|
|
- 'BOM_方案' => '工单评审定案',
|
|
|
- 'BOM_工单编号' => $value['BOM_工单编号'],
|
|
|
- 'BOM_版本' => $value['BOM_版本'],
|
|
|
- 'BOM_工单行号' => $value['BOM_工单行号'],
|
|
|
- 'BOM_行号' => $value['BOM_行号'],
|
|
|
- 'BOM_产品编号' => $value['BOM_产品编号'],
|
|
|
- 'BOM_物料编码' => $value['BOM_物料编码'],
|
|
|
- 'BOM_物料名称' => $value['BOM_物料名称'],
|
|
|
- 'BOM_投料单位' => $value['BOM_投料单位'],
|
|
|
- 'BOM_投入数' => $value['BOM_投入数'],
|
|
|
- 'BOM_产出数' => $value['BOM_产出数'],
|
|
|
- 'BOM_产出单位' => $value['BOM_产出单位'],
|
|
|
- 'BOM_标准用量' => $value['BOM_标准用量'],
|
|
|
- 'BOM_实际用量' => $value['BOM_实际用量'],
|
|
|
- 'BOM_计划用量' => $value['BOM_计划用量'],
|
|
|
- 'BOM_核算价格' => 0,
|
|
|
- 'Bom_领用工序' => '01-01',
|
|
|
- 'BOM_备注' => $value['BOM_备注'],
|
|
|
- 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
- 'U8UID' => $value['U8_UID']
|
|
|
- ];
|
|
|
$updateSql = \db('工单_bom资料')
|
|
|
->where('UNIQID',$value['UNIQID'])
|
|
|
->fetchSql(true)
|
|
|
- ->update($data['update']);
|
|
|
+ ->update($data);
|
|
|
$updateRes = \db()->query($updateSql);
|
|
|
if ($updateRes === false){
|
|
|
$j++;
|
|
|
+ }else{
|
|
|
+ $sqlString = $db3->name('U8_09工单bom')
|
|
|
+ ->where('UniqId', $value['UNIQID'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if ($i !== 0){
|
|
|
- $addSql = \db('工单_bom资料')->fetchSql(true)->insertAll($data['add']);
|
|
|
- $addRes = \db()->query($addSql);
|
|
|
- if ($addRes === false){
|
|
|
- $m++;
|
|
|
- }
|
|
|
- }
|
|
|
if ($j !== 0 || $m !== 0){
|
|
|
$this->error('工单BOM资料同步失败');
|
|
|
}else{
|
|
|
@@ -257,42 +225,75 @@ class Synchronization extends Api
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
-// * 物料领用数据同步
|
|
|
-// */
|
|
|
-//
|
|
|
-// public function MaterialRequisitionData()
|
|
|
-// {
|
|
|
-// if ($this->request->isGet() === false){
|
|
|
-// $this->error('请求错误');
|
|
|
-// }
|
|
|
-// $db3 = Db::connect(config('database.db3'));
|
|
|
-// $nowTime = date('Y-m-d H:i:s',time());
|
|
|
-// $oldTime = date('Y-m-d 00:00:00',time()-259200);
|
|
|
-// $MaterialDataList = $db3->name('U8_07物料领用')
|
|
|
-// ->where('U8传递时间','between',[$oldTime,$nowTime])
|
|
|
-// ->where('工单编号','<>','')
|
|
|
-// ->order('U8传递时间 desc')
|
|
|
-// ->select();
|
|
|
-// if (empty($MaterialDataList)){
|
|
|
-// $this->success('未找到新的物料领用记录');
|
|
|
-// }
|
|
|
-// $data = [];
|
|
|
-// $i = $j = $m = 0;
|
|
|
-// foreach ($MaterialDataList as $key=>$value){
|
|
|
-// $res = \db('物料_收发记录')->where('Uniqid',$value['UniqId'])->count();
|
|
|
-// if ($res === 0){
|
|
|
-//// $data['add']
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// //产品资料同步
|
|
|
-//
|
|
|
-// public function ProductData()
|
|
|
-// {
|
|
|
-// if ($this->request->isGet() === false){
|
|
|
-// $this->error('请求错误');
|
|
|
-// }
|
|
|
-// }
|
|
|
+ /**
|
|
|
+ * 存货结构数据同步
|
|
|
+ */
|
|
|
+
|
|
|
+ public function MaterialRequisitionData()
|
|
|
+ {
|
|
|
+ if ($this->request->isGet() === false){
|
|
|
+ $this->error('请求错误');
|
|
|
+ }
|
|
|
+ $db3 = \db()->connect(config('database.db3'));
|
|
|
+ $MaterialDataList = $db3->name('U8_11存货结构')
|
|
|
+ ->where('MES接收时间',null)
|
|
|
+ ->where('MES接收状态','0')
|
|
|
+ ->select();
|
|
|
+ if (empty($MaterialDataList)){
|
|
|
+ $this->success('未找到新的物料领用记录');
|
|
|
+ }
|
|
|
+ $i = 0;
|
|
|
+ foreach ($MaterialDataList as $key=>$value){
|
|
|
+ $data = [
|
|
|
+ '编号' => $value['编号'],
|
|
|
+ '名称' => $value['名称'],
|
|
|
+ 'Sys_id' => '[272/超级用户]',
|
|
|
+ 'Sys_rq' => date('Y-m-d H:i:s',time()),
|
|
|
+ 'Mod_rq' => date('Y-m-d H:i:s',time()),
|
|
|
+ 'U8UID' => $value['U8_UID'],
|
|
|
+ 'UniqId' => $value['UniqId']
|
|
|
+ ];
|
|
|
+ if ($value['U8插入类型'] === '新增'){
|
|
|
+ $sql = \db('物料_存货结构')->fetchSql(true)->insert($data);
|
|
|
+ $res = \db()->query($sql);
|
|
|
+ if ($res === false){
|
|
|
+ $i++;
|
|
|
+ }else{
|
|
|
+ $sqlString = $db3->name('U8_11存货结构')
|
|
|
+ ->where('UniqId', $value['UniqId'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ $sql = \db('物料_存货结构')
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->where('UniqId',$value['UniqId'])
|
|
|
+ ->update($data);
|
|
|
+ $res = \db()->query($sql);
|
|
|
+ if ($res === false){
|
|
|
+ $i++;
|
|
|
+ }else{
|
|
|
+
|
|
|
+ $sqlString = $db3->name('U8_11存货结构')
|
|
|
+ ->where('UniqId', $value['UniqId'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($i !== 0){
|
|
|
+ $this->error('存货结构同步失败');
|
|
|
+ }else{
|
|
|
+ $this->success('存货结构同步成功');
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|