luowei 2 년 전
부모
커밋
44c4e9e953

+ 97 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java

@@ -162,6 +162,103 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
                     tm.setPlanStatus(1);
                     tm.setIsDistribute("1");
                     baseMapper.updateById(tm);
+                    if (tMonitoringRetrievalPlan.getOrgType().equals("3")) {
+                        if (!tMonitoringRetrievalPlan.getPlanCycle().equals(ZERO.toString()) &&
+                                tMonitoringRetrievalPlan.getImmediately().equals(Boolean.TRUE)) {
+                            tm.setStartTime(new Date());
+                            int amount = 0;
+                            LocalDate lastDayOfMonth;
+                            switch (tMonitoringRetrievalPlan.getPlanCycle()) {
+                                case "1":
+                                    amount = 1;
+                                    break;
+                                case "2":
+                                    amount = 7;
+                                    break;
+                                case "3":
+                                    LocalDate currentDate = LocalDate.now();
+                                    lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth());
+                                    amount = lastDayOfMonth.getDayOfMonth() - currentDate.getDayOfMonth();
+                                    break;
+                                case "4":
+                                    amount = getDayNum(3);
+                                    break;
+                                case "5":
+                                    amount = getDayNum(6);
+                                    break;
+                                case "6":
+                                    amount = getDayNum(12);
+                                    break;
+                            }
+                            Calendar cal = Calendar.getInstance();
+                            cal.setTime(new Date());
+                            cal.add(Calendar.DATE, amount);
+                            Date time = cal.getTime();
+                            tm.setEndTime(time);
+                            tMonitoringRetrievalPlans.add(tm);
+                        }
+                    }else {
+                        SysOrg sysOrg = new SysOrg();
+                        sysOrg.setPath(tm.getOrgPath());
+                        sysOrg.setType(Integer.valueOf(tMonitoringRetrievalPlan.getOrgType()));
+                        List<SysOrg> sysOrgs = remoteOrgService.listByParentIdAndType(sysOrg, SecurityConstants.INNER);
+                        for (SysOrg s : sysOrgs) {
+                            TMonitoringRetrievalPlan plan = new TMonitoringRetrievalPlan();
+                            BeanUtils.copyProperties(tMonitoringRetrievalPlan, plan);
+                            plan.setPlanName(tMonitoringRetrievalPlan.getPlanName());
+                            plan.setOrgId(s.getId());
+                            plan.setOrgName(s.getShortName());
+                            plan.setRoleId(tMonitoringRetrievalPlan.getRoleId());
+                            plan.setRoleName(tMonitoringRetrievalPlan.getRoleName());
+                            plan.setOrgPath(s.getPath());
+                            plan.setOrgType(tMonitoringRetrievalPlan.getOrgType());
+                            plan.setPlanCycle(tMonitoringRetrievalPlan.getPlanCycle());
+                            plan.setPlanFrequency(tMonitoringRetrievalPlan.getPlanFrequency());
+                            plan.setPlanStatus(ZERO);
+                            plan.setCreateBy(SecurityUtils.getUsername());
+                            plan.setUpdateTime(DateUtils.getNowDate());
+                            plan.setUpdateBy(SecurityUtils.getUsername());
+                            plan.setCreateTime(DateUtils.getNowDate());
+                            plan.setDescription(tMonitoringRetrievalPlan.getDescription());
+                            plan.setCreateType(1);
+                            plan.setParentId(tMonitoringRetrievalPlan.getId());
+                            plan.setIsDistribute("1");
+                            if (!tMonitoringRetrievalPlan.getPlanCycle().equals(ZERO.toString()) &&
+                                    tMonitoringRetrievalPlan.getImmediately().equals(Boolean.TRUE)) {
+                                plan.setStartTime(new Date());
+                                int amount = 0;
+                                LocalDate lastDayOfMonth;
+                                switch (tMonitoringRetrievalPlan.getPlanCycle()) {
+                                    case "1":
+                                        amount = 1;
+                                        break;
+                                    case "2":
+                                        amount = 7;
+                                        break;
+                                    case "3":
+                                        LocalDate currentDate = LocalDate.now();
+                                        lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth());
+                                        amount = lastDayOfMonth.getDayOfMonth() - currentDate.getDayOfMonth();
+                                        break;
+                                    case "4":
+                                        amount = getDayNum(3);
+                                        break;
+                                    case "5":
+                                        amount = getDayNum(6);
+                                        break;
+                                    case "6":
+                                        amount = getDayNum(12);
+                                        break;
+                                }
+                                Calendar cal = Calendar.getInstance();
+                                cal.setTime(new Date());
+                                cal.add(Calendar.DATE, amount);
+                                Date time = cal.getTime();
+                                plan.setEndTime(time);
+                            }
+                            tMonitoringRetrievalPlans.add(plan);
+                        }
+                    }
                 }
             } else {
                 //查询符合的机构,需求是先把行社加入