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. 9
      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> {
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);
}

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 org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
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<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=")">
#{projectId}
</foreach>
and isfinish = "2"
and b.isfinish = "2"
</select>
<select id="getTotalByProjectIds" resultType="map">
select sum(total_money) as totalAcount,

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

@ -4,14 +4,9 @@
<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>
<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 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=")">
#{projectId}
</foreach>

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

@ -346,4 +346,16 @@ order by create_date desc
</where>
group by type
</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>

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);
Integer getNumByPlan(List<String> projectIds,String taskName);
// List<String> getNumByPlan(List<String> projectIds,String taskName);
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;
}
@Override
public Integer getNumByPlan(List<String> projectIds, String taskName) {
Integer result = planinfoMapper.getNumByPlan(projectIds, taskName);
return result;
}
// @Override
// public List<String> getNumByPlan(List<String> projectIds, String taskName) {
// List<String> result = planinfoMapper.getNumByPlan(projectIds, taskName);
// return result;
// }
@Override
public Integer getPlanList(String projectId) {
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;
BigDecimal defVal = new BigDecimal("0.00");
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);
BigDecimal totalAmount = totalMap != null ? totalMap.get("totalAcount") : 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) {
Page page = new Page(pageNo, pageSize);
//只要入库项目
projectInfo.setType("2");
projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
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) {
Page page = new Page(pageNo, pageSize);
//只要入库项目
projectInfo.setType("2");
projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
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<ProjectPageResponse> newRecords = new ArrayList<>();
IPage<ProjectPageResponse> result = new Page<>();
@ -957,14 +957,15 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
ProjectProgressOV progress = this.getProgress(projectIds);
ProjectPageResponse build = new ProjectPageResponse();
BeanUtils.copyProperties(r, build);
build.setSuperLeader(superLeader.get(r.getSuperLeader()));
BigDecimal totalDecimal = BigDecimal.valueOf(r.getTotalMoney());
BigDecimal roundedTotalDecimal = totalDecimal.setScale(2, RoundingMode.HALF_UP);
BigDecimal centralDecimal = BigDecimal.valueOf(r.getCentralMoney());
BigDecimal roundedCentralDecimal = centralDecimal.setScale(2, RoundingMode.HALF_UP);
BigDecimal provincialDecimal = BigDecimal.valueOf(r.getProvincialMoney());
BigDecimal roundedProvincialDecimal = provincialDecimal.setScale(2, RoundingMode.HALF_UP);
ProjectPageResponse newRecord = build.setTotalMoneyToString(roundedTotalDecimal.toString())
ProjectPageResponse newRecord = build
.setTotalMoneyToString(roundedTotalDecimal.toString())
.setCentralMoneyToString(roundedCentralDecimal.toString())
.setProvincialMoneyToString(roundedProvincialDecimal.toString())
.setPaymentExecutionRate(fund.getPaymentExecutionRate())
@ -981,7 +982,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
public CountByConditionOV countByCondition(String condition) {
HuzhouProjectinfo projectInfo = new HuzhouProjectinfo();
//只要入库项目
projectInfo.setType("2");
projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect);
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);
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> projectIds = projectinfoOVList.stream().map(x -> x.getId()).collect(Collectors.toList());
//项目数量统计by type
@ -1055,7 +1056,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
String projectProgress = this.getProgress(rkIds).getProjectProgress();
totalProgress.setProgress(projectProgress);
////各种类资金总额和执行率
NewFundOV totalFund = this.getFund(projectIds);
NewFundOV totalFund = this.getFund(rkIds);
FundByKindOV fundByTypeResponse = this.modelChange(totalFund);
result.setTotalProgress(totalProgress).setCountFundByFundType(fundByTypeResponse);
return result;
@ -1063,19 +1064,25 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
}
public TotalProgressOV countNumByPlan(List<String> projectIds) {
List<String> planName = new ArrayList<>();
planName.add("合同签订");
planName.add("终验阶段");
int notStartedNum = 0;
int purchasedNum = 0;
int finishNum = 0;
List<String> purchasedList = new ArrayList<>();
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) {
notStartedNum = projectIds.size() - planinfoService.getStartedProjectNum(projectIds);
purchasedNum = planinfoService.getNumByPlan(projectIds, planName.get(0));
finishNum = planinfoService.getNumByPlan(projectIds, planName.get(1));
purchasedList = planinfoService.list(query1).stream().map(x->x.getProjectId()).collect(Collectors.toList());
finishNumList= planinfoService.list(query1).stream().map(x->x.getProjectId()).collect(Collectors.toList());
purchasedList.removeAll(finishNumList);
}
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;
}
public FundByKindOV modelChange(NewFundOV newfundOV){

Loading…
Cancel
Save