Browse Source

看板1.7

master
uu 4 months ago
parent
commit
49d959022c
  1. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java
  2. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouProjectinfoMapper.java
  3. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml
  4. 7
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPlaninfoMapper.xml
  5. 12
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectinfoMapper.xml
  6. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfoService.java
  7. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java
  8. 35
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

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

@ -11,7 +11,7 @@ import java.util.Map;
public interface HuzhouPlaninfoMapper extends BaseMapper<HuzhouPlaninfo> { public interface HuzhouPlaninfoMapper extends BaseMapper<HuzhouPlaninfo> {
List<HuzhouPlaninfo> getChildTaskBySuperior(@Param("info") HuzhouPlaninfo info); List<HuzhouPlaninfo> getChildTaskBySuperior(@Param("info") HuzhouPlaninfo info);
Integer getNumByPlan(@Param("projectIds") List<String> projectIds,@Param("taskName") String taskName); // List<String> getNumByPlan(@Param("projectIds") List<String> projectIds,@Param("taskName") String taskName);
Integer getStartedProjectNum(@Param("projectIds") List<String> projectIds); Integer getStartedProjectNum(@Param("projectIds") List<String> projectIds);
} }

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

@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo; import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -69,4 +70,7 @@ public interface HuzhouProjectinfoMapper extends BaseMapper<HuzhouProjectinfo> {
List<HuzhouProjectinfoOV> getListByCondition(@Param("info") HuzhouProjectinfo info,@Param("condition") String condition); List<HuzhouProjectinfoOV> getListByCondition(@Param("info") HuzhouProjectinfo info,@Param("condition") String condition);
List<NumByTypeOV> getNumByType(@Param("info") HuzhouProjectinfo info); List<NumByTypeOV> getNumByType(@Param("info") HuzhouProjectinfo info);
//根据一组项目id返回总金额、总中央资金、总省级资金
Map<String, BigDecimal> getTotalByProjectIds(@Param("projectIds") List<String> projectIds);
} }

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml

@ -260,7 +260,7 @@
<foreach item="projectId" index="index" collection="projectIds" open="(" separator="," close=")"> <foreach item="projectId" index="index" collection="projectIds" open="(" separator="," close=")">
#{projectId} #{projectId}
</foreach> </foreach>
and isfinish = "2" and b.isfinish = "2"
</select> </select>
<select id="getTotalByProjectIds" resultType="map"> <select id="getTotalByProjectIds" resultType="map">
select sum(total_money) as totalAcount, select sum(total_money) as totalAcount,

7
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPlaninfoMapper.xml

@ -4,12 +4,7 @@
<select id="getChildTaskBySuperior" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo" resultType="com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo"> <select id="getChildTaskBySuperior" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo" resultType="com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo">
select * from huzhou_planinfo where superior = #{info.taskLevel} and project_id = #{info.projectId} order by INET_ATON(CONCAT(task_level, '.0')) select * from huzhou_planinfo where superior = #{info.taskLevel} and project_id = #{info.projectId} order by INET_ATON(CONCAT(task_level, '.0'))
</select> </select>
<select id="getNumByPlan" resultType="java.lang.Integer">
select count(*) from huzhou_planinfo where task_name=#{taskName} and project_id in
<foreach item="projectId" index="index" collection="projectIds" open="(" separator="," close=")">
#{projectId}
</foreach>
</select>
<select id="getStartedProjectNum" resultType="java.lang.Integer"> <select id="getStartedProjectNum" resultType="java.lang.Integer">
select COUNT(DISTINCT(a.project_id)) as num from huzhou_planinfo a left join huzhou_projectinfo b on a.project_id=b.id where project_id in select COUNT(DISTINCT(a.project_id)) as num from huzhou_planinfo a left join huzhou_projectinfo b on a.project_id=b.id where project_id in
<foreach item="projectId" index="index" collection="projectIds" open="(" separator="," close=")"> <foreach item="projectId" index="index" collection="projectIds" open="(" separator="," close=")">

12
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectinfoMapper.xml

@ -346,4 +346,16 @@ order by create_date desc
</where> </where>
group by type group by type
</select> </select>
<select id="getTotalByProjectIds" resultType="map">
select sum(total_money) as totalAcount,
sum(central_money) as centralAcount,
sum(provincial_money) as provincialAcount,
sum(city_money) as cityAcount,
sum(county_money) as countyAcount,
sum(self_money) as selfAcount from huzhou_projectinfo
where id in
<foreach item="projectId" index="index" collection="projectIds" open="(" separator="," close=")">
#{projectId}
</foreach>
</select>
</mapper> </mapper>

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

@ -102,7 +102,7 @@ public interface IHuzhouPlaninfoService extends IService<HuzhouPlaninfo> {
Map<String,Integer> conutCompletionStatus(List<String> projectIds); Map<String,Integer> conutCompletionStatus(List<String> projectIds);
Integer getNumByPlan(List<String> projectIds,String taskName); // List<String> getNumByPlan(List<String> projectIds,String taskName);
Integer getPlanList(String projectId); Integer getPlanList(String projectId);

10
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java

@ -1004,11 +1004,11 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
return result; return result;
} }
@Override // @Override
public Integer getNumByPlan(List<String> projectIds, String taskName) { // public List<String> getNumByPlan(List<String> projectIds, String taskName) {
Integer result = planinfoMapper.getNumByPlan(projectIds, taskName); // List<String> result = planinfoMapper.getNumByPlan(projectIds, taskName);
return result; // return result;
} // }
@Override @Override
public Integer getPlanList(String projectId) { public Integer getPlanList(String projectId) {
LambdaUpdateWrapper<HuzhouPlaninfo> query=new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<HuzhouPlaninfo> query=new LambdaUpdateWrapper<>();

35
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

@ -804,7 +804,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
NewFundOV result = null; NewFundOV result = null;
BigDecimal defVal = new BigDecimal("0.00"); BigDecimal defVal = new BigDecimal("0.00");
if (Ids.size() != 0) { if (Ids.size() != 0) {
Map<String, BigDecimal> totalMap = contractinfoMapper.getTotalByProjectIds(Ids); Map<String, BigDecimal> totalMap = projectinfoMapper.getTotalByProjectIds(Ids);
Map<String, BigDecimal> paymentMap = contractinfoMapper.getPaymentsByProjectIds(Ids); Map<String, BigDecimal> paymentMap = contractinfoMapper.getPaymentsByProjectIds(Ids);
BigDecimal totalAmount = totalMap != null ? totalMap.get("totalAcount") : defVal; BigDecimal totalAmount = totalMap != null ? totalMap.get("totalAcount") : defVal;
BigDecimal totalCentral = totalMap != null ? totalMap.get("centralAcount") : defVal; BigDecimal totalCentral = totalMap != null ? totalMap.get("centralAcount") : defVal;
@ -902,7 +902,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
public IPage<DimensionPageResponse> getDimensionPage(HuzhouProjectinfo projectInfo, Integer pageNo, Integer pageSize, String orderBy, String orderDir) { public IPage<DimensionPageResponse> getDimensionPage(HuzhouProjectinfo projectInfo, Integer pageNo, Integer pageSize, String orderBy, String orderDir) {
Page page = new Page(pageNo, pageSize); Page page = new Page(pageNo, pageSize);
//只要入库项目 //只要入库项目
projectInfo.setType("2"); projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo); ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
IPage<DimensionPageOV> pageSorted = projectinfoMapper.getDimensionPageSorted(page, projectInfoAuthSelect, orderBy, orderDir); IPage<DimensionPageOV> pageSorted = projectinfoMapper.getDimensionPageSorted(page, projectInfoAuthSelect, orderBy, orderDir);
@ -943,10 +943,10 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
public IPage<ProjectPageResponse> getProjectPage(HuzhouProjectinfo projectInfo, Integer pageNo, Integer pageSize, String orderBy, String orderDir) { public IPage<ProjectPageResponse> getProjectPage(HuzhouProjectinfo projectInfo, Integer pageNo, Integer pageSize, String orderBy, String orderDir) {
Page page = new Page(pageNo, pageSize); Page page = new Page(pageNo, pageSize);
//只要入库项目 //只要入库项目
projectInfo.setType("2"); projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo); ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
IPage<ProjectPageOV> pageSorted = projectinfoMapper.getProjectPageSorted(page, projectInfoAuthSelect, orderBy, orderDir); IPage<ProjectPageOV> pageSorted = projectinfoMapper.getProjectPageSorted(page, projectInfoAuthSelect, orderBy, orderDir);
Map<String, String> superLeader = dictService.selectByDictType("superLeader").stream().collect(Collectors.toMap(x -> x.getValue(), x -> x.getLabel()));
List<ProjectPageOV> records = pageSorted.getRecords(); List<ProjectPageOV> records = pageSorted.getRecords();
List<ProjectPageResponse> newRecords = new ArrayList<>(); List<ProjectPageResponse> newRecords = new ArrayList<>();
IPage<ProjectPageResponse> result = new Page<>(); IPage<ProjectPageResponse> result = new Page<>();
@ -957,14 +957,15 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
ProjectProgressOV progress = this.getProgress(projectIds); ProjectProgressOV progress = this.getProgress(projectIds);
ProjectPageResponse build = new ProjectPageResponse(); ProjectPageResponse build = new ProjectPageResponse();
BeanUtils.copyProperties(r, build); BeanUtils.copyProperties(r, build);
build.setSuperLeader(superLeader.get(r.getSuperLeader()));
BigDecimal totalDecimal = BigDecimal.valueOf(r.getTotalMoney()); BigDecimal totalDecimal = BigDecimal.valueOf(r.getTotalMoney());
BigDecimal roundedTotalDecimal = totalDecimal.setScale(2, RoundingMode.HALF_UP); BigDecimal roundedTotalDecimal = totalDecimal.setScale(2, RoundingMode.HALF_UP);
BigDecimal centralDecimal = BigDecimal.valueOf(r.getCentralMoney()); BigDecimal centralDecimal = BigDecimal.valueOf(r.getCentralMoney());
BigDecimal roundedCentralDecimal = centralDecimal.setScale(2, RoundingMode.HALF_UP); BigDecimal roundedCentralDecimal = centralDecimal.setScale(2, RoundingMode.HALF_UP);
BigDecimal provincialDecimal = BigDecimal.valueOf(r.getProvincialMoney()); BigDecimal provincialDecimal = BigDecimal.valueOf(r.getProvincialMoney());
BigDecimal roundedProvincialDecimal = provincialDecimal.setScale(2, RoundingMode.HALF_UP); BigDecimal roundedProvincialDecimal = provincialDecimal.setScale(2, RoundingMode.HALF_UP);
ProjectPageResponse newRecord = build
ProjectPageResponse newRecord = build.setTotalMoneyToString(roundedTotalDecimal.toString()) .setTotalMoneyToString(roundedTotalDecimal.toString())
.setCentralMoneyToString(roundedCentralDecimal.toString()) .setCentralMoneyToString(roundedCentralDecimal.toString())
.setProvincialMoneyToString(roundedProvincialDecimal.toString()) .setProvincialMoneyToString(roundedProvincialDecimal.toString())
.setPaymentExecutionRate(fund.getPaymentExecutionRate()) .setPaymentExecutionRate(fund.getPaymentExecutionRate())
@ -981,7 +982,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
public CountByConditionOV countByCondition(String condition) { public CountByConditionOV countByCondition(String condition) {
HuzhouProjectinfo projectInfo = new HuzhouProjectinfo(); HuzhouProjectinfo projectInfo = new HuzhouProjectinfo();
//只要入库项目 //只要入库项目
projectInfo.setType("2"); projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo); ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect); List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect);
List<String> allProjectIds = projectinfoOVList.stream().map(x -> x.getId()).collect(Collectors.toList()); List<String> allProjectIds = projectinfoOVList.stream().map(x -> x.getId()).collect(Collectors.toList());
@ -1038,7 +1039,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo); ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect); List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect);
List<HuzhouProjectinfoOV> rkList = projectinfoOVList.stream().filter(x -> x.getType().equals("2")).collect(Collectors.toList()); List<HuzhouProjectinfoOV> rkList = projectinfoOVList.stream().filter(x -> x.getType().equals("1")).collect(Collectors.toList());
List<String> rkIds = rkList.stream().map(x -> x.getId()).collect(Collectors.toList()); List<String> rkIds = rkList.stream().map(x -> x.getId()).collect(Collectors.toList());
List<String> projectIds = projectinfoOVList.stream().map(x -> x.getId()).collect(Collectors.toList()); List<String> projectIds = projectinfoOVList.stream().map(x -> x.getId()).collect(Collectors.toList());
//项目数量统计by type //项目数量统计by type
@ -1055,7 +1056,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
String projectProgress = this.getProgress(rkIds).getProjectProgress(); String projectProgress = this.getProgress(rkIds).getProjectProgress();
totalProgress.setProgress(projectProgress); totalProgress.setProgress(projectProgress);
////各种类资金总额和执行率 ////各种类资金总额和执行率
NewFundOV totalFund = this.getFund(projectIds); NewFundOV totalFund = this.getFund(rkIds);
FundByKindOV fundByTypeResponse = this.modelChange(totalFund); FundByKindOV fundByTypeResponse = this.modelChange(totalFund);
result.setTotalProgress(totalProgress).setCountFundByFundType(fundByTypeResponse); result.setTotalProgress(totalProgress).setCountFundByFundType(fundByTypeResponse);
return result; return result;
@ -1063,19 +1064,25 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
} }
public TotalProgressOV countNumByPlan(List<String> projectIds) { public TotalProgressOV countNumByPlan(List<String> projectIds) {
List<String> planName = new ArrayList<>(); List<String> planName = new ArrayList<>();
planName.add("合同签订"); planName.add("合同签订");
planName.add("终验阶段"); planName.add("终验阶段");
int notStartedNum = 0; int notStartedNum = 0;
int purchasedNum = 0; List<String> purchasedList = new ArrayList<>();
int finishNum = 0; List<String> finishNumList = new ArrayList<>();
LambdaQueryWrapper<HuzhouPlaninfo> query1=new LambdaQueryWrapper<>();
query1.eq(HuzhouPlaninfo::getTaskName,planName.get(0)).eq(HuzhouPlaninfo::getIsfinish,"2");
LambdaQueryWrapper<HuzhouPlaninfo> query2=new LambdaQueryWrapper<>();
query2.eq(HuzhouPlaninfo::getTaskName,planName.get(1)).eq(HuzhouPlaninfo::getIsfinish,"2");
if (projectIds.size() > 0) { if (projectIds.size() > 0) {
notStartedNum = projectIds.size() - planinfoService.getStartedProjectNum(projectIds); notStartedNum = projectIds.size() - planinfoService.getStartedProjectNum(projectIds);
purchasedNum = planinfoService.getNumByPlan(projectIds, planName.get(0)); purchasedList = planinfoService.list(query1).stream().map(x->x.getProjectId()).collect(Collectors.toList());
finishNum = planinfoService.getNumByPlan(projectIds, planName.get(1)); finishNumList= planinfoService.list(query1).stream().map(x->x.getProjectId()).collect(Collectors.toList());
purchasedList.removeAll(finishNumList);
} }
TotalProgressOV result = TotalProgressOV.builder().notStartedNum(String.valueOf(notStartedNum)) TotalProgressOV result = TotalProgressOV.builder().notStartedNum(String.valueOf(notStartedNum))
.purchasedNum(String.valueOf(purchasedNum)).finishNum(String.valueOf(finishNum)).build(); .purchasedNum(String.valueOf(purchasedList.size())).finishNum(String.valueOf(finishNumList.size())).build();
return result; return result;
} }
public FundByKindOV modelChange(NewFundOV newfundOV){ public FundByKindOV modelChange(NewFundOV newfundOV){

Loading…
Cancel
Save