合同项目关系修改
This commit is contained in:
parent
c2816c47cf
commit
ff266a3cef
@ -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<IPage<CostContract>> queryPageList(@ApiIgnore @RequestBody Map<String, Object> map) {
|
||||
QueryWrapper<CostContract> queryWrapper = QueryGenerator.initPageQueryWrapper(CostContract.class, map);
|
||||
String projectSn = MapUtils.getString(map, "projectSn");
|
||||
if (StringUtils.isNotBlank(projectSn)) {
|
||||
queryWrapper.eq("d.project_sn", projectSn);
|
||||
}
|
||||
Page<CostContract> page = PageUtil.getPage(map);
|
||||
IPage<CostContract> pageList = costContractService.pageList(page, queryWrapper);
|
||||
return Result.success(pageList);
|
||||
@ -72,7 +77,10 @@ public class CostContractController {
|
||||
@PostMapping(value = "/list")
|
||||
public Result<List<CostContract>> queryList(@RequestBody CostContract costContract) {
|
||||
QueryWrapper<CostContract> queryWrapper = QueryGenerator.initQueryWrapper(costContract);
|
||||
List<CostContract> list = costContractService.list(queryWrapper);
|
||||
if (StringUtils.isNotBlank(costContract.getProjectSn())) {
|
||||
queryWrapper.eq("d.project_sn", costContract.getProjectSn());
|
||||
}
|
||||
List<CostContract> list = costContractService.pageList(new Page(-1, -1), queryWrapper).getRecords();
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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<CostContract> {
|
||||
|
||||
Page<CostContract> pageList(Page page, @Param(Constants.WRAPPER)Wrapper<CostContract> wrapper);
|
||||
|
||||
List<CostContract> getList(@Param(Constants.WRAPPER)Wrapper<CostContract> wrapper);
|
||||
}
|
||||
|
||||
@ -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<CostContractPay> {
|
||||
|
||||
Page<CostContractPay> pageList(Page page, @Param(Constants.WRAPPER) Wrapper<CostContractPay> wrapper);
|
||||
}
|
||||
|
||||
@ -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<CostPayPlan> {
|
||||
|
||||
Page<CostPayPlan> pageList(Page page, @Param(Constants.WRAPPER) Wrapper<CostPayPlan> wrapper);
|
||||
}
|
||||
|
||||
@ -2,4 +2,13 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.cost.mapper.CostContractMapper">
|
||||
|
||||
<select id="pageList" resultType="com.zhgd.xmgl.modules.cost.entity.CostContract">
|
||||
SELECT c.*, d.subject_id, d.amount, d.project_sn from cost_contract c LEFT JOIN cost_contract_detail d on c.id = d.contract_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getList" resultType="com.zhgd.xmgl.modules.cost.entity.CostContract">
|
||||
SELECT c.*, d.subject_id, d.amount, d.project_sn from cost_contract c LEFT JOIN cost_contract_detail d on c.id = d.contract_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -2,4 +2,8 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.cost.mapper.CostContractPayMapper">
|
||||
|
||||
<select id="pageList" resultType="com.zhgd.xmgl.modules.cost.entity.CostContractPay">
|
||||
SELECT cp.*, cc.htmc as htmcName from cost_contract_pay cp LEFT JOIN cost_contract cc ON cp.htmc = cc.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -2,4 +2,8 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.cost.mapper.CostPayPlanMapper">
|
||||
|
||||
<select id="pageList" resultType="com.zhgd.xmgl.modules.cost.entity.CostPayPlan">
|
||||
SELECT cp.*, cc.htmc as htmcName from cost_pay_plan cp LEFT JOIN cost_contract cc ON cp.htmc = cc.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -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<CostContract> {
|
||||
|
||||
Page<CostContract> pageList(Page page, Wrapper<CostContract> wrapper);
|
||||
|
||||
List<CostContract> getList(Wrapper<CostContract> wrapper);
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ public class CostBudgetServiceImpl extends ServiceImpl<CostBudgetMapper, CostBud
|
||||
List<CostBudget> budgetList = this.list(Wrappers.<CostBudget>lambdaQuery()
|
||||
.eq(CostBudget::getProjectSn, projectSn)
|
||||
.eq(CostBudget::getVersion, version));
|
||||
List<CostContract> contractList = costContractService.list(Wrappers.<CostContract>lambdaQuery()
|
||||
List<CostContract> contractList = costContractService.getList(Wrappers.<CostContract>lambdaQuery()
|
||||
.eq(CostContract::getProjectSn, projectSn));
|
||||
// List<CostContractDetail> contractList = costContractDetailService.list(Wrappers.<CostContractDetail>lambdaQuery()
|
||||
// .eq(CostContractDetail::getProjectId, projectSn));
|
||||
@ -69,7 +69,7 @@ public class CostBudgetServiceImpl extends ServiceImpl<CostBudgetMapper, CostBud
|
||||
for (CostBudget costBudget : budgetList) {
|
||||
List<CostSubject> children = allList.stream().filter(a -> a.getParentId().toString().equals(costBudget.getSubjectId().toString())).collect(Collectors.toList());
|
||||
if (children.size() > 0) {
|
||||
List<String> 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<String> 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<CostBudgetMapper, CostBud
|
||||
costBudget.setCostDifference(ratio.multiply(new BigDecimal(100)).toString());
|
||||
}
|
||||
} else {
|
||||
List<String> contractIds = contractList.stream().filter(c -> c.getKmlkd().toString().equals(costBudget.getSubjectId().toString())).map(c -> c.getId().toString()).collect(Collectors.toList());
|
||||
List<String> 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());
|
||||
|
||||
@ -39,10 +39,10 @@ public class CostContractDetailServiceImpl extends ServiceImpl<CostContractDetai
|
||||
@Override
|
||||
public boolean saveInfo(List<CostContractDetail> contractDetails) {
|
||||
this.remove(Wrappers.<CostContractDetail>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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,12 +30,6 @@ public class CostContractPayServiceImpl extends ServiceImpl<CostContractPayMappe
|
||||
|
||||
@Override
|
||||
public IPage<CostContractPay> pageList(Page page, Wrapper<CostContractPay> wrapper) {
|
||||
Page<CostContractPay> pageList = this.page(page, wrapper);
|
||||
List<SystemUser> systemUserList = systemUserService.list();
|
||||
for (CostContractPay record : pageList.getRecords()) {
|
||||
List<SystemUser> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -100,8 +100,8 @@ public class CostContractPlanServiceImpl extends ServiceImpl<CostContractPlanMap
|
||||
.eq(CostBudget::getProjectSn, projectInfoBySn.getProjectSn())
|
||||
.eq(CostBudget::getVersion, b != null ? b.getVersion() : -1)
|
||||
);
|
||||
List<CostContract> contractList = costContractService.list(Wrappers.<CostContract>lambdaQuery()
|
||||
.eq(CostContract::getProjectSn, projectInfoBySn.getProjectSn()));
|
||||
List<CostContract> contractList = costContractService.getList(Wrappers.<CostContract>query()
|
||||
.eq("d.project_sn", projectInfoBySn.getProjectSn()));
|
||||
// List<CostContractDetail> contractList = costContractDetailService.list(Wrappers.<CostContractDetail>lambdaQuery()
|
||||
// .eq(CostContractDetail::getProjectId, projectInfoBySn.getProjectId()));
|
||||
List<CostContractPlan> contractPlanList = this.list(Wrappers.<CostContractPlan>lambdaQuery()
|
||||
@ -119,8 +119,8 @@ public class CostContractPlanServiceImpl extends ServiceImpl<CostContractPlanMap
|
||||
if (allSubList.size() > 0) {
|
||||
List<CostBudget> costBudgetList = costBudgetService.list(Wrappers.<CostBudget>lambdaQuery()
|
||||
.eq(CostBudget::getProjectSn, projectInfoBySn.getProjectSn()));
|
||||
List<CostContract> contractList = costContractService.list(Wrappers.<CostContract>lambdaQuery()
|
||||
.eq(CostContract::getProjectSn, projectInfoBySn.getProjectSn()));
|
||||
List<CostContract> contractList = costContractService.getList(Wrappers.<CostContract>query()
|
||||
.eq("d.project_sn", projectInfoBySn.getProjectSn()));
|
||||
// List<CostContractDetail> contractDetailList = costContractDetailService.list(Wrappers.<CostContractDetail>lambdaQuery()
|
||||
// .eq(CostContractDetail::getProjectId, projectInfoBySn.getProjectId()));
|
||||
List<CostPayPlan> costPayPlanList = costPayPlanService.list();
|
||||
@ -218,10 +218,10 @@ public class CostContractPlanServiceImpl extends ServiceImpl<CostContractPlanMap
|
||||
costContractPlanDto.setSubjectId(costSubject.getParentId());
|
||||
costContractPlanDto.setContractName(costSubject.getName());
|
||||
// 查询合约
|
||||
List<CostContract> contracts = contractList.stream().filter(c -> c.getKmlkd().toString().equals(costSubject.getId().toString())).collect(Collectors.toList());
|
||||
List<CostContract> 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<CostContractPlanMap
|
||||
List<CostSubject> children = allList.stream().filter(a -> a.getParentId().toString().equals(costSubject.getId().toString())).collect(Collectors.toList());
|
||||
if (children.size() > 0) {
|
||||
List<String> stringList = children.stream().map(d -> d.getId().toString()).collect(Collectors.toList());
|
||||
List<CostContract> contracts = contractList.stream().filter(c -> stringList.contains(c.getKmlkd().toString())
|
||||
List<CostContract> contracts = contractList.stream().filter(c -> stringList.contains(c.getSubjectId().toString())
|
||||
&& c.getHtqszt().equals("履约完毕")).collect(Collectors.toList());
|
||||
List<String> htbhList = contracts.stream().map(c -> c.getHtbh()).collect(Collectors.toList());
|
||||
List<String> htidList = contracts.stream().map(c -> c.getId().toString()).collect(Collectors.toList());
|
||||
List<CostContract> 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<CostContractPlanMap
|
||||
//应付账款=合同产值-实付登记
|
||||
dynamicCostDto.setAccountsPayAmount(dynamicCostDto.getCostQuantity().subtract(dynamicCostDto.getPayAmount()));
|
||||
} else {
|
||||
List<CostContract> contracts = contractList.stream().filter(c -> c.getKmlkd().toString().equals(costSubject.getId().toString())).collect(Collectors.toList());
|
||||
List<CostContract> contracts = contractList.stream().filter(c -> c.getSubjectId().toString().equals(costSubject.getId().toString())).collect(Collectors.toList());
|
||||
List<String> htbhList = contracts.stream().map(c -> c.getHtbh()).collect(Collectors.toList());
|
||||
List<String> htidList = contracts.stream().map(c -> c.getId().toString()).collect(Collectors.toList());
|
||||
List<CostContract> 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<CostContractPlanMap
|
||||
for (CostContract contract : contracts) {
|
||||
DynamicCostDto dynamicCostDto = new DynamicCostDto();
|
||||
dynamicCostDto.setSubjectName(contract.getHtmc());
|
||||
dynamicCostDto.setContractAmount(new BigDecimal(contract.getHtjea()));
|
||||
dynamicCostDto.setContractAmount(new BigDecimal(contract.getAmount()));
|
||||
dynamicCostDtoList.add(dynamicCostDto);
|
||||
}
|
||||
return dynamicCostDtoList;
|
||||
|
||||
@ -28,7 +28,7 @@ public class CostContractServiceImpl extends ServiceImpl<CostContractMapper, Cos
|
||||
|
||||
@Override
|
||||
public Page<CostContract> pageList(Page page, Wrapper<CostContract> wrapper) {
|
||||
Page<CostContract> result = this.page(page, wrapper);
|
||||
Page<CostContract> result = baseMapper.pageList(page, wrapper);
|
||||
List<Integer> list = result.getRecords().stream().map(r -> r.getId()).collect(Collectors.toList());
|
||||
// if (list.size() > 0) {
|
||||
// List<CostContractSettlement> settlements = costContractSettlementService.list(Wrappers.<CostContractSettlement>lambdaQuery()
|
||||
@ -40,4 +40,9 @@ public class CostContractServiceImpl extends ServiceImpl<CostContractMapper, Cos
|
||||
// }
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CostContract> getList(Wrapper<CostContract> wrapper) {
|
||||
return baseMapper.getList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,13 +48,7 @@ public class CostPayPlanServiceImpl extends ServiceImpl<CostPayPlanMapper, CostP
|
||||
|
||||
@Override
|
||||
public Page<CostPayPlan> pageList(Page page, Wrapper<CostPayPlan> wrapper) {
|
||||
Page<CostPayPlan> pageList = this.page(page, wrapper);
|
||||
// List<SystemUser> systemUserList = systemUserService.list();
|
||||
// for (CostPayPlan record : pageList.getRecords()) {
|
||||
// List<SystemUser> 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<CostPayPlanMapper, CostP
|
||||
contractPayOverviewDto.setProjectId(project.getProjectId());
|
||||
contractPayOverviewDto.setProjectName(project.getProjectName());
|
||||
contractPayOverviewDto.setPlanPayAmount(list.stream().map(l -> 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) {
|
||||
|
||||
@ -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<Project> 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<Project> 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<CostContractPay> contractPayList = new ArrayList<>();
|
||||
List<Project> 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<Project> 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<CostPayPlan> payPlanList = new ArrayList<>();
|
||||
List<Project> 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<Project> 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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user