Explorar o código

日历数据回显

zhengxin hai 1 mes
pai
achega
b73ec5d03a

+ 12 - 0
assistMg/src/main/java/com/hotent/project/controller/CostProjectMemoController.java

@@ -94,4 +94,16 @@ public class CostProjectMemoController extends BaseController<CostProjectMemoMan
         int result = costProjectMemoManager.updateMemo(req);
         return CommonResult.ok().value(result > 0 ? "更新成功" : "更新失败");
     }
+
+    @GetMapping(value = "/getDataMonth")
+    @ApiOperation(value = "获取项目月度数据", httpMethod = "GET", notes = "获取项目月度数据")
+    public CommonResult getDataMonth(@ApiParam(name = "month", value = "月", required = true) @RequestParam(required = false,name = "month")String month){
+        return CommonResult.ok().value(costProjectMemoManager.getDataMonth(month));
+    }
+
+    @GetMapping(value = "/getIndexDataMonth")
+    @ApiOperation(value = "获取首页项目月度数据", httpMethod = "GET", notes = "获取首页项目月度数据")
+    public CommonResult getIndexDataMonth(@ApiParam(name = "month", value = "月", required = true) @RequestParam(required = false,name = "month")String month){
+        return CommonResult.ok().value(costProjectMemoManager.getIndexDataMonth(month));
+    }
 }

+ 6 - 4
assistMg/src/main/java/com/hotent/project/dao/CostProjectMemoDao.java

@@ -1,13 +1,11 @@
 package com.hotent.project.dao;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.hotent.project.model.CostProjectMemo;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hotent.project.resp.CostProjectMemoQueryResp;
 import org.apache.ibatis.annotations.Param;
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 监审项目备忘录表 Mapper 接口
@@ -33,4 +31,8 @@ public interface CostProjectMemoDao extends BaseMapper<CostProjectMemo> {
             , @Param("endTime") String endTime);
 
     Page<CostProjectMemo> getIndexList(Page<CostProjectMemo> objectPage,@Param("userId") String userId,@Param("content") String content,@Param("memoDate") String memoDate);
+
+    List<CostProjectMemo> getDataMonth(@Param("dataScope") Integer dataScope, @Param("provinceCode") String provinceCode,@Param("cityCode") String cityCode, @Param("countyCode") String countyCode, @Param("memoDate") String memoDate);
+
+    List<CostProjectMemo> getIndexDataMonth(@Param("userId") String userId, @Param("month") String month);
 }

+ 8 - 1
assistMg/src/main/java/com/hotent/project/manager/CostProjectMemoManager.java

@@ -1,12 +1,15 @@
 package com.hotent.project.manager;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.hotent.project.model.CostProjectMemo;
 import com.hotent.base.manager.BaseManager;
+import com.hotent.project.model.CostProjectMemo;
 import com.hotent.project.req.CostProjectMemoQueryReq;
 import com.hotent.project.req.CostProjectMemoUpdateReq;
 import com.hotent.project.resp.CostProjectMemoDetailResp;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 监审项目备忘录表 服务类
  *
@@ -40,4 +43,8 @@ public interface CostProjectMemoManager extends BaseManager<CostProjectMemo> {
     Boolean saveData(CostProjectMemo t);
 
 	IPage<CostProjectMemo> pageIndexList(CostProjectMemoQueryReq req);
+
+    Map<String, List<CostProjectMemo>> getDataMonth(String month);
+
+	Map<String, List<CostProjectMemo>> getIndexDataMonth(String month);
 }

+ 58 - 4
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectMemoManagerImpl.java

@@ -25,10 +25,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 
 
 /**
@@ -246,4 +244,60 @@ public class CostProjectMemoManagerImpl extends BaseManagerImpl<CostProjectMemoD
 		Page<CostProjectMemo> page =baseMapper.getIndexList(objectPage,userId,req.getContent(),req.getMemoDate());
 		return page;
 	}
+
+    @Override
+    public Map<String, List<CostProjectMemo>> getDataMonth(String month) {
+		// 获取本月的所有项目,装到Map,key为日期,value为项目
+		IUser iUser = ContextUtil.getCurrentUser();
+		User user = null;
+		try {
+			user = userService.getByAccount(iUser.getAccount());
+		} catch (Exception e) {
+			throw new RuntimeException(e);
+		}
+		List<CostProjectMemo> costProjectMemos = baseMapper.getDataMonth(user.getDataScope()
+				,user.getProvinceCode()
+				,user.getCityCode()
+				,user.getCountyCode()
+				,month);
+		Map<String, List<CostProjectMemo>> planNameMap = new HashMap<>();
+		if (costProjectMemos != null && costProjectMemos.size() > 0) {
+			//填充到planNameMap中,key为日期,value为项目、
+			for (CostProjectMemo costProjectMemo : costProjectMemos) {
+				if(planNameMap.containsKey(costProjectMemo.getMemoDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))){
+					planNameMap.get(costProjectMemo.getMemoDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).add(costProjectMemo);
+				}else{
+					List<CostProjectMemo> list = new ArrayList<>();
+					list.add(costProjectMemo);
+					planNameMap.put(costProjectMemo.getMemoDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")),list);
+				}
+			}
+		}
+		// 再为map排下序,按日期
+		Map<String, List<CostProjectMemo>> sortedPlanNameMap = new TreeMap<>(planNameMap);
+		return sortedPlanNameMap;
+    }
+
+	@Override
+	public Map<String, List<CostProjectMemo>> getIndexDataMonth(String month) {
+		IUser iUser = ContextUtil.getCurrentUser();
+		String userId = iUser.getUserId();
+		List<CostProjectMemo> costProjectMemos = baseMapper.getIndexDataMonth(userId,month);
+		Map<String, List<CostProjectMemo>> planNameMap = new HashMap<>();
+		if (costProjectMemos != null && costProjectMemos.size() > 0) {
+			//填充到planNameMap中,key为日期,value为项目、
+			for (CostProjectMemo costProjectMemo : costProjectMemos) {
+				if(planNameMap.containsKey(costProjectMemo.getMemoDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))){
+					planNameMap.get(costProjectMemo.getMemoDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).add(costProjectMemo);
+				}else{
+					List<CostProjectMemo> list = new ArrayList<>();
+					list.add(costProjectMemo);
+					planNameMap.put(costProjectMemo.getMemoDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")),list);
+				}
+			}
+		}
+		// 再为map排下序,按日期
+		Map<String, List<CostProjectMemo>> sortedPlanNameMap = new TreeMap<>(planNameMap);
+		return sortedPlanNameMap;
+	}
 }

+ 51 - 0
assistMg/src/main/resources/mapper/CostProjectMemoMapper.xml

@@ -151,5 +151,56 @@
 			</if>
 		</where>
     </select>
+    <select id="getDataMonth" resultType="com.hotent.project.model.CostProjectMemo">
+        SELECT
+        cpm.id,
+        cpm.project_id,
+        cpa.project_name,
+        cpm.memo_date,
+        cpm.title,
+        cpm.content,
+        cpm.reminder_type
+        from cost_project_memo cpm
+        left join cost_project_approval cpa ON cpm.project_id = cpa.project_id
+        <where>
+
+            <if test=" memoDate != null and memoDate != '' ">
+                AND DATE_FORMAT(cpm.memo_date, '%Y-%m') = DATE_FORMAT(#{memoDate}, '%Y-%m')
+            </if>
+
+            <if test=" dataScope != null and  dataScope != ''">
+                <if test=" dataScope ==1">
+                    and cpa.area_code like concat ('%',substring(#{ cityCode},1,4), '%')
+                </if>
+                <if test=" dataScope ==2">
+                    and cpa.area_code=#{ countyCode}
+                </if>
+            </if>
+        </where>
+        ORDER BY cpm.create_time DESC
+    </select>
+    <select id="getIndexDataMonth" resultType="com.hotent.project.model.CostProjectMemo">
+        SELECT
+        cpm.id,
+        cpm.project_id,
+        cpa.project_name,
+        cpm.memo_date,
+        cpm.title,
+        cpm.content,
+        cpm.reminder_type
+        FROM
+        cost_project_memo cpm left join
+        cost_project_approval cpa
+        on
+        cpm.project_id = cpa.project_id
+        <where>
+            <if test="userId != null and userId != ''">
+                and (cpa.leader_id = #{userId} OR FIND_IN_SET(#{userId}, cpa.audit_group) > 0)
+            </if>
+            <if test=" memoDate != null and memoDate != '' ">
+                AND DATE_FORMAT(cpm.memo_date, '%Y-%m') = DATE_FORMAT(#{memoDate}, '%Y-%m')
+            </if>
+        </where>
+    </select>
 
 </mapper>