use "win.vl"
|
use "treeview.vm"
|
use "dev:vm[xdwgrid.vm]"
|
use "dev:vm[xdwtable.vm]"
|
use "pref.vl"
|
use "dev:vm[xml.vm]"
|
use "dev:vm[xaserverarg.vm]"
|
use "dev:vm[xaserver.vm]"
|
use "dev:vm[xutil.vm]"
|
use "dev:code[SysUser.vx]"
|
use "frame.vl"
|
use "file.vl"
|
unit vbusiness.xpage
|
[
|
UserImport is extend frame;
|
about UserImport
|
[
|
field:
|
[
|
SysUser lw_obj;
|
xdwgrid__ dw_list;
|
treeview__ tv_org;
|
xnode__ m_agentNode; //Agent Condition
|
string m_agentCond; //Agent Node
|
string m_sTxt;
|
string is_orgid;
|
]
|
|
method:
|
[
|
int SetAgent()
|
{
|
string xfNodeAgentArea = "agentarea";
|
xnode__ anode = new xnode__;
|
anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
|
var xframeElement = GetElement();
|
var agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
|
if(agent)
|
{
|
string s = agent.xml;
|
SetAgentNodeContent (anode,s);
|
}
|
return 1;
|
}
|
|
//½¹µã¼¤»î´¦Àíº¯Êý
|
int OnSetFocus(ref TEvent evt,int param)
|
{
|
SetAgent();
|
//ÖØÖù¤¾ßÌõ
|
return 1;
|
}
|
|
int OnRetrieve(string ls_orgid)
|
{
|
|
xml__ x=new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("OrgID",ls_orgid);
|
//trace(ls_orgid);
|
//if (xaserver__::ExecXQuery(GetServerUrl(),"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
|
if (url::get("SysUser.config/UserSelect.xq",arg.GetString(),x) == 1)
|
{
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
//trace(x.GetXml());
|
return 1;
|
}
|
|
int OnOK()
|
{
|
if (GetParam())
|
{
|
lw_obj = new SysUser;
|
lw_obj.setNativePointer(GetParam());
|
lw_obj = GetParam();
|
}
|
else
|
return 0;
|
|
int row = dw_list.GetNextSelectRow(1);
|
trace(row);
|
if (row<1)
|
{
|
alert("ÇëÑ¡ÔñÈËÔ±!");
|
return 1;
|
}
|
|
string sPositionID,sPositionName;
|
string sOrgID,sOrgName;
|
string sJobID,sJobName;
|
int wid = lw_obj.tv_usergroup.GetId();
|
int hitem=treeview__::GetSelectedItem(wid);
|
msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
|
|
|
while (row>0)
|
{
|
trace(row);
|
msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
|
trace(e.xml);
|
string sEmployeeNo = e.selectSingleNode("EmployeeNo").text+"";
|
string sOldEmpNo = e.selectSingleNode("OldEmpNo").text+"";
|
string sPersonID = e.selectSingleNode("PersonID").text+"";
|
string sPersonName = e.selectSingleNode("Name").text+"";
|
string sPassWord = xutil__::MD5(sOldEmpNo);
|
|
/*
|
xml__ xx = new xml__;
|
xx.setNativePointer(xml__ ::CreateInstance());
|
xaserverarg__ arg=new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("userno",sOldEmpNo);
|
arg.AddArg("password",sPassWord);
|
if(url::get("/sale/data/SysUser/GetOldPassWord",arg.GetString(),xx)==1)
|
{
|
if(xx.GetXml()!="")
|
{
|
msxml::IXMLDOMElement ex = xx.GetXmlDoc().documentElement;
|
sPassWord = ""+ex.text;
|
}
|
}*/
|
|
int nRow = lw_obj.dw_user.InsertRow(0);
|
lw_obj.dw_user.SetItemString(nRow,"EmployeeNo",sEmployeeNo);
|
lw_obj.dw_user.SetItemString(nRow,"UserName",sOldEmpNo);
|
lw_obj.dw_user.SetItemString(nRow,"PassWord",sPassWord);
|
lw_obj.dw_user.SetItemString(nRow,"PersonID",sPersonID);
|
lw_obj.dw_user.SetItemDisplayString(nRow,"PersonID",sPersonName);
|
lw_obj.dw_user.SetItemString(nRow,"Status","Y");
|
lw_obj.dw_user.SetItemDisplayString(nRow,"Status","ÓÐЧ");
|
lw_obj.dw_user.SetItemString(nRow,"OldEmpNo",sOldEmpNo);
|
/*
|
lw_obj.dw_user.SetItemString(nRow,"PositionID",sPositionID);
|
lw_obj.dw_user.SetItemDisplayString(nRow,"PositionID",sPositionName);
|
lw_obj.dw_user.SetItemString(nRow,"OrgID",sOrgID);
|
lw_obj.dw_user.SetItemDisplayString(nRow,"OrgID",sOrgName);
|
lw_obj.dw_user.SetItemString(nRow,"JobID",sJobID);
|
lw_obj.dw_user.SetItemDisplayString(nRow,"JobID",sJobName);
|
|
lw_obj.dw_user.SetItemString(nRow,"Status","Y");
|
lw_obj.dw_user.SetItemDisplayString(nRow,"Status","ÓÐЧ");
|
string sdate = TApp::GetCurDate()+"";
|
lw_obj.dw_user.SetItemString(nRow,"StartDate",sdate+"");
|
lw_obj.dw_user.SetItemString(nRow,"EndDate","2050-12-31");*/
|
|
row = dw_list.GetNextSelectRow(row + 1);
|
trace(row);
|
}
|
CloseWindow();
|
return 1;
|
}
|
int OnSubTree(string id,int parentitem)
|
{
|
int wid = tv_org.GetId();
|
if (treeview__::GetChildItem(wid,parentitem) >0) return 1;
|
xml__ x = new xml__;
|
x.setNativePointer(xml__ ::CreateInstance());
|
xaserverarg__ arg=new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("sguid",id);
|
if(url::post("/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
|
{
|
trace(x.GetXml());
|
return -1;
|
}
|
//trace(x.GetXml());
|
var list=x.GetXmlDoc().selectNodes("//item");
|
int i=0,s=list.length;
|
msxml::IXMLDOMElement xitem;
|
string sName;
|
string sguid;
|
string stype;
|
if (s >0)
|
{
|
for (i=0;i<s;i++)
|
{
|
xitem= list.item(i);
|
sName = xitem.SelectSingleNode("name").text;
|
sguid = xitem.SelectSingleNode("id").text;
|
stype = xitem.SelectSingleNode("typ").text;
|
//int curItem = tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
|
int curItem=0;
|
if (stype =="Org")
|
{
|
curItem=tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
|
tv_org.SetItemChild1(wid,curItem,1);
|
}
|
else
|
{
|
curItem=tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,21,21);
|
}
|
//OnSubTree(sguid,curItem);
|
}
|
}
|
return 1;
|
}
|
|
int OnCreateTree(string id,int parentitem)
|
{
|
//while (tv_1.GetRootItem()>0)
|
// tv_1.DeleteItem(tv_1.GetRootItem());
|
int wid = tv_org.GetId();
|
xml__ x = new xml__;
|
x.setNativePointer(xml__ ::CreateInstance());
|
x.LoadXml("<item><id>"+id+"</id><no/><name>·ï»Ë¼¯ÍÅ</name><typ>Org</typ></item>");
|
//msxml::IXMLDOMDocument root = x.GetXmlDoc();
|
//msxml::IXMLDOMElement RDoc = x.GetXmlDoc().documentElement;
|
//msxml::IXMLDOMElement ele = RDoc.SelectSingleNode("//Org");
|
msxml::IXMLDOMElement ele = x.GetXmlDoc().SelectSingleNode("//item");
|
int hItem = treeview__::InsertChildItemEx(wid,0,"·ï»Ë¼¯ÍÅ",ele,15,4);
|
treeview__::SetItemChild1(wid,hItem,1);
|
return 1;
|
|
/*xaserverarg__ arg=new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("sguid",id);
|
if(url::post("/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
|
{
|
trace(x.GetXml());
|
return -1;
|
}
|
//trace(x.GetXml());
|
var list=x.GetXmlDoc().selectNodes("//item");
|
int i=0,s=list.length;
|
msxml::IXMLDOMElement xitem;
|
string sName;
|
string sguid;
|
if (s >0)
|
{
|
for (i=0;i<s;i++)
|
{
|
xitem= list.item(i);
|
sName = xitem.SelectSingleNode("@name").text;
|
sguid = xitem.SelectSingleNode("@id").text;
|
int curItem = tv_org.InsertChildItemEx(wid,hItem,sName,xitem,15,4);
|
tv_org.SetItemChild1(wid,curItem,1);
|
//OnSubTree(sguid,curItem);
|
}
|
}
|
return 1;*/
|
}
|
|
int OnTreeExpanding(ref TNotifyEvent evt,int p)
|
{
|
ref NMTREEVIEW nmtv = evt.pnmh;
|
int sitem = nmtv.itemNew.hItem;
|
|
int hCursor = xutil__::SetCursorWait();
|
//string id = treeview__::GetItemData(tv_org.GetId(), sitem);
|
msxml::IXMLDOMElement ele = treeview__::GetItemData(tv_org.GetId(),sitem);
|
string id = ele.SelectSingleNode("id").text;
|
OnSubTree(id, sitem);
|
xutil__::RestoreCursor(hCursor);
|
return 1;
|
}
|
|
int OnTreeSelChanged(ref TXCommandEvent evt,int p)
|
{
|
int wid = tv_org.GetId();
|
int hitem=treeview__::GetSelectedItem(wid);
|
msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
|
if (ele)
|
{
|
string ls_orgid = ele.SelectSingleNode("id").text;
|
is_orgid = ls_orgid;
|
OnRetrieve(ls_orgid);
|
}
|
return 1;
|
}
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
if (comdid=="cb_import")
|
OnOK();
|
else if (comdid=="cb_close")
|
CloseWindow();
|
return 0;
|
}
|
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt,int p)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND",OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS",OnSetFocus);
|
//»ñµÃÊ÷µÄÑ¡Ôñʼþ
|
AttachEvent("tv_org", "TVN_SELCHANGED",OnTreeSelChanged);
|
AttachEvent("tv_org", "TVN_ITEMEXPANDING",OnTreeExpanding);
|
}
|
|
int OnInitial()
|
{
|
SetAgent();
|
OnAttachEvent();
|
return 1;
|
}
|
|
int onload()
|
{
|
tv_org = new treeview__ ;
|
tv_org.setNativePointer(this.GetControl("tv_org"));
|
dw_list = new xdwgrid__;
|
dw_list.setNativePointer(this.GetControl("dw_list"));
|
dw_list.openUrl("ϵͳÓû§.vface/template/SysUser/EmpSelect");
|
dw_list.SetSelectionMode(3); //3
|
dw_list.SetReadOnly(true);
|
|
OnInitial();
|
OnCreateTree("00000000-0000-0000-0000-000000000000", 0);
|
int wid = tv_org.GetId();
|
int root = treeview__::GetRootItem(wid);
|
treeview__::ExpandItem(wid,root);
|
OnRetrieve("00000000-0000-0000-0000-000000000000");
|
return 1;
|
}
|
]
|
|
]
|
]
|