Procházet zdrojové kódy

Merge branch 'pre'

dzx před 1 rokem
rodič
revize
1112650b89

+ 48 - 6
src/main/java/com/xjrsoft/module/material/controller/MaterialTaskController.java

@@ -17,7 +17,17 @@ import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.app.dto.UpdateEnableMarkDto;
 import com.xjrsoft.module.form.dto.FormExecuteInfoDto;
 import com.xjrsoft.module.form.service.IFormExecuteService;
-import com.xjrsoft.module.material.dto.*;
+import com.xjrsoft.module.material.dto.AddMaterialTaskAssignDto;
+import com.xjrsoft.module.material.dto.AddMaterialTaskDto;
+import com.xjrsoft.module.material.dto.FormDataExportQueryDto;
+import com.xjrsoft.module.material.dto.MaterialTaskAssignAppendixDto;
+import com.xjrsoft.module.material.dto.MaterialTaskAssignApprovedDto;
+import com.xjrsoft.module.material.dto.MaterialTaskAssignListDto;
+import com.xjrsoft.module.material.dto.MaterialTaskAssignPageDto;
+import com.xjrsoft.module.material.dto.MaterialTaskPageDto;
+import com.xjrsoft.module.material.dto.MaterialTaskWaitPageDto;
+import com.xjrsoft.module.material.dto.UpdateMaterialTaskDto;
+import com.xjrsoft.module.material.dto.ViewContentDto;
 import com.xjrsoft.module.material.entity.MaterialTask;
 import com.xjrsoft.module.material.entity.MaterialTaskAssign;
 import com.xjrsoft.module.material.entity.MaterialType;
@@ -26,6 +36,7 @@ import com.xjrsoft.module.material.service.IMaterialTaskAssignService;
 import com.xjrsoft.module.material.service.IMaterialTaskService;
 import com.xjrsoft.module.material.vo.MaterialTaskAssignListVo;
 import com.xjrsoft.module.material.vo.MaterialTaskAssignVo;
+import com.xjrsoft.module.material.vo.MaterialTaskExcelVo;
 import com.xjrsoft.module.material.vo.MaterialTaskPageVo;
 import com.xjrsoft.module.material.vo.MaterialTaskVo;
 import com.xjrsoft.module.material.vo.MaterialTaskWaitPageVo;
@@ -49,8 +60,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -112,6 +122,7 @@ public class MaterialTaskController {
                         .or()
                         .eq(MaterialTaskAssign::getStatus, 4))
                 .select(MaterialTask::getId)
+                .selectAs(MaterialTask::getMaterialTypeId, MaterialTaskWaitPageVo::getMaterialId)
                 .select(MaterialTask.class, x -> VoToColumnUtil.fieldsToColumns(MaterialTaskWaitPageVo.class).contains(x.getProperty()))
                 .innerJoin(MaterialTaskAssign.class, MaterialTaskAssign::getMaterialTaskId, MaterialTask::getId, ext -> ext.eq(MaterialTaskAssign::getUserId, StpUtil.getLoginIdAsLong()))
                 .selectAs(MaterialTaskAssign::getId, MaterialTaskWaitPageVo::getAssignId)
@@ -184,10 +195,41 @@ public class MaterialTaskController {
 
     @PostMapping("/export-query")
     @ApiOperation(value = "导出")
-    public ResponseEntity<byte[]> exportData(@Valid @RequestBody MaterialTaskPageDto dto) {
-        List<MaterialTaskPageVo> customerList = ((PageOutput<MaterialTaskPageVo>) page(dto).getData()).getList();
+    public ResponseEntity<byte[]> exportData(@Valid @RequestBody MaterialTaskAssignListDto dto) {
+        List<MaterialTaskAssignListVo> customerList = materialTaskService.assignList(dto);
+        List<MaterialTaskExcelVo> dataList = new ArrayList<>();
+        for (int i = 0; i < customerList.size(); i ++){
+            int finalI = i;
+            MaterialTaskAssignListVo listVo = customerList.get(i);
+            MaterialTaskExcelVo excelVo = new MaterialTaskExcelVo();
+            excelVo.setSortCode(finalI + 1);
+            excelVo.setName(listVo.getName());
+            excelVo.setUserNumber(listVo.getUserNumber());
+            String userType = "";
+            if(listVo.getUserType() != null && listVo.getUserType() == 1){
+                userType = "教职工";
+            }else if(listVo.getUserType() != null && listVo.getUserType() == 2){
+                userType = "学生";
+            }
+            excelVo.setUserType(userType);
+            excelVo.setDeptName(listVo.getDeptName());
+            //状态 1=未提交 2=待审核 3=通过 4=重做
+            String state = "";
+            if(listVo.getStatus() != null && listVo.getUserType() == 1){
+                state = "未提交";
+            }else if(listVo.getStatus() != null && listVo.getUserType() == 2){
+                state = "待审核";
+            }else if(listVo.getStatus() != null && listVo.getUserType() == 3){
+                state = "通过";
+            }else if(listVo.getStatus() != null && listVo.getUserType() == 4){
+                state = "重做";
+            }
+            excelVo.setStatus(state);
+            dataList.add(excelVo);
+        }
+
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
-        EasyExcel.write(bot, MaterialTaskPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+        EasyExcel.write(bot, MaterialTaskExcelVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(dataList);
 
         return RT.fileStream(bot.toByteArray(), "MaterialTask" + ExcelTypeEnum.XLSX.getValue());
     }

+ 10 - 1
src/main/java/com/xjrsoft/module/material/service/impl/MaterialTaskAssignServiceImpl.java

@@ -1,12 +1,15 @@
 package com.xjrsoft.module.material.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.module.material.dto.AddMaterialTaskAssignDto;
 import com.xjrsoft.module.material.dto.MaterialAssignUserDto;
 import com.xjrsoft.module.material.dto.MaterialTaskAssignApprovedDto;
 import com.xjrsoft.module.material.entity.MaterialTask;
+import com.xjrsoft.module.material.entity.MaterialTaskAppendix;
 import com.xjrsoft.module.material.entity.MaterialTaskAssign;
+import com.xjrsoft.module.material.mapper.MaterialTaskAppendixMapper;
 import com.xjrsoft.module.material.mapper.MaterialTaskAssignMapper;
 import com.xjrsoft.module.material.mapper.MaterialTaskMapper;
 import com.xjrsoft.module.material.service.IMaterialTaskAssignService;
@@ -19,9 +22,10 @@ import java.util.Optional;
 
 @Service
 @AllArgsConstructor
-public class MaterialTaskAssignServiceImpl   extends MPJBaseServiceImpl<MaterialTaskAssignMapper, MaterialTaskAssign> implements IMaterialTaskAssignService {
+public class MaterialTaskAssignServiceImpl extends MPJBaseServiceImpl<MaterialTaskAssignMapper, MaterialTaskAssign> implements IMaterialTaskAssignService {
     private final MaterialTaskAssignMapper materialTaskAssignMapper;
     private final MaterialTaskMapper materialTaskMapper;
+    private final MaterialTaskAppendixMapper appendixMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -101,6 +105,11 @@ public class MaterialTaskAssignServiceImpl   extends MPJBaseServiceImpl<Material
                     }
                     if (dto.getStatus() == 2) {//重做
                         materialTaskAssign.setStatus(4);
+
+                        appendixMapper.delete(
+                                new QueryWrapper<MaterialTaskAppendix>().lambda()
+                                        .eq(MaterialTaskAppendix::getMaterialTaskId, materialTaskAssign.getId())
+                        );
                     }
 
                     materialTaskAssignMapper.updateById(materialTaskAssign);

+ 44 - 0
src/main/java/com/xjrsoft/module/material/vo/MaterialTaskExcelVo.java

@@ -0,0 +1,44 @@
+package com.xjrsoft.module.material.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xjrsoft.module.system.entity.File;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+* @title: 材料提交任务分页列表出参
+* @Author baicai
+* @Date: 2023-10-31
+* @Version 1.0
+*/
+@Data
+public class MaterialTaskExcelVo {
+
+
+    @ExcelProperty("序号")
+    private Integer sortCode;
+
+    @ExcelProperty("延迟提交")
+    private String name;
+
+    @ExcelProperty("学号/工号")
+    @ApiModelProperty("学号/工号")
+    private String userNumber;
+
+    @ExcelProperty("身份")
+    @ApiModelProperty("用户类型 1=孝职工 2=学生")
+    private String userType;
+
+    @ExcelProperty("部门")
+    private String deptName;
+
+    @ExcelProperty("状态")
+    @ApiModelProperty("状态 1=未提交 2=待审核 3=通过 4=重做")
+    private String status;
+
+}