print("运行人员同步接口");var File=Java.type("java.io.File");var Config={localPath:File.separator+"data"+File.separator+"OrganizationSyncRequest"+File.separator+"person"+File.separator};var applications=resources.getContext().applications();var archiveFlag=false;var Utils={getUserFlag:function(e){return e.flag||e.distinguishedName||e.unique||e.employee||e.mobile||e.id},getKeyEqualObjFromArray:function(e,t,r){for(var i=0;i-1)return true;if(e.flag&&Utils.arrayIndexOf([t.flag,t.unique,t.distinguishedName,t.levelName,t.id],e.flag)>-1)return true;if(t.id&&t.id==e.id)return true;if(t.unique&&t.unique==e.unique)return true;if(t.distinguishedName&&t.distinguishedName==e.distinguishedName)return true;if(t.levelName&&t.levelName==e.levelName)return true;return false}};function get(e){var t="";var r=Utils.getUserFlag(e);var i;var a;if(r){try{i=applications.getQuery("x_organization_assemble_control","person/"+r);var s=Utils.parseResp(i);if(s.type&&s.type=="success"){a=s.data}else{return Utils.getFailText(s)}}catch(e){return Utils.processError(e,"get() 出错: ")}delete a.woIdentityList;delete a.woRoleList;delete a.woGroupList;delete a.woPersonAttributeList;return a}else{t="参数中没有个人标志:distinguishedName , unique, employee, mobile 或 id, 不能获取用户";print(t);return t}}function add(e){print("添加个人");var t=Utils.objectClone(e);var r;var i;var a;try{if(t.superior&&t.superior!=""&&t.ignoreFlag!="no"){var s=get({flag:t.superior});if(typeof s!="object"){archiveFlag=true;delete t.superior}}var n=get(t);if(typeof n=="object"){if(t.forceFlag&&t.forceFlag=="yes"){for(var o in t){if(o!=="action"&&o!=="attributeList"&&o!=="unitList"){if(o=="orderNumber"&&(!t[o]||t[o]=="")){}else if(o=="id"||o=="unique"||o=="distinguishedName"||o=="changePasswordTime"){}else{n[o]=t[o]}}}if(!n.controllerList||n.controllerList==null)n.controllerList=[];a=applications.putQuery("x_organization_assemble_control","person/"+n.id,JSON.stringify(n))}else{r="人员“"+Utils.getUserFlag(t)+"”已经在系统内存在"}}else{if(t.controllerList===null)t.controllerList=[];var l=Utils.objectClone(t);if(l.attributeList)delete l.attributeList;if(l.unitList)delete l.unitList;l.controllerList=[];a=applications.postQuery("x_organization_assemble_control","person",JSON.stringify(l))}if(a&&!r){i=Utils.parseResp(a);if(i.type&&i.type=="success"){if(!t.attributeList)t.attributeList=[];r=AttributeAction.compare(t);if(!t.unitList)t.unitList=[];r=IdentityAction.compare(t)}else{r=Utils.getFailText(i)}}if(archiveFlag&&!r){Utils.saveToLocal(e)}}catch(e){r=Utils.processError(e,"添加个人 add() 出错:")}finally{var u={result:r?"error":"success",description:r||""};if(i&&i.data){u.id=i.data.id}return u}}function update(e){print("修改个人");var t=Utils.objectClone(e);var r;var i;try{if(t.superior&&t.superior!=""&&t.ignoreFlag!="no"){var a=get({flag:t.superior});if(typeof a!="object"){archiveFlag=true;delete t.superior}}var s=get(t);if(typeof s=="object"){for(var n in t){if(n!=="action"&&n!=="attributeList"&&n!=="unitList"){if(n=="orderNumber"&&(!t[n]||t[n]=="")){}else if(n=="id"||n=="unique"||n=="distinguishedName"||n=="changePasswordTime"){}else{s[n]=t[n]}}}if(!s.controllerList||s.controllerList==null)s.controllerList=[];var o=applications.putQuery("x_organization_assemble_control","person/"+s.id,JSON.stringify(s));var i=Utils.parseResp(o);if(i.type&&i.type=="success"){if(!t.attributeList)t.attributeList=[];r=AttributeAction.compare(t);if(!t.unitList)t.unitList=[];r=IdentityAction.compare(t)}else{r=Utils.getFailText(i)}}else{r=s}if(archiveFlag&&!r){Utils.saveToLocal(e)}}catch(e){r=Utils.processError(e,"修改个人 update() 出错:")}finally{var l={result:r?"error":"success",description:r||""};if(i&&i.data){l.id=i.data.id}return l}}function updatePassword(e){print("修改用户密码");var t="";var r;var i=Utils.getUserFlag(e);if(i){try{var a={value:e.password};var s=applications.putQuery("x_organization_assemble_control","person/"+i+"/set/password",JSON.stringify(a));r=Utils.parseResp(s);if(r.type&&r.type=="success"){}else{t=Utils.getFailText(r)}}catch(e){t=Utils.processError(e,"修改用户密码出错 "+i+" updatePassword() 出错:")}}else{t="参数中没有个人标志:distinguishedName , unique, employee, mobile 或 id, 不能获取用户";print(t)}var n={result:t?"error":"success",description:t||""};return n}function updateSuperior(e){print("修改个人汇报对象");var t;var r;try{var i=get(e);if(typeof i=="object"){i.superior=e.superior;if(!i.controllerList)i.controllerList=[];var a=applications.putQuery("x_organization_assemble_control","person/"+i.id,JSON.stringify(i));r=Utils.parseResp(a);if(r.type&&r.type=="success"){}else{t=Utils.getFailText(r)}}else{t=i}}catch(e){t=Utils.processError(e,"修改个人 updateSuperior() 出错:")}finally{var s={result:t?"error":"success",description:t||""};if(r&&r.data){s.id=r.data.id}return s}}function remove(e){print("删除个人");var t;var r;try{var i=get(e);if(typeof i=="object"){var a=applications.deleteQuery("x_organization_assemble_control","person/"+i.id);r=Utils.parseResp(a);if(r.type&&r.type=="success"){}else{t=Utils.getFailText(r)}}else{t=i}}catch(e){t=Utils.processError(e,"删除个人 remove() 出错:")}finally{var s={result:t?"error":"success",description:t||""};if(r&&r.data){s.id=r.data.id}return s}}function init(){var t="";var e="";try{print("requestText="+requestText);var r=JSON.parse(requestText);print("type of requestJson = "+typeof r);if(typeof r==="string"){r=JSON.parse(r)}var i=r.action;print("action="+i);switch(i){case"add":t=add(r);break;case"update":t=update(r);break;case"updatepwd":t=updatePassword(r);break;case"updateSuperior":t=updateSuperior(r);break;case"delete":t=remove(r);break;default:t={result:"error",description:"requestText未设置action,不执行操作"};break}}catch(e){e.printStackTrace();t={result:"error",description:e.name+": "+e.message}}finally{print("responseText="+JSON.stringify(t));return t}}init();