Browse Source

待办提醒

jz.kai 4 years ago
parent
commit
7638824cf4

+ 1 - 0
common/src/main/java/com/jpsoft/supervision/modules/base/dao/IncidentDAO.java

@@ -15,4 +15,5 @@ public interface IncidentDAO {
 	int delete(String id);
 	List<Incident> list();
 	List<Incident> search(Map<String,Object> searchParams,List<Sort> sortList);
+	List<Incident> searchPanding(Map<String,Object> searchParams,List<Sort> sortList);
 }

+ 6 - 4
common/src/main/java/com/jpsoft/supervision/modules/base/entity/Incident.java

@@ -45,14 +45,14 @@ public class Incident {
     private String isFinishedName;
         @ApiModelProperty(value = "是否删除")
     private Boolean delFlag;
-        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+        @DateTimeFormat(pattern="yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone ="GMT+8")
 	    @ApiModelProperty(value = "创建时间")
     private Date createTime;
         @ApiModelProperty(value = "创建人")
     private String createBy;
-        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+        @DateTimeFormat(pattern="yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone ="GMT+8")
 	    @ApiModelProperty(value = "更新时间")
     private Date updateTime;
         @ApiModelProperty(value = "更新人")
@@ -91,4 +91,6 @@ public class Incident {
     private String subPersonId;
     @ApiModelProperty(value = "提醒时间")
     private Date subWarnTime;
+    @ApiModelProperty(value = "报警灯")
+    private String warningLight;
 }

+ 1 - 0
common/src/main/java/com/jpsoft/supervision/modules/base/service/IncidentService.java

@@ -14,4 +14,5 @@ public interface IncidentService {
 	int delete(String id);
 	List<Incident> list();
 	Page<Incident> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
+	Page<Incident> pageSearchPanding(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 }

+ 9 - 0
common/src/main/java/com/jpsoft/supervision/modules/base/service/impl/IncidentServiceImpl.java

@@ -67,4 +67,13 @@ public class IncidentServiceImpl implements IncidentService {
         
         return page;
 	}
+
+	@Override
+	public Page<Incident> pageSearchPanding(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {
+		Page<Incident> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
+			incidentDAO.searchPanding(searchParams,sortList);
+		});
+
+		return page;
+	}
 }

+ 18 - 0
common/src/main/resources/mapper/base/Incident.xml

@@ -120,4 +120,22 @@ id_,title_,content_,case_type,instructions,instructions_type,instructions_time,i
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+	<select id="searchPanding" parameterType="hashmap" resultMap="IncidentMap">
+		<![CDATA[
+			SELECT b.* FROM base_incident_step a
+			LEFT JOIN base_incident b ON a.incident_id = b.id_
+		]]>
+		<where>
+			and a.update_time IS NULL AND b.del_flag=0
+			<if test="searchParams.title != null">
+				and b.title_ like #{searchParams.title}
+			</if>
+			<if test="searchParams.caseType != null">
+				and b.case_type = #{searchParams.caseType}
+			</if>
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+			${sort.name} ${sort.order}
+		</foreach>
+	</select>
 </mapper>

+ 70 - 8
web/src/main/java/com/jpsoft/supervision/modules/base/controller/IncidentController.java

@@ -2,17 +2,11 @@ package com.jpsoft.supervision.modules.base.controller;
 
 import com.github.pagehelper.Page;
 import com.jpsoft.supervision.modules.base.dto.IncidentAttachmentDTO;
-import com.jpsoft.supervision.modules.base.entity.IncidentAttachment;
-import com.jpsoft.supervision.modules.base.entity.IncidentStep;
-import com.jpsoft.supervision.modules.base.entity.Organization;
-import com.jpsoft.supervision.modules.base.service.IncidentAttachmentService;
-import com.jpsoft.supervision.modules.base.service.IncidentStepService;
-import com.jpsoft.supervision.modules.base.service.OrganizationService;
+import com.jpsoft.supervision.modules.base.entity.*;
+import com.jpsoft.supervision.modules.base.service.*;
 import com.jpsoft.supervision.modules.common.utils.PojoUtils;
 import com.jpsoft.supervision.modules.common.dto.Sort;
 import com.jpsoft.supervision.modules.common.dto.MessageResult;
-import com.jpsoft.supervision.modules.base.entity.Incident;
-import com.jpsoft.supervision.modules.base.service.IncidentService;
 import com.jpsoft.supervision.modules.sys.entity.DataDictionary;
 import com.jpsoft.supervision.modules.sys.service.DataDictionaryService;
 import io.swagger.annotations.Api;
@@ -44,6 +38,8 @@ public class IncidentController {
     private DataDictionaryService dataDictionaryService;
     @Autowired
     private OrganizationService organizationService;
+    @Autowired
+    private PersonService personService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -178,6 +174,8 @@ public class IncidentController {
                 for(IncidentStep incidentStep : incidentStepList){
                     Organization organization = organizationService.get(incidentStep.getOrgId());
                     incidentStep.setOrgName(organization.getName());
+                    Person person = personService.get(incidentStep.getPersonId());
+                    incidentStep.setPersonName(person.getName());
                 }
                 incident.setIncidentStepList(incidentStepList);
                 incident.setStepId(incidentStepList.get(0).getId());
@@ -439,4 +437,68 @@ public class IncidentController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "pageListPending",method = RequestMethod.POST)
+    public MessageResult<Map> pageListPending(
+            String title, String caseType,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            @RequestAttribute String subject){
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("a.warn_time","asc"));
+
+        if (StringUtils.isNotEmpty(title)) {
+            searchParams.put("title","%" + title + "%");
+        }
+        if (StringUtils.isNotEmpty(caseType)) {
+            searchParams.put("caseType",caseType);
+        }
+
+        Page<Incident> page = incidentService.pageSearchPanding(searchParams,pageIndex,pageSize,true,sortList);
+        for(Incident incident : page.getResult()){
+            DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("督办类型",incident.getCaseType());
+            if(dataDictionary != null)
+                incident.setCaseTypeName(dataDictionary.getName());
+            dataDictionary = dataDictionaryService.findByCatalogNameAndValue("督查事件步骤",incident.getIsFinished());
+            if(dataDictionary != null)
+                incident.setIsFinishedName(dataDictionary.getName());
+
+            List<IncidentStep> incidentStepList = incidentStepService.findListByIncidentId(incident.getId());
+            incident.setIncidentStepSize(incidentStepList.size());
+            incident.setStepWarnTime(incidentStepList.get(incidentStepList.size()-1).getWarnTime());
+            //报警灯
+            Date beginTime = new Date();
+            Date endTime = incident.getStepWarnTime();
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(beginTime);
+
+            if(beginTime.after(endTime)){
+                incident.setWarningLight("红");
+            }
+            else{
+                calendar.add(Calendar.DATE, 3);
+                beginTime = calendar.getTime();
+                if(beginTime.after(endTime)){
+                    incident.setWarningLight("黄");
+                }
+                else{
+                    incident.setWarningLight("绿");
+                }
+            }
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
 }