Browse Source

科德系统组织机构修改异常修改

anderx 3 years ago
parent
commit
7a5e86805d

+ 8 - 52
src/main/java/com/goafanti/organization/controller/AdminOrganizationController.java

@@ -59,35 +59,13 @@ public class AdminOrganizationController extends BaseApiController{
 			return res;
 		}
 		String sdepNo=organizationManagementMapper.selectDepNo(superId);
-		int Count=organizationManagementMapper.selectDepNoCount(superId);
-		if((Count+1)>99){
+		int count=organizationManagementMapper.selectDepNoCount(superId);
+		if((count+1)>99){
 			res.getError().add(buildError("","每层最多存在99个子类"));
 			return res;
 		}
-		if(Count<10){
-			String dep=sdepNo+"0"+Count;
-			String sid=organizationManagementMapper.selectIdByDepNo(dep);
-			while(sid!=null){
-				Count=(Count+1)%100;
-				if(Count>=10){
-					dep=sdepNo+Count;
-				}else{
-					dep=sdepNo+"0"+Count;
-				}
-				sid=organizationManagementMapper.selectIdByDepNo(dep);
-			}
-			organizationService.addOrganization(name, managerId, type, superId, remarks,dep,workingHoursType);
-		}
-		if(Count>=10){
-			String dep=sdepNo+Count;
-			String sid=organizationManagementMapper.selectIdByDepNo(dep);
-			while(sid!=null){
-				Count=(Count+1)%100;
-				dep=sdepNo+Count;
-				sid=organizationManagementMapper.selectIdByDepNo(dep);
-			}
-			organizationService.addOrganization(name, managerId, type, superId, remarks,dep,workingHoursType);
-		}
+
+			organizationService.addOrganization(name, managerId, type, superId, remarks,sdepNo,count,workingHoursType);
 
 		return res;
 	}
@@ -117,36 +95,14 @@ public class AdminOrganizationController extends BaseApiController{
 			return res;
 		}
 		String sdepNo=organizationManagementMapper.selectDepNo(superId);//No
-		int Count=organizationManagementMapper.selectDepNoCount(superId);//14
-		if((Count+1)>99){
+		int count=organizationManagementMapper.selectDepNoCount(superId);//14
+		if((count+1)>99){
 			res.getError().add(buildError("","每层最多存在99个子类"));
 			return res;
 		}
-		int i=0;
-		if(Count<10){
-			String dep=sdepNo+"0"+Count;
-			String sid=organizationManagementMapper.selectIdByDepNo(dep);
-			while(sid!=null){
-				Count=(Count+1)%100;
-				if(Count>=10){
-					dep=sdepNo+Count;
-				}else{
-					dep=sdepNo+"0"+Count;
-				}
-				sid=organizationManagementMapper.selectIdByDepNo(dep);
-			}
-			i=organizationService.updateOrganization(name, type, managerId, superId, status, province,remarks,id,dep,abbreviation,financeId,workingHoursType);
-		}else if(Count>=10){
-			String dep=sdepNo+Count;
-			String sid=organizationManagementMapper.selectIdByDepNo(dep);
-			while(sid!=null){
-				Count=(Count+1)%100;
-				dep=sdepNo+Count;
-				sid=organizationManagementMapper.selectIdByDepNo(dep);
-			}
-			i=organizationService.updateOrganization(name, type, managerId, superId, status, province,remarks,id,dep,abbreviation,financeId,workingHoursType);
-		}
 
+		int i=organizationService.updateOrganization(name, type, managerId, superId, status, province,remarks,id,
+				sdepNo,count,abbreviation,financeId,workingHoursType);
 		return res.data(i);
 	}
 

+ 8 - 8
src/main/java/com/goafanti/organization/service/OrganizationService.java

@@ -14,12 +14,12 @@ public interface OrganizationService {
 	 * @param pageSize
 	 * @return
 	 */
-	Pagination<OrganizationListOut> 
+	Pagination<OrganizationListOut>
 	listOrganizationManagement(OrganizationListOut olo,Integer pageNo, Integer pageSize);
 	/**组织名称查上级组织*/
 	List<OrganizationListOut> selectSuperId(Integer i);
 	/**
-	 * 
+	 *
 	 * @param name 组织名称
 	 * @param managerId 负责人ID
 	 * @param type 组织类型
@@ -27,19 +27,19 @@ public interface OrganizationService {
 	 * @param desc 组织职能说明
 	 * @return
 	 */
-	int addOrganization(String name,String managerId,String type,String superId,String desc,String dep,Integer workingHoursType);
+	int addOrganization(String name,String managerId,String type,String superId,String desc,String sdepNo,Integer count,Integer workingHoursType);
 	/**
 	 * 模糊查询负责人名称
 	 * @param name
 	 * @return
 	 */
 	List<AdminListBo> selectName(String name);
-	
+
 	OrganizationListOut selectAllById(String id);
-	
+
 	int deleteById(String id);
-	
+
 	int updateOrganization(String name,String type,String managerId,String superId,String status,Integer province,
-			String remarks,String id,String depn,String abbreviation,String financeId,Integer workingHoursType);
-	
+			String remarks,String id,String sdepNo,Integer count,String abbreviation,String financeId,Integer workingHoursType);
+
 }

+ 34 - 4
src/main/java/com/goafanti/organization/service/impl/OrganizationServiceImpl.java

@@ -64,7 +64,8 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 	 *
 	 */
 	@Override
-	public int addOrganization( String name, String managerId, String type, String superId, String remarks,String dep,Integer workingHoursType) {
+	public int addOrganization( String name, String managerId, String type, String superId, String remarks,String sdepNo,Integer count,Integer workingHoursType) {
+
 		String id = UUID.randomUUID().toString();
 		Date now = new Date();
 		OrganizationManagement om=new OrganizationManagement();
@@ -77,7 +78,7 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 		om.setName(name);
 		om.setType(type);
 		om.setManagerId(managerId);
-		om.setDepNo(dep);
+		om.setDepNo(countDepNo(sdepNo,count));
 	//	superId=organizationManagementMapper.selectIdByName(superId);
 		om.setSuperId(superId);
 		om.setRemarks(remarks);
@@ -104,14 +105,17 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 	}
 	@Override
 	public int updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,
-			String remarks,String id,String depn,String abbreviation,String financeId,Integer workingHoursType) {
+			String remarks,String id,String sdepNo,Integer count,String abbreviation,String financeId,Integer workingHoursType) {
+
+		String dep = countDepNo(sdepNo,count);
+
 		Date now=new Date();
 		OrganizationManagement om=new OrganizationManagement();
 		om.setName(name);
 		om.setType(type);
 		om.setUpdateTime(now);
 		om.setManagerId(managerId);
-		om.setDepNo(depn);
+		om.setDepNo(dep);
 		om.setSuperId(superId);
 		om.setStatus(status);
 		om.setRemarks(remarks);
@@ -126,6 +130,32 @@ public class OrganizationServiceImpl extends BaseMybatisDao<OrganizationManageme
 		return x;
 	}
 
+	private String countDepNo(String sdepNo, Integer count) {
+		String dep=null;
+		if(count<10){
+			dep=sdepNo+"0"+count;
+			String sid=organizationManagementMapper.selectIdByDepNo(dep);
+			while(sid!=null){
+				count=(count+1)%100;
+				if(count>=10){
+					dep=sdepNo+count;
+				}else{
+					dep=sdepNo+"0"+count;
+				}
+				sid=organizationManagementMapper.selectIdByDepNo(dep);
+			}
+		}else if(count>=10){
+			dep=sdepNo+count;
+			String sid=organizationManagementMapper.selectIdByDepNo(dep);
+			while(sid!=null){
+				count=(count+1)%100;
+				dep=sdepNo+count;
+				sid=organizationManagementMapper.selectIdByDepNo(dep);
+			}
+		}
+		return dep;
+	}
+
 	private void updateLowerLevelNo(String id,String depNo) {
 		List<OrganizationListOut> Nos =organizationManagementMapper.selectIDNBySuperId(id);
 		int i=1;