Ver código fonte

项目完成比例功能优化

user5 2 anos atrás
pai
commit
b5d3957f1d

+ 19 - 6
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/projectRecords/controller/ProjectController.java

@@ -268,9 +268,9 @@ public class ProjectController {
             return ResponseEntity.badRequest().body  ("导入文件格式不正确,建议根据模板来进行数据的导入");
         }
         //判断文件中是否有重复的文号
-        if(hashMap.size() != listA.size() + listB.size()){
+        /*if(hashMap.size() != listA.size() + listB.size()){
             return ResponseEntity.badRequest().body  ("文件中存在重复的文号或者多个空文号");
-        }
+        }*/
         //导入数据
         projectService.saveBatch(arrayList);
 
@@ -377,8 +377,13 @@ public class ProjectController {
                 if(ObjectUtil.isNotEmpty(userProject)){
                     return "文件中存在已在档的文号";
                 }
-            }else{
+            }/*else{
                 return "文件中存在空的文号,文号不允许为空";
+            }*/
+
+            //年份的问题
+            if(StringUtils.isBlank(project.getYear())) {
+                return "文件中存在空年份,请填写年份信息";
             }
 
             //是否开票
@@ -684,12 +689,20 @@ public class ProjectController {
     public void exportFileUploadList(ProjectDTO projectDTO, HttpServletResponse response) throws Exception {
         Project project = ProjectWrapper.INSTANCE.toEntity (projectDTO);
         QueryWrapper<Project> queryWrapper = QueryWrapperGenerator.buildQueryCondition( project, Project.class );
-        List<FileUploadListDTO> list = projectService.exportFileUploadList(queryWrapper);
+        List<FileUploadListDTO> list = projectService.exportFileUploadList(projectDTO);
         if(ProjectTypeEnum.ASSESS.getValue().equals(projectDTO.getItemType())){
-            EasyPoiUtil.exportExcel(list, "评估项目上传比例报告",  "评估项目上传比例报告", FileUploadListDTO.class, "", response );
+            if(StringUtils.isNotBlank(projectDTO.getYear())){
+                EasyPoiUtil.exportExcel(list, projectDTO.getYear() + "年评估项目上传比例报告",  "评估项目上传比例报告", FileUploadListDTO.class, "", response );
+            }else{
+                EasyPoiUtil.exportExcel(list, "评估项目上传比例报告",  "评估项目上传比例报告", FileUploadListDTO.class, "", response );
+            }
         }
         if(ProjectTypeEnum.CONSULTATION.getValue().equals(projectDTO.getItemType())){
-            EasyPoiUtil.exportExcel(list, "咨询项目上传比例报告",  "咨询项目上传比例报告", FileUploadListDTO.class, "", response );
+            if(StringUtils.isNotBlank(projectDTO.getYear())){
+                EasyPoiUtil.exportExcel(list, projectDTO.getYear() + "年咨询项目上传比例报告",  "咨询项目上传比例报告", FileUploadListDTO.class, "", response );
+            }else{
+                EasyPoiUtil.exportExcel(list, "咨询项目上传比例报告",  "咨询项目上传比例报告", FileUploadListDTO.class, "", response );
+            }
         }
     }
 }

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/projectRecords/domain/Project.java

@@ -34,6 +34,12 @@ public class Project extends BaseEntity {
     private String customerName;
 
     /**
+     * 年份
+     */
+    @Query
+    private String year;
+
+    /**
      * 项目名称
      */
     @Query

+ 3 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/projectRecords/mapper/ProjectMapper.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.test.projectRecords.domain.Project;
 import com.jeeplus.test.projectRecords.service.dto.FileUploadListDTO;
+import com.jeeplus.test.projectRecords.service.dto.ProjectDTO;
 import liquibase.pro.packaged.S;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -27,7 +28,7 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
     public Integer proportion(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
 
-    public List<FileUploadListDTO> projectAllList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+    public List<FileUploadListDTO> projectAllList(ProjectDTO projectDTO);
 
-    public List<FileUploadListDTO> projectList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+    public List<FileUploadListDTO> projectList(ProjectDTO projectDTO);
 }

+ 48 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/projectRecords/mapper/xml/ProjectMapper.xml

@@ -68,6 +68,7 @@
     pr.del_flag,
     pr.customer_name,
     pr.project_name,
+    pr.year,
     pr.evaluation_objective,
     pr.project_type,
     pr.evaluation_base_date,
@@ -188,7 +189,29 @@
     FROM
         project_records pr
         LEFT JOIN sys_user su ON pr.project_head = su.id
-        ${ew.customSqlSegment}
+    <where>
+      su.del_flag=0
+      and pr.del_flag=0
+      and pr.item_type = #{itemType}
+      <if test="year != null and year != ''">
+        and pr.year = #{year}
+      </if>
+      <if test="customerName != null and customerName != ''">
+        and pr.customer_name like concat('%',#{customerName},'%')
+      </if>
+      <if test="protocolNum != null and protocolNum != ''">
+        and pr.protocol_num like concat('%',#{protocolNum},'%')
+      </if>
+      <if test="projectName != null and projectName != ''">
+        and pr.project_name like concat('%',#{projectName},'%')
+      </if>
+      <if test="documentNum != null and documentNum != ''">
+        and pr.document_num like concat('%',#{documentNum},'%')
+      </if>
+      <if test="projectHead != null and projectHead != ''">
+        and pr.projectHead = #{projectHead}
+      </if>
+    </where>
         GROUP BY su.id
   </select>
 
@@ -199,7 +222,30 @@
     FROM
         project_records pr
         LEFT JOIN sys_user su ON pr.project_head = su.id
-        ${ew.customSqlSegment}
+    <where>
+      su.del_flag=0
+      and pr.del_flag=0
+      and pr.file_upload_type = 1
+      and pr.item_type = #{itemType}
+      <if test="year != null and year != ''">
+        and pr.year = #{year}
+      </if>
+      <if test="customerName != null and customerName != ''">
+        and pr.customer_name like concat('%',#{customerName},'%')
+      </if>
+      <if test="protocolNum != null and protocolNum != ''">
+        and pr.protocol_num like concat('%',#{protocolNum},'%')
+      </if>
+      <if test="projectName != null and projectName != ''">
+        and pr.project_name like concat('%',#{projectName},'%')
+      </if>
+      <if test="documentNum != null and documentNum != ''">
+        and pr.document_num like concat('%',#{documentNum},'%')
+      </if>
+      <if test="projectHead != null and projectHead != ''">
+        and pr.projectHead = #{projectHead}
+      </if>
+    </where>
         GROUP BY su.id
   </select>
 

+ 19 - 13
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/projectRecords/service/ProjectService.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jeeplus.security.util.SecurityUtils;
+import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.UserUtils;
 import com.jeeplus.test.projectRecords.domain.Project;
@@ -142,27 +143,32 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
         return s;
     }
 
-    public List<FileUploadListDTO> exportFileUploadList(QueryWrapper queryWrapper) {
-        queryWrapper.eq("su.del_flag", 0);
-        List<FileUploadListDTO> allList = projectMapper.projectAllList(queryWrapper);
-        queryWrapper.eq("pr.file_upload_type", "1");
-        List<FileUploadListDTO> list = projectMapper.projectList(queryWrapper);
-        if (CollectionUtil.isNotEmpty(allList) && CollectionUtil.isNotEmpty(list)) {
+    public List<FileUploadListDTO> exportFileUploadList(ProjectDTO projectDTO) {
+        //queryWrapper.eq("su.del_flag", 0);
+        UserDTO currentUserDTO = UserUtils.getCurrentUserDTO();
+        projectDTO.setOfficeDTO(currentUserDTO.getOfficeDTO());
+        List<FileUploadListDTO> allList = projectMapper.projectAllList(projectDTO);
+        //queryWrapper.eq("pr.file_upload_type", "1");
+        List<FileUploadListDTO> list = projectMapper.projectList(projectDTO);
+        if (CollectionUtil.isNotEmpty(allList)) {
             DecimalFormat df = new DecimalFormat("0.00");
             for (FileUploadListDTO dto : allList) {
-                for (FileUploadListDTO i : list) {
-                    if (dto.getName().equals(i.getName())) {
-                        dto.setNum(i.getNum());
-                        String s = df.format((float) i.getNum() * 100 / (float) dto.getAllNum());
-                        dto.setProportion(s+"%");
+                if(null != list && list.size()>0){
+                    for (FileUploadListDTO i : list) {
+                        if (dto.getName().equals(i.getName())) {
+                            dto.setNum(i.getNum());
+                            String s = df.format((float) i.getNum() * 100 / (float) dto.getAllNum());
+                            dto.setProportion(s+"%");
+                        }
                     }
                 }
             }
             allList.stream().forEach(i -> {
-                if (StringUtils.isEmpty(i.getProportion())) {
+                //如果没有找到或没有完成数量,则填入默认完成数量0,完成比例0
+                if (StringUtils.isBlank(i.getProportion())) {
                     i.setProportion("0.00%");
                 }
-                if (i.getNum() == null) {
+                if (null == i.getNum()) {
                     i.setNum(0);
                 }
             });

+ 9 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/projectRecords/service/dto/ProjectDTO.java

@@ -2,6 +2,7 @@ package com.jeeplus.test.projectRecords.service.dto;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
 import com.jeeplus.core.service.dto.BaseDTO;
+import com.jeeplus.sys.service.dto.OfficeDTO;
 import com.jeeplus.test.oss.domain.WorkAttachment;
 import com.jeeplus.test.oss.service.dto.OssServiceDto;
 import lombok.Data;
@@ -28,6 +29,12 @@ public class ProjectDTO extends BaseDTO {
     /**
      * 项目名称
      */
+    @Excel(name = "年份")
+    private String year;
+
+    /**
+     * 项目名称
+     */
     @Excel(name = "项目名称")
     private String projectName;
 
@@ -269,5 +276,7 @@ public class ProjectDTO extends BaseDTO {
      */
     public List<WorkAttachment> workAttachments;
 
+    private OfficeDTO officeDTO;
+
 
 }