Forráskód Böngészése

质量事故单监听

yuansh 1 éve
szülő
commit
c38af601ff

+ 16 - 8
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/activiti/listener/ListenerIncidentTicketList.java

@@ -19,6 +19,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 流程监听,会议纪要发送消息至参会人
@@ -48,6 +49,7 @@ public class ListenerIncidentTicketList implements TaskListener, JavaDelegate {
 		String id = delegateExecution.getVariableInstances().get("id").getTextValue();
 		List<IncidentTicketChildren> list = incidentTicketChildrenService.selectByMainId(id);
 
+		Map<String,String> map = new HashMap<>();
 		for(IncidentTicketChildren o:list){
 
 			List<IncidentTicketChildren> list1 = incidentTicketChildrenService.selectPlan(o.getPlanNumber());
@@ -59,18 +61,24 @@ public class ListenerIncidentTicketList implements TaskListener, JavaDelegate {
 					List<SysUser> loginUser = sysUserMapper.getUserByRealName(user);
 					if(loginUser.size() > 0){
 
-						IncidentTicketMsg incidentTicketMsg = new IncidentTicketMsg();
-						incidentTicketMsg.setPkIncidentTicket(id);
-						incidentTicketMsg.setUserId(loginUser.get(0).getUsername());
-						incidentTicketMsg.setUserName(loginUser.get(0).getRealname());
-						incidentTicketMsgService.save(incidentTicketMsg);
+						if(!map.containsKey(loginUser.get(0).getUsername())){
+
+							map.put(loginUser.get(0).getUsername(),"");
+
+							IncidentTicketMsg incidentTicketMsg = new IncidentTicketMsg();
+							incidentTicketMsg.setPkIncidentTicket(id);
+							incidentTicketMsg.setUserId(loginUser.get(0).getUsername());
+							incidentTicketMsg.setUserName(loginUser.get(0).getRealname());
+
+							incidentTicketMsgService.save(incidentTicketMsg);
+						}
+
+						o.setRemark(loginUser.get(0).getRealname());
+						incidentTicketChildrenService.updateById(o);
 					}
 
 				}
 
-				String remark = list1.get(0).getRemark();
-				o.setRemark(remark);
-				incidentTicketChildrenService.updateById(o);
 			}
 		}
 

+ 3 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/IncidentTicketController.java

@@ -386,6 +386,9 @@ public class IncidentTicketController {
 		if(!incidentTicket.getState().equals("3")){//1未处理 2已通知 3通知已反馈 4已推送 5已完结
 			return Result.error("此单据状态下无法推送");
 		}
+		if(!incidentTicket.getState().equals("4")){//1未处理 2已通知 3通知已反馈 4已推送 5已完结
+			return Result.error("此单据状态下无法推送");
+		}
 
 		String accidentNumber = incidentTicket.getBusinessType();//业务类型
 		if(StringUtils.isBlank(accidentNumber)){