|
|
@@ -2,6 +2,7 @@
|
|
|
package com.yw.eu.base.user.action;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Properties;
|
|
|
|
|
|
@@ -21,6 +22,7 @@ import com.yw.eu.base.user.model.Group;
|
|
|
import com.yw.eu.base.user.model.GroupTree;
|
|
|
import com.yw.eu.base.user.service.GroupService;
|
|
|
import com.yw.eu.base.user.service.UserService;
|
|
|
+import com.yw.hr.utils.MathUtils;
|
|
|
|
|
|
public class SubmitGroup extends PermitDataAction {
|
|
|
|
|
|
@@ -96,6 +98,13 @@ public class SubmitGroup extends PermitDataAction {
|
|
|
editGroup(group, id);
|
|
|
Map groupMap = ClassUtil.fillMap(group);
|
|
|
BundleContext.sendThreadEvent("com.yw.iface.eu.handler.GroupModifyHandler",groupMap);
|
|
|
+// List<Group> childGroups = groupService.loadGroupsByPid(id);
|
|
|
+// if(childGroups.size() > 0) {
|
|
|
+// for(Group childGroup : childGroups) {
|
|
|
+// childGroup.setLevel(String.valueOf(Integer.parseInt(level) + 1));
|
|
|
+// editChildGroup(childGroup, childGroup.getId().toString());
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
request.setAttribute("msgEvent", "1");
|
|
|
this.path = "EditGroup.do?chain=1&pid="+ancestorID;
|
|
|
@@ -211,6 +220,13 @@ public class SubmitGroup extends PermitDataAction {
|
|
|
}else{
|
|
|
this.addError(msg);
|
|
|
}
|
|
|
+ List<Group> childGroups = groupService.loadGroupsByPid(id);
|
|
|
+ if(childGroups.size() > 0) {
|
|
|
+ for(Group childGroup : childGroups) {
|
|
|
+ childGroup.setLevel(String.valueOf(level + 1));
|
|
|
+ editChildGroup(childGroup, childGroup.getId().toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
String logInfo = processDifferentInfo(oldGroup,group);
|
|
|
this.insertActionLog("修改部门", "修改部门"+oldGroup.getGroupName(), logInfo);
|
|
|
}
|
|
|
@@ -226,4 +242,56 @@ public class SubmitGroup extends PermitDataAction {
|
|
|
cols.put("level",pr.getProperty("eu_grp_level"));
|
|
|
return CommonUtil.processLogInfo(beforeUser,afterUser,cols);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改部门/公司
|
|
|
+ * @param group
|
|
|
+ * @param id
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ private void editChildGroup(Group group,String id) throws Exception{
|
|
|
+ boolean flag = false;
|
|
|
+ Group oldGroup = groupService.findGroupById(Long.valueOf(id));
|
|
|
+ if(!oldGroup.getAncestorID().equals(group.getAncestorID())){
|
|
|
+ Group oldUnit = groupTree.getGroupRoot(oldGroup.getAncestorID(),Constant.ORG_LEVEL_UNIT);
|
|
|
+ Group unit = groupTree.getGroupRoot(group.getAncestorID(),Constant.ORG_LEVEL_UNIT);
|
|
|
+ if(!oldUnit.getId().equals(unit.getId())){
|
|
|
+ userService.updateUnit(oldUnit.getId(),unit.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Group parentGroup = groupService.findGroupById(Long.valueOf(group.getAncestorID()));
|
|
|
+ String gtlevel = group.getGtLevel();
|
|
|
+ String msg = "修改失败!";
|
|
|
+ group.setRelation(groupService.loadReation(parentGroup));
|
|
|
+ Long level = Long.valueOf(group.getLevel());
|
|
|
+ if(level>2){
|
|
|
+ String companyId = groupService.loadCompanyId(group.getRelation());
|
|
|
+ if(!StringUtil.isEmpty(companyId)){
|
|
|
+ group.setCompanyId(Long.valueOf(companyId));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ group.setCompanyId(oldGroup.getCompanyId());
|
|
|
+ }
|
|
|
+ group.setId(new Long(id));
|
|
|
+ if(Long.valueOf(group.getAncestorID()).equals(group.getId())){
|
|
|
+ msg = "父部门不能为当前部门!";
|
|
|
+ }else{
|
|
|
+ flag = groupService.editGroup(group);
|
|
|
+ }
|
|
|
+ conn.commit();
|
|
|
+ if(flag){
|
|
|
+ this.addInfo("修改成功!");
|
|
|
+ }else{
|
|
|
+ this.addError(msg);
|
|
|
+ }
|
|
|
+ List<Group> childGroups = groupService.loadGroupsByPid(id);
|
|
|
+ if(childGroups.size() > 0) {
|
|
|
+ for(Group childGroup : childGroups) {
|
|
|
+ childGroup.setLevel(String.valueOf(level + 1));
|
|
|
+ editChildGroup(childGroup, childGroup.getId().toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String logInfo = processDifferentInfo(oldGroup,group);
|
|
|
+ this.insertActionLog("修改部门", "修改部门"+oldGroup.getGroupName(), logInfo);
|
|
|
+ }
|
|
|
}
|