소스 검색

增加住址机构分组

邓凯 2 년 전
부모
커밋
53256b473b

+ 1 - 2
common/src/main/java/com/jpsoft/excellent/modules/base/dao/OrganizationDAO.java

@@ -17,6 +17,5 @@ public interface OrganizationDAO {
 	List<Organization> search(Map<String,Object> searchParams,List<Sort> sortList);
 	String getLevel();
 	Organization findByName(String name);
-	List<Organization> listByDistrict();
-	List<Organization> listByOrg();
+	List<Organization> listByGroups(String groupId);
 }

+ 4 - 1
common/src/main/java/com/jpsoft/excellent/modules/base/entity/Organization.java

@@ -20,10 +20,13 @@ public class Organization {
     private String name;
         @ApiModelProperty(value = "上级机构")
     private String parentId;
-        @ApiModelProperty(value = "上级机构")
     private String parentName;
         @ApiModelProperty(value = "机构代码")
     private String code;
+        @ApiModelProperty(value = "分组")
+    private String groups;
+    private String groupsName;
+    private String[] arrGroups;
         @ApiModelProperty(value = "")
     private Boolean delFlag;
         @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")

+ 1 - 2
common/src/main/java/com/jpsoft/excellent/modules/base/service/OrganizationService.java

@@ -16,6 +16,5 @@ public interface OrganizationService {
 	Page<Organization> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 	String getLevel();
 	Organization findByName(String name);
-	List<Organization> listByDistrict();
-	List<Organization> listByOrg();
+	List<Organization> listByGroups(String groupId);
 }

+ 2 - 8
common/src/main/java/com/jpsoft/excellent/modules/base/service/impl/OrganizationServiceImpl.java

@@ -80,14 +80,8 @@ public class OrganizationServiceImpl implements OrganizationService {
 	}
 
 	@Override
-	public List<Organization> listByDistrict() {
+	public List<Organization> listByGroups(String groupId) {
 		// TODO Auto-generated method stub
-		return organizationDAO.listByDistrict();
-	}
-
-	@Override
-	public List<Organization> listByOrg() {
-		// TODO Auto-generated method stub
-		return organizationDAO.listByOrg();
+		return organizationDAO.listByGroups(groupId);
 	}
 }

+ 14 - 11
common/src/main/resources/mapper/base/Organization.xml

@@ -9,6 +9,7 @@
 			<result property="parentId" column="parent_id" />
 			<result property="parentName" column="parent_name"/>
 			<result property="code" column="code_" />
+		<result property="groups" column="groups_" />
 			<result property="delFlag" column="del_flag" />
 			<result property="createTime" column="create_time" />
 			<result property="createBy" column="create_by" />
@@ -23,13 +24,14 @@
 	-->
 	<![CDATA[
 		insert into base_organization
-	    (id_,name_,parent_id,code_,del_flag,create_time,create_by,update_time,update_by)
+	    (id_,name_,parent_id,code_,groups_,del_flag,create_time,create_by,update_time,update_by)
 		values
 		(
 #{id,jdbcType=VARCHAR}
 ,#{name,jdbcType=VARCHAR}
 ,#{parentId,jdbcType=VARCHAR}
 ,#{code,jdbcType=VARCHAR}
+,#{groups,jdbcType=VARCHAR}
 ,#{delFlag,jdbcType= NUMERIC }
 ,#{createTime,jdbcType= TIMESTAMP }
 ,#{createBy,jdbcType=VARCHAR}
@@ -53,6 +55,9 @@
 				<if test="code!=null">
 		code_=#{code,jdbcType=VARCHAR},
 		</if>
+			<if test="groups!=null">
+				groups_=#{groups,jdbcType=VARCHAR},
+			</if>
 				<if test="delFlag!=null">
 		del_flag=#{delFlag,jdbcType= NUMERIC },
 		</if>
@@ -73,7 +78,7 @@
 	</update>
 	<select id="get" parameterType="string" resultMap="OrganizationMap">
 		select 
-id_,name_,parent_id,code_,del_flag,create_time,create_by,update_time,update_by		from base_organization where id_=#{0}
+id_,name_,parent_id,code_,groups_,del_flag,create_time,create_by,update_time,update_by		from base_organization where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from base_organization where id_=#{0}
@@ -112,6 +117,11 @@ id_,name_,parent_id,code_,del_flag,create_time,create_by,update_time,update_by
 				and a.parent_id is null
 				]]>
 			</if>
+			<if test="searchParams.group">
+				<![CDATA[
+				and a.groups_ like #{searchParams.group}
+				]]>
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}
@@ -123,16 +133,9 @@ id_,name_,parent_id,code_,del_flag,create_time,create_by,update_time,update_by
 	<select id="findByName" parameterType="string" resultMap="OrganizationMap">
 		select * from base_organization where name_=#{0}
 	</select>
-	<select id="listByDistrict" resultMap="OrganizationMap">
-		select * from base_organization
-		where del_flag = 0
-		and (name_ like '%县' or name_ like '%市' or name_ like '%区')
-	</select>
-	<select id="listByOrg" resultMap="OrganizationMap">
+	<select id="listByGroups" resultMap="OrganizationMap">
 		select * from base_organization
 		where del_flag = 0
-		and name_ not like '%县'
-		and name_ not like '%市'
-		and name_ not like '%区';
+		and groups_ like #{0};
 	</select>
 </mapper>

+ 16 - 0
web/src/main/java/com/jpsoft/excellent/modules/base/controller/OrganizationController.java

@@ -11,7 +11,9 @@ import com.jpsoft.excellent.modules.common.dto.Sort;
 import com.jpsoft.excellent.modules.common.dto.MessageResult;
 import com.jpsoft.excellent.modules.base.entity.Organization;
 import com.jpsoft.excellent.modules.base.service.OrganizationService;
+import com.jpsoft.excellent.modules.sys.entity.DataDictionary;
 import com.jpsoft.excellent.modules.sys.entity.User;
+import com.jpsoft.excellent.modules.sys.service.DataDictionaryService;
 import com.jpsoft.excellent.modules.sys.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -44,6 +46,8 @@ public class OrganizationController {
     private UserService userService;
     @Autowired
     private PersonService personService;
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -65,6 +69,7 @@ public class OrganizationController {
 
         try {
             organization.setId(UUID.randomUUID().toString());
+            organization.setGroups(StringUtils.join(organization.getArrGroups(),","));
             organization.setDelFlag(false);
             organization.setCreateBy(subject);
             organization.setCreateTime(new Date());
@@ -106,6 +111,8 @@ public class OrganizationController {
             Organization organization = organizationService.get(id);
 
             if (organization != null) {
+                organization.setArrGroups(organization.getGroups().split(","));
+
                 msgResult.setResult(true);
                 msgResult.setData(organization);
             } else {
@@ -129,6 +136,7 @@ public class OrganizationController {
         MessageResult<Organization> msgResult = new MessageResult<>();
 
         try {
+            organization.setGroups(StringUtils.join(organization.getArrGroups(),","));
             organization.setUpdateBy(subject);
             organization.setUpdateTime(new Date());
             
@@ -247,6 +255,14 @@ public class OrganizationController {
         }
 
         Page<Organization> page = organizationService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+        for(Organization organization : page.getResult()){
+            List<String> arrName = new ArrayList();
+            String[] arrOrg = organization.getGroups().split(",");
+            for(int i=0;i<arrOrg.length;i++) {
+                arrName.add(dataDictionaryService.getName(arrOrg[i]));
+            }
+            organization.setGroupsName(StringUtils.join(arrName,","));
+        }
 
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));

+ 26 - 2
web/src/main/java/com/jpsoft/excellent/modules/sys/controller/UserController.java

@@ -468,7 +468,7 @@ public class UserController {
         OptionsDTO optionsDTO2 = new OptionsDTO();
         optionsDTO2.setLabel("交办单位");
         optionsDTO2.setValue("2");
-        List<Organization> organizations = organizationService.listByOrg();
+        List<Organization> organizations = organizationService.listByGroups("%29b6d999-8f6e-4b20-8843-768957952c16%");
         List<OptionsDTO> optionsDTOS2 = new ArrayList<>();
         for(Organization organization : organizations){
             OptionsDTO dto1 = new OptionsDTO();
@@ -492,7 +492,7 @@ public class UserController {
         OptionsDTO optionsDTO3 = new OptionsDTO();
         optionsDTO3.setLabel("交办县市区");
         optionsDTO3.setValue("3");
-        List<Organization> organizations3 = organizationService.listByDistrict();
+        List<Organization> organizations3 = organizationService.listByGroups("%f03c928a-3e1f-4d35-a3d8-2a9f0d8b0e15%");
         List<OptionsDTO> optionsDTOS3 = new ArrayList<>();
         for(Organization organization : organizations3){
             OptionsDTO dto1 = new OptionsDTO();
@@ -512,6 +512,30 @@ public class UserController {
         optionsDTO3.setChildren(optionsDTOS3);
         list.add(optionsDTO3);
 
+        //交办二级单位
+        OptionsDTO optionsDTO4 = new OptionsDTO();
+        optionsDTO4.setLabel("交办二级单位");
+        optionsDTO4.setValue("4");
+        List<Organization> organizations4 = organizationService.listByGroups("%03f8ea19-09be-4b3d-b0b5-f896785ac943%");
+        List<OptionsDTO> optionsDTOS4 = new ArrayList<>();
+        for(Organization organization : organizations4){
+            OptionsDTO dto1 = new OptionsDTO();
+            dto1.setLabel(organization.getName());
+            dto1.setValue(organization.getId());
+            List<User> users = userService.findListByOrgId(organization.getId());
+            List<OptionsDTO> optionsUsers = new ArrayList<>();
+            for(User user : users){
+                OptionsDTO dto2 = new OptionsDTO();
+                dto2.setLabel(user.getRealName());
+                dto2.setValue(user.getId());
+                optionsUsers.add(dto2);
+            }
+            dto1.setChildren(optionsUsers);
+            optionsDTOS3.add(dto1);
+        }
+        optionsDTO4.setChildren(optionsDTOS4);
+        list.add(optionsDTO4);
+
         msgResult.setResult(true);
         msgResult.setData(list);