Browse Source

Merge remote-tracking branch 'origin/dev' into dev

fanxp 1 year ago
parent
commit
53bd9262e1

+ 21 - 5
src/main/java/com/xjrsoft/module/material/controller/MaterialTaskController.java

@@ -20,17 +20,19 @@ import com.xjrsoft.module.app.dto.UpdateEnableMarkDto;
 import com.xjrsoft.module.material.dto.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.alibaba.excel.EasyExcel;
-import com.xjrsoft.module.material.entity.MaterialTaskAssign;
-import com.xjrsoft.module.material.entity.MaterialType;
-import com.xjrsoft.module.material.entity.MaterialTypeAssign;
+import com.xjrsoft.module.material.entity.*;
+import com.xjrsoft.module.material.service.IMaterialTaskAppendixService;
 import com.xjrsoft.module.material.service.IMaterialTaskAssignService;
 import com.xjrsoft.module.material.vo.*;
+import com.xjrsoft.module.oa.entity.NewsAppendix;
 import com.xjrsoft.module.oa.entity.NewsRelation;
+import com.xjrsoft.module.oa.vo.NewsAppendixVo;
 import com.xjrsoft.module.oa.vo.NewsRelationVo;
 import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.organization.entity.UserDeptRelation;
 import com.xjrsoft.module.personnel.entity.FaceIdentifyRecords;
 import com.xjrsoft.module.student.entity.BaseStudentUser;
+import com.xjrsoft.module.system.entity.File;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import org.springframework.web.multipart.MultipartFile;
 import java.io.IOException;
@@ -39,7 +41,6 @@ import org.springframework.http.ResponseEntity;
 import java.io.ByteArrayOutputStream;
 import java.util.ArrayList;
 
-import com.xjrsoft.module.material.entity.MaterialTask;
 import com.xjrsoft.module.material.service.IMaterialTaskService;
 
 import io.swagger.annotations.Api;
@@ -68,6 +69,7 @@ public class MaterialTaskController {
 
 
     private final IMaterialTaskAssignService materialTaskAssignService;
+    private  final IMaterialTaskAppendixService materialTaskAppendixService;
 
     @GetMapping(value = "/page")
     @ApiOperation(value = "材料提交任务列表(分页 自己)")
@@ -130,7 +132,21 @@ public class MaterialTaskController {
         if (materialTask == null) {
             return RT.error("找不到此数据!");
         }
-        return RT.ok(BeanUtil.toBean(materialTask, MaterialTaskVo.class));
+
+        MaterialTaskVo materialTaskVo = BeanUtil.toBean(materialTask, MaterialTaskVo.class);
+        List<MaterialTaskAppendixVo> newsAppendixVoList = materialTaskAppendixService.selectJoinList(MaterialTaskAppendixVo.class,
+                new MPJLambdaWrapper<MaterialTaskAppendix>().eq(MaterialTaskAppendix::getMaterialTaskId, id)
+                        .select(MaterialTaskAppendix::getId)
+                        .select(MaterialTaskAppendix.class, x -> VoToColumnUtil.fieldsToColumns(MaterialTaskAppendixVo.class).contains(x.getProperty()))
+                        .leftJoin(File.class, File::getId, MaterialTaskAppendix::getFileId, ext -> ext.selectAs(File::getFileName, MaterialTaskAppendixVo::getFileName)
+                                .selectAs(File::getFolderId, MaterialTaskAppendixVo::getFolderId)
+                                .selectAs(File::getFileUrl, MaterialTaskAppendixVo::getFileUrl))
+        );
+
+        if (newsAppendixVoList.size() > 0) {
+            materialTaskVo.setMaterialTaskAppendixList(newsAppendixVoList);
+        }
+        return RT.ok(materialTaskVo);
     }
 
 

+ 1 - 0
src/main/java/com/xjrsoft/module/material/dto/AddMaterialTaskDto.java

@@ -44,6 +44,7 @@ public class AddMaterialTaskDto implements Serializable {
     * 要求完成日期
     */
     @ApiModelProperty("要求完成日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime requiredCompleteTime;
     /**
     * 要求

+ 2 - 0
src/main/java/com/xjrsoft/module/material/entity/MaterialTask.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.github.yulichang.annotation.EntityMapping;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -91,6 +92,7 @@ public class MaterialTask implements Serializable {
     * 要求完成日期
     */
     @ApiModelProperty("要求完成日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime requiredCompleteTime;
     /**
     * 要求

+ 7 - 0
src/main/java/com/xjrsoft/module/material/service/IMaterialTaskAppendixService.java

@@ -0,0 +1,7 @@
+package com.xjrsoft.module.material.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.material.entity.MaterialTaskAppendix;
+
+public interface IMaterialTaskAppendixService  extends MPJBaseService<MaterialTaskAppendix> {
+}

+ 13 - 0
src/main/java/com/xjrsoft/module/material/service/impl/MaterialTaskAppendixServiceImpl.java

@@ -0,0 +1,13 @@
+package com.xjrsoft.module.material.service.impl;
+
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.material.entity.MaterialTaskAppendix;
+import com.xjrsoft.module.material.mapper.MaterialTaskAppendixMapper;
+import com.xjrsoft.module.material.service.IMaterialTaskAppendixService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@AllArgsConstructor
+public class MaterialTaskAppendixServiceImpl   extends MPJBaseServiceImpl<MaterialTaskAppendixMapper, MaterialTaskAppendix> implements IMaterialTaskAppendixService {
+}

+ 6 - 2
src/main/java/com/xjrsoft/module/material/service/impl/MaterialTaskAssignServiceImpl.java

@@ -33,7 +33,7 @@ public class MaterialTaskAssignServiceImpl   extends MPJBaseServiceImpl<Material
             List<MaterialTaskAssign> materialTypeAssignList = materialTaskAssignMapper.selectList(Wrappers.<MaterialTaskAssign>query().lambda()
                     .eq(MaterialTaskAssign::getMaterialTaskId, addMaterialTaskAssignDto.getMaterialTaskId()));
             for (MaterialAssignUserDto addMaterialTypeAssignUserDto : addMaterialTaskAssignDto.getUserList()) {
-                Optional<MaterialTaskAssign> materialTaskAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId() == addMaterialTypeAssignUserDto.getUserId()).findAny();
+                Optional<MaterialTaskAssign> materialTaskAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId().equals(addMaterialTypeAssignUserDto.getUserId()) ).findAny();
                 if (!materialTaskAssignAny.isPresent()) {
                     MaterialTaskAssign materialTaskAssign = new MaterialTaskAssign();
                     materialTaskAssign.setMaterialTaskId(addMaterialTaskAssignDto.getMaterialTaskId());
@@ -65,7 +65,11 @@ public class MaterialTaskAssignServiceImpl   extends MPJBaseServiceImpl<Material
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean delete(List<Long> ids) {
-        materialTaskAssignMapper.deleteBatchIds(ids);
+        MaterialTaskAssign materialTaskAssign = materialTaskAssignMapper.selectOne(Wrappers.lambdaQuery(MaterialTaskAssign.class).in(MaterialTaskAssign::getId, ids));
+        MaterialTask materialTask = materialTaskMapper.selectByIdDeep(materialTaskAssign.getMaterialTaskId());
+        int count = materialTaskAssignMapper.deleteBatchIds(ids);
+        materialTask.setAssignPerson(materialTask.getAssignPerson() - count);
+        materialTaskMapper.updateById(materialTask);
         return true;
     }
 }

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

@@ -26,7 +26,7 @@ public class MaterialTypeAssignServiceImpl extends MPJBaseServiceImpl<MaterialTy
             List<MaterialTypeAssign> materialTypeAssignList = materialTypeMaterialTypeAssignMapper.selectList(Wrappers.<MaterialTypeAssign>query().lambda()
                     .eq(MaterialTypeAssign::getMaterialTypeId, addMaterialTypeAssignDto.getMaterialTypeId()));
             for (MaterialAssignUserDto addMaterialTypeAssignUserDto : addMaterialTypeAssignDto.getUserList()) {
-                Optional<MaterialTypeAssign> materialTypeAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId() == addMaterialTypeAssignUserDto.getUserId()).findAny();
+                Optional<MaterialTypeAssign> materialTypeAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId().equals(addMaterialTypeAssignUserDto.getUserId()) ).findAny();
                 if (!materialTypeAssignAny.isPresent()) {
                     MaterialTypeAssign materialTypeAssign = new MaterialTypeAssign();
                     materialTypeAssign.setMaterialTypeId(addMaterialTypeAssignDto.getMaterialTypeId());

+ 15 - 1
src/main/java/com/xjrsoft/module/material/vo/MaterialTaskAppendixVo.java

@@ -32,7 +32,21 @@ public class MaterialTaskAppendixVo {
     */
     @ApiModelProperty("文件ID(xjr_file)")
     private Long fileId;
-
+    /**
+     * 文件名称
+     */
+    @ApiModelProperty("文件名称")
+    private String fileName;
+    /**
+     * 附件夹主键
+     */
+    @ApiModelProperty("附件夹主键")
+    private Long folderId;
+    /**
+     * 文件路径
+     */
+    @ApiModelProperty("文件路径")
+    private String fileUrl;
 
 
 }

+ 1 - 0
src/main/java/com/xjrsoft/module/material/vo/MaterialTaskPageVo.java

@@ -98,6 +98,7 @@ public class MaterialTaskPageVo {
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("要求完成日期")
     @ApiModelProperty("要求完成日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime requiredCompleteTime;
     /**
     * 要求

+ 2 - 0
src/main/java/com/xjrsoft/module/material/vo/MaterialTaskVo.java

@@ -1,5 +1,6 @@
 package com.xjrsoft.module.material.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -43,6 +44,7 @@ public class MaterialTaskVo {
     * 要求完成日期
     */
     @ApiModelProperty("要求完成日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime requiredCompleteTime;
     /**
     * 要求

+ 2 - 0
src/main/java/com/xjrsoft/module/material/vo/MaterialTaskWaitPageVo.java

@@ -2,6 +2,7 @@ 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 io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -43,6 +44,7 @@ public class MaterialTaskWaitPageVo {
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("要求完成日期")
     @ApiModelProperty("要求完成日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime requiredCompleteTime;
     /**
      * 指派给几人