Ver Fonte

教育培训bug修改

jingyuanchao há 2 anos atrás
pai
commit
11b6643476

+ 7 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillTaskEditDto.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.xunmei.common.core.domain.drill.domain.CoreDrillTaskToUser;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -49,4 +50,10 @@ public class CoreDrillTaskEditDto {
     @ApiModelProperty(value = "任务用户信息", notes = "1:参与人员,2:缺席人员")
     private List<CoreDrillTaskToUser> taskUserList;
 
+    @ApiModelProperty(value = "任务用户信息", notes = "参与人员")
+    private List<CoreDrillTaskToUser> absenceList;
+
+    @ApiModelProperty(value = "任务用户信息", notes = "缺席人员")
+    private List<CoreDrillTaskToUser> absentList;
+
 }

+ 7 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillTaskDetailVo.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.xunmei.common.core.domain.drill.domain.CoreDrillTaskToUser;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -100,6 +101,12 @@ public class CoreDrillTaskDetailVo {
     @ApiModelProperty(value = "任务用户信息", notes = "1:参与人员,2:缺席人员")
     private List<CoreDrillTaskToUser> taskUserList;
 
+    @ApiModelProperty(value = "任务用户信息", notes = "参与人员")
+    private List<CoreDrillTaskToUser> absenceList;
+
+    @ApiModelProperty(value = "任务用户信息", notes = "缺席人员")
+    private List<CoreDrillTaskToUser> absentList;
+
 
     @ApiModelProperty(value = "登记簿地址")
     private String pdfUrl;

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

@@ -20,6 +20,7 @@ import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.domain.drill.domain.*;
 import com.xunmei.common.core.domain.drill.dto.*;
 import com.xunmei.common.core.domain.drill.vo.*;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskReportVo;
 import com.xunmei.common.core.enums.ExportPdfType;
 import com.xunmei.common.core.enums.OrgTypeEnum;
@@ -63,6 +64,7 @@ import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import static com.xunmei.common.core.utils.StringUtils.calculatePercent;
 
@@ -195,6 +197,9 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         }
         if (ObjectUtil.isNotEmpty(userList)) {
             detailVo.setTaskUserList(userList);
+            Map<Integer, List<CoreDrillTaskToUser>> collect = userList.stream().collect(Collectors.groupingBy(CoreDrillTaskToUser::getType));
+            detailVo.setAbsenceList(collect.get(1));
+            detailVo.setAbsentList(collect.get(2));
         }
         final List<SysDictData> drillTypeDictList = DictUtils.getDictCache(DictConstants.CORE_DRILL_TYPE);
         if (ObjectUtil.isNotEmpty(drillTypeDictList) && ObjectUtil.isNotEmpty(detailVo.getType())) {
@@ -255,7 +260,12 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         } else {
             coreDrillTask.setHostId(SecurityUtils.getUserId());
         }
-        List<CoreDrillTaskToUser> taskUserList = request.getTaskUserList();
+        List<CoreDrillTaskToUser> taskUserList;
+        if (ObjectUtil.isNotEmpty(request.getTaskUserList())) {
+            taskUserList = request.getTaskUserList();
+        } else {
+            taskUserList = Stream.of(request.getAbsenceList(), request.getAbsentList()).flatMap(Collection::stream).collect(Collectors.toList());
+        }
         if (ObjectUtil.isNotEmpty(taskUserList)) {
             checkTheSameUser(taskUserList);
             for (CoreDrillTaskToUser taskToUser : taskUserList) {
@@ -519,7 +529,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             this.update(updateWrapper);
         });
 
-        return AjaxResult.error("正在生成pdf,请稍后刷新页面查看!");
+        return AjaxResult.success("正在生成pdf,请稍后刷新页面查看!");
     }
 
     private Map<String, Object> getFtlDrill(CoreDrillTaskDetailVo task) {
@@ -527,6 +537,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
 
         String orgName = task.getOrgName();
         String drillSite = task.getDrillSite();
+        String imageData = task.getImageList();
         String drillTime = DateUtil.format(task.getDrillTime(), "yyyy-MM-dd HH:mm:ss");
         String hostName = task.getHostName() == null ? StringUtil.EMPTY_STRING : task.getHostName();
         String typeText = task.getTypeText() == null ? StringUtil.EMPTY_STRING : task.getTypeText();
@@ -539,6 +550,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         data.put("drillTime", StringUtils.isNotEmpty(drillTime) ? drillTime : StringUtil.EMPTY_STRING);
         data.put("hostName", StringUtils.isNotEmpty(hostName) ? hostName : StringUtil.EMPTY_STRING);
         data.put("typeText", StringUtils.isNotEmpty(typeText) ? typeText : StringUtil.EMPTY_STRING);
+        data.put("imageData", StringUtils.isNotEmpty(imageData) ? Arrays.asList(imageData.split(",")) : StringUtil.EMPTY_STRING);
         data.put("recorderName", StringUtils.isNotEmpty(recorderName) ? recorderName : StringUtil.EMPTY_STRING);
         data.put("presetCase", StringUtils.isNotEmpty(presetCase) ? "预设案由: " + presetCase : StringUtil.EMPTY_STRING);
         data.put("drillSituation", StringUtils.isNotEmpty(drillSituation) ? "演练情况: " + drillSituation : StringUtil.EMPTY_STRING);

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

@@ -521,7 +521,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         } catch (Exception e) {
             throw new RuntimeException(e);
         }*/
-        return AjaxResult.error("正在生成pdf,请稍后刷新页面查看!");
+        return AjaxResult.success("正在生成pdf,请稍后刷新页面查看!");
     }
 
     private Map<String, Object> getFtlEdu(CoreEduTrainingTaskDetailVo task) {

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

@@ -201,7 +201,7 @@ public class LocalSysFileServiceImpl implements ISysFileService {
         final PdfPTable table = pdfTableVo.getTable();
         final BaseFont fs = pdfTableVo.getFs();
         final Font tableFont = pdfTableVo.getTableFont();
-        PdfUtil.dealHeader(document, fs, "学 习 教 育 记 录", 24);
+        PdfUtil.dealHeader(document, fs, "预 案 演 练 记 录", 24);
         PdfUtil.dealDrillBody(document, table, tableFont, data);
         document.close();
         writer.close();

+ 18 - 11
soc-modules/soc-modules-file/src/main/java/com/xunmei/file/utils/PdfUtil.java

@@ -20,13 +20,7 @@ import java.util.Map;
 public class PdfUtil {
 
 
-    public static void main(String[] args) throws Exception {
-        //Itext4Pdf();
-        long start = System.currentTimeMillis();
-        // createPdf("d:/test.pdf");
-        long end = System.currentTimeMillis();
-        System.out.println(end - start);
-    }
+
 
     public static ItextPdfTableVo createTable(String filename, int numColumns, int fontSize) throws Exception {
         Document document = new Document(PageSize.A4, 0, 0, 50, 0);//SUPPRESS
@@ -223,7 +217,7 @@ public class PdfUtil {
         createPDFCell(tableFont, table, "演练项目", Element.ALIGN_CENTER, 1, 1);
         createPDFCell(tableFont, table, data.get("typeText").toString(), Element.ALIGN_CENTER, 5, 1);
 
-        //内容
+        //预设案由
         PdfPCell contentCell = new PdfPCell();
         contentCell.setColspan(6);
         Paragraph content = new Paragraph();
@@ -233,15 +227,28 @@ public class PdfUtil {
         contentCell.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);
         table.addCell(contentCell);
 
-        //总结
+        //演练情况
         PdfPCell noteCell = new PdfPCell();
         noteCell.setColspan(6);
         Paragraph paragraph = new Paragraph();
         String noteText = data.get("drillSituation").toString();
         paragraph.add(new Chunk(noteText, tableFont));
         noteCell.addElement(paragraph);
-        noteCell.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);
+        noteCell.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
         table.addCell(noteCell);
+        //演练情况 图片填充
+        final PdfPTable imageTable1 = getImage((List<String>) data.get("imageData"), 6);
+        final PdfPCell cell1 = new PdfPCell();
+        cell1.setNoWrap(false);
+        cell1.setPaddingLeft(8f);
+        cell1.setPaddingRight(8f);
+        cell1.setPaddingBottom(8f);
+        cell1.setPaddingTop(8f);
+        cell1.setColspan(6);
+        cell1.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);
+        cell1.addElement(imageTable1);
+        table.addCell(cell1);
+
         //签字区域
         PdfPCell signCell = new PdfPCell();
         signCell.setColspan(6);
@@ -251,7 +258,7 @@ public class PdfUtil {
         signCell.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
         table.addCell(signCell);
         //图片填充
-        final PdfPTable imageTable = getImage((List<String>) data.get("image"), 12);
+        final PdfPTable imageTable = getImage((List<String>) data.get("image"), 6);
         final PdfPCell cell = new PdfPCell();
         cell.setNoWrap(false);
         cell.setPaddingLeft(8f);