get_organization_permission();
if($organization_permissions){
$base_filter['org_id'] = $organization_permissions;
}
$params = array(
'title'=>'订单自动分派规则',
'actions' => array(
array(
'label' => '新建',
'href' => 'index.php?app=omeauto&ctl=autodispatch&act=add',
'target' => 'dialog::{width:760,height:400,title:\'新建订单分派规则\'}',
)
),
'use_buildin_new_dialog' => false,
'use_buildin_set_tag'=>false,
'use_buildin_recycle'=>true,
'use_buildin_export'=>false,
'use_buildin_import'=>false,
'use_buildin_filter'=>false,
'use_view_tab'=>false,
'finder_cols' => 'column_confirm,column_disabled,name,column_order,group_id,op_id',
'base_filter' => $base_filter,
);
$this->finder('omeauto_mdl_autodispatch',$params);
}
function add(){
$this->_edit();
}
function edit($oid){
$this->pagedata['data'] = app::get('omeauto')->model('autodispatch')->dump(array('oid' => $oid), '*');
$org_id = $this->pagedata['data']['org_id'];
$this->pagedata['orderType'] = $this->getOrderType($org_id);
$this->pagedata['groups'] = app::get('ome')->model('groups')->getList('group_id,name',array('g_type'=>'confirm','org_id'=>$org_id));
$this->_edit($oid);
}
private function _edit($oid=NULL){
$operationOrgObj = app::get('ome')->model('operation_organization');
$orgs = $operationOrgObj->getList('*', $filter, 0, -1);
$this->pagedata['orgs'] = $orgs;
$this->page('autodispatch/add.html');
}
function do_add(){
$data = array_filter($_POST);
//修改
if ($data['oid']) {
kernel::database()->query(sprintf("update sdb_omeauto_order_type set did=0 where did=%s", $data["oid"]));
}
$data['config'] = is_array($data['config'])?$data['config']:NULL;
$data['op_id'] = isset($data['op_id'])?$data['op_id']:NULL;
$data['org_id'] = isset($data['org_id']) ? $data['org_id'] : 1; //默认为1,后面添加组织关系,就会自动关联.
app::get('omeauto')->model('autodispatch')->save($data);
foreach( (array)$data['config']['autoOrders'] as $tid) {
kernel::database()->query(sprintf("update sdb_omeauto_order_type set did=%s where tid=%s",$data["oid"], $tid));
}
echo "SUCC";
}
function setStatus($oid, $status) {
if ($status == 'true') {
$disabled = 'false';
} else {
$disabled = 'true';
}
kernel::database()->query("update sdb_omeauto_autodispatch set disabled='{$disabled}' where oid={$oid}");
echo "";
exit;
}
function setDefaulted($oid) {
if ($oid && $oid > 0) {
$dispatchObj = app::get('omeauto')->model('autodispatch');
$data = $dispatchObj->dump($oid, 'oid,config');
unset($data['config']['autoOrders']);
$upData = array(
'defaulted'=>'true',
'config'=>$data['config'],
);
//全部取消缺省
kernel::database()->query("update sdb_omeauto_autodispatch set defaulted='false'");
//全部取消缺省
kernel::database()->query("update sdb_omeauto_order_type set did=0 where did={$oid}");
//置指定仓库为缺省发货仓库
$dispatchObj->update($upData,array('oid'=>$oid));
}
//$this->end(true, '默认发货仓设置成功!!');
echo "";
}
function removeDefaulted($oid) {
if ($oid && $oid > 0) {
//置指定仓库为缺省发货仓库
kernel::database()->query("update sdb_omeauto_autodispatch set defaulted='false' where oid={$oid}");
}
echo "";
}
private function getOrderType($org_id) {
$info = app::get('omeauto')->model('order_type')->getList('*', array('disabled' => 'false','group_type'=>'order','org_id'=>$org_id), 0, -1);
foreach ($info as $idx => $rows) {
$title = '';
foreach ($rows['config'] as $row) {
$role = json_decode($row, true);
$title .= $role['caption'] . "\n";
}
$info[$idx]['title'] = $title;
}
return $info;
}
/**
* ajax_get_group
* @param mixed $org_id ID
* @return mixed 返回值
*/
public function ajax_get_group($org_id){
$groupObj = app::get('ome')->model('groups');
$ordTypeObj = app::get('omeauto')->model('order_type');
//$_POST['oid']
$groupInfo = $groupObj->getList('group_id,name',array('g_type'=>'confirm','org_id'=>$org_id));
//$this->pagedata['groups'] = $groupInfo;
$ordTypeInfo = $ordTypeObj->getList('*', array('disabled' => 'false','group_type'=>'order','org_id'=>$org_id), 0, -1);
foreach ($ordTypeInfo as $idx => $rows) {
$title = '';
foreach ($rows['config'] as $row) {
$role = json_decode($row, true);
$title .= $role['caption'] . "\n";
}
$ordTypeInfo[$idx]['title'] = $title;
if($rows['did']) $ordTypeInfo[$idx]['disabled'] = 'disabled';
}
//<{if $item.tid|in_array:$data.config.autoOrders}>checked<{else}><{if $item.did || $data.defaulted=='true'}>disabled<{/if}><{/if}>
//$this->pagedata['ordTypeInfo'] = $ordTypeInfo;
//$this->display('autodispatch/ajax_get_group.html');
$result = array('groups' => $groupInfo, 'ordTypeInfo'=>$ordTypeInfo);
echo json_encode($result);exit;
}
}
?>