Commit 6ded41e7 authored by 蒋林's avatar 蒋林

1. 微波炉系列订单,需要机器信息需要重新添加接口

1.1 机器编码: 搜索->产品名称->机器信息
1.2 机器详细信息: 通过1.1返回值获取机器详细信息
1.3 机器信息保存: 通过1.2返回值,保存机器信息
1.4 新增机器接口: 1.3入参需要
2. 维修单没有订单号, 需要添加搜索订单接口
2.1 根据手机号搜索订单,返回订单列表
parent 17200e18
...@@ -81,6 +81,33 @@ class Galanz extends BaseController ...@@ -81,6 +81,33 @@ class Galanz extends BaseController
$obj->ReturnMessage(true, '', $order); $obj->ReturnMessage(true, '', $order);
} }
public function searchWorkOrder()
{
$param = $this->input->post();
//验证参数
$obj = $this->receiveGalanzObj();
$obj->SetValues($param);
$obj->CheckSearchWorkOrderValues();
$values = $obj->GetValues();
$this->saveLog($values['mobile'], 'queryUserProfileOrder', $param);
$sourceGalanzObj = $this->sourceGalanzObj($values['account'], $values['pwd']);
$result = $sourceGalanzObj->SearchWorkOrder('', $values['mobile']);
$list = [];
if ($result) {
foreach ($result as $k => $v) {
$temp = $sourceGalanzObj->WorkOrderDetail($v[0]);
$temp = $this->diffWorkOrder($temp, '__VIEWSTATE,machine,fault,parts');
$list[] = $temp;
}
}
$obj->ReturnMessage(true, '', $list);
}
//保存订单 //保存订单
public function saveOrder() public function saveOrder()
{ {
...@@ -290,6 +317,26 @@ class Galanz extends BaseController ...@@ -290,6 +317,26 @@ class Galanz extends BaseController
$values = $obj->GetValues(); $values = $obj->GetValues();
$this->saveLog($values['work_order_no'], 'addProdWorkOrder', $param); $this->saveLog($values['work_order_no'], 'addProdWorkOrder', $param);
$sourceGalanzObj = $this->sourceGalanzObj($values['account'], $values['pwd']);
$order = $this->getWorkOrder($values['work_order_no'], $sourceGalanzObj);
$result = $sourceGalanzObj->ProdAddWorkOrder($order['new_id'], $order);
$result = $this->diffWorkOrder($result);
$obj->ReturnMessage(true, '', $result);
}
//维修单-机器信息-产品条码
public function setProdWorkOrder()
{
$param = $this->input->post();
//验证参数
$obj = $this->receiveGalanzObj();
$obj->SetValues($param);
$obj->CheckSetProdWorkOrderValues();
$values = $obj->GetValues();
$this->saveLog($values['work_order_no'], 'setProdWorkOrder', $param);
$sourceGalanzObj = $this->sourceGalanzObj($values['account'], $values['pwd']); $sourceGalanzObj = $this->sourceGalanzObj($values['account'], $values['pwd']);
$order = $this->getWorkOrder($values['work_order_no'], $sourceGalanzObj); $order = $this->getWorkOrder($values['work_order_no'], $sourceGalanzObj);
$result = $sourceGalanzObj->ProdGetWorkOrder($order['new_id'], $order, $values['txtproducenumber']); $result = $sourceGalanzObj->ProdGetWorkOrder($order['new_id'], $order, $values['txtproducenumber']);
...@@ -403,6 +450,42 @@ class Galanz extends BaseController ...@@ -403,6 +450,42 @@ class Galanz extends BaseController
$obj->ReturnMessage(true, '', $result); $obj->ReturnMessage(true, '', $result);
} }
//维修单:机器信息-机器编码
public function lookupProductByGroup()
{
$param = $this->input->post();
//验证参数
$obj = $this->receiveGalanzObj();
$obj->SetValues($param);
$obj->CheckLookupProductByGroupValues();
$values = $obj->GetValues();
$this->saveLog($values['productgroupid'], 'lookupProductByGroup', $param);
$sourceGalanzObj = $this->sourceGalanzObj($values['account'], $values['pwd']);
$result = $sourceGalanzObj->LookupProductByGroup($values['productgroupid'], $values['productname']);
$obj->ReturnMessage(true, '', $result);
}
//维修单:机器信息-机器编码-机器详情信息
public function getProductTypeById()
{
$param = $this->input->post();
//验证参数
$obj = $this->receiveGalanzObj();
$obj->SetValues($param);
$obj->CheckGetProductTypeByIdValues();
$values = $obj->GetValues();
$this->saveLog($values['id'], 'getProductTypeById', $param);
$sourceGalanzObj = $this->sourceGalanzObj($values['account'], $values['pwd']);
$result = $sourceGalanzObj->GetProductTypeById($values['id']);
$obj->ReturnMessage(true, '', $result);
}
//维修单:故障信息-故障现象 //维修单:故障信息-故障现象
public function lookupErrormModule() public function lookupErrormModule()
{ {
...@@ -581,12 +664,16 @@ class Galanz extends BaseController ...@@ -581,12 +664,16 @@ class Galanz extends BaseController
return $order; return $order;
} }
private function diffWorkOrder($order) private function diffWorkOrder($order, $str = '')
{ {
//字段过滤 //字段过滤
if (empty($str)) {
$fields = [ $fields = [
'__VIEWSTATE', '__VIEWSTATE',
]; ];
} else {
$fields = explode(',', $str);
}
$order = $this->diff($order, $fields); $order = $this->diff($order, $fields);
return $order; return $order;
...@@ -635,7 +722,7 @@ class Galanz extends BaseController ...@@ -635,7 +722,7 @@ class Galanz extends BaseController
*/ */
private function sourceGalanzObj($username, $pwd) private function sourceGalanzObj($username, $pwd)
{ {
// $pwd = str_aes(urldecode($pwd), '', 'de'); // $pwd = str_aes($pwd, '', 'de');
// //
// if (!$pwd) { // if (!$pwd) {
// return_msg(false, '密码无效'); // return_msg(false, '密码无效');
......
This diff is collapsed.
...@@ -73,16 +73,17 @@ class Sgalanz extends BaseController ...@@ -73,16 +73,17 @@ class Sgalanz extends BaseController
public function workOrderDetail() public function workOrderDetail()
{ {
$obj = $this->galanzObj(); $obj = $this->galanzObj();
$list = $obj->WorkOrderDetail('44e3a501-1a44-4d17-a9fc-d41bb2457a91'); $list = $obj->WorkOrderDetail('cb027cbf-a702-4c91-82ba-e5f323e854eb');
$this->show($list); $this->show($list);
} }
public function prodAddWorkOrder() public function prodAddWorkOrder()
{ {
$obj = $this->galanzObj(); $obj = $this->galanzObj();
$list = $obj->WorkOrderDetail('b4562475-1eac-415d-8713-653f8ea7d7c3'); $list = $obj->WorkOrderDetail('cb027cbf-a702-4c91-82ba-e5f323e854eb');
$result = $obj->ProdGetWorkOrder($list['new_id'], $list, '15C1321000388166'); //$result = $obj->ProdAddWorkOrder($list['new_id'], $list);
$result = $obj->ProdGetWorkOrder($list['new_id'], $list, '15H551100010330');
$this->show($result); $this->show($result);
} }
...@@ -101,12 +102,22 @@ class Sgalanz extends BaseController ...@@ -101,12 +102,22 @@ class Sgalanz extends BaseController
$obj = $this->galanzObj(); $obj = $this->galanzObj();
//$list = $obj->WorkOrderDetail('b4562475-1eac-415d-8713-653f8ea7d7c3'); //$list = $obj->WorkOrderDetail('b4562475-1eac-415d-8713-653f8ea7d7c3');
$result['a'] = $obj->LookupErrormModule('c7d14361-df35-4147-966f-ee671298d3eb'); $result['a'] = $obj->LookupProductByGroup('fabf8619-07cc-4164-929e-9d433301d625', '微波炉P70D10EP-QA(P0)');
$result['b'] = $obj->LookupErrorGroup($result['a'][0]['id']); // $result['b'] = $obj->LookupErrormModule('c73cf4b6-0a8d-4810-961f-111bcb925727');
$result['c'] = $obj->LookupErrorSolution($result['b'][0]['id']); // $result['c'] = $obj->LookupErrorGroup('a7af025a-d061-e411-80cb-00155d016a1c');
// $result['c'] = $obj->LookupErrorSolution($result['b'][0]['id']);
// $result['d1'] = $obj->LookupErrorParts($result['c'][0]['id'], 'c7d14361-df35-4147-966f-ee671298d3eb');
// $result['d2'] = $obj->LookupParts('6f562a61-3a22-4a16-9e42-f3306dcc10a0', '48e24c55-7b53-46ae-8e43-c20e2435adbc');
$this->show($result);
}
public function getData()
{
$obj = $this->galanzObj();
$result = $obj->GetProductTypeById('66d07939-8c72-478f-a586-b4956b92b1af');
$result['d1'] = $obj->LookupErrorParts($result['c'][0]['id'], 'c7d14361-df35-4147-966f-ee671298d3eb');
$result['d2'] = $obj->LookupParts('6f562a61-3a22-4a16-9e42-f3306dcc10a0', '48e24c55-7b53-46ae-8e43-c20e2435adbc');
$this->show($result); $this->show($result);
} }
...@@ -115,11 +126,16 @@ class Sgalanz extends BaseController ...@@ -115,11 +126,16 @@ class Sgalanz extends BaseController
// $account = [ // $account = [
// 'username' => 'c01000005', // 'username' => 'c01000005',
// 'pwd' => 'weixiuhui010' // 'pwd' => 'weixiuhui010'
// ];
// $account = [
// 'username' => 'K75516022',
// 'pwd' => '123456'
// ]; // ];
$account = [ $account = [
'username' => 'K75516022', 'username' => 'W75509345',
'pwd' => '123456' 'pwd' => 'dgqh!769'
]; ];
$this->load->library('Source/SourceGalanz', $account, 'SourceGalanz'); $this->load->library('Source/SourceGalanz', $account, 'SourceGalanz');
......
...@@ -25,12 +25,9 @@ class ReceiveGalanz extends Receive ...@@ -25,12 +25,9 @@ class ReceiveGalanz extends Receive
$this->CheckValues($fileds); $this->CheckValues($fileds);
} }
/** public function CheckSearchWorkOrderValues()
* 搜索订单
*/
public function CheckSearchOrderValues()
{ {
$fileds = ['out_trade_no']; $fileds = ['mobile'];
$this->CheckValues($fileds); $this->CheckValues($fileds);
} }
...@@ -142,6 +139,7 @@ class ReceiveGalanz extends Receive ...@@ -142,6 +139,7 @@ class ReceiveGalanz extends Receive
'visittime', 'visittime',
'finishtime', 'finishtime',
'repairapply', 'repairapply',
'machine',
'fault', 'fault',
'parts', 'parts',
]; ];
...@@ -176,6 +174,28 @@ class ReceiveGalanz extends Receive ...@@ -176,6 +174,28 @@ class ReceiveGalanz extends Receive
$order['new_repairapply'] = $values['repairapply']; $order['new_repairapply'] = $values['repairapply'];
} }
//处理机器信息参数
if ($values['machine']) {
$machine = json_decode($values['machine'], true);
if (is_array($machine) && $machine && $order['machine']) {
foreach ($order['machine'] as $kk => $vv) {
if ($machine['chk'] == $vv['chk']) {
isset($machine['cbiserror']) && $vv['cbiserror'] = urldecode($machine['cbiserror']);
isset($machine['txtproducenumber']) && $vv['txtproducenumber'] = urldecode($machine['txtproducenumber']);
isset($machine['producttypeid']) && $vv['new_producttypeid'] = urldecode($machine['producttypeid']);
isset($machine['producttypeidName']) && $vv['new_producttypeidName'] = urldecode($machine['producttypeidName']);
isset($machine['productmodelid']) && $vv['new_productmodelid'] = urldecode($machine['productmodelid']);
isset($machine['productmodelidName']) && $vv['new_productmodelidName'] = urldecode($machine['productmodelidName']);
isset($machine['productnumber']) && $vv['hidnew_productnumber'] = urldecode($machine['productnumber']);
isset($machine['modelnumber']) && $vv['hidnew_modelnumber'] = urldecode($machine['modelnumber']);
$order['machine'][$kk] = $vv;
}
}
}
}
//处理故障信息参数 //处理故障信息参数
if ($values['fault']) { if ($values['fault']) {
$fault = json_decode($values['fault'], true); $fault = json_decode($values['fault'], true);
...@@ -237,6 +257,12 @@ class ReceiveGalanz extends Receive ...@@ -237,6 +257,12 @@ class ReceiveGalanz extends Receive
} }
public function CheckAddProdWorkOrderValues() public function CheckAddProdWorkOrderValues()
{
$fileds = ['work_order_no'];
$this->CheckValues($fileds);
}
public function CheckSetProdWorkOrderValues()
{ {
$fileds = ['work_order_no', 'txtproducenumber']; $fileds = ['work_order_no', 'txtproducenumber'];
$this->CheckValues($fileds); $this->CheckValues($fileds);
...@@ -330,6 +356,22 @@ class ReceiveGalanz extends Receive ...@@ -330,6 +356,22 @@ class ReceiveGalanz extends Receive
return $order; return $order;
} }
public function CheckGetProductTypeByIdValues()
{
$fileds = ['id'];
$this->CheckValues($fileds);
}
public function CheckLookupProductByGroupValues()
{
$fileds = ['productgroupid'];
$this->CheckValues($fileds);
$dfields = [
'productname',
];
$this->SetDefaultValues($dfields);
}
public function CheckLookupErrormModuleValues() public function CheckLookupErrormModuleValues()
{ {
......
...@@ -223,9 +223,10 @@ class SourceGalanz extends Source ...@@ -223,9 +223,10 @@ class SourceGalanz extends Source
* 查询维修单 * 查询维修单
* @param string $new_number * @param string $new_number
* @param string $mobile * @param string $mobile
* @param string $approvalstatus 单据状态
* @return array * @return array
*/ */
public function SearchWorkOrder($new_number='', $mobile='') public function SearchWorkOrder($new_number='', $mobile='', $approvalstatus='')
{ {
$post = [ $post = [
'__EVENTTARGET' => 'ctl00$ContentQuery$btnQuery', '__EVENTTARGET' => 'ctl00$ContentQuery$btnQuery',
...@@ -244,7 +245,7 @@ class SourceGalanz extends Source ...@@ -244,7 +245,7 @@ class SourceGalanz extends Source
'ctl00$ContentQuery$new_ischangepart' => 1, 'ctl00$ContentQuery$new_ischangepart' => 1,
'ctl00$ContentQuery$new_returnfactory' => 1, 'ctl00$ContentQuery$new_returnfactory' => 1,
'ctl00$ContentQuery$new_isrelief' => 1, 'ctl00$ContentQuery$new_isrelief' => 1,
'ctl00$ContentQuery$new_approvalstatus' => '', 'ctl00$ContentQuery$new_approvalstatus' => $approvalstatus,
'ctl00$ContentQuery$txtproducenumber' => '', 'ctl00$ContentQuery$txtproducenumber' => '',
'ctl00$ContentQuery$new_name' => '', 'ctl00$ContentQuery$new_name' => '',
'ctl00$ContentQuery$new_iskt' => 0, 'ctl00$ContentQuery$new_iskt' => 0,
...@@ -779,71 +780,129 @@ class SourceGalanz extends Source ...@@ -779,71 +780,129 @@ class SourceGalanz extends Source
return $order; return $order;
} }
/**
* 机器信息 - 机器编码
* @param $productgroupid
* @param String $search 产品
* @return array
*/
public function LookupProductByGroup($productgroupid, $search = '')
{
return $this->LookupSingle('lookupProductByGroup', $productgroupid, $search);
}
/** /**
* 故障信息 - 故障现象 * 故障信息 - 故障现象
* @param $workorderproductid * @param $workorderproductid
* @param $search
* @return array * @return array
*/ */
public function LookupErrormModule($workorderproductid) public function LookupErrormModule($workorderproductid, $search = '')
{ {
return $this->LookupSingle('lookupErrormodule', $workorderproductid); return $this->LookupSingle('lookupErrormodule', $workorderproductid, $search);
} }
/** /**
* 故障信息 - 原因分类 * 故障信息 - 原因分类
* @param $errormoduleid * @param $errormoduleid
* @param $search
* @return array * @return array
*/ */
public function LookupErrorGroup($errormoduleid) public function LookupErrorGroup($errormoduleid, $search = '')
{ {
return $this->LookupSingle('lookupErrorgroup', $errormoduleid); return $this->LookupSingle('lookupErrorgroup', $errormoduleid, $search);
} }
/** /**
* 故障信息 - 维修措施 * 故障信息 - 维修措施
* @param $errorgroupid * @param $errorgroupid
* @param $search
* @return array * @return array
*/ */
public function LookupErrorSolution($errorgroupid) public function LookupErrorSolution($errorgroupid, $search = '')
{ {
return $this->LookupSingle('lookupErrorsolution', $errorgroupid); return $this->LookupSingle('lookupErrorsolution', $errorgroupid, $search);
} }
/** /**
* 换件信息 - 不良品名称 * 换件信息 - 不良品名称
* @param $errorsolutionid * @param $errorsolutionid
* @param $workorderproductid * @param $workorderproductid
* @param $search
* @return array * @return array
*/ */
public function LookupErrorParts($errorsolutionid, $workorderproductid) public function LookupErrorParts($errorsolutionid, $workorderproductid, $search = '')
{ {
return $this->LookupSingle('lookupErrorparts', $errorsolutionid.'%20'.$workorderproductid); return $this->LookupSingle('lookupErrorparts', $errorsolutionid.'%20'.$workorderproductid, $search);
} }
/** /**
* 换件信息 - 良品名称 * 换件信息 - 良品名称
* @param $siteid * @param $siteid
* @param $errorpartsid * @param $errorpartsid
* @param $search
* @return array * @return array
*/ */
public function LookupParts($siteid, $errorpartsid) public function LookupParts($siteid, $errorpartsid, $search = '')
{ {
return $this->LookupSingle('lookupParts', $siteid.'%20'.$errorpartsid); return $this->LookupSingle('lookupParts', $siteid.'%20'.$errorpartsid, $search);
} }
private function LookupSingle($key, $val) private function LookupSingle($key, $val, $search='')
{ {
$url = self::$host . "/Common/lookupSingle.aspx?lookupname={$key}&param={$val}"; $url = self::$host . "/Common/lookupSingle.aspx?lookupname={$key}&param={$val}";
$result = $this->GetUrlContents($url); $result = $this->GetUrlContents($url);
preg_match_all('/<tr[^>]+style="Cursor:hand"[^>]*>[\s\S]+?<\/tr>/', $result, $tr); if ($search) {
$post = [
'__EVENTTARGET' => 'btnSearch',
'__EVENTARGUMENT' => '',
'__LASTFOCUS' => '',
'__VIEWSTATE' => $this->OrderFormValue($result, $this->OrderFormReg('__VIEWSTATE', 'text'), 'text'),
'hidIdIndex' => $this->OrderFormValue($result, $this->OrderFormReg('hidIdIndex', 'text'), 'text'),
'hidNameIndex' => $this->OrderFormValue($result, $this->OrderFormReg('hidNameIndex', 'text'), 'text'),
'hidEntityName' => $this->OrderFormValue($result, $this->OrderFormReg('hidEntityName', 'text'), 'text'),
'ddlFieldList' => 'name',//$this->OrderFormValue($result, $this->OrderFormReg('ddlFieldList', 'select'), 'select'),
'txtValue' => $search,
'PagerToolBar1$ctl00' => '50',
'PagerToolBar1$ctl05' => '1',
];
$headers = $this->Header($url);
$result = $this->CurlPost($url, $post, $headers);
$result = gzdecode($result['data']);
return $this->LookupSingleFields($result, $key, 'td');
} else {
return $this->LookupSingleFields($result, $key);
}
}
private function LookupSingleFields($result, $type, $tag = 'font')
{
preg_match_all('/<tr[^>]+style="[^"]*Cursor:hand"[^>]*>[\s\S]+?<\/tr>/', $result, $tr);
$list = []; $list = [];
if ($tr[0]) { if (empty($tr[0])) {
switch ($key) { return $list;
}
$tr = $tr[0];
switch ($tag) {
case 'td':
$reg = '/td[^>]+>([^<]+)</';
break;
case 'font':
$reg = '/font[^>]+>([^<]+)</';
break;
}
switch ($type) {
case 'lookupErrorsolution': case 'lookupErrorsolution':
foreach ($tr[0] as $k => $v) { foreach ($tr as $k => $v) {
preg_match_all('/<font color="#333333">([^<]+)</', $v, $txt); preg_match_all($reg, $v, $txt);
if (isset($txt[1]) && $txt[1]) { if (isset($txt[1]) && $txt[1]) {
$temp['id'] = $txt[1][1]; $temp['id'] = $txt[1][1];
...@@ -856,8 +915,8 @@ class SourceGalanz extends Source ...@@ -856,8 +915,8 @@ class SourceGalanz extends Source
break; break;
case 'lookupParts': case 'lookupParts':
foreach ($tr[0] as $k => $v) { foreach ($tr as $k => $v) {
preg_match_all('/<font color="#333333">([^<]+)</', $v, $txt); preg_match_all($reg, $v, $txt);
if (isset($txt[1]) && $txt[1]) { if (isset($txt[1]) && $txt[1]) {
$temp['id'] = $txt[1][1]; $temp['id'] = $txt[1][1];
...@@ -873,9 +932,24 @@ class SourceGalanz extends Source ...@@ -873,9 +932,24 @@ class SourceGalanz extends Source
} }
break; break;
case 'lookupProductByGroup':
foreach ($tr as $k => $v) {
preg_match_all($reg, $v, $txt);
if (isset($txt[1]) && $txt[1]) {
$temp['id'] = $txt[1][1];
$temp['group'] = $txt[1][2];
$temp['no'] = $txt[1][3];
$temp['name'] = $txt[1][4];
$list[] = $temp;
}
}
break;
default: default:
foreach ($tr[0] as $k => $v) { foreach ($tr as $k => $v) {
preg_match_all('/<font color="#333333">([^<]+)</', $v, $txt); preg_match_all($reg, $v, $txt);
if (isset($txt[1]) && $txt[1]) { if (isset($txt[1]) && $txt[1]) {
$temp['id'] = $txt[1][1]; $temp['id'] = $txt[1][1];
...@@ -886,7 +960,50 @@ class SourceGalanz extends Source ...@@ -886,7 +960,50 @@ class SourceGalanz extends Source
} }
} }
} }
return $list;
}
/**
* 获取机器信息
* @param $id
* @return mixed
*/
public function GetProductTypeById($id)
{
return $this->GetData('getProductTypeById', $id);
} }
private function GetData($type, $id)
{
$url = self::$host . "/common/GetData.aspx?configname={$type}&paramslist={$id}";
$result = $this->GetUrlContents($url);
$str = urldecode($result);
$str = str_replace('decodeURIComponent(', '', $str);
$str = str_replace('\')', '\'', $str);
preg_match('/{([\S\s]+?)}/', $str, $arr);
$list = [];
if (isset($arr[1]) && $arr[1]) {
$arr[1] = trim($arr[1]);
if (empty($arr[1])) {
return $list;
}
$data = explode(',', $arr[1]);
foreach ($data as $key => $value) {
$value = explode(':', $value);
if (isset($value[0]) && isset($value[1])) {
$list[trim($value[0])] = trim($value[1]);
}
}
}
return $list; return $list;
} }
...@@ -2089,7 +2206,7 @@ class SourceGalanz extends Source ...@@ -2089,7 +2206,7 @@ class SourceGalanz extends Source
{ {
preg_match('/<scriptt[^>]*>alert\("([^"]+)"\);?<\/scriptt>/', $html, $arr); preg_match('/<scriptt[^>]*>alert\("([^"]+)"\);?<\/scriptt>/', $html, $arr);
$error = isset($arr[1]) ? $arr[1] : ''; $error = isset($arr[1]) ? $arr[1] : '';
if ($error) { if ($error && !in_array($error, ['已保存!'])) {
return_msg(false, $error); return_msg(false, $error);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment