jz.kai 3 anni fa
parent
commit
a0d2388ba1

+ 21 - 0
common/src/main/java/com/jpsoft/excellent/modules/base/dto/ShowCountDTO.java

@@ -0,0 +1,21 @@
+package com.jpsoft.excellent.modules.base.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+  描述:base_incident_attachment的实体类
+ */
+@Data
+@ApiModel(value = "展示数量实体类")
+public class ShowCountDTO {
+    @ApiModelProperty(value = "名称")
+    private String name;
+    @ApiModelProperty(value = "值")
+    private String value;
+    @ApiModelProperty(value = "颜色")
+    private String color;
+    @ApiModelProperty(value = "图标")
+    private String icon;
+}

+ 7 - 8
common/src/main/resources/mapper/base/Incident.xml

@@ -22,7 +22,6 @@
 		<result property="updateBy" column="update_by" />
 
 		<result property="areaName" column="area_name" />
-		<result property="specialClassName" column="special_class_name" />
 		<result property="isFinishedName" column="is_finished_name" />
 	</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.excellent.modules.base.entity.Incident">
@@ -110,9 +109,8 @@
 		where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="IncidentMap">
-		select a.*,b.name_ as area_name,c.name_ as special_class_name,d.name_ as is_finished_name from base_incident a
+		select a.*,b.name_ as area_name,d.name_ as is_finished_name from base_incident a
 		left join sys_data_dictionary b on a.area_id = b.value_ and b.parent_id = '59db1512-1db6-4073-a5da-d059bdcd3653'
-		left join sys_data_dictionary c on a.special_class_id = c.value_ and c.parent_id = 'cb6ef7f6-53a6-432f-9f20-3f0106e22278'
 		left join sys_data_dictionary d on a.is_finished = d.value_ and d.parent_id = '659cda57-fa30-4be4-955d-1a064d8a8c69'
 		where a.id_=#{0}
 	</select>
@@ -120,15 +118,13 @@
 		select count(*) from base_incident where id_=#{0}
 	</select>
 	<select id="list" resultMap="IncidentMap">
-		select a.*,b.name_ as area_name,c.name_ as special_class_name,d.name_ as is_finished_name from base_incident a
+		select a.*,b.name_ as area_name,d.name_ as is_finished_name from base_incident a
 		left join sys_data_dictionary b on a.area_id = b.value_ and b.parent_id = '59db1512-1db6-4073-a5da-d059bdcd3653'
-		left join sys_data_dictionary c on a.special_class_id = c.value_ and c.parent_id = 'cb6ef7f6-53a6-432f-9f20-3f0106e22278'
 		left join sys_data_dictionary d on a.is_finished = d.value_ and d.parent_id = '659cda57-fa30-4be4-955d-1a064d8a8c69'
 	</select>
 	<select id="search" parameterType="hashmap" resultMap="IncidentMap">
-		select a.*,b.name_ as area_name,c.name_ as special_class_name,d.name_ as is_finished_name from base_incident a
+		select a.*,b.name_ as area_name,d.name_ as is_finished_name from base_incident a
 		left join sys_data_dictionary b on a.area_id = b.value_ and b.parent_id = '59db1512-1db6-4073-a5da-d059bdcd3653'
-		left join sys_data_dictionary c on a.special_class_id = c.value_ and c.parent_id = 'cb6ef7f6-53a6-432f-9f20-3f0106e22278'
 		left join sys_data_dictionary d on a.is_finished = d.value_ and d.parent_id = '659cda57-fa30-4be4-955d-1a064d8a8c69'
 		<where>
 			a.del_flag = 0
@@ -148,11 +144,14 @@
 				and a.area_id = #{searchParams.areaId}
 			</if>
 			<if test="searchParams.specialClassId != null">
-				and a.special_class_id = #{searchParams.specialClassId}
+				and a.special_class_id like #{searchParams.specialClassId}
 			</if>
 			<if test="searchParams.isFinished != null">
 				and a.is_finished = #{searchParams.isFinished}
 			</if>
+			<if test="searchParams.createBy != null">
+				and a.create_by = #{searchParams.createBy}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}

+ 111 - 33
web/src/main/java/com/jpsoft/excellent/modules/base/controller/IncidentController.java

@@ -3,6 +3,7 @@ package com.jpsoft.excellent.modules.base.controller;
 import com.github.pagehelper.Page;
 import com.jpsoft.excellent.config.OSSConfig;
 import com.jpsoft.excellent.modules.base.dto.IncidentAttachmentDTO;
+import com.jpsoft.excellent.modules.base.dto.ShowCountDTO;
 import com.jpsoft.excellent.modules.base.entity.*;
 import com.jpsoft.excellent.modules.base.service.*;
 import com.jpsoft.excellent.modules.common.utils.OSSUtil;
@@ -142,11 +143,11 @@ public class IncidentController {
                     //发送跟踪专班短信
 //                    templateId = "2431012137069";
 //                    MessageContent = String.format("您好!%s,市委督查室已向你单位发送了督办事项“%s”,请安排人员及时接收办理。联系人:%s %s。", sdfDetail.format(incidentStep.getCreateTime()), incident.getTitle(), user.getRealName(), user.getPhone());
-                    SMSUtil.sendSMSing(MessageContent, templateId, null, incident.getSpecialClassId(), "");
+//                    SMSUtil.sendSMSing(MessageContent, templateId, null, incident.getSpecialClassId(), "");
                     //发送交办单位短信
 //                    templateId = "2431012137069";
 //                    MessageContent = String.format("您好!%s,市委督查室已向你单位发送了督办事项“%s”,请安排人员及时接收办理。联系人:%s %s。", sdfDetail.format(incidentStep.getCreateTime()), incident.getTitle(), user.getRealName(), user.getPhone());
-                    SMSUtil.sendSMSing(MessageContent, templateId, incidentStep.getOrgId(), null, "");
+//                    SMSUtil.sendSMSing(MessageContent, templateId, incidentStep.getOrgId(), null, "");
                 }
 
                 msgResult.setResult(true);
@@ -510,7 +511,7 @@ public class IncidentController {
             searchParams.put("areaId",areaId);
         }
         if (StringUtils.isNotEmpty(specialClassId)) {
-            searchParams.put("specialClassId",specialClassId);
+            searchParams.put("specialClassId","%"+specialClassId+"%");
         }
         if (StringUtils.isNotEmpty(isFinished)) {
             searchParams.put("isFinished",isFinished);
@@ -520,6 +521,16 @@ public class IncidentController {
         for(Incident incident : page.getResult()){
             List<IncidentStep> incidentStepList = incidentStepService.findListByIncidentId(incident.getId());
             incident.setIncidentStepList(incidentStepList);
+
+            if(StringUtils.isNotEmpty(incident.getSpecialClassId())){
+                List<String> nameList = new ArrayList<>();
+                String[] ids = incident.getSpecialClassId().split(",");
+                for(String id : ids){
+                    DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("工作专班",id);
+                    nameList.add(dataDictionary.getName());
+                }
+                incident.setSpecialClassName(String.join(",", nameList));
+            }
         }
 
         msgResult.setResult(true);
@@ -568,7 +579,7 @@ public class IncidentController {
             searchParams.put("areaId",areaId);
         }
         if (StringUtils.isNotEmpty(specialClassId)) {
-            searchParams.put("specialClassId",specialClassId);
+            searchParams.put("specialClassId","%"+specialClassId+"%");
         }
         if (StringUtils.isNotEmpty(isFinished)) {
             searchParams.put("isFinished",isFinished);
@@ -578,6 +589,17 @@ public class IncidentController {
         for(Incident incident : page.getResult()){
             List<IncidentStep> incidentStepList = incidentStepService.findListByIncidentId(incident.getId());
             incident.setLastStep(incidentStepList.get(incidentStepList.size()-1));
+
+            if(StringUtils.isNotEmpty(incident.getSpecialClassId())){
+                List<String> nameList = new ArrayList<>();
+                String[] ids = incident.getSpecialClassId().split(",");
+                for(String id : ids){
+                    DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("工作专班",id);
+                    nameList.add(dataDictionary.getName());
+                }
+                incident.setSpecialClassName(String.join(",", nameList));
+            }
+
             //报警灯
             Date currentTime = new Date();
             Date warnTime = incident.getLastStep().getWarnDate1();
@@ -601,33 +623,69 @@ public class IncidentController {
     }
 
     @ApiOperation(value="区域类型数量")
-    @RequestMapping(value = "countByCaseType",method = RequestMethod.POST)
-    public MessageResult<Map> countByCaseType(@RequestAttribute String subject){
-        MessageResult<Map> msgResult = new MessageResult<>();
-//        Map<String, Object> map = new HashMap<>();
-//
-//        int total = 0;
-//        List<DataDictionary> dataDictionaryList = dataDictionaryService.findByCatalogName("督办类型");
-//        for(DataDictionary dataDictionary : dataDictionaryList) {
-//            Map<String, Object> searchParams = new HashMap<>();
-////            searchParams.put("createBy", subject);
-//
-////            List<Role> roleList = userRoleService.findRoleByUserId(subject);
-////            for(Role role : roleList) {
-////                if("8d4dd9ac-dcf4-4178-885c-fd309f4be8f6".equals(role.getId()))
-////                    searchParams.put("createBy", null);
-////            }
-//            searchParams.put("caseType",dataDictionary.getValue());
-//            List<Sort> sortList = new ArrayList<>();
-//            sortList.add(new Sort("a.warn_time", "asc"));
-//            Page<Incident> page = incidentService.pageSearchPanding(searchParams, 1, 10000, false, sortList);
-//            map.put("item" + dataDictionary.getValue(),page.getResult().size());
-//            total += page.getResult().size();
-//        }
-//        map.put("total", total);
-//
-//        msgResult.setResult(true);
-//        msgResult.setData(map);
+    @RequestMapping(value = "countByArea",method = RequestMethod.POST)
+    public MessageResult<List> countByArea(@RequestAttribute String subject){
+        MessageResult<List> msgResult = new MessageResult<>();
+        List<ShowCountDTO> list = new ArrayList<>();
+
+        List<DataDictionary> dataDictionaryList = dataDictionaryService.findByCatalogName("区域");
+        for(DataDictionary dataDictionary : dataDictionaryList) {
+            Map<String, Object> searchParams = new HashMap<>();
+            searchParams.put("createBy", subject);
+            searchParams.put("areaId",dataDictionary.getValue());
+
+            List<Role> roleList = userRoleService.findRoleByUserId(subject);
+            for(Role role : roleList) {
+                if("8d4dd9ac-dcf4-4178-885c-fd309f4be8f6".equals(role.getId()))
+                    searchParams.put("createBy", null);
+            }
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("create_time","desc"));
+
+            Page<Incident> page = incidentService.pageSearch(searchParams,1,10000,false,sortList);
+
+            ShowCountDTO dto = new ShowCountDTO();
+            dto.setName(dataDictionary.getName());
+            dto.setValue(String.valueOf(page.size()));
+            list.add(dto);
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(list);
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="区域类型数量")
+    @RequestMapping(value = "countBySpecialClass",method = RequestMethod.POST)
+    public MessageResult<List> countBySpecialClass(@RequestAttribute String subject){
+        MessageResult<List> msgResult = new MessageResult<>();
+        List<ShowCountDTO> list = new ArrayList<>();
+
+        List<DataDictionary> dataDictionaryList = dataDictionaryService.findByCatalogName("工作专班");
+        for(DataDictionary dataDictionary : dataDictionaryList) {
+            Map<String, Object> searchParams = new HashMap<>();
+            searchParams.put("createBy", subject);
+            searchParams.put("specialClassId","%"+dataDictionary.getValue()+"%");
+
+            List<Role> roleList = userRoleService.findRoleByUserId(subject);
+            for(Role role : roleList) {
+                if("8d4dd9ac-dcf4-4178-885c-fd309f4be8f6".equals(role.getId()))
+                    searchParams.put("createBy", null);
+            }
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("create_time","desc"));
+
+            Page<Incident> page = incidentService.pageSearch(searchParams,1,10000,false,sortList);
+
+            ShowCountDTO dto = new ShowCountDTO();
+            dto.setName(dataDictionary.getName());
+            dto.setValue(String.valueOf(page.size()));
+            list.add(dto);
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(list);
 
         return msgResult;
     }
@@ -702,13 +760,23 @@ public class IncidentController {
             searchParams.put("areaId",areaId);
         }
         if (StringUtils.isNotEmpty(specialClassId)) {
-            searchParams.put("specialClassId",specialClassId);
+            searchParams.put("specialClassId","%"+specialClassId+"%");
         }
 
         Page<Incident> page = incidentService.pageSearch(searchParams,1,10000,false,sortList);
         for(Incident incident : page.getResult()){
             List<IncidentStep> incidentStepList = incidentStepService.findListByIncidentId(incident.getId());
             incident.setLastStep(incidentStepList.get(incidentStepList.size()-1));
+
+            if(StringUtils.isNotEmpty(incident.getSpecialClassId())){
+                List<String> nameList = new ArrayList<>();
+                String[] ids = incident.getSpecialClassId().split(",");
+                for(String id : ids){
+                    DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("工作专班",id);
+                    nameList.add(dataDictionary.getName());
+                }
+                incident.setSpecialClassName(String.join(",", nameList));
+            }
         }
 
         msgResult.setResult(true);
@@ -780,7 +848,7 @@ public class IncidentController {
             searchParams.put("areaId",areaId);
         }
         if (StringUtils.isNotEmpty(specialClassId)) {
-            searchParams.put("specialClassId",specialClassId);
+            searchParams.put("specialClassId","%"+specialClassId+"%");
         }
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -788,6 +856,16 @@ public class IncidentController {
         for(Incident incident : page.getResult()){
             List<IncidentStep> incidentStepList = incidentStepService.findListByIncidentId(incident.getId());
             incident.setLastStep(incidentStepList.get(incidentStepList.size()-1));
+
+            if(StringUtils.isNotEmpty(incident.getSpecialClassId())){
+                List<String> nameList = new ArrayList<>();
+                String[] ids = incident.getSpecialClassId().split(",");
+                for(String id : ids){
+                    DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("工作专班",id);
+                    nameList.add(dataDictionary.getName());
+                }
+                incident.setSpecialClassName(String.join(",", nameList));
+            }
         }
 
         //写入数据

+ 4 - 2
web/src/main/java/com/jpsoft/excellent/modules/base/controller/PersonController.java

@@ -232,8 +232,10 @@ public class PersonController {
 
         Page<Person> page = personService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
         for(Person person : page.getResult()){
-            Organization organization = organizationService.get(person.getOrgId());
-            person.setOrgName(organization.getName());
+            if(StringUtils.isNotEmpty(person.getOrgId())) {
+                Organization organization = organizationService.get(person.getOrgId());
+                person.setOrgName(organization.getName());
+            }
 
             DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("工作专班",person.getSpecialClassId());
             if(dataDictionary != null)