Browse Source

小程序端放行和审批按照角色审批和发送微信消息,修改task

baihe 3 years ago
parent
commit
c61b296504

+ 1 - 7
application-facade/src/main/java/com/factory/web/service/impl/fa/FirstArticleServiceImpl.java

@@ -87,7 +87,6 @@ import com.factory.web.entity.fa.res.FaWorkshopNoGoListRes;
 import com.factory.web.entity.fa.res.UserListRes;
 import com.factory.web.entity.pm.ApprovalRule;
 import com.factory.web.entity.pm.OnsiteApprovalPlan;
-import com.factory.web.entity.pm.res.ApprovalUserRes;
 import com.factory.web.entity.vo.req.exportInitialPlanDetailsReq;
 import com.factory.web.mapper.fa.FirstArticleMapper;
 import com.factory.web.mapper.pm.ApprovalRuleMapper;
@@ -108,9 +107,6 @@ import com.factory.web.service.pm.PlanBindService;
 import com.factory.web.service.pm.PreventMistakeService;
 import com.factory.wx.entity.req.SendMsgReq;
 import com.factory.wx.service.WxService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import cn.hutool.core.convert.Convert;
 import lombok.extern.slf4j.Slf4j;
@@ -176,7 +172,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
 
     @Autowired
     private WxService wxService;
-
+    
     @Autowired
     private ApprovalRuleMapper approvalRuleMapper;
 
@@ -894,8 +890,6 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
                     .eq(FirstArticleApprovalTask::getFirstArticleTaskId, firstArticleTask.getId()));
             this.setApproval(firstArticleTask.getId(),null);
 
-            ApprovalUserRes approvalUserRes = preventMistakeService.getApprovalUserInfo(1, 2);
-
         }
 
         /* 更新中断的操作人 */

+ 35 - 0
application-facade/src/main/resources/logback-spring.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<configuration scan="true" scanPeriod="3 seconds">
+    <!--设置日志输出为控制台-->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger-%L] - %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <!--设置日志输出为文件-->
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <File>${log.path:-.}/log/facade.log</File>
+        <rollingPolicy  class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${log.path:-.}/log/facade.%d{yyyy-MM-dd}.zip</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>30</MaxHistory>
+        </rollingPolicy>
+
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level]  [%thread] [%logger-%L] - %msg%n</Pattern>
+        </layout>
+    </appender>
+
+	<logger name="com.factory" level="DEBUG" additivity="false">
+		<appender-ref ref="STDOUT"/>
+		<appender-ref ref="FILE"/>
+	</logger>
+    <root>
+        <level value="WARN"/>
+        <appender-ref ref="STDOUT"/>
+        <appender-ref ref="FILE"/>
+    </root>
+
+</configuration>

+ 10 - 0
application-task/pom.xml

@@ -28,6 +28,16 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <mainClass>com.factory.ApplicationTaskApplication</mainClass>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>

+ 24 - 15
application-task/src/main/java/com/factory/init/FirstRemindJob.java

@@ -1,5 +1,24 @@
 package com.factory.init;
 
+import java.time.LocalTime;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.FutureTask;
+
+import org.apache.commons.lang3.StringUtils;
+import org.quartz.DisallowConcurrentExecution;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.web.socket.TextMessage;
+
 import com.factory.base.entity.task.FirstCalendar;
 import com.factory.base.entity.task.SendMsgReq;
 import com.factory.base.util.time.TimeConvert;
@@ -7,23 +26,13 @@ import com.factory.common.CommonUtil;
 import com.factory.service.FirstTaskService;
 import com.factory.service.MsgService;
 import com.factory.websocket.WsSessionManager;
-import org.apache.commons.lang3.StringUtils;
-import org.quartz.DisallowConcurrentExecution;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.web.socket.TextMessage;
 
-import java.time.LocalTime;
-import java.time.temporal.ChronoUnit;
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.FutureTask;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * onsite 提醒job
  */
+@Slf4j
 @DisallowConcurrentExecution
 public class FirstRemindJob implements Job {
 
@@ -37,7 +46,7 @@ public class FirstRemindJob implements Job {
         try {
             createTask(paramMap);// 执行任务
         } catch (Throwable e) {
-            e.printStackTrace();
+        	 log.error("execute生产任务出错",e);
         }
     }
 
@@ -58,7 +67,7 @@ public class FirstRemindJob implements Job {
                 t.get();
             }//等等所有线程结束
         } catch (Throwable e) {
-            e.printStackTrace();
+        	 log.error("createTask生产任务出错",e);
         }
 
     }
@@ -157,7 +166,7 @@ public class FirstRemindJob implements Job {
                                 qm.put("first_task_id", cal.getFirstTaskId());
                                 firstTaskService.updateFirstRemindFlag(qm);
                             } catch (Throwable e) {
-                                e.printStackTrace();
+                            	 log.error("remindFirstWork生产任务出错",e);
                             }
                         }
                     });

+ 14 - 15
application-task/src/main/java/com/factory/init/FirstTaskJob.java

@@ -1,23 +1,23 @@
 package com.factory.init;
 
-import com.factory.base.entity.task.FirstCalendar;
-import com.factory.base.entity.task.FirstTask;
-import com.factory.common.CommonUtil;
-import com.factory.service.FirstTaskService;
-import org.quartz.DisallowConcurrentExecution;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.FutureTask;
 
+import org.quartz.DisallowConcurrentExecution;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.factory.base.entity.task.FirstCalendar;
+import com.factory.base.entity.task.FirstTask;
+import com.factory.common.CommonUtil;
+import com.factory.service.FirstTaskService;
+
 /**
  * 首件任务定时器
  */
@@ -31,7 +31,7 @@ public class FirstTaskJob implements Job {
         try {
             createTask(paramMap);// 执行任务
         } catch (Throwable e) {
-            e.printStackTrace();
+        	log.error("execute生产任务出错",e);
         }
     }
 
@@ -49,7 +49,7 @@ public class FirstTaskJob implements Job {
                 t.get();
             }//等等所有线程结束
         } catch (Throwable e) {
-            e.printStackTrace();
+        	log.error("createTask生产任务出错",e);
         }
 
     }
@@ -108,8 +108,7 @@ public class FirstTaskJob implements Job {
                     task.setFirst_article_calendar_id(cal.getId());
                     firstTaskService.insertFirstTask(task);
                 } catch (Throwable e) {
-                    e.getStackTrace();
-                    log.error(e.getStackTrace().toString());
+                    log.error("addTask生产任务出错",e);
                 }
             }
             return 0;

+ 20 - 12
application-task/src/main/java/com/factory/init/OnsiteRemindJob.java

@@ -1,25 +1,33 @@
 package com.factory.init;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.FutureTask;
+
+import org.quartz.DisallowConcurrentExecution;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.web.socket.TextMessage;
+
 import com.factory.base.entity.task.OnsiteCalendar;
 import com.factory.base.entity.task.SendMsgReq;
 import com.factory.common.CommonUtil;
 import com.factory.service.MsgService;
 import com.factory.service.OnsiteTaskService;
 import com.factory.websocket.WsSessionManager;
-import org.quartz.DisallowConcurrentExecution;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.web.socket.TextMessage;
 
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.FutureTask;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * onsite 提醒job
  */
+@Slf4j
 @DisallowConcurrentExecution
 public class OnsiteRemindJob implements Job {
 
@@ -36,7 +44,7 @@ public class OnsiteRemindJob implements Job {
             //  week_day month_day
             createTask(paramMap);// 执行任务
         } catch (Throwable e) {
-            e.printStackTrace();
+        	log.error("execute生产任务出错",e);
         }
     }
 
@@ -59,7 +67,7 @@ public class OnsiteRemindJob implements Job {
                 t.get();
             }//等等所有线程结束
         } catch (Throwable e) {
-            e.printStackTrace();
+        	log.error("createTask生产任务出错",e);
         }
 
     }
@@ -178,7 +186,7 @@ public class OnsiteRemindJob implements Job {
                             qm.put("onsite_task_id", cal.getOnsite_task_id());
                             onsiteTaskService.updateOnsiteRemindFlag(qm);
                         } catch (Throwable e) {
-                            e.printStackTrace();
+                        	log.error("remindOnsiteWork生产任务出错",e);
                         }
 
                     }

+ 19 - 12
application-task/src/main/java/com/factory/init/OnsiteTaskJob.java

@@ -1,9 +1,14 @@
 package com.factory.init;
 
-import com.factory.base.entity.task.OnsiteCalendar;
-import com.factory.base.entity.task.OnsiteTask;
-import com.factory.common.CommonUtil;
-import com.factory.service.OnsiteTaskService;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.FutureTask;
+
 import org.quartz.DisallowConcurrentExecution;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
@@ -11,18 +16,20 @@ import org.quartz.JobExecutionException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.FutureTask;
+import com.factory.base.entity.task.OnsiteCalendar;
+import com.factory.base.entity.task.OnsiteTask;
+import com.factory.common.CommonUtil;
+import com.factory.service.OnsiteTaskService;
+
+import lombok.extern.slf4j.Slf4j;
 
 
 /**
  * onsite生产任务job
  */
+@Slf4j
 @DisallowConcurrentExecution
 public class OnsiteTaskJob implements Job {
-    private static Logger log = LoggerFactory.getLogger(OnsiteTaskJob.class);
 
     @Override
     public void execute(JobExecutionContext context) throws JobExecutionException {
@@ -30,7 +37,7 @@ public class OnsiteTaskJob implements Job {
         try {
             createTask(paramMap);// 执行任务
         } catch (Throwable e) {
-            e.printStackTrace();
+        	log.error("execute生产任务出错",e);
         }
     }
 
@@ -50,7 +57,7 @@ public class OnsiteTaskJob implements Job {
                 t.get();
             }//等等所有线程结束
         } catch (Throwable e) {
-            e.printStackTrace();
+        	log.error("createTask生产任务出错",e);
         }
 
     }
@@ -158,7 +165,7 @@ public class OnsiteTaskJob implements Job {
 
 
                 } catch (Throwable e) {
-                    log.error(e.getStackTrace().toString());
+                    log.error("addTask生产任务出错",e);
                 }
 
             }

+ 12 - 2
application-task/src/main/java/com/factory/init/WebSocketTestSchedule.java

@@ -1,8 +1,16 @@
 package com.factory.init;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import com.factory.websocket.WsSessionManager;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
 @Component
 public class WebSocketTestSchedule {
 
@@ -10,8 +18,10 @@ public class WebSocketTestSchedule {
 	
 	@Scheduled(cron="0 0/1 * * * ?")
 	public void sendWebSocketMessage() {
-		System.out.println(message);
 		//TODO 更新计划中的3->4,并将4修改5
-		
+		List<String> pool = new ArrayList<String>(WsSessionManager.SESSION_POOL.keySet());
+		for (String key : pool) {
+			WsSessionManager.sendMessage(key, message);
+		}
 	}
 }

+ 4 - 6
application-task/src/main/java/com/factory/websocket/WebSocketController.java

@@ -1,6 +1,5 @@
 package com.factory.websocket;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -13,19 +12,18 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/websocket")
 public class WebSocketController {
 
-	/**
-	 * @throws IOException
-	 */
 	@GetMapping("broadcast")
-	public void pushTest(@RequestParam String message) {
+	public String broadcast(@RequestParam String message) {
 		List<String> pool = new ArrayList<String>(WsSessionManager.SESSION_POOL.keySet());
 		for (String key : pool) {
 			WsSessionManager.sendMessage(key, message);
 		}
+		return "ok";
 	}
 
 	@GetMapping("pushone")
-	public void pushTest(@RequestParam String message, String key) {
+	public String pushone(@RequestParam String message, String key) {
 		WsSessionManager.sendMessage(key, message);
+		return "ok";
 	}
 }

+ 9 - 2
application-task/src/main/java/com/factory/websocket/WsSessionManager.java

@@ -1,11 +1,13 @@
 package com.factory.websocket;
+import java.io.IOException;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.springframework.web.socket.TextMessage;
 import org.springframework.web.socket.WebSocketSession;
 
-import java.io.IOException;
-import java.util.concurrent.ConcurrentHashMap;
+import lombok.extern.slf4j.Slf4j;
 
+@Slf4j
 public class WsSessionManager {
 
     public final static ConcurrentHashMap<String, WebSocketSession> SESSION_POOL = new ConcurrentHashMap<>();
@@ -57,11 +59,16 @@ public class WsSessionManager {
     
     public static void sendMessage(String key,String message) {
     	try {
+    		log.debug("send message to:{},content:{}",key,message);
 			WebSocketSession session = WsSessionManager.get(key);
 			if (session != null) {
 				session.sendMessage(new TextMessage(message));
+				log.debug("send message to:{} ok",key,message);
+			}else {
+				log.debug("send message to:{},fail,no session",key,message);
 			}
     	}catch (Throwable e) {
+    		log.error("send message error",e);
 			WsSessionManager.removeAndClose(key);// 异常移除以免内存泄漏
 		}
     }

+ 0 - 4
application-task/src/main/resources/application-test.yml

@@ -1,7 +1,3 @@
-server: 
-  port: 8099
-  servlet: 
-    context-path: /task/
 spring: 
   datasource: 
      type: com.alibaba.druid.pool.DruidDataSource

+ 3 - 0
application-task/src/main/resources/application-uat.yml

@@ -1,7 +1,10 @@
+<<<<<<< HEAD
 server: 
   port: 8099
   servlet: 
     context-path: /task/
+=======
+>>>>>>> d2c1732... 小程序端放行和审批按照角色审批和发送微信消息,修改task
 spring: 
   datasource: 
      type: com.alibaba.druid.pool.DruidDataSource

+ 4 - 0
application-task/src/main/resources/application.yml

@@ -1,3 +1,7 @@
+server: 
+  port: 40050
+  servlet: 
+    context-path: /task/
 spring: 
   profiles: 
     active: test

+ 35 - 0
application-task/src/main/resources/logback-spring.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<configuration scan="true" scanPeriod="3 seconds">
+    <!--设置日志输出为控制台-->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger-%L] - %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <!--设置日志输出为文件-->
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <File>${log.path:-.}/log/task.log</File>
+        <rollingPolicy  class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${log.path:-.}/log/task.%d{yyyy-MM-dd}.zip</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>30</MaxHistory>
+        </rollingPolicy>
+
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <Pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level]  [%thread] [%logger-%L] - %msg%n</Pattern>
+        </layout>
+    </appender>
+
+	<logger name="com.factory" level="DEBUG" additivity="false">
+		<appender-ref ref="STDOUT"/>
+		<appender-ref ref="FILE"/>
+	</logger>
+    <root>
+        <level value="WARN"/>
+        <appender-ref ref="STDOUT"/>
+        <appender-ref ref="FILE"/>
+    </root>
+
+</configuration>

+ 16 - 0
application-task/src/main/resources/mappers/FirstTaskMapper.xml

@@ -2,6 +2,22 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.factory.mapper.FirstTaskMapper">
 
+<<<<<<< HEAD
+=======
+    <resultMap id="calendarFirst" type="com.factory.base.entity.task.FirstCalendar">
+        <id column="id" property="id"/>
+        <result column="benteler_plan_id" property="benteler_plan_id"/>
+        <result column="start_day" property="start_day"/>
+        <result column="end_day" property="end_day"/>
+        <result column="day_validate" property="day_validate"/>
+        <result column="day_outtime" property="day_outtime"/>
+        <result column="two_hundred_submit_time" property="two_hundred_submit_time"/>
+        <result column="user_id" property="user_id"/>
+        <result column="type_flag" property="type_flag"/>
+        <result column="task_time" property="task_time"/>
+        <result column="first_task_id" property="first_task_id"/>
+    </resultMap>
+>>>>>>> d2c1732... 小程序端放行和审批按照角色审批和发送微信消息,修改task
     <resultMap id="approveMap" type="com.factory.base.entity.task.ApproveEntry">
         <id column="id" property="id"/>
         <result column="first_article_task_id" property="task_id"/>