Commit f111a5d9 authored by danfuman's avatar danfuman

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents ab5c4a50 199dd4c7
......@@ -4,8 +4,10 @@ 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 java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
@Data
......@@ -55,6 +57,12 @@ public class CbCostMeasureActual {
@TableField(value = "submit_project_volume")
private BigDecimal submitProjectVolume;
/**
* 本月差值
*/
@TableField(value = "difference")
private BigDecimal difference;
/**
* 年月
*/
......
......@@ -54,6 +54,11 @@ public class CbCostMeasureActualSaveBo {
*/
private BigDecimal submitProjectVolume;
/**
* 本月差值
*/
private BigDecimal difference;
/**
* 年月
*/
......
......@@ -140,6 +140,16 @@ public class CbCostMeasureActualVo {
*/
private BigDecimal submitProjectVolume;
/**
* 本月差值
*/
private BigDecimal difference;
/**
* 截止本月差值
*/
private BigDecimal sumDifference;
/**
* 年月
*/
......
......@@ -6,6 +6,7 @@ import com.dsk.cscec.domain.bo.CbCostMeasureActualBo;
import com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo;
import com.dsk.cscec.domain.vo.CbCostMeasureActualVo;
import org.apache.ibatis.annotations.Param;
import org.ehcache.javadoc.PrivateApi;
import java.math.BigDecimal;
import java.util.List;
......@@ -24,4 +25,6 @@ public interface CbCostMeasureActualMapper extends BaseMapper<CbCostMeasureActua
BigDecimal selectSumData(CbCostMeasureActualSaveBo bo);
BigDecimal selectMonthProjectVolumeByLevel(@Param("level") Integer level,@Param("projectId") Long projectId,@Param("month") String month);
BigDecimal calculateSumDifference(@Param("item") CbCostMeasureActualVo item);
}
\ No newline at end of file
......@@ -7,10 +7,12 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -18,6 +20,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.excel.ExcelResult;
import com.dsk.common.exception.ServiceException;
import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.JsonUtils;
import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.poi.ExcelUtil;
......@@ -32,7 +36,9 @@ import com.dsk.cscec.domain.vo.CbProjectExpenseSummaryImportVo;
import com.dsk.cscec.domain.vo.CbProjectExpenseSummaryVo;
import com.dsk.cscec.listener.ProjectCostMeasureImportListener;
import com.dsk.cscec.listener.ProjectCostMeasureSummaryImportListener;
import com.dsk.cscec.mapper.CbCostMeasureActualMapper;
import com.dsk.cscec.service.*;
import com.sun.org.apache.bcel.internal.generic.IFNULL;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -40,6 +46,7 @@ import org.springframework.stereotype.Service;
import com.dsk.cscec.mapper.CbCostMeasureMapper;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.math.BigDecimal;
......@@ -60,15 +67,12 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
@Autowired
private CbProjectRecordService cbProjectRecordService;
@Autowired
private ICbCostMeasureActualService cbCostMeasureActualService;
@Resource
private CbCostMeasureActualMapper cbCostMeasureActualMapper;
@Autowired
private CbProjectFileService cbProjectFileService;
@Autowired
private CbProjectExpenseSummaryService cbProjectExpenseSummaryService;
......@@ -184,6 +188,10 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
//查询项目某项措施费所有计划成本
dataList = baseMapper.selectListByProjectAndNo(costMeasureActualBo);
//统计截止本月差值
dataList.forEach(item -> {
item.setSumDifference(cbCostMeasureActualMapper.calculateSumDifference(item));
});
//配置类
TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
treeNodeConfig.setIdKey("id");
......@@ -218,6 +226,8 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
treeNode.putExtra("projectVolume", object.getProjectVolume());
treeNode.putExtra("currentProjectVolume", object.getCurrentProjectVolume());
treeNode.putExtra("submitProjectVolume", object.getSubmitProjectVolume());
treeNode.putExtra("difference", object.getDifference());
treeNode.putExtra("sumDifference", object.getSumDifference());
treeNode.putExtra("month", object.getMonth());
treeNode.putExtra("pushTime", object.getPushTime());
treeNode.putExtra("pushDataJson", object.getPushDataJson());
......@@ -230,7 +240,25 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
@Override
public void saveBatchCostMeasureActual(List<CbCostMeasureActualSaveBo> boList) {
//递归
this.recursionSaveBatchCostMeasureActual(boList, boList.get(0).getId(), null);
//this.recursionSaveBatchCostMeasureActual(boList, boList.get(0).getId(), null);
Assert.isTrue(ObjectUtil.isNotEmpty(boList), "数据不能为空");
boList.forEach(item -> {
CbCostMeasureActual actual = BeanUtil.toBean(item, CbCostMeasureActual.class);
Assert.notNull(actual.getPlanMeasureId(), "基础数据id不能为空");
Assert.notNull(actual.getMonth(), "填写月份不能为空");
actual.setId(ObjectUtil.isNull(actual.getId()) ? IdUtil.getSnowflakeNextId() : actual.getId());
// 查询计划成本累积实际成本
BigDecimal bigDecimal = cbCostMeasureActualService.selectSumData(item);
actual.setCurrentProjectVolume(NumberUtil.add(bigDecimal, actual.getProjectVolume()));
actual.setUpdateUser(Objects.requireNonNull(LoginHelper.getUsername()));
actual.setUpdateId(Objects.requireNonNull(LoginHelper.getUserId()));
actual.setDelFlag(0);
boolean b = cbCostMeasureActualService.saveOrUpdate(actual);
if (!b) {
log.error("CbQuantitySummaryServiceImpl.updateActual() data insert error! data:" + JSONUtil.toJsonStr(actual));
throw new ServiceException("数据添加错误!");
}
});
}
/**
......@@ -246,6 +274,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
for (CbCostMeasureActualSaveBo cbCostMeasureActualSaveBo : boList) {
CbCostMeasureActual cbCostMeasureActual = new CbCostMeasureActual();
BeanUtil.copyProperties(cbCostMeasureActualSaveBo, cbCostMeasureActual);
if (ObjectUtil.isNotNull(planMeasureId)) {
cbCostMeasureActual.setPlanMeasureId(planMeasureIdTemp++);
}
......
......@@ -200,4 +200,11 @@
AND t1.level=#{level}
AND t.`month`=#{month}
</select>
<select id="calculateSumDifference" resultType="java.math.BigDecimal">
select ifnull(sum(ccma.difference), 0) sumDifference
from cb_cost_measure_actual ccma
where ccma.plan_measure_id = #{item.id}
and ccma.month &lt;= #{item.month}
</select>
</mapper>
\ No newline at end of file
......@@ -34,16 +34,16 @@
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, project_id, cb_stage, parent_id, `level`, `number`, `no`,item_content, work_content,
unit, quantity, unit_price_excluding_tax, usage_time, amount_excluding_tax, tax_rate,
amount_including_tax, amortization_ratio, amount_exclude_tax_amortized, amount_include_tax_amortized,
unit, quantity, unit_price_excluding_tax, usage_time, amount_excluding_tax, tax_rate,
amount_including_tax, amortization_ratio, amount_exclude_tax_amortized, amount_include_tax_amortized,
tax_amount, remarks, cost_subject, tax_type,data_source, create_time, update_time
</sql>
<select id="selectListByProjectAndNo" resultType="com.dsk.cscec.domain.vo.CbCostMeasureActualVo">
SELECT t.*,t1.actualId,t1.plan_measure_id,t1.month_cost_rate, t1.cost_effective, t1.project_volume,t1.current_project_volume,t1.submit_project_volume,t1.`month`,t1.push_time FROM cb_cost_measure t
SELECT t.*,t1.actualId,t1.plan_measure_id,t1.month_cost_rate, t1.cost_effective, t1.project_volume,t1.current_project_volume,t1.submit_project_volume,t1.difference,t1.`month`,t1.push_time FROM cb_cost_measure t
left JOIN (
SELECT t.id actualId,t1.plan_measure_id,t1.month_cost_rate, t1.cost_effective,t1.project_volume, t1.current_project_volume,t1.submit_project_volume,t1.`month`,t1.push_time FROM cb_cost_measure t
SELECT t1.id actualId,t1.plan_measure_id,t1.month_cost_rate, t1.cost_effective,t1.project_volume, t1.current_project_volume,t1.submit_project_volume,t1.difference,t1.`month`,t1.push_time FROM cb_cost_measure t
inner JOIN cb_cost_measure_actual t1 ON t1.plan_measure_id=t.id
WHERE
t.project_id=#{projectId}
......
......@@ -40,7 +40,7 @@ module.exports = {
// target: `http://192.168.60.5:9098`,//陈跃方
// target: `http://192.168.60.27:9098`,//邓
// target: `http://122.9.160.122:9011`, //线上
// target: `http://192.168.0.165:9098`,//施-无线
// target: `http://192.168.0.9:9098`,//施-无线
// target: `http://192.168.60.7:9098`,//施-有线
// target: `http://192.168.60.90:9098`,//谭
changeOrigin: true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment