Эх сурвалжийг харах

教育培训任务代码提交

jingyuanchao 2 жил өмнө
parent
commit
3c9bb3984d

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

@@ -93,7 +93,7 @@ public class CoreEduTrainingTaskController extends BaseController {
     @RequiresPermissions("core:eduTask:sign")
     @PostMapping("sign")
     public AjaxResult sign(@RequestBody @Validated CoreEduTrainingTaskSignDto request) {
-        return success(coreEduTrainingTaskService.selectCoreEduTrainingTaskSign(request));
+        return success(coreEduTrainingTaskService.sign(request));
     }
 
     @ApiOperation(value = "生成教育培训登记簿")

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

@@ -86,7 +86,7 @@ public interface ICoreEduTrainingTaskService extends IService<CoreEduTrainingTas
 
     List<CoreEduTrainingTaskReportVo> selectCoreEduTrainingTaskReport(CoreEduTrainingTaskReportDto request);
 
-    Integer selectCoreEduTrainingTaskSign(CoreEduTrainingTaskSignDto request);
+    Integer sign(CoreEduTrainingTaskSignDto request);
 
     AjaxResult buildEduPdf(Long id);
 

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

@@ -114,9 +114,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
                     .in(CoreEduTrainingTaskToRole::getEduTrainingTaskId, idList));
             Map<Long, List<CoreEduTrainingTaskToRole>> listMap = roleList.stream().collect(Collectors.groupingBy(CoreEduTrainingTaskToRole::getEduTrainingTaskId));
             final List<CoreEduTrainingTaskPageVo> records = pageData.getRecords();
-            final String staticPathPrefix = getStaticPathPrefix();
             for (CoreEduTrainingTaskPageVo record : records) {
-                dealData(record, records, listMap, staticPathPrefix);
+                dealData(record, records, listMap);
             }
         }
         //抓换为TableDataInfo适配前端
@@ -127,7 +126,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         return RemoteCallHandlerExecutor.executeRemoteCall(() -> fileService.getStaticPathPrefix(), ErrorMsgConstants.QUERY_STATICS_SAVE_PATH_ERROR);
     }
 
-    private void dealData(CoreEduTrainingTaskPageVo record, List<CoreEduTrainingTaskPageVo> records, Map<Long, List<CoreEduTrainingTaskToRole>> listMap, String staticsPath) {
+    private void dealData(CoreEduTrainingTaskPageVo record, List<CoreEduTrainingTaskPageVo> records, Map<Long, List<CoreEduTrainingTaskToRole>> listMap) {
         record.setNo(records.indexOf(record) + 1);
         record.setTypeText(EduTrainingType.getName(record.getType()));
         record.setStatusText(EduTrainingDoStatus.getName(record.getStatus()));
@@ -140,11 +139,9 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         record.setTaskRoleNameList(coreEduTrainingTaskToRoles.stream().map(CoreEduTrainingTaskToRole::getRoleName).collect(Collectors.joining(",")));
         List<CoreEduTrainingTaskToUser> userList = taskToUserMapper.selectList(new LambdaQueryWrapper<CoreEduTrainingTaskToUser>()
                 .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, record.getId()));
-        int signNums = (int) userList.stream().filter(user -> user.getSign() == 1).count();
-        record.setSignNums(signNums + "/" + userList.size());
-        if (ObjectUtil.isNotEmpty(record.getPdfUrl())) {
-            record.setPdfUrl(staticsPath + record.getPdfUrl());
-        }
+        int signNums = (int) userList.stream().filter(user -> user.getSign() == 1 && ObjectUtil.equal(user.getType(), 1)).count();
+        int totalNums = (int) userList.stream().filter(user -> ObjectUtil.equal(user.getType(), 1)).count();
+        record.setSignNums(signNums + "/" + totalNums);
         record.setUserList(userList);
 
     }
@@ -172,9 +169,6 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         if (ObjectUtil.isNotEmpty(userList)) {
             detailVo.setTaskUserList(userList);
         }
-        if (ObjectUtil.isNotEmpty(detailVo.getPdfUrl())) {
-            detailVo.setPdfUrl(getStaticPathPrefix() + detailVo.getPdfUrl());
-        }
         return detailVo;
     }
 
@@ -217,6 +211,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         coreEduTrainingTask.setContent(request.getContent());
         coreEduTrainingTask.setNote(request.getNote());
         coreEduTrainingTask.setRecorderId(SecurityUtils.getUserId());
+        coreEduTrainingTask.setImageList(request.getImageList());
         //主持人默认取网点负责人,具体还没落实,暂时处理成这样   TODO
         coreEduTrainingTask.setHostId(SecurityUtils.getUserId());
         List<CoreEduTrainingTaskToUser> taskUserList = request.getTaskUserList();
@@ -231,13 +226,6 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         if (ObjectUtil.equal(request.getSubmitType(), 2)) {
             coreEduTrainingTask.setStatus(EduTrainingDoStatus.WAIT_SIGN.getCode());
         }
-        //判断是否已全部完成签名,如果是将任务修改成已完成
-        Long unSignNums = taskToUserMapper.selectCount(new LambdaQueryWrapper<CoreEduTrainingTaskToUser>()
-                .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, request.getId())
-                .eq(CoreEduTrainingTaskToUser::getSign, 0));
-        if (null == unSignNums || unSignNums == 0) {
-            coreEduTrainingTask.setStatus(EduTrainingDoStatus.DONE.getCode());
-        }
 
         coreEduTrainingTask.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getId().toString());
         coreEduTrainingTask.setUpdateTime(DateUtils.getNowDate());
@@ -397,7 +385,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     }
 
     @Override
-    public Integer selectCoreEduTrainingTaskSign(CoreEduTrainingTaskSignDto request) {
+    public Integer sign(CoreEduTrainingTaskSignDto request) {
+        CoreEduTrainingTask eduTrainingTask = getById(request.getId());
         SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
         CoreEduTrainingTaskToUser taskToUser = taskToUserMapper.selectOne(new LambdaQueryWrapper<CoreEduTrainingTaskToUser>()
                 .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, request.getId())
@@ -407,18 +396,33 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
             throw new SystemException("未获取到当前用户于该教育培训的详细信息");
         }
         taskToUser.setSign(1);
+        dealImageUrl(request.getSignImage());
         taskToUser.setSignImage(request.getSignImage());
         final int sign = taskToUserMapper.updateSign(taskToUser);
+        //判断是否已全部完成签名,如果是将任务修改成已完成
+        Long unSignNums = taskToUserMapper.selectCount(new LambdaQueryWrapper<CoreEduTrainingTaskToUser>()
+                .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, request.getId())
+                .eq(CoreEduTrainingTaskToUser::getType, 1)
+                .eq(CoreEduTrainingTaskToUser::getSign, 0));
+        if (null == unSignNums || unSignNums == 0) {
+            eduTrainingTask.setStatus(EduTrainingDoStatus.DONE.getCode());
+            coreEduTrainingTaskMapper.updateById(eduTrainingTask);
+        }
         final List<CoreEduTrainingTaskToUser> taskToUserList = taskToUserMapper.selectList(new LambdaUpdateWrapper<CoreEduTrainingTaskToUser>()
                 .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, request.getId()));
         //如果存在用户数据,筛选出参与人员中签名图片为空的数据,如果count等于0说明全部签名完成
-        final long count = taskToUserList.stream().filter(user -> ObjectUtil.equal(user.getType(), 1) && ObjectUtil.isEmpty(user.getSignImage())).count();
+        final long count = taskToUserList.stream().filter(user -> ObjectUtil.equal(user.getType(), 1) && ObjectUtil.equal(user.getSign(), 0)).count();
         if (ObjectUtil.isNotEmpty(taskToUserList) && count < 1) {
             buildEduPdf(request.getId());
         }
         return sign;
     }
 
+    private void dealImageUrl(String signImage) {
+
+
+    }
+
     @Override
     public AjaxResult buildEduPdf(Long id) {
         CoreEduTrainingTaskDetailVo task = this.selectCoreEduTrainingTaskById(id);

+ 8 - 4
soc-modules/soc-modules-file/src/main/java/com/xunmei/file/service/LocalSysFileServiceImpl.java

@@ -51,10 +51,13 @@ public class LocalSysFileServiceImpl implements ISysFileService {
     @Value("${file.path}")
     private String localFilePath;
 
+    @Value("${file.prefix}")
+    public String prefix;
+
     @Autowired
     private HttpServletRequest request;
 
-    private static String getLocalFilePath(String prefix, String businessType, String fileName) {
+    private static String getLocalFilePath(String businessType, String fileName) {
         final String path = File.separator + businessType + File.separator + DateUtil.format(new Date(), "yyyy" + File.separator + "MM" + File.separator + "dd" + File.separator);
         File desc = new File(path + fileName);
         log.info("当前上传文件地址:{}", desc.getAbsolutePath());
@@ -171,7 +174,8 @@ public class LocalSysFileServiceImpl implements ISysFileService {
 
     @Override
     public String generateEduTrainingPdf(Map<String, Object> data) throws Exception {
-        String filePath = getLocalFilePath(this.localFilePath, "edu", data.get("fileName").toString());
+        String filePath = getLocalFilePath("edu", data.get("fileName").toString());
+        log.info("生成教育培训登记簿,当前地址为:{}", filePath);
         final ItextPdfTableVo pdfTableVo = PdfUtil.createTable(filePath, 6, 10);
         final Document document = pdfTableVo.getDocument();
         final PdfWriter writer = pdfTableVo.getWriter();
@@ -185,8 +189,8 @@ public class LocalSysFileServiceImpl implements ISysFileService {
 
         document.close();
         writer.close();
-
-        return filePath;
+        //此处返回  /statics/edu/xxx.pdf
+        return this.prefix + filePath;
     }
 
 }