luowei 2 anni fa
parent
commit
d0972d2fbc

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/evaluate/mapper/CoreEvaluateRoleMapper.java

@@ -3,6 +3,7 @@ package com.xunmei.core.evaluate.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.core.evaluate.domain.CoreEvaluatePlan;
 import com.xunmei.core.evaluate.domain.CoreEvaluateRole;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -11,6 +12,7 @@ import java.util.List;
  * @author :LuoWei
  * @date : 2023/10/10
  */
+@Mapper
 public interface CoreEvaluateRoleMapper extends BaseMapper<CoreEvaluateRole> {
     /**
      * 通过评价计划id删除

+ 18 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/evaluate/service/ICoreEvaluatePlanService.java

@@ -54,13 +54,17 @@ public interface ICoreEvaluatePlanService extends IService<CoreEvaluatePlan> {
 
     /**
      * 手动下发
+     *
      * @param id
      * @return
      */
     int distribute(Long id);
-int withdraw(Long id);
+
+    int withdraw(Long id);
+
     /**
      * 定时
+     *
      * @param cycle
      */
     void generate(String cycle);
@@ -89,5 +93,17 @@ int withdraw(Long id);
      * @return Page
      */
     TableDataInfo<CoreEvaluatePlanListVO> selectPage(EvaluateQueryDTO evaluateQueryDTO);
-    List<CoreEvaluatePlan>allList();
+
+    List<CoreEvaluatePlan> allList();
+
+    /**
+     * 月定时任务
+     */
+    void monthTask();
+
+    /**
+     * 季度定时任务
+     */
+    void seasonTask();
+    void yearTask();
 }

+ 170 - 21
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/evaluate/service/impl/CoreEvaluatePlanServiceImpl.java

@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.utils.StringUtils;
@@ -28,11 +27,9 @@ import com.xunmei.system.api.RemoteRoleService;
 import com.xunmei.system.api.RemoteUserService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.domain.SysUser;
-import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
@@ -48,11 +45,11 @@ import java.util.stream.Collectors;
  */
 @Service
 public class CoreEvaluatePlanServiceImpl extends ServiceImpl<CoreEvaluatePlanMapper, CoreEvaluatePlan> implements ICoreEvaluatePlanService {
-    @Autowired
+    @Resource
     private CoreEvaluatePlanMapper coreEvaluatePlanMapper;
-    @Autowired
+    @Resource
     private RemoteOrgService remoteOrgService;
-    @Autowired
+    @Resource
     private RemoteUserService remoteUserService;
     @Autowired
     private CoreEvaluateRoleMapper coreEvaluateRoleMapper;
@@ -64,7 +61,7 @@ public class CoreEvaluatePlanServiceImpl extends ServiceImpl<CoreEvaluatePlanMap
     private RemoteOrgService orgService;
     @Autowired
     private ICoreEvaluateTaskService coreEvaluateTaskService;
-    @Autowired
+    @Resource
     private RemoteRoleService remoteRoleService;
 
     /**
@@ -157,16 +154,6 @@ public class CoreEvaluatePlanServiceImpl extends ServiceImpl<CoreEvaluatePlanMap
             coreEvaluatePlanContent.setEvaluateId(planId);
             coreEvaluatePlanContentMapper.insert(coreEvaluatePlanContent);
         });
-        //固定
-/*        CoreEvaluateContent coreEvaluateContent = new CoreEvaluateContent();
-        coreEvaluateContent.setCode(1L);
-        coreEvaluateContent.setContentType("1");
-        coreEvaluateContent.setContent("被评价外包公司名称");
-        coreEvaluateContentMapper.insert(coreEvaluateContent);*/
-    /*    CoreEvaluatePlanContent coreEvaluatePlanContent = new CoreEvaluatePlanContent();
-        coreEvaluatePlanContent.setContentId(coreEvaluateContent.getId());
-        coreEvaluatePlanContent.setEvaluateId(planId);
-        coreEvaluatePlanContentMapper.insert(coreEvaluatePlanContent);*/
         return insert;
     }
 
@@ -318,10 +305,19 @@ public class CoreEvaluatePlanServiceImpl extends ServiceImpl<CoreEvaluatePlanMap
 
     @Override
     public void generate(String cycle) {
-        List<CoreEvaluatePlan> coreEvaluatePlans = baseMapper.selectPlanByCycle(cycle);
-        coreEvaluatePlans.forEach(c -> {
-            distribute(c.getId());
-        });
+        if (cycle.equals("0")){
+            this.monthTask();
+        }
+        if (cycle.equals("1")){
+           this.seasonTask();
+        }
+        if (cycle.equals("2")){
+            this.yearTask();
+        }
+//        List<CoreEvaluatePlan> coreEvaluatePlans = baseMapper.selectPlanByCycle(cycle);
+//        coreEvaluatePlans.forEach(c -> {
+//            distribute(c.getId());
+//        });
     }
 
     public LocalDate getTime(int time) {
@@ -404,4 +400,157 @@ public class CoreEvaluatePlanServiceImpl extends ServiceImpl<CoreEvaluatePlanMap
     public List<CoreEvaluatePlan> allList() {
         return baseMapper.allList();
     }
+
+    @Override
+    public void monthTask() {
+        //查询月计划
+        CoreEvaluatePlan coreEvaluatePlan=new CoreEvaluatePlan();
+        coreEvaluatePlan.setEvaluateCycle("0");
+        coreEvaluatePlan.setIsDeleted("0");
+        coreEvaluatePlan.setIsDistribute("1");
+        coreEvaluatePlan.setStatus("0");
+        List<CoreEvaluatePlan> coreEvaluatePlans = baseMapper.selectCoreEvaluatePlanList(coreEvaluatePlan);
+        if (CollectionUtils.isNotEmpty(coreEvaluatePlans)){
+            coreEvaluatePlans.forEach(c->{
+                SysOrg org = new SysOrg();
+                org.setType(Integer.valueOf(c.getOrgType()));
+                org.setPath(c.getOrgPath());
+                List<SysOrg> list = remoteOrgService.listByParentIdAndType(org, SecurityConstants.INNER);
+                LocalDate localDate = getTime(2);
+                String firstDay = DateUtils.parseDateToStr("yyyy-MM-dd 23:59:59", Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()));
+                SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                Date endTime = null;
+                try {
+                    endTime = ft.parse(firstDay);
+                } catch (Exception e) {
+                    e.getMessage();
+                }
+                for (SysOrg l : list) {
+                    CoreEvaluateTask coreEvaluateTask = new CoreEvaluateTask();
+                    coreEvaluateTask.setPlanId(c.getId());
+                    coreEvaluateTask.setOrgId(l.getId());
+                    coreEvaluateTask.setStatus("0");
+                    coreEvaluateTask.setOrgName(l.getShortName());
+                    coreEvaluateTask.setOrgPath(l.getPath());
+                    coreEvaluateTask.setEvaluateName(c.getEvaluateName());
+                    coreEvaluateTask.setCreateTime(DateUtils.getNowDate());
+                    coreEvaluateTask.setCreateBy(c.getCreateBy());
+                    coreEvaluateTask.setStartTime(DateUtils.getNowDate());
+                    coreEvaluateTask.setEndTime(endTime);
+                    coreEvaluateTask.setEvaluateCycle(c.getEvaluateCycle());
+                    List<Long> roleList = coreEvaluateRoleMapper.getRoleByEvaluateId(c.getId());
+                    StringBuilder sb = new StringBuilder();
+                    for (Long r : roleList) {
+                        sb.append(r);
+                        sb.append(",");
+                    }
+                    String newStr = sb.substring(0, sb.toString().length() - 1);
+                    coreEvaluateTask.setRoleName(newStr);
+                    coreEvaluateTaskService.insertCoreEvaluateTask(coreEvaluateTask);
+                }
+            });
+        }
+    }
+
+    @Override
+    public void seasonTask() {
+        //查询季度计划
+        CoreEvaluatePlan coreEvaluatePlan=new CoreEvaluatePlan();
+        coreEvaluatePlan.setEvaluateCycle("1");
+        coreEvaluatePlan.setIsDeleted("0");
+        coreEvaluatePlan.setIsDistribute("1");
+        coreEvaluatePlan.setStatus("0");
+        List<CoreEvaluatePlan> coreEvaluatePlans = baseMapper.selectCoreEvaluatePlanList(coreEvaluatePlan);
+        if (CollectionUtils.isNotEmpty(coreEvaluatePlans)){
+            coreEvaluatePlans.forEach(c->{
+                SysOrg org = new SysOrg();
+                org.setType(Integer.valueOf(c.getOrgType()));
+                org.setPath(c.getOrgPath());
+                List<SysOrg> list = remoteOrgService.listByParentIdAndType(org, SecurityConstants.INNER);
+                LocalDate localDate = getTime(4);
+                String firstDay = DateUtils.parseDateToStr("yyyy-MM-dd 23:59:59", Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()));
+                SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                Date endTime = null;
+                try {
+                    endTime = ft.parse(firstDay);
+                } catch (Exception e) {
+                    e.getMessage();
+                }
+                for (SysOrg l : list) {
+                    CoreEvaluateTask coreEvaluateTask = new CoreEvaluateTask();
+                    coreEvaluateTask.setPlanId(c.getId());
+                    coreEvaluateTask.setOrgId(l.getId());
+                    coreEvaluateTask.setStatus("0");
+                    coreEvaluateTask.setOrgName(l.getShortName());
+                    coreEvaluateTask.setOrgPath(l.getPath());
+                    coreEvaluateTask.setEvaluateName(c.getEvaluateName());
+                    coreEvaluateTask.setCreateTime(DateUtils.getNowDate());
+                    coreEvaluateTask.setCreateBy(c.getCreateBy());
+                    coreEvaluateTask.setStartTime(DateUtils.getNowDate());
+                    coreEvaluateTask.setEndTime(endTime);
+                    coreEvaluateTask.setEvaluateCycle(c.getEvaluateCycle());
+                    List<Long> roleList = coreEvaluateRoleMapper.getRoleByEvaluateId(c.getId());
+                    StringBuilder sb = new StringBuilder();
+                    for (Long r : roleList) {
+                        sb.append(r);
+                        sb.append(",");
+                    }
+                    String newStr = sb.substring(0, sb.toString().length() - 1);
+                    coreEvaluateTask.setRoleName(newStr);
+                    coreEvaluateTaskService.insertCoreEvaluateTask(coreEvaluateTask);
+                }
+            });
+        }
+    }
+
+    @Override
+    public void yearTask() {
+        //查询季度计划
+        CoreEvaluatePlan coreEvaluatePlan=new CoreEvaluatePlan();
+        coreEvaluatePlan.setEvaluateCycle("2");
+        coreEvaluatePlan.setIsDeleted("0");
+        coreEvaluatePlan.setIsDistribute("1");
+        coreEvaluatePlan.setStatus("0");
+        List<CoreEvaluatePlan> coreEvaluatePlans = baseMapper.selectCoreEvaluatePlanList(coreEvaluatePlan);
+        if (CollectionUtils.isNotEmpty(coreEvaluatePlans)){
+            coreEvaluatePlans.forEach(c->{
+                SysOrg org = new SysOrg();
+                org.setType(Integer.valueOf(c.getOrgType()));
+                org.setPath(c.getOrgPath());
+                List<SysOrg> list = remoteOrgService.listByParentIdAndType(org, SecurityConstants.INNER);
+                LocalDate localDate = getTime(13);
+                String firstDay = DateUtils.parseDateToStr("yyyy-MM-dd 23:59:59", Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()));
+                SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                Date endTime = null;
+                try {
+                    endTime = ft.parse(firstDay);
+                } catch (Exception e) {
+                    e.getMessage();
+                }
+                for (SysOrg l : list) {
+                    CoreEvaluateTask coreEvaluateTask = new CoreEvaluateTask();
+                    coreEvaluateTask.setPlanId(c.getId());
+                    coreEvaluateTask.setOrgId(l.getId());
+                    coreEvaluateTask.setStatus("0");
+                    coreEvaluateTask.setOrgName(l.getShortName());
+                    coreEvaluateTask.setOrgPath(l.getPath());
+                    coreEvaluateTask.setEvaluateName(c.getEvaluateName());
+                    coreEvaluateTask.setCreateTime(DateUtils.getNowDate());
+                    coreEvaluateTask.setCreateBy(c.getCreateBy());
+                    coreEvaluateTask.setStartTime(DateUtils.getNowDate());
+                    coreEvaluateTask.setEndTime(endTime);
+                    coreEvaluateTask.setEvaluateCycle(c.getEvaluateCycle());
+                    List<Long> roleList = coreEvaluateRoleMapper.getRoleByEvaluateId(c.getId());
+                    StringBuilder sb = new StringBuilder();
+                    for (Long r : roleList) {
+                        sb.append(r);
+                        sb.append(",");
+                    }
+                    String newStr = sb.substring(0, sb.toString().length() - 1);
+                    coreEvaluateTask.setRoleName(newStr);
+                    coreEvaluateTaskService.insertCoreEvaluateTask(coreEvaluateTask);
+                }
+            });
+        }
+    }
 }