zhuwei 1 år sedan
förälder
incheckning
021f55a675

+ 64 - 5
src/main/java/org/springblade/modules/project/controller/WorkFocusController.java

@@ -25,6 +25,8 @@
  */
 package org.springblade.modules.project.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -38,8 +40,13 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.project.pojo.entity.WorkFocusProgressEntity;
 import org.springblade.modules.project.pojo.excel.WorkFocusExcel;
+import org.springblade.modules.project.pojo.excel.WorkFocusImporter;
 import org.springblade.modules.project.pojo.vo.WorkFocusListVO;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressVO;
+import org.springblade.modules.project.service.IWorkFocusProgressService;
+import org.springblade.modules.system.pojo.entity.Menu;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -52,9 +59,12 @@ import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
+
+import java.util.ArrayList;
 import java.util.Map;
 import java.util.List;
 import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 附件表 控制器
@@ -70,6 +80,8 @@ public class WorkFocusController extends BladeController {
 
 	private final IWorkFocusService workfocusService;
 
+	private final IWorkFocusProgressService workFocusProgressService;
+
 	/**
 	 * 附件表 详情
 	 */
@@ -151,17 +163,15 @@ public class WorkFocusController extends BladeController {
 	@ApiOperationSupport(order = 9)
 	@Operation(summary = "导出数据", description  = "传入workfocus")
 	public void exportWorkFocus(@Parameter(hidden = true) @RequestParam Map<String, Object> workfocus, BladeUser bladeUser, HttpServletResponse response) {
-		QueryWrapper<WorkFocusEntity> queryWrapper = Condition.getQueryWrapper(workfocus, WorkFocusEntity.class);
 		//if (!AuthUtil.isAdministrator()) {
 		//	queryWrapper.lambda().eq(WorkFocus::getTenantId, bladeUser.getTenantId());
 		//}
-		queryWrapper.lambda().eq(WorkFocusEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+		LambdaQueryWrapper<WorkFocusEntity> queryWrapper = Wrappers.lambdaQuery();
+		queryWrapper.eq(WorkFocusEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED).in(WorkFocusEntity::getId,Func.toLongList(workfocus.get("id_equal")+""));
 		List<WorkFocusExcel> list = workfocusService.exportWorkFocus(queryWrapper);
-		ExcelUtil.export(response, "附件表数据" + DateUtil.time(), "附件表数据表", list, WorkFocusExcel.class);
+		ExcelUtil.export(response, "工作要点表" + DateUtil.time(), "工作要点数据表", list, WorkFocusExcel.class);
 	}
 
-
-
 	/**
 	 * 工作要点表 新增或修改
 	 */
@@ -173,9 +183,58 @@ public class WorkFocusController extends BladeController {
 			List<WorkFocusEntity> workFocusEntityList = workFocusListVO.getWorkFocusEntityList();
 			for(WorkFocusEntity workFocusEntity:workFocusEntityList){
 				workfocusService.saveOrUpdate(workFocusEntity);
+				// 添加进度信息
+				Integer startYear = workFocusEntity.getStartYear();
+				Integer endYear = workFocusEntity.getEndYear();
+				for(int i = startYear ; i <= endYear ; i++){
+					List<WorkFocusProgressEntity> list = new ArrayList<>();
+					for(int j=1 ; j <=16 ; j++){
+						WorkFocusProgressEntity workFocusProgress = new WorkFocusProgressVO();
+						workFocusProgress.setYear(i);
+						workFocusProgress.setWorkFocusId(workFocusEntity.getId());
+						workFocusProgress.setMonth(j);
+						if(j==13){
+							workFocusProgress.setSchedule("problemInfo");
+						}
+						if(j==14){
+							workFocusProgress.setSchedule("workSug");
+						}
+						if(j==15){
+							workFocusProgress.setSchedule("unitInfo");
+						}if(j==16){
+							workFocusProgress.setSchedule("linkInfo");
+						}
+						list.add(workFocusProgress);
+					}
+					workFocusProgressService.saveOrUpdateBatch(list);
+				}
 			}
 		}
 		return R.status(true);
 	}
 
+
+	/**
+	 * 导出模板
+	 */
+	@GetMapping("export-template")
+	@ApiOperationSupport(order = 11)
+	@Operation(summary = "导出模板", description  = "导出模板")
+	public void exportUser(HttpServletResponse response) {
+		List<WorkFocusEntity> list = new ArrayList<>();
+		ExcelUtil.export(response, "用户数据模板" + DateUtil.time(), "用户数据表", list, WorkFocusEntity.class);
+	}
+
+
+	/**
+	 * 导入 数据模板
+	 */
+	@PostMapping("import-workfocus")
+	@ApiOperationSupport(order = 12)
+	@Operation(summary = "导入工作要点", description  = "导出模板")
+	public R importUser(MultipartFile file, Integer isCovered) {
+		WorkFocusImporter userImporter = new WorkFocusImporter(workfocusService, 1 == 1);
+		ExcelUtil.save(file, userImporter, WorkFocusExcel.class);
+		return R.success("操作成功");
+	}
 }

+ 63 - 18
src/main/java/org/springblade/modules/project/controller/WorkFocusProgressController.java

@@ -38,6 +38,9 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressInfoVO;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressListVO;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -68,10 +71,11 @@ import jakarta.servlet.http.HttpServletResponse;
 public class WorkFocusProgressController extends BladeController {
 
 	private final IWorkFocusProgressService workFocusProgressService;
-
-	/**
+	private JdbcTemplate jdbcTemplate;
+/*
+	*//**
 	 * 工作要点完成情况表 详情
-	 */
+	 *//*
 	@GetMapping("/detail")
 	@ApiOperationSupport(order = 1)
 	@Operation(summary = "详情", description  = "传入workFocusProgress")
@@ -79,9 +83,9 @@ public class WorkFocusProgressController extends BladeController {
 		WorkFocusProgressEntity detail = workFocusProgressService.getOne(Condition.getQueryWrapper(workFocusProgress));
 		return R.data(WorkFocusProgressWrapper.build().entityVO(detail));
 	}
-	/**
+	*//**
 	 * 工作要点完成情况表 分页
-	 */
+	 *//*
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@Operation(summary = "分页", description  = "传入workFocusProgress")
@@ -90,20 +94,20 @@ public class WorkFocusProgressController extends BladeController {
 		return R.data(WorkFocusProgressWrapper.build().pageVO(pages));
 	}
 
-	/**
+	*//**
 	 * 工作要点完成情况表 自定义分页
-	 */
+	 *//*
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 3)
-	@Operation(summary = "分页", description  = "传入workFocusProgress")
+	@Operation(summary = "自定义分页", description  = "传入workFocusProgress")
 	public R<IPage<WorkFocusProgressVO>> page(WorkFocusProgressVO workFocusProgress, Query query) {
 		IPage<WorkFocusProgressVO> pages = workFocusProgressService.selectWorkFocusProgressPage(Condition.getPage(query), workFocusProgress);
 		return R.data(pages);
 	}
 
-	/**
+	*//**
 	 * 工作要点完成情况表 新增
-	 */
+	 *//*
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@Operation(summary = "新增", description  = "传入workFocusProgress")
@@ -111,9 +115,9 @@ public class WorkFocusProgressController extends BladeController {
 		return R.status(workFocusProgressService.save(workFocusProgress));
 	}
 
-	/**
+	*//**
 	 * 工作要点完成情况表 修改
-	 */
+	 *//*
 	@PostMapping("/update")
 	@ApiOperationSupport(order = 5)
 	@Operation(summary = "修改", description  = "传入workFocusProgress")
@@ -121,9 +125,9 @@ public class WorkFocusProgressController extends BladeController {
 		return R.status(workFocusProgressService.updateById(workFocusProgress));
 	}
 
-	/**
+	*//**
 	 * 工作要点完成情况表 新增或修改
-	 */
+	 *//*
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@Operation(summary = "新增或修改", description  = "传入workFocusProgress")
@@ -131,9 +135,9 @@ public class WorkFocusProgressController extends BladeController {
 		return R.status(workFocusProgressService.saveOrUpdate(workFocusProgress));
 	}
 
-	/**
+	*//**
 	 * 工作要点完成情况表 删除
-	 */
+	 *//*
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 7)
 	@Operation(summary = "逻辑删除", description  = "传入ids")
@@ -142,9 +146,9 @@ public class WorkFocusProgressController extends BladeController {
 	}
 
 
-	/**
+	*//**
 	 * 导出数据
-	 */
+	 *//*
 	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 	@GetMapping("/export-workFocusProgress")
 	@ApiOperationSupport(order = 9)
@@ -157,6 +161,47 @@ public class WorkFocusProgressController extends BladeController {
 		queryWrapper.lambda().eq(WorkFocusProgressEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
 		List<WorkFocusProgressExcel> list = workFocusProgressService.exportWorkFocusProgress(queryWrapper);
 		ExcelUtil.export(response, "工作要点完成情况表数据" + DateUtil.time(), "工作要点完成情况表数据表", list, WorkFocusProgressExcel.class);
+	}*/
+
+	@GetMapping("/queryWorkFocusProgressInfoById")
+	@ApiOperationSupport(order = 1)
+	@Operation(summary = "详情", description  = "传入workFocusProgress")
+	public R<WorkFocusProgressListVO> queryWorkFocusProgressInfoById(WorkFocusProgressListVO workFocusProgress) {
+		WorkFocusProgressListVO detail = workFocusProgressService.queryWorkFocusProgressInfoById(workFocusProgress);
+		return R.data(detail);
 	}
 
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 2)
+	@Operation(summary = "新增或修改", description  = "传入workFocusProgress")
+	public R submit(@Valid @RequestBody WorkFocusProgressListVO workFocusProgress) {
+		if(workFocusProgress!=null){
+			List<WorkFocusProgressInfoVO> table = workFocusProgress.getTable();
+			if(table!=null && table.size()>=1){
+				for(WorkFocusProgressInfoVO workFocusProgressInfoVO:table){
+					List<WorkFocusProgressEntity> data = workFocusProgressInfoVO.getData();
+					workFocusProgressService.saveOrUpdateBatch(data);
+					String problemInfo = workFocusProgressInfoVO.getProblemInfo();
+					String workSug = workFocusProgressInfoVO.getWorkSug();
+					String unitInfo = workFocusProgressInfoVO.getUnitInfo();
+					String linkInfo = workFocusProgressInfoVO.getLinkInfo();
+					if(Func.isNotEmpty(problemInfo)){
+						jdbcTemplate.update("update d_work_focus_progress set progress='"+workFocusProgressInfoVO.getProblemInfo()+"' where year='"+workFocusProgressInfoVO.getYear()+"' and month=13");
+					}
+					if(Func.isNotEmpty(workSug)) {
+						jdbcTemplate.update("update d_work_focus_progress set progress='"+workFocusProgressInfoVO.getWorkSug()+"' where year='"+workFocusProgressInfoVO.getYear()+"' and month=14");
+					}
+					if(Func.isNotEmpty(unitInfo)) {
+						jdbcTemplate.update("update d_work_focus_progress set progress='"+workFocusProgressInfoVO.getUnitInfo()+"' where year='"+workFocusProgressInfoVO.getYear()+"' and month=15");
+					}
+					if(Func.isNotEmpty(linkInfo)) {
+						jdbcTemplate.update("update d_work_focus_progress set progress='"+workFocusProgressInfoVO.getLinkInfo()+"' where year='"+workFocusProgressInfoVO.getYear()+"' and month=16");
+					}
+				}
+			}
+		}else {
+			R.fail("参数为null,无法保存");
+		}
+		return R.status(true);
+	}
 }

+ 13 - 0
src/main/java/org/springblade/modules/project/mapper/WorkFocusMapper.xml

@@ -23,6 +23,19 @@
 
     <select id="selectWorkFocusPage" resultMap="workfocusResultMap">
         select * from d_work_focus where is_deleted = 0
+        <if test="param2.startYear!=null and param2.startYear != ''">
+            and start_year &lt;= #{param2.startYear}
+        </if>
+        <if test="param2.endYear!=null and param2.endYear != '' ">
+            and end_year &gt;= #{param2.endYear}
+        </if>
+
+        <if test="param2.targetPlan!=null and param2.targetPlan != '' ">
+            and (target_plan like  concat(concat('%', #{param2.targetPlan}), '%') or work_plan like  concat(concat('%', #{param2.targetPlan}), '%') )
+        </if>
+        <if test="param2.workFocusStage!=null and param2.workFocusStage != '' ">
+            and work_focus_stage = #{param2.workFocusStage}
+        </if>
     </select>
 
 

+ 10 - 0
src/main/java/org/springblade/modules/project/mapper/WorkFocusProgressMapper.java

@@ -27,6 +27,8 @@ package org.springblade.modules.project.mapper;
 
 import org.springblade.modules.project.pojo.entity.WorkFocusProgressEntity;
 import org.springblade.modules.project.pojo.excel.WorkFocusProgressExcel;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressInfoVO;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressListVO;
 import org.springblade.modules.project.pojo.vo.WorkFocusProgressVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
@@ -60,4 +62,12 @@ public interface WorkFocusProgressMapper extends BaseMapper<WorkFocusProgressEnt
 	 */
 	List<WorkFocusProgressExcel> exportWorkFocusProgress(@Param("ew") Wrapper<WorkFocusProgressEntity> queryWrapper);
 
+
+	/**
+	 * 查询集合
+	 *
+	 * @param workFocusProgress
+	 * @return
+	 */
+	List<WorkFocusProgressVO> selectWorkFocusList(@Param("workFocusProgress") WorkFocusProgressListVO workFocusProgress);
 }

+ 6 - 0
src/main/java/org/springblade/modules/project/mapper/WorkFocusProgressMapper.xml

@@ -16,4 +16,10 @@
         SELECT * FROM d_work_focus_progress ${ew.customSqlSegment}
     </select>
 
+
+    <select id="selectWorkFocusList" resultMap="workFocusProgressResultMap">
+        select * from d_work_focus_progress where is_deleted = 0
+        and work_focus_id = #{workFocusProgress.id}
+    </select>
+
 </mapper>

+ 31 - 0
src/main/java/org/springblade/modules/project/pojo/entity/WorkFocusProgressEntity.java

@@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.Schema;
+import java.util.Date;
 import lombok.EqualsAndHashCode;
 import org.springblade.core.tenant.mp.TenantEntity;
 
@@ -44,5 +45,35 @@ import org.springblade.core.tenant.mp.TenantEntity;
 @EqualsAndHashCode(callSuper = true)
 public class WorkFocusProgressEntity extends TenantEntity {
 
+	/**
+	 * 工作要点id
+	 */
+	@Schema(description = "工作要点id")
+	private Long workFocusId;
+	/**
+	 * 年份
+	 */
+	@Schema(description = "年份")
+	private Integer year;
+	/**
+	 * 月份
+	 */
+	@Schema(description = "月份")
+	private Integer month;
+	/**
+	 * 进度情况
+	 */
+	@Schema(description = "进度情况")
+	private String schedule;
+	/**
+	 * 累计进度
+	 */
+	@Schema(description = "累计进度")
+	private String progress;
+	/**
+	 * 序号
+	 */
+	@Schema(description = "序号")
+	private Integer sort;
 
 }

+ 40 - 0
src/main/java/org/springblade/modules/project/pojo/excel/WorkFocusImporter.java

@@ -0,0 +1,40 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.project.pojo.excel;
+
+import lombok.RequiredArgsConstructor;
+import org.springblade.core.excel.support.ExcelImporter;
+import org.springblade.modules.project.service.IWorkFocusService;
+
+import java.util.List;
+
+/**
+ * 用户数据导入类
+ *
+ * @author Chill
+ */
+@RequiredArgsConstructor
+public class WorkFocusImporter implements ExcelImporter<WorkFocusExcel> {
+
+    private final IWorkFocusService service;
+    private final Boolean isCovered;
+
+    @Override
+    public void save(List<WorkFocusExcel> data) {
+        service.importWorkFocus(data, isCovered);
+    }
+}

+ 65 - 0
src/main/java/org/springblade/modules/project/pojo/vo/WorkFocusProgressInfoVO.java

@@ -0,0 +1,65 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * <p>
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ * <p>
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ * <p>
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ * <p>
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ * <p>
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ * <p>
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ * <p>
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.modules.project.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.project.pojo.entity.WorkFocusEntity;
+import org.springblade.modules.project.pojo.entity.WorkFocusProgressEntity;
+
+import java.io.Serial;
+import java.util.List;
+
+/**
+ * 工作要点完成情况表 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-04-09
+ */
+@Data
+public class WorkFocusProgressInfoVO{
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+	@Schema(description = "年")
+	private String year;
+
+	@Schema(description = "存在问题")
+	private String problemInfo;
+
+	@Schema(description = "工作建议")
+	private String workSug;
+
+	@Schema(description = "填报单位")
+	private String unitInfo;
+
+	@Schema(description = "联系人及联系方式")
+	private String linkInfo;
+
+	@Schema(description = "完成情况")
+	public List<WorkFocusProgressEntity> data;
+}

+ 51 - 0
src/main/java/org/springblade/modules/project/pojo/vo/WorkFocusProgressListVO.java

@@ -0,0 +1,51 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * <p>
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ * <p>
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ * <p>
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ * <p>
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ * <p>
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ * <p>
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ * <p>
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.modules.project.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springblade.modules.project.pojo.entity.WorkFocusProgressEntity;
+
+import java.io.Serial;
+import java.util.List;
+
+/**
+ * 工作要点完成情况表 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-04-09
+ */
+@Data
+public class WorkFocusProgressListVO {
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+	@Schema(description = "工作要点Id")
+	private String id;
+
+	@Schema(description = "完成情况")
+	public List<WorkFocusProgressInfoVO> table;
+}

+ 4 - 0
src/main/java/org/springblade/modules/project/service/IWorkFocusProgressService.java

@@ -27,6 +27,8 @@ package org.springblade.modules.project.service;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import org.springblade.modules.project.pojo.entity.WorkFocusProgressEntity;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressInfoVO;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressListVO;
 import org.springblade.modules.project.pojo.vo.WorkFocusProgressVO;
 import org.springblade.modules.project.pojo.excel.WorkFocusProgressExcel;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -58,4 +60,6 @@ public interface IWorkFocusProgressService extends BaseService<WorkFocusProgress
 	 */
 	List<WorkFocusProgressExcel> exportWorkFocusProgress(Wrapper<WorkFocusProgressEntity> queryWrapper);
 
+	WorkFocusProgressListVO queryWorkFocusProgressInfoById(WorkFocusProgressListVO workFocusProgress);
+
 }

+ 1 - 0
src/main/java/org/springblade/modules/project/service/IWorkFocusService.java

@@ -57,4 +57,5 @@ public interface IWorkFocusService extends BaseService<WorkFocusEntity> {
 	 */
 	List<WorkFocusExcel> exportWorkFocus(Wrapper<WorkFocusEntity> queryWrapper);
 
+	void importWorkFocus(List<WorkFocusExcel> data,Boolean isCovered);
 }

+ 46 - 0
src/main/java/org/springblade/modules/project/service/impl/WorkFocusProgressServiceImpl.java

@@ -25,7 +25,10 @@
  */
 package org.springblade.modules.project.service.impl;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.modules.project.pojo.entity.WorkFocusProgressEntity;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressInfoVO;
+import org.springblade.modules.project.pojo.vo.WorkFocusProgressListVO;
 import org.springblade.modules.project.pojo.vo.WorkFocusProgressVO;
 import org.springblade.modules.project.pojo.excel.WorkFocusProgressExcel;
 import org.springblade.modules.project.mapper.WorkFocusProgressMapper;
@@ -34,7 +37,13 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
+
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import static io.protostuff.MapSchema.MessageFactories.ConcurrentHashMap;
 
 /**
  * 工作要点完成情况表 服务实现类
@@ -60,4 +69,41 @@ public class WorkFocusProgressServiceImpl extends BaseServiceImpl<WorkFocusProgr
 		return workFocusProgressList;
 	}
 
+	@Override
+	public WorkFocusProgressListVO queryWorkFocusProgressInfoById(WorkFocusProgressListVO workFocusProgress) {
+
+		// 查询出所有任务计划
+		List<WorkFocusProgressVO> workFocusProgresslist = baseMapper.selectWorkFocusList(workFocusProgress);
+
+		WorkFocusProgressListVO workFocusProgressListVO = new WorkFocusProgressListVO();
+		List<WorkFocusProgressInfoVO> table3 = new ArrayList<>();
+		//分组后的集合
+		//Map<Integer, List<WorkFocusProgressVO>> groupList = workFocusProgresslist.stream().collect(Collectors.groupingBy(WorkFocusProgressVO::getYear));
+		Map<Integer, List<WorkFocusProgressEntity>> groupList = workFocusProgresslist.stream().collect(Collectors.groupingBy(WorkFocusProgressEntity::getYear));
+		for(int kekys : groupList.keySet()){
+			List<WorkFocusProgressEntity> table2 = new ArrayList<>();
+			List<WorkFocusProgressEntity> table = groupList.get(kekys);
+			WorkFocusProgressInfoVO progressInfoVO = new WorkFocusProgressInfoVO();
+			progressInfoVO.setYear(kekys+"");
+			for(WorkFocusProgressEntity workFocusProgres:table){
+				if(StringUtils.isNotEmpty(workFocusProgres.getSchedule()) && workFocusProgres.getSchedule().equals("problemInfo") && workFocusProgres.getMonth()==13){ //
+					progressInfoVO.setProblemInfo(workFocusProgres.getProgress());
+				}else if(StringUtils.isNotEmpty(workFocusProgres.getSchedule()) && workFocusProgres.getSchedule().equals("workSug") && workFocusProgres.getMonth()==14){ //
+					progressInfoVO.setWorkSug(workFocusProgres.getProgress());
+				}else if(StringUtils.isNotEmpty(workFocusProgres.getSchedule()) && workFocusProgres.getSchedule().equals("unitInfo") && workFocusProgres.getMonth()==15){ //
+					progressInfoVO.setUnitInfo(workFocusProgres.getProgress());
+				}else if(StringUtils.isNotEmpty(workFocusProgres.getSchedule()) && workFocusProgres.getSchedule().equals("linkInfo") && workFocusProgres.getMonth()==16){ //
+					progressInfoVO.setLinkInfo(workFocusProgres.getProgress());
+				}else{
+					table2.add(workFocusProgres);
+				}
+			}
+			progressInfoVO.setData(table2);
+			table3.add(progressInfoVO);
+		}
+		workFocusProgressListVO.setId(workFocusProgress.getId());
+		workFocusProgressListVO.setTable(table3);
+		return workFocusProgressListVO;
+	}
+
 }

+ 18 - 0
src/main/java/org/springblade/modules/project/service/impl/WorkFocusServiceImpl.java

@@ -25,6 +25,7 @@
  */
 package org.springblade.modules.project.service.impl;
 
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.modules.project.pojo.excel.WorkFocusExcel;
 import org.springblade.modules.project.pojo.entity.WorkFocusEntity;
 import org.springblade.modules.project.pojo.vo.WorkFocusVO;
@@ -34,6 +35,8 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
+
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -60,4 +63,19 @@ public class WorkFocusServiceImpl extends BaseServiceImpl<WorkFocusMapper, WorkF
 		return workfocusList;
 	}
 
+	@Override
+	public void importWorkFocus(List<WorkFocusExcel> data, Boolean isCovered) {
+		List<WorkFocusEntity> list = new ArrayList<>();
+		data.forEach(regionExcel -> {
+			//WorkFocusEntity region = BeanUtil.copy(regionExcel, WorkFocusEntity.class);
+			WorkFocusEntity region = BeanUtil.copyProperties(regionExcel, WorkFocusEntity.class);
+			list.add(region);
+		});
+		if (isCovered) {
+			this.saveOrUpdateBatch(list);
+		} else {
+			this.saveBatch(list);
+		}
+	}
+
 }