Explorar el Código

培训/演练 运维接口代码提交

jingyuanchao hace 1 año
padre
commit
e644382d6e

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/ICoreDrillTaskService.java

@@ -124,4 +124,6 @@ public interface ICoreDrillTaskService extends IService<CoreDrillTask> {
     List<CoreDrillTask> selectTaskByHsPlanIdList(List<Long> allHsPlanIdList, Date startTime, Date endTime);
 
     List<String> checkTaskExit(List<String> allDrillIdList);
+
+    void doneTask(String id);
 }

+ 42 - 32
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -1005,28 +1005,25 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
                 record.setRecStatusText(DictUtils.getDictLabel(DictConstants.DRILL_TASK_REC_STATUS, record.getRecStatus()));
             }
             record.setOrgName(orgService.concatOrgName(record.getOrgId(), SecurityConstants.INNER));
-            record.setNoBscArea(isNoBSCAreaSubOrg(record.getOrgPath(),ObjectUtil.isNotNull(noBscAreaConfig)?noBscAreaConfig.getConfigValue():StringUtil.EMPTY_STRING));
+            record.setNoBscArea(isNoBSCAreaSubOrg(record.getOrgPath(), ObjectUtil.isNotNull(noBscAreaConfig) ? noBscAreaConfig.getConfigValue() : StringUtil.EMPTY_STRING));
 
         }
         return TableDataInfo.build(page);
     }
 
-    private boolean isNoBSCAreaSubOrg(String orgPath,String noBscAreaConfig)
-    {
-        if(StringUtil.isNullOrEmpty(noBscAreaConfig))
-        {
+    private boolean isNoBSCAreaSubOrg(String orgPath, String noBscAreaConfig) {
+        if (StringUtil.isNullOrEmpty(noBscAreaConfig)) {
             return false;
         }
-        if(StringUtil.isNullOrEmpty(orgPath))
-        {
+        if (StringUtil.isNullOrEmpty(orgPath)) {
             return false;
         }
         String[] noBscAreaOrgIds = noBscAreaConfig.split(",");
-        for (int i=0 ; i<noBscAreaOrgIds.length;i++) {
-             boolean isContains = orgPath.contains(noBscAreaOrgIds[i]);
-             if(isContains) {
-                 return true;
-             }
+        for (int i = 0; i < noBscAreaOrgIds.length; i++) {
+            boolean isContains = orgPath.contains(noBscAreaOrgIds[i]);
+            if (isContains) {
+                return true;
+            }
         }
         return false;
     }
@@ -1130,8 +1127,6 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
 
 
-
-
         request.setOrgPath(sysOrg.getPath());
     }
 
@@ -1315,11 +1310,9 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
 
             Optional<SysOrg> first = sysOrgList.stream().filter(org -> ObjectUtil.equal(org.getType(), OrgTypeEnum.BAN_SHI_CHU.getCode())).findFirst();
             SysOrg sysOrg = null;
-            if(first.isPresent())
-            {
-                sysOrg =first.get();
-            }
-            else {
+            if (first.isPresent()) {
+                sysOrg = first.get();
+            } else {
                 // 厦门、 莆田没有办事处
                 sysOrg = sysOrgList.stream().filter(org -> org.getShortName().endsWith("地区行社")).findFirst().orElseThrow(() -> new SystemException(ErrorMsgConstants.QUERY_ORG_DATA_ERROR));
             }
@@ -1379,7 +1372,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         if (OrgTypeEnum.HANG_SHE.getCode().equals(sysOrg.getType()) ||
                 OrgTypeEnum.BAN_SHI_CHU.getCode().equals(sysOrg.getType()) ||
                 OrgTypeEnum.SHEGN_LIAN_SHE.getCode().equals(sysOrg.getType())) {
-            panelListDto.setStartTime(DateUtil.offsetMonth(DateUtil.beginOfQuarter(new Date()),-3));
+            panelListDto.setStartTime(DateUtil.offsetMonth(DateUtil.beginOfQuarter(new Date()), -3));
             panelListDto.setEndTime(DateUtil.endOfQuarter(new Date()));
             //查询待评价(最近两季度)数据
             List<PanelListVo> waitEvaluateTaskList = coreDrillTaskMapper.selectWaitEvaluateTaskList(panelListDto);
@@ -1411,7 +1404,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             //查询待评价与待推优数据
             waitRecTaskList = coreDrillTaskMapper.selectWaitRecTaskList(panelListDto);
 
-            waitRecTaskList.addAll(getSpecialWaitRecTaskList(panelListDto,sysOrg));
+            waitRecTaskList.addAll(getSpecialWaitRecTaskList(panelListDto, sysOrg));
 
             waitRecTaskList.forEach(item -> {
                 if (ObjectUtil.isNotNull(item.getRecStatus())) {
@@ -1428,26 +1421,22 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
     }
 
     //省联社用户 查询没有办事处的特殊 地区评优推优待办
-    private List<PanelListVo> getSpecialWaitRecTaskList(PanelListDto panelListDto, SysOrg sysOrg)
-    {
+    private List<PanelListVo> getSpecialWaitRecTaskList(PanelListDto panelListDto, SysOrg sysOrg) {
         List<PanelListVo> waitRecTaskList = new ArrayList<>();
         //是否为省联社用户
-        if(OrgTypeEnum.SHEGN_LIAN_SHE.getCode().equals(sysOrg.getType()))
-        {
+        if (OrgTypeEnum.SHEGN_LIAN_SHE.getCode().equals(sysOrg.getType())) {
             SysConfig noBscAreaConfig = remoteConfigService.findSysConfigByCode(SystemParameterConstant.NO_BSC_AREA, SecurityConstants.INNER);
-            if(ObjectUtil.isNotNull(noBscAreaConfig) && !StringUtil.isNullOrEmpty(noBscAreaConfig.getConfigValue()))
-            {
+            if (ObjectUtil.isNotNull(noBscAreaConfig) && !StringUtil.isNullOrEmpty(noBscAreaConfig.getConfigValue())) {
 
                 String[] noBscAreaOrgIds = noBscAreaConfig.getConfigValue().split(",");
-                List<Long> orgIds=new ArrayList<>();
-                for (int i=0 ; i<noBscAreaOrgIds.length;i++) {
+                List<Long> orgIds = new ArrayList<>();
+                for (int i = 0; i < noBscAreaOrgIds.length; i++) {
 
                     orgIds.add(Long.parseLong(noBscAreaOrgIds[i]));
                 }
 
                 List<SysOrg> sysOrgs = orgService.selectOrgByIdList(orgIds, SecurityConstants.INNER);
-                if(ObjectUtil.isNotEmpty(sysOrgs))
-                {
+                if (ObjectUtil.isNotEmpty(sysOrgs)) {
                     for (SysOrg x : sysOrgs) {
                         panelListDto.setOrgPath(x.getPath());
                         waitRecTaskList.addAll(coreDrillTaskMapper.selectSpecialWaitRecTaskList(panelListDto));
@@ -1863,7 +1852,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         for (CoreDrillTaskExportVo task : list) {
             task.setIndex(index);
             index++;
-            if (ObjectUtil.equal(1,request.getIsSpecial())&&ObjectUtil.equal(task.getStatus(),DrillDoStatus.WAIT_COMMENT.getCode())){
+            if (ObjectUtil.equal(1, request.getIsSpecial()) && ObjectUtil.equal(task.getStatus(), DrillDoStatus.WAIT_COMMENT.getCode())) {
                 task.setStatus(DrillDoStatus.DONE.getCode());
             }
             task.setStatusText(DrillDoStatus.getName(task.getStatus()));
@@ -1978,6 +1967,27 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         List<CoreDrillTask> coreDrillTasks = baseMapper.selectList(wrapper);
         return coreDrillTasks.stream().map(CoreDrillTask::getId).map(String::valueOf).collect(Collectors.toList());
     }
+
+    @Override
+    public void doneTask(String taskId) {
+        CoreDrillTask task = baseMapper.selectById(taskId);
+        if (task == null) {
+            throw new RuntimeException("培训任务不存在!");
+        }
+
+        LambdaQueryWrapper<CoreDrillTaskToUser> taskToUser = new LambdaQueryWrapper<>();
+        taskToUser.eq(CoreDrillTaskToUser::getDrillTaskId, taskId);
+        //参与用户
+        taskToUser.eq(CoreDrillTaskToUser::getType, 1);
+        //未签名的
+        taskToUser.eq(CoreDrillTaskToUser::getSign, 0);
+        taskToUserMapper.delete(taskToUser);
+
+        task.setStatus(DrillDoStatus.DONE.getCode());
+        baseMapper.updateById(task);
+
+        buildDrillTaskPdf(task.getId());
+    }
 }
 
 

+ 7 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/controller/CoreEduTrainingTaskController.java

@@ -1,6 +1,7 @@
 package com.xunmei.core.edu.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.shaded.com.google.gson.Gson;
 import com.xunmei.common.core.domain.edu.dto.*;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo;
@@ -139,4 +140,10 @@ public class CoreEduTrainingTaskController extends BaseController {
     public void export( CoreEduTrainingTaskPageDto request, HttpServletResponse response) throws IOException {
         coreEduTrainingTaskService.export(request, response);
     }
+
+    @ApiOperation(value = "运维接口",notes = "除了 演练/培训任务,删除未签名的用户,并生成登记簿")
+    @PostMapping("/doneTask")
+    public void doneTask(@RequestBody JSONObject req) {
+        coreEduTrainingTaskService.doneTask(req);
+    }
 }

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/ICoreEduTrainingTaskService.java

@@ -1,6 +1,7 @@
 package com.xunmei.core.edu.service;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTask;
 import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
@@ -119,4 +120,7 @@ public interface ICoreEduTrainingTaskService extends IService<CoreEduTrainingTas
     List<CoreEduTrainingTask> selectTaskByHsPlanIdList(List<Long> allHsPlanIdList, Date startTime, Date endTime);
 
     List<String> checkTaskExit(List<String> allEduTrainingIdList);
+
+    void doneTask(JSONObject req);
+
 }

+ 43 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -7,6 +7,7 @@ import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -44,6 +45,7 @@ import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.TaskCreatingServiceImplBase;
+import com.xunmei.core.drill.service.ICoreDrillTaskService;
 import com.xunmei.core.edu.mapper.CoreEduTrainingPlanMapper;
 import com.xunmei.core.edu.mapper.CoreEduTrainingTaskMapper;
 import com.xunmei.core.edu.mapper.CoreEduTrainingTaskToRoleMapper;
@@ -121,7 +123,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
 
     @Autowired
     private RemoteWorkTimeService workTimeService;
-
+    @Autowired
+    private ICoreDrillTaskService drillTaskService;
     @Override
     public TableDataInfo<CoreEduTrainingTaskPageVo> selectPage(CoreEduTrainingTaskPageDto request) {
         dealTaskPageParam(request);
@@ -1504,6 +1507,45 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         List<CoreEduTrainingTask> coreEduTrainingTasks = baseMapper.selectList(queryWrapper);
         return coreEduTrainingTasks.stream().map(CoreEduTrainingTask::getId).map(String::valueOf).collect(Collectors.toList());
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void doneTask(JSONObject req) {
+        if (ObjectUtil.isEmpty(req) || req.isEmpty()) {
+            throw new RuntimeException("参数不能为空");
+        }
+        String type = (String) req.get("taskType");
+        String id = (String) req.get("taskId");
+        switch (type) {
+            case "1":
+                doneTask(id);
+                break;
+            case "2":
+                drillTaskService.doneTask(id);
+                break;
+            default:
+                throw new RuntimeException("参数错误");
+        }
+    }
+
+    private void doneTask(String taskId) {
+        CoreEduTrainingTask task = baseMapper.selectById(taskId);
+        if (task == null) {
+            throw new RuntimeException("培训任务不存在!");
+        }
+
+        LambdaQueryWrapper<CoreEduTrainingTaskToUser> taskToUser = new LambdaQueryWrapper<>();
+        taskToUser.eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, taskId);
+        //参与用户
+        taskToUser.eq(CoreEduTrainingTaskToUser::getType, 1);
+        //未签名的
+        taskToUser.eq(CoreEduTrainingTaskToUser::getSign, 0);
+        coreEduTrainingTaskToUserMapper.delete(taskToUser);
+        task.setStatus(EduTrainingDoStatus.DONE.getCode());
+        baseMapper.updateById(task);
+
+        buildEduPdf(task.getId());
+    }
 }
 
 

+ 1 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/util/Sm4Util.java

@@ -185,7 +185,7 @@ public class Sm4Util {
 
 
     public static void main(String[] args) {
-        String s = encryptEcb("51d95b1dc43a9faaad0570f81c755fcf", "update core_drill_task set status=3 where id=1785571100489875460;");
+        String s = encryptEcb("51d95b1dc43a9faaad0570f81c755fcf", "update core_edu_training_task set  status=2 where id='1807459079280091152';");
 
         System.out.println(s);