Explorar o código

[task-1459]-子-人员培训模块-改进/[后端]到期自动发布并发通知

szjbdgzl %!s(int64=2) %!d(string=hai) anos
pai
achega
6231ceaea2

+ 36 - 23
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/PersonnelTrainJob.java

@@ -54,7 +54,7 @@ public class PersonnelTrainJob extends BaseJob2 {
 
         String sql = "select p.id_,p.bian_zhi_ren_,e.name_,p.bian_zhi_bu_men_,d.name_ as dept_name_,p.pei_xun_nei_rong_," +
                 "date_format(p.pei_xun_shi_jian_,'%Y-%m-%d') pei_xun_shi_jian_,date_format(p.pei_xun_jie_shu_s,'%Y-%m-%d')  " +
-                " pei_xun_jie_shu_s,p.pei_xun_ren_yuan_,p.pei_xun_di_dian_ from t_rypxcjb p " +
+                " pei_xun_jie_shu_s,p.pei_xun_ren_yuan_,p.pei_xun_di_dian_,p.pei_xun_lao_shi_ from t_rypxcjb p " +
                 "left join ibps_party_employee e on e.id_=p.bian_zhi_ren_ " +
                 "left join ibps_party_position d on d.id_=p.bian_zhi_bu_men_ " +
                 "where shi_fou_guo_shen_ ='未发布' and pei_xun_shi_jian_ >=now() and pei_xun_shi_jian_<=date_add(now(), interval 1 week)";
@@ -70,14 +70,16 @@ public class PersonnelTrainJob extends BaseJob2 {
 
                 commonDao.execute("update t_rypxcjb set shi_fou_guo_shen_='未开始' where id_= '"+id+"'");
 
-                NewsPo newsPo = new NewsPo();
-                newsPo.setAuthor(userName);
                 String peiXunNeiRong = train.get("pei_xun_nei_rong_").toString();
                 String starDate = train.get("pei_xun_shi_jian_").toString();
                 String endDate = train.get("pei_xun_jie_shu_s").toString();
                 String didian = train.get("pei_xun_jie_shu_s").toString();
-
                 String nameIds = train.get("pei_xun_ren_yuan_").toString();
+                String teachIds = train.get("pei_xun_lao_shi_").toString();
+
+                if (BeanUtils.isNotEmpty(teachIds)){
+                    nameIds = nameIds + "," + teachIds;
+                }
                 StringBuilder nameStr = new StringBuilder();
                 String[] ids = nameIds.split(",");
                 if (ids.length>1){
@@ -89,6 +91,11 @@ public class PersonnelTrainJob extends BaseJob2 {
                     nameStr = new StringBuilder(partyEmployeeRepository.get(nameIds).getName());
                 }
 
+                for (String str : ids){
+                    String name = partyEmployeeRepository.get(str).getName();
+                    sendCalendar(str,name,peiXunNeiRong,starDate,endDate,didian,nameStr.toString());
+                }
+
                 String content = "<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp;&nbsp;&nbsp;"+peiXunNeiRong+"培训通知</strong></p >" +
@@ -98,6 +105,8 @@ public class PersonnelTrainJob extends BaseJob2 {
                         "<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+didian+"</p ><p><strong>四、参加人员:</strong></p >" +
                         "<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+nameStr+"</p ><p><br style=\"text-wrap: wrap;\"/></p ><p><br/></p >";
 
+                NewsPo newsPo = new NewsPo();
+                newsPo.setAuthor(userName);
                 newsPo.setContent(content);
                 newsPo.setDepId(train.get("bian_zhi_bu_men_").toString());
                 newsPo.setDepName(deptName);
@@ -109,26 +118,30 @@ public class PersonnelTrainJob extends BaseJob2 {
                 newsPo.setUserName(userName);
                 newsMgrService.save(newsPo);
 
-                PartyUserCalendarPo calendarPo = new PartyUserCalendarPo();
-                calendarPo.setUserId(userId);
-                calendarPo.setUserName(userName);
-                calendarPo.setTitle("关于培训计划通知");
-
-                String neiRong = peiXunNeiRong+"培训通知:\n" +
-                        "  1.培训主题: "+peiXunNeiRong+"\n" +
-                        "  2.时间安排: 开始时间:"+starDate+" 结束时间:"+endDate+"\n" +
-                        "  3.培训地点: "+didian+" \n" +
-                        "  4.参加人员: "+nameStr;
-
-                calendarPo.setContent(neiRong);
-                calendarPo.setStartTime(starDate);
-                calendarPo.setEndTime(endDate);
-                calendarPo.setEmergencyState("2");
-                calendarPo.setId(UniqueIdUtil.getId());
-                calendarPo.setCreateBy(userId);
-                calendarDao.create(calendarPo);
-
             }
         }
     }
+
+    // 保存日历日程信息
+    private void sendCalendar(String userId,String userName,String peiXunNeiRong,String starDate,String endDate,String didian,String nameStr){
+        PartyUserCalendarPo calendarPo = new PartyUserCalendarPo();
+        calendarPo.setUserId(userId);
+        calendarPo.setUserName(userName);
+        calendarPo.setTitle("关于培训计划通知");
+
+        String neiRong = peiXunNeiRong+"培训通知:\n" +
+                "  1.培训主题: "+peiXunNeiRong+"\n" +
+                "  2.时间安排: 开始时间:"+starDate+" 结束时间:"+endDate+"\n" +
+                "  3.培训地点: "+didian+" \n" +
+                "  4.参加人员: "+nameStr;
+
+        calendarPo.setContent(neiRong);
+        calendarPo.setStartTime(starDate);
+        calendarPo.setEndTime(endDate);
+        calendarPo.setEmergencyState("2");
+        calendarPo.setId(UniqueIdUtil.getId());
+        calendarPo.setCreateBy(userId);
+        calendarDao.create(calendarPo);
+    }
+
 }