Browse Source

项目信息变更统计:从合同签订阶段上传资料开始计算

master
gjh 3 months ago
parent
commit
046df38d3a
  1. 11
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouFieldchangehistoryController.java
  2. 9
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouFieldchangehistoryMapper.java
  3. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java
  4. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouProjectinfoMapper.java
  5. 16
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouProjectinfo.java
  6. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouFieldchangehistoryService.java
  7. 29
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouFieldchangehistoryServiceImpl.java

11
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouFieldchangehistoryController.java

@ -111,4 +111,15 @@ public class HuzhouFieldchangehistoryController {
return fieldchangehistoryDetailPageList;
}
/**
* 获取项目变更字段数量 :只统计建设阶段开始
* @param projectId
* @return
*/
@GetMapping("/queryUpdateCount")
public Result<?> queryUpdateCount(String projectId){
int updateCount = fieldchangehistoryService.queryUpdateCount(projectId);
return Result.OK(updateCount);
}
}

9
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouFieldchangehistoryMapper.java

@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.admin.modules.huzhou.entity.HuzhouFieldchangehistory;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -13,4 +15,11 @@ public interface HuzhouFieldchangehistoryMapper extends BaseMapper<HuzhouFieldch
Page<Map> getFieldchangehistoryPageList(Page page, HuzhouProjectinfo info);
Page<Map> getFieldchangehistoryDetailPageList(Page page,String projectid);
List<Map> getFieldDetailList(String projectid, String fieldValue);
@Select("SELECT COUNT(*) FROM huzhou_fieldchangehistory " +
"WHERE projectid = #{projectId} AND create_date > #{actualStartTime}")
int countRecordsAfterDate(@Param("projectId") String projectId,
@Param("actualStartTime") Date actualStartTime);
}

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java

@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper;
import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
import java.util.Map;
@ -57,4 +58,7 @@ public interface HuzhouPlaninfoMapper extends BaseMapper<HuzhouPlaninfo> {
@Select("SELECT task_level FROM huzhou_planinfo WHERE task_name = #{taskName}")
String getCurrentTaskLevel(@Param("taskName") String taskName);
}

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouProjectinfoMapper.java

@ -7,6 +7,7 @@ import com.easy.admin.modules.huzhou.vo.*;
import org.apache.ibatis.annotations.Mapper;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal;
import java.util.List;
@ -93,7 +94,8 @@ public interface HuzhouProjectinfoMapper extends BaseMapper<HuzhouProjectinfo> {
List<String> getTaskNames(@Param("planId") String planId);
// @Update("UPDATE huzhou_projectinfo SET update_count = update_count + 1 WHERE id = #{projectid}")
// void incrementUpdateCount(@Param("projectid") String projectid);
}

16
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouProjectinfo.java

@ -166,6 +166,13 @@ public class HuzhouProjectinfo extends BaseEntity {
*/
private Double suggestedCostAmount;
/**
* 项目修改次数 (项目建设阶段 之后才开始记录 默认为 0)
*/
@TableField(exist = false)
private int updateCount;
@TableField(exist = false)
@ExcelProperty(value = "项目负责人")
private String manager;
@ -225,14 +232,5 @@ public class HuzhouProjectinfo extends BaseEntity {
// public ProjectinfoExportDTO toDTO() {
// return new ProjectinfoExportDTO(
// this.projectName,
// this.superiorFundPayRate,
// this.currentStage,
// this.totalPercent,
// this.superLeader,
// this.reformName);
// }
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouFieldchangehistoryService.java

@ -33,4 +33,6 @@ public interface IHuzhouFieldchangehistoryService extends IService<HuzhouFieldch
Page<Map> getFieldchangehistoryDetailPageList(Page<Map> page, String proid);
List<HuzhouFieldchangehistory> getFieldchangeByGroupid(String fieldChangeGroupid);
int queryUpdateCount(String projectId);
}

29
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouFieldchangehistoryServiceImpl.java

@ -3,6 +3,7 @@ package com.easy.admin.modules.huzhou.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -90,6 +91,7 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
if(multipartFiles!=null){
uploadfileinfoService.saveFileAndFileInfo(multipartFiles, groupid, "3");
}
//获取旧值
String oldValue ="";
HuzhouProjectinfo huzhouProjectinfo = new HuzhouProjectinfo();
@ -301,15 +303,7 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
}
projectinfoMapper.updateById(newProjectinfo);
String currentPointName = planinfoMapper.getCurrentPointName(projectid);
if (StringUtils.isNotBlank(currentPointName)){
// 或者去比较 合同签订阶段完成之后的时间 实际完成时间需要存在 ! 和本次修改的时间进行对比.
// 如果本次修改时间晚于这个合同签订阶段完成的时间 则修改记录次数+1
// 比较该项目 合同签订阶段的 taskLevel 去planInfo表中查询出当前节点的taskLevel 如果大于这个节点则修改记录次数+1
// 如果当前节点大于合同签订阶段 则在原有的修改记录次数上加1
// 这个修改次数字段需要在项目信息表里面新增一个字段
// 先查询出这个字段 假如默认值为0 ,然后再这个基础上+1
}
}
}
}
@ -425,6 +419,23 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
return result;
}
@Override
public int queryUpdateCount(String projectId) {
LambdaQueryWrapper<HuzhouPlaninfo> queryPlanWrapper = new LambdaQueryWrapper<>();
queryPlanWrapper.eq(HuzhouPlaninfo::getProjectId,projectId);
queryPlanWrapper.eq(HuzhouPlaninfo::getTaskName,"合同签订");
queryPlanWrapper.in(HuzhouPlaninfo::getIsfinish,"1","2");
HuzhouPlaninfo planInfo = planinfoMapper.selectOne(queryPlanWrapper);
if (planInfo!=null){
Date actualStartTime = planInfo.getActualStartTime();
if (actualStartTime!=null){
int updateCount = fieldchangehistoryMapper.countRecordsAfterDate(projectId, actualStartTime);
return updateCount;
}
}
return 0;
}
@Override
public Page<Map> getFieldchangehistoryPageList(Page page, HuzhouProjectinfo projectinfo) {
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);

Loading…
Cancel
Save