diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostContractController.java b/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostContractController.java index 35edfbe59..96a1c6547 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostContractController.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostContractController.java @@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -56,6 +57,10 @@ public class CostContractController { @PostMapping(value = "/page") public Result> queryPageList(@ApiIgnore @RequestBody Map map) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(CostContract.class, map); + String projectSn = MapUtils.getString(map, "projectSn"); + if (StringUtils.isNotBlank(projectSn)) { + queryWrapper.eq("d.project_sn", projectSn); + } Page page = PageUtil.getPage(map); IPage pageList = costContractService.pageList(page, queryWrapper); return Result.success(pageList); @@ -72,7 +77,10 @@ public class CostContractController { @PostMapping(value = "/list") public Result> queryList(@RequestBody CostContract costContract) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(costContract); - List list = costContractService.list(queryWrapper); + if (StringUtils.isNotBlank(costContract.getProjectSn())) { + queryWrapper.eq("d.project_sn", costContract.getProjectSn()); + } + List list = costContractService.pageList(new Page(-1, -1), queryWrapper).getRecords(); return Result.success(list); } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContract.java b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContract.java index 01ac32f3f..d182cf9c6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContract.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContract.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -430,15 +431,15 @@ public class CostContract implements Serializable { /** * 项目SN */ - @Excel(name = "项目SN", width = 15) - @ApiModelProperty(value = "项目SN") - private String projectSn; +// @Excel(name = "项目SN", width = 15) +// @ApiModelProperty(value = "项目SN") +// private String projectSn; /** * 科目 */ - @Excel(name = "科目", width = 15) - @ApiModelProperty(value = "科目") - private String kmlkd; +// @Excel(name = "科目", width = 15) +// @ApiModelProperty(value = "科目") +// private String kmlkd; /** * 合约规划 */ @@ -451,4 +452,16 @@ public class CostContract implements Serializable { @Excel(name = "是否关联主合同", width = 15) @ApiModelProperty(value = "是否关联主合同") private String sfglzht; + + @TableField(exist = false) + @ApiModelProperty(value = "科目id") + private String subjectId; + + @TableField(exist = false) + @ApiModelProperty(value = "金额") + private String amount; + + @TableField(exist = false) + @ApiModelProperty(value = "项目SN") + private String projectSn; } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractDetail.java b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractDetail.java index c249f62fe..6e6708ba2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractDetail.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractDetail.java @@ -37,7 +37,7 @@ public class CostContractDetail implements Serializable { */ @Excel(name = "合同ID", width = 15) @ApiModelProperty(value = "合同ID") - private Long contractId; + private Integer contractId; /** * 合约ID */ @@ -49,7 +49,12 @@ public class CostContractDetail implements Serializable { */ @Excel(name = "项目ID", width = 15) @ApiModelProperty(value = "项目ID") - private Long projectId; + private Integer projectId; /** + * 项目SN + */ + @Excel(name = "项目SN", width = 15) + @ApiModelProperty(value = "项目SN") + private String projectSn; /** * 科目ID */ diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractPay.java b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractPay.java index 2de350d51..3c609b627 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractPay.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostContractPay.java @@ -272,8 +272,14 @@ public class CostContractPay implements Serializable { @Excel(name = "开票金额", width = 15) @ApiModelProperty(value = "开票金额") private String jshj; + /** + * 项目SN + */ + @Excel(name = "项目SN", width = 15) + @ApiModelProperty(value = "项目SN") + private String projectSn; @TableField(exist = false) - @ApiModelProperty(value = "经办人") - private String jbrName; + @ApiModelProperty(value = "合同名称") + private String htmcName; } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostPayPlan.java b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostPayPlan.java index d0f73abd8..15b450e3d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostPayPlan.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/entity/CostPayPlan.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -163,4 +164,20 @@ public class CostPayPlan implements Serializable { @Excel(name = "财务修订金额", width = 15) @ApiModelProperty(value = "财务修订金额") private String cwxdje; + /** + * 所属项目 + */ + @Excel(name = "所属项目", width = 15) + @ApiModelProperty(value = "所属项目") + private String sxm; + /** + * 项目SN + */ + @Excel(name = "项目SN", width = 15) + @ApiModelProperty(value = "项目SN") + private String projectSn; + + @TableField(exist = false) + @ApiModelProperty(value = "合同名称") + private String htmcName; } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractMapper.java b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractMapper.java index f4e2f0a65..43e011a13 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractMapper.java @@ -1,8 +1,14 @@ package com.zhgd.xmgl.modules.cost.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.xmgl.modules.cost.entity.CostContract; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 合同信息 @@ -13,4 +19,7 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface CostContractMapper extends BaseMapper { + Page pageList(Page page, @Param(Constants.WRAPPER)Wrapper wrapper); + + List getList(@Param(Constants.WRAPPER)Wrapper wrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractPayMapper.java b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractPayMapper.java index 2c36146f3..2a45bfb60 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractPayMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostContractPayMapper.java @@ -1,8 +1,13 @@ package com.zhgd.xmgl.modules.cost.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.xmgl.modules.cost.entity.CostContractPay; +import com.zhgd.xmgl.modules.cost.entity.CostPayPlan; import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; /** * @Description: 合同支付 @@ -13,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Mapper public interface CostContractPayMapper extends BaseMapper { + Page pageList(Page page, @Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostPayPlanMapper.java b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostPayPlanMapper.java index 9557fe7f6..0af203654 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostPayPlanMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/CostPayPlanMapper.java @@ -1,8 +1,13 @@ package com.zhgd.xmgl.modules.cost.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.xmgl.modules.cost.entity.CostPayPlan; import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.checkerframework.checker.signedness.qual.Constant; /** * @Description: 资金计划 @@ -13,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Mapper public interface CostPayPlanMapper extends BaseMapper { + Page pageList(Page page, @Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractMapper.xml b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractMapper.xml index 5724e35e1..5d876e35d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractMapper.xml @@ -2,4 +2,13 @@ + + + \ No newline at end of file diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractPayMapper.xml b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractPayMapper.xml index 9677e1ebb..03d413750 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractPayMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostContractPayMapper.xml @@ -2,4 +2,8 @@ + \ No newline at end of file diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostPayPlanMapper.xml b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostPayPlanMapper.xml index 5ddcea167..11db173bf 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostPayPlanMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/cost/mapper/xml/CostPayPlanMapper.xml @@ -2,4 +2,8 @@ + \ No newline at end of file diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/service/ICostContractService.java b/src/main/java/com/zhgd/xmgl/modules/cost/service/ICostContractService.java index 262037748..d60c5deb4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/service/ICostContractService.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/service/ICostContractService.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.cost.entity.CostContract; +import java.util.List; + /** * @Description: 合同信息 * @author: pengj @@ -14,4 +16,6 @@ import com.zhgd.xmgl.modules.cost.entity.CostContract; public interface ICostContractService extends IService { Page pageList(Page page, Wrapper wrapper); + + List getList(Wrapper wrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java index 54cd10549..8826da8e2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java @@ -57,7 +57,7 @@ public class CostBudgetServiceImpl extends ServiceImpl budgetList = this.list(Wrappers.lambdaQuery() .eq(CostBudget::getProjectSn, projectSn) .eq(CostBudget::getVersion, version)); - List contractList = costContractService.list(Wrappers.lambdaQuery() + List contractList = costContractService.getList(Wrappers.lambdaQuery() .eq(CostContract::getProjectSn, projectSn)); // List contractList = costContractDetailService.list(Wrappers.lambdaQuery() // .eq(CostContractDetail::getProjectId, projectSn)); @@ -69,7 +69,7 @@ public class CostBudgetServiceImpl extends ServiceImpl children = allList.stream().filter(a -> a.getParentId().toString().equals(costBudget.getSubjectId().toString())).collect(Collectors.toList()); if (children.size() > 0) { - List contractIds = contractList.stream().filter(c -> children.stream().map(d -> d.getId().toString()).collect(Collectors.toList()).contains(c.getKmlkd().toString())).map(c -> c.getId().toString()).collect(Collectors.toList()); + List contractIds = contractList.stream().filter(c -> children.stream().map(d -> d.getId().toString()).collect(Collectors.toList()).contains(c.getSubjectId().toString())).map(c -> c.getId().toString()).collect(Collectors.toList()); BigDecimal reduce = costContractPayList.stream().filter(c -> contractIds.contains(c.getHtmc())).map(c -> new BigDecimal(c.getSfje())) .reduce(BigDecimal.ZERO, BigDecimal::add); costBudget.setActualCost(reduce.toString()); @@ -80,7 +80,7 @@ public class CostBudgetServiceImpl extends ServiceImpl contractIds = contractList.stream().filter(c -> c.getKmlkd().toString().equals(costBudget.getSubjectId().toString())).map(c -> c.getId().toString()).collect(Collectors.toList()); + List contractIds = contractList.stream().filter(c -> c.getSubjectId().toString().equals(costBudget.getSubjectId().toString())).map(c -> c.getId().toString()).collect(Collectors.toList()); BigDecimal reduce = costContractPayList.stream().filter(c -> contractIds.contains(c.getHtmc())).map(c -> new BigDecimal(c.getSfje())) .reduce(BigDecimal.ZERO, BigDecimal::add); costBudget.setActualCost(reduce.toString()); diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractDetailServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractDetailServiceImpl.java index 55e09c56b..026d0a375 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractDetailServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractDetailServiceImpl.java @@ -39,10 +39,10 @@ public class CostContractDetailServiceImpl extends ServiceImpl contractDetails) { this.remove(Wrappers.lambdaQuery().eq(CostContractDetail::getContractPlanId, contractDetails.get(0).getContractPlanId())); - this.saveBatch(contractDetails); - CostContract contractPlan = costContractService.getById(contractDetails.get(0).getContractPlanId()); - String collect = contractDetails.stream().map(c -> c.getSubjectId().toString()).collect(Collectors.joining(",")); - contractPlan.setKmlkd(collect); - return costContractService.updateById(contractPlan); + return this.saveBatch(contractDetails); +// CostContract contractPlan = costContractService.getById(contractDetails.get(0).getContractPlanId()); +// String collect = contractDetails.stream().map(c -> c.getSubjectId().toString()).collect(Collectors.joining(",")); +// contractPlan.setKmlkd(collect); +// return costContractService.updateById(contractPlan); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPayServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPayServiceImpl.java index 07526ed96..d2b24448e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPayServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPayServiceImpl.java @@ -30,12 +30,6 @@ public class CostContractPayServiceImpl extends ServiceImpl pageList(Page page, Wrapper wrapper) { - Page pageList = this.page(page, wrapper); - List systemUserList = systemUserService.list(); - for (CostContractPay record : pageList.getRecords()) { - List users = systemUserList.stream().filter(s -> s.getUserId().toString().equals(record.getJbr())).collect(Collectors.toList()); - record.setJbrName(users.size() > 0 ? users.get(0).getRealName() : ""); - } - return pageList; + return baseMapper.pageList(page, wrapper); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPlanServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPlanServiceImpl.java index ba5e5ea8e..f754d4b9c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPlanServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostContractPlanServiceImpl.java @@ -100,8 +100,8 @@ public class CostContractPlanServiceImpl extends ServiceImpl contractList = costContractService.list(Wrappers.lambdaQuery() - .eq(CostContract::getProjectSn, projectInfoBySn.getProjectSn())); + List contractList = costContractService.getList(Wrappers.query() + .eq("d.project_sn", projectInfoBySn.getProjectSn())); // List contractList = costContractDetailService.list(Wrappers.lambdaQuery() // .eq(CostContractDetail::getProjectId, projectInfoBySn.getProjectId())); List contractPlanList = this.list(Wrappers.lambdaQuery() @@ -119,8 +119,8 @@ public class CostContractPlanServiceImpl extends ServiceImpl 0) { List costBudgetList = costBudgetService.list(Wrappers.lambdaQuery() .eq(CostBudget::getProjectSn, projectInfoBySn.getProjectSn())); - List contractList = costContractService.list(Wrappers.lambdaQuery() - .eq(CostContract::getProjectSn, projectInfoBySn.getProjectSn())); + List contractList = costContractService.getList(Wrappers.query() + .eq("d.project_sn", projectInfoBySn.getProjectSn())); // List contractDetailList = costContractDetailService.list(Wrappers.lambdaQuery() // .eq(CostContractDetail::getProjectId, projectInfoBySn.getProjectId())); List costPayPlanList = costPayPlanService.list(); @@ -218,10 +218,10 @@ public class CostContractPlanServiceImpl extends ServiceImpl contracts = contractList.stream().filter(c -> c.getKmlkd().toString().equals(costSubject.getId().toString())).collect(Collectors.toList()); + List contracts = contractList.stream().filter(c -> c.getSubjectId().toString().equals(costSubject.getId().toString())).collect(Collectors.toList()); costContractPlanDto.setGoal(costBudgetList.stream().filter(c -> c.getSubjectId().toString().equals(costSubject.getId().toString())) .map(c -> new BigDecimal(c.getBudgetCost())).reduce(BigDecimal.ZERO, BigDecimal::add)); - costContractPlanDto.setUnderApproval(contracts.stream().map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); + costContractPlanDto.setUnderApproval(contracts.stream().map(c -> new BigDecimal(c.getAmount())).reduce(BigDecimal.ZERO, BigDecimal::add)); BigDecimal subtract = costContractPlanDto.getGoal().subtract(costContractPlanDto.getUnderApproval()); costContractPlanDto.setAllowance(subtract); costContractPlanDto.setType(0); @@ -252,22 +252,22 @@ public class CostContractPlanServiceImpl extends ServiceImpl children = allList.stream().filter(a -> a.getParentId().toString().equals(costSubject.getId().toString())).collect(Collectors.toList()); if (children.size() > 0) { List stringList = children.stream().map(d -> d.getId().toString()).collect(Collectors.toList()); - List contracts = contractList.stream().filter(c -> stringList.contains(c.getKmlkd().toString()) + List contracts = contractList.stream().filter(c -> stringList.contains(c.getSubjectId().toString()) && c.getHtqszt().equals("履约完毕")).collect(Collectors.toList()); List htbhList = contracts.stream().map(c -> c.getHtbh()).collect(Collectors.toList()); List htidList = contracts.stream().map(c -> c.getId().toString()).collect(Collectors.toList()); List subContracts = contracts.stream().filter(c -> htidList.contains(c.getGlzht())).collect(Collectors.toList()); dynamicCostDto.setGoal(costBudgetList.stream().filter(c -> stringList.contains(c.getSubjectId().toString())) .map(c -> new BigDecimal(c.getBudgetCost())).reduce(BigDecimal.ZERO, BigDecimal::add)); - dynamicCostDto.setUnderApproval(contracts.stream().filter(c -> c.getHtqszt().equals("审核中")).map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); + dynamicCostDto.setUnderApproval(contracts.stream().filter(c -> c.getHtqszt().equals("审核中")).map(c -> new BigDecimal(c.getAmount())).reduce(BigDecimal.ZERO, BigDecimal::add)); dynamicCostDto.setDynamicCost(dynamicCostDto.getContractAmount().add(dynamicCostDto.getUnderApproval()).add(dynamicCostDto.getToOccur()).add(dynamicCostDto.getContractAmount())); BigDecimal subtract = dynamicCostDto.getGoal().subtract(dynamicCostDto.getDynamicCost()); dynamicCostDto.setCostDifference(dynamicCostDto.getGoal().compareTo(new BigDecimal(0)) > 0 ? subtract.divide(dynamicCostDto.getGoal(), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).toString() : "0"); dynamicCostDto.setAllowance(subtract); //合同金额 - dynamicCostDto.setContractAmount(contracts.stream().map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); + dynamicCostDto.setContractAmount(contracts.stream().map(c -> new BigDecimal(c.getAmount())).reduce(BigDecimal.ZERO, BigDecimal::add)); //变更金额 - dynamicCostDto.setContractAmountChange(subContracts.stream().map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); + dynamicCostDto.setContractAmountChange(subContracts.stream().map(c -> new BigDecimal(c.getAmount())).reduce(BigDecimal.ZERO, BigDecimal::add)); //合同总额 dynamicCostDto.setContractAmountTotal(dynamicCostDto.getContractAmount().add(dynamicCostDto.getContractAmountChange())); //合同产值 @@ -288,23 +288,23 @@ public class CostContractPlanServiceImpl extends ServiceImpl contracts = contractList.stream().filter(c -> c.getKmlkd().toString().equals(costSubject.getId().toString())).collect(Collectors.toList()); + List contracts = contractList.stream().filter(c -> c.getSubjectId().toString().equals(costSubject.getId().toString())).collect(Collectors.toList()); List htbhList = contracts.stream().map(c -> c.getHtbh()).collect(Collectors.toList()); List htidList = contracts.stream().map(c -> c.getId().toString()).collect(Collectors.toList()); List subContracts = contracts.stream().filter(c -> htidList.contains(c.getGlzht())).collect(Collectors.toList()); dynamicCostDto.setGoal(costBudgetList.stream().filter(c -> c.getSubjectId().toString().equals(costSubject.getId().toString())) .map(c -> new BigDecimal(c.getBudgetCost())).reduce(BigDecimal.ZERO, BigDecimal::add)); // dynamicCostDto.setContractAmount(contracts.stream().filter(c -> c.getHtqszt().equals("履约完毕")).map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); - dynamicCostDto.setUnderApproval(contracts.stream().filter(c -> c.getHtqszt().equals("审核中")).map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); + dynamicCostDto.setUnderApproval(contracts.stream().filter(c -> c.getHtqszt().equals("审核中")).map(c -> new BigDecimal(c.getAmount())).reduce(BigDecimal.ZERO, BigDecimal::add)); dynamicCostDto.setDynamicCost(dynamicCostDto.getContractAmount().add(dynamicCostDto.getUnderApproval()).add(dynamicCostDto.getToOccur()).add(dynamicCostDto.getContractAmount())); BigDecimal subtract = dynamicCostDto.getGoal().subtract(dynamicCostDto.getDynamicCost()); dynamicCostDto.setCostDifference(dynamicCostDto.getGoal().compareTo(new BigDecimal(0)) > 0 ? subtract.divide(dynamicCostDto.getGoal(), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).toString() : "0"); dynamicCostDto.setAllowance(subtract); dynamicCostDto.setChildren(getDynamicChildren(contracts.stream().filter(c -> c.getHtqszt().equals("履约完毕")).collect(Collectors.toList()), costSubject.getId().toString())); //合同金额 - dynamicCostDto.setContractAmount(contracts.stream().map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); + dynamicCostDto.setContractAmount(contracts.stream().map(c -> new BigDecimal(c.getAmount())).reduce(BigDecimal.ZERO, BigDecimal::add)); //变更金额 - dynamicCostDto.setContractAmountChange(subContracts.stream().map(c -> new BigDecimal(c.getHtjea())).reduce(BigDecimal.ZERO, BigDecimal::add)); + dynamicCostDto.setContractAmountChange(subContracts.stream().map(c -> new BigDecimal(c.getAmount())).reduce(BigDecimal.ZERO, BigDecimal::add)); //合同总额 dynamicCostDto.setContractAmountTotal(dynamicCostDto.getContractAmount().add(dynamicCostDto.getContractAmountChange())); //合同产值 @@ -337,7 +337,7 @@ public class CostContractPlanServiceImpl extends ServiceImpl pageList(Page page, Wrapper wrapper) { - Page result = this.page(page, wrapper); + Page result = baseMapper.pageList(page, wrapper); List list = result.getRecords().stream().map(r -> r.getId()).collect(Collectors.toList()); // if (list.size() > 0) { // List settlements = costContractSettlementService.list(Wrappers.lambdaQuery() @@ -40,4 +40,9 @@ public class CostContractServiceImpl extends ServiceImpl getList(Wrapper wrapper) { + return baseMapper.getList(wrapper); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostPayPlanServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostPayPlanServiceImpl.java index 569441ab2..8c42e57a7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostPayPlanServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostPayPlanServiceImpl.java @@ -48,13 +48,7 @@ public class CostPayPlanServiceImpl extends ServiceImpl pageList(Page page, Wrapper wrapper) { - Page pageList = this.page(page, wrapper); -// List systemUserList = systemUserService.list(); -// for (CostPayPlan record : pageList.getRecords()) { -// List users = systemUserList.stream().filter(s -> s.getUserId().toString().equals(record.getApplyBy())).collect(Collectors.toList()); -// record.setApplyByName(users.size() > 0 ? users.get(0).getRealName() : ""); -// } - return pageList; + return baseMapper.pageList(page, wrapper); } @Override @@ -76,7 +70,7 @@ public class CostPayPlanServiceImpl extends ServiceImpl new BigDecimal(l.getJhfkje())).reduce(BigDecimal.ZERO, BigDecimal::add)); - contractPayOverviewDto.setPayAmount(costContractPayList.stream().filter(c -> c.getSxm().equals(project.getProjectId().toString())) + contractPayOverviewDto.setPayAmount(costContractPayList.stream().filter(c -> c.getSxm() != null && c.getSxm().equals(project.getProjectId().toString())) .map(c -> new BigDecimal(c.getSfje())).reduce(BigDecimal.ZERO, BigDecimal::add)); contractPayOverviewDto.setCostDifference(contractPayOverviewDto.getPlanPayAmount().subtract(contractPayOverviewDto.getPayAmount())); if (contractPayOverviewDto.getPlanPayAmount().compareTo(new BigDecimal(0)) != 0) { diff --git a/src/main/java/com/zhgd/xmgl/util/JiuzhuDateUtil.java b/src/main/java/com/zhgd/xmgl/util/JiuzhuDateUtil.java index b3848f1c6..508f66e94 100644 --- a/src/main/java/com/zhgd/xmgl/util/JiuzhuDateUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/JiuzhuDateUtil.java @@ -171,22 +171,26 @@ public class JiuzhuDateUtil { // } // System.out.println(detailArray); // costContract.setGysbm(gys.toString()); -// JSONArray shareArray = jsonArray.getJSONObject(i).getJSONArray("detail6"); -// for (int j = 0; j < shareArray.size(); j++) { -// CostContractDetail costContractDetail = new CostContractDetail(); -// costContractDetail.setContractId(costContract.getId()); -// costContractDetail.setContractPlanId(Long.valueOf(shareArray.getJSONObject(i).getString("hyghkm"))); -// costContractDetail.setAmount(shareArray.getJSONObject(i).getString("ghjehs")); -// costContractDetail.setSubjectId(Long.valueOf(shareArray.getJSONObject(i).getString("km"))); -// costContractDetail.setProjectId(Integer.valueOf(shareArray.getJSONObject(i).getString("xmmc"))); -// contractDetails.add(costContractDetail); -// } - List projectList = projects.stream().filter(p -> p.getProjectId().toString().equals(costContract.getXmbh())).collect(Collectors.toList()); - costContract.setProjectSn(projectList.size() > 0 ? projectList.get(0).getProjectSn() : ""); + JSONArray shareArray = jsonArray.getJSONObject(i).getJSONArray("detail5"); + for (int j = 0; j < shareArray.size(); j++) { + CostContractDetail costContractDetail = new CostContractDetail(); + costContractDetail.setContractId(costContract.getId()); + String hygh = shareArray.getJSONObject(j).getString("hygh"); + costContractDetail.setContractPlanId(StringUtils.isNotBlank(hygh) ? Long.valueOf(hygh) : null); + costContractDetail.setAmount(shareArray.getJSONObject(j).getString("htgjjehs")); + String kmlkd = shareArray.getJSONObject(j).getString("kmlkd"); + costContractDetail.setSubjectId(StringUtils.isNotBlank(kmlkd) ? Long.valueOf(kmlkd) : null); + costContractDetail.setProjectId(Integer.valueOf(shareArray.getJSONObject(j).getString("xmid"))); + List projectList = projects.stream().filter(p -> + p.getProjectId().toString().equals(costContractDetail.getProjectId().toString())).collect(Collectors.toList()); + costContractDetail.setProjectSn(projectList.size() > 0 ? projectList.get(0).getProjectSn() : ""); + contractDetails.add(costContractDetail); + } contractList.add(costContract); } costContractService.saveOrUpdateBatch(contractList); -// costContractDetailService.saveBatch(contractDetails); + costContractDetailService.remove(null); + costContractDetailService.saveBatch(contractDetails); } } @@ -200,6 +204,7 @@ public class JiuzhuDateUtil { JSONObject obj = JSONObject.parseObject(result); JSONArray jsonArray = obj.getJSONArray("result"); List contractPayList = new ArrayList<>(); + List projects = projectService.list(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject projectObj = jsonArray.getJSONObject(i).getJSONObject("mainTable"); CostContractPay costContractPay = JSONObject.parseObject(JSON.toJSONString(projectObj), CostContractPay.class); @@ -213,6 +218,9 @@ public class JiuzhuDateUtil { } } costContractPay.setJshj(jshjTotal.toString()); + List projectList = projects.stream().filter(p -> + p.getProjectId().toString().equals(costContractPay.getSxm())).collect(Collectors.toList()); + costContractPay.setProjectSn(projectList.size() > 0 ? projectList.get(0).getProjectSn() : ""); contractPayList.add(costContractPay); } costContractPayService.saveOrUpdateBatch(contractPayList); @@ -229,9 +237,13 @@ public class JiuzhuDateUtil { JSONObject obj = JSONObject.parseObject(result); JSONArray jsonArray = obj.getJSONArray("result"); List payPlanList = new ArrayList<>(); + List projects = projectService.list(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject projectObj = jsonArray.getJSONObject(i).getJSONObject("mainTable"); CostPayPlan costPayPlan = JSONObject.parseObject(JSON.toJSONString(projectObj), CostPayPlan.class); + List projectList = projects.stream().filter(p -> + p.getProjectId().toString().equals(costPayPlan.getSxm())).collect(Collectors.toList()); + costPayPlan.setProjectSn(projectList.size() > 0 ? projectList.get(0).getProjectSn() : ""); payPlanList.add(costPayPlan); } costPayPlanService.saveOrUpdateBatch(payPlanList);