瀏覽代碼

质量事故单监听

yuansh 1 年之前
父節點
當前提交
b3e49413e9

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

@@ -0,0 +1,80 @@
+package org.jeecg.modules.activiti.listener;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import org.activiti.engine.delegate.*;
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.oa.entity.IncidentTicketChildren;
+import org.jeecg.modules.oa.entity.IncidentTicketMsg;
+import org.jeecg.modules.oa.service.IIncidentTicketChildrenService;
+import org.jeecg.modules.oa.service.IIncidentTicketMsgService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.mapper.SysUserMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * 流程监听,会议纪要发送消息至参会人
+ */
+@Component
+public class ListenerIncidentTicketList implements TaskListener, JavaDelegate {
+
+	private Expression json;
+	@Autowired
+	private ISysBaseAPI sysBaseAPI;
+	@Autowired
+	private IIncidentTicketChildrenService incidentTicketChildrenService;
+	@Autowired
+	private IIncidentTicketMsgService incidentTicketMsgService;
+	@Autowired
+	private SysUserMapper sysUserMapper;
+
+
+
+	@Override
+	public void notify(DelegateTask delegateTask){
+		System.out.println("-------------1");
+	}
+
+	@Override
+	public void execute(DelegateExecution delegateExecution){
+		String id = delegateExecution.getVariableInstances().get("id").getTextValue();
+		List<IncidentTicketChildren> list = incidentTicketChildrenService.selectByMainId(id);
+
+		for(IncidentTicketChildren o:list){
+
+			List<IncidentTicketChildren> list1 = incidentTicketChildrenService.selectPlan(o.getPlanNumber());
+			if(list1.size() > 0){
+
+				String user = list1.get(0).getCreateBy();
+				if(StringUtils.isNotBlank(user)){
+
+					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);
+					}
+
+				}
+
+				String remark = list1.get(0).getRemark();
+				o.setRemark(remark);
+				incidentTicketChildrenService.updateById(o);
+			}
+		}
+
+	}
+
+
+}

+ 6 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/IncidentTicketChildrenMapper.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.oa.mapper;
 
 import java.util.List;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
 import org.jeecg.modules.oa.entity.IncidentTicketChildren;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
@@ -16,4 +18,8 @@ public interface IncidentTicketChildrenMapper extends BaseMapper<IncidentTicketC
 	public boolean deleteByMainId(@Param("mainId") String mainId);
     
 	public List<IncidentTicketChildren> selectByMainId(@Param("mainId") String mainId);
+	/*
+	获取其他账套信息
+	 */
+	public List<IncidentTicketChildren> selectPlan(@Param("planNum") String planNum);
 }

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/IncidentTicketChildrenMapper.xml

@@ -13,4 +13,9 @@
 		FROM  incident_ticket_children
 		WHERE
 			 incident_ticket_id = #{mainId} order by sort + 0</select>
+	
+	
+	<select id="selectPlan" parameterType="java.lang.String" resultType="org.jeecg.modules.oa.entity.IncidentTicketChildren">
+		select plan_man createBy,remarks remark from view_sy_plan_statistics where plan_num = #{planNum} and del_flag='0'
+	</select>
 </mapper>

+ 2 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IIncidentTicketChildrenService.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.oa.service;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import org.jeecg.modules.oa.entity.IncidentTicketChildren;
 import com.baomidou.mybatisplus.extension.service.IService;
 import java.util.List;
@@ -13,4 +14,5 @@ import java.util.List;
 public interface IIncidentTicketChildrenService extends IService<IncidentTicketChildren> {
 
 	public List<IncidentTicketChildren> selectByMainId(String mainId);
+	public List<IncidentTicketChildren> selectPlan(String planNum);
 }

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/IncidentTicketChildrenServiceImpl.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.oa.service.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.oa.entity.IncidentTicketChildren;
 import org.jeecg.modules.oa.entity.SyCarryB;
 import org.jeecg.modules.oa.mapper.IncidentTicketChildrenMapper;
@@ -23,4 +25,7 @@ public class IncidentTicketChildrenServiceImpl extends ServiceImpl<IncidentTicke
 
 		return incidentTicketChildrenMapper.selectByMainId(mainId);
 	}
+	public List<IncidentTicketChildren> selectPlan(String planNum){
+		return incidentTicketChildrenMapper.selectPlan(planNum);
+	}
 }

+ 3 - 3
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/IncidentTicketServiceImpl.java

@@ -738,9 +738,9 @@ public class IncidentTicketServiceImpl extends ServiceImpl<IncidentTicketMapper,
 			return Result.error("该功能仅方珂使用");
 		}
 
-//		Map<String ,Object> map = new HashMap<>();
-//		map.put("pk_incident_ticket",headId);
-//		incidentTicketMsgMapper.deleteByMap(map);
+		Map<String ,Object> map = new HashMap<>();
+		map.put("pk_incident_ticket",headId);
+		incidentTicketMsgMapper.deleteByMap(map);
 
 		for(String o:idList){
 

+ 23 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -175,6 +175,8 @@ public class SysUserController {
 //		String deptName = user.getDeptName();
 //		String[] deptName = {"人事","财务一部"};//user.getDeptName();
 		String[] deptCode = {"TOD01","TFD01"};//
+		String beginUsers = user.getBeginUsers();//
+        user.setBeginUsers(null);
         user.setDeptName(null);
         user.setDeptCode(null);
 
@@ -186,7 +188,27 @@ public class SysUserController {
 		//根据公司id过滤
 //        LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
 //        queryWrapper.lambda().like(SysUser::getPkOrg,sysUser.getOrgCode());
-        queryWrapper.last("and realname !='崔崇杰' and IFNULL(sy_Hire_Type,'在职') !='离职' order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
+        if(StringUtils.isNotBlank(beginUsers)){
+            StringBuffer sb = new StringBuffer("");
+            String[] userId = beginUsers.split(",");
+            for(String o:userId){
+                if(StringUtils.isNotBlank(sb.toString())){
+                    sb.append(" or username = '").append(o).append("' ");
+                }else{
+                    sb.append(" ( username = '").append(o).append("' ");
+                }
+            }
+            if(StringUtils.isNotBlank(sb.toString())){
+                sb.append(" ) ");
+                queryWrapper.last("and realname !='崔崇杰' and IFNULL(sy_Hire_Type,'在职') !='离职' and " + sb.toString() +
+                        " order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
+            }else{
+                queryWrapper.last("and realname !='崔崇杰' and IFNULL(sy_Hire_Type,'在职') !='离职' order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
+            }
+        }else{
+            queryWrapper.last("and realname !='崔崇杰' and IFNULL(sy_Hire_Type,'在职') !='离职' order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
+
+        }
 
         List<String> deptList = new ArrayList<>();
         for(String o:deptCode){

+ 7 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -347,6 +347,12 @@ public class SysUser implements Serializable {
     @TableField(exist = false)
     private java.lang.String deptCode;//临时字段,存放部门名称
 
+    /**
+     * 用于质量事故单弹框通知人查询条件
+     */
+    @TableField(exist = false)
+    private java.lang.String beginUsers;
+
     /**社保断缴日期*/
     @Excel(name = "社保断缴日期", width = 20, format = "yyyy-MM-dd")
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@@ -404,4 +410,5 @@ public class SysUser implements Serializable {
      * 附件
      */
     private java.lang.String fileName;
+
 }

+ 8 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -49,6 +49,14 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	 */
 	public SysUser getUserByName(@Param("username") String username);
 
+
+	/**
+	  *
+	 * @param realname
+	 * @return
+	 */
+	public List<SysUser> getUserByRealName(@Param("realname") String realname);
+
 	/**
 	 *  根据部门Id查询用户信息
 	 * @param page

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -28,6 +28,11 @@
 		select * from  sys_user  where username = #{username} and del_flag = '0'
 	</select>
 
+	<!-- 根据用户名查询 -->
+	<select id="getUserByRealName" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from  sys_user  where realname = #{realname} and del_flag = '0'
+	</select>
+
 	<!-- 根据部门Id查询 -->
 	<select id="getUserByDepId" resultType="org.jeecg.modules.system.entity.SysUser">
 		select * from sys_user where del_flag = '0' and id in (select user_id from sys_user_depart where dep_id=#{departId})