Commit 50b8dee1 authored by chenyuefang's avatar chenyuefang

Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司

parents 6ec74ee2 3b5b5658
......@@ -8,6 +8,7 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo;
import com.dsk.cscec.domain.vo.CbProjectHeadInfoVo;
import com.dsk.cscec.domain.vo.CbProjectInfoVo;
import com.dsk.cscec.domain.vo.CbProjectRecordSearchVo;
import com.dsk.cscec.service.CbProjectRecordService;
......@@ -138,6 +139,14 @@ public class CbProjectRecordController extends BaseController {
return toAjax(baseService.deleteDraft(projectId));
}
/**
* 获取项目详情头部信息
*/
@GetMapping("/getCbProjectHeadInfo/{projectId}")
public R<CbProjectHeadInfoVo> getCbProjectHeadInfo(@NotNull(message = "项目ID不能为空") @PathVariable Long projectId) {
return R.ok(baseService.getCbProjectHeadInfo(projectId));
}
/**
* 获取工程项目信息
*/
......
......@@ -35,6 +35,14 @@ public class CbCostMeasureActual {
@TableField(value = "cost_effective")
private BigDecimal costEffective;
/**
* 本月工程量
*/
@TableField(value = "project_volume")
private BigDecimal projectVolume;
/**
* 截止本月工程量
*/
......
......@@ -25,6 +25,7 @@ public class CbCostMeasureActualSaveBo {
/**
* 计划成本措施费id
*/
@NotNull(message = "计划成本措施费id不能为空")
private Long planMeasureId;
/**
......@@ -39,6 +40,11 @@ public class CbCostMeasureActualSaveBo {
*/
private BigDecimal costEffective;
/**
* 本月工程量
*/
private BigDecimal projectVolume;
/**
* 截止本月工程量
*/
......
......@@ -19,6 +19,9 @@ public class CbCostMeasureActualVo {
private Long id;
private Long actualId;
private Long parentId;
......@@ -122,6 +125,11 @@ public class CbCostMeasureActualVo {
*/
private BigDecimal costEffective;
/**
* 本月工程量
*/
private BigDecimal projectVolume;
/**
* 截止本月工程量
*/
......@@ -171,7 +179,7 @@ public class CbCostMeasureActualVo {
private Date updateTime;
private List<CbCostMeasureActualVo> childrens;
// private List<CbCostMeasureActualVo> childrens;
public static final String COL_ID = "id";
......
package com.dsk.cscec.domain.vo;
import lombok.Data;
/**
* @author sxk
* @date 2024.03.06
* @time 09:12
*/
@Data
public class CbProjectHeadInfoVo {
/**
* 项目ID
*/
private Long id;
/**
* 项目名称
*/
private String projectName;
/**
* IPM项目编码
*/
private String ipmProjectNo;
/**
* 客商名称(客户名称)
*/
private String merchantName;
/**
* 签订单位
*/
private String signingUnit;
}
......@@ -3,8 +3,11 @@ package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.CbCostMeasureActual;
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 java.math.BigDecimal;
import java.util.List;
public interface CbCostMeasureActualMapper extends BaseMapper<CbCostMeasureActual> {
......@@ -14,5 +17,7 @@ public interface CbCostMeasureActualMapper extends BaseMapper<CbCostMeasureActua
List<CbCostMeasureActualVo> selectDataList(CbCostMeasureActualBo costMeasureActualBo);
List<CbCostMeasureActualVo> getMonthActualCostList(Long projectId, String month);
List<CbCostMeasureActualVo> getMonthActualCostList(@Param("projectId") Long projectId,@Param("month") String month);
BigDecimal selectSumData(CbCostMeasureActualSaveBo bo);
}
\ No newline at end of file
......@@ -6,6 +6,7 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo;
import com.dsk.cscec.domain.vo.CbProjectHeadInfoVo;
import com.dsk.cscec.domain.vo.CbProjectRecordSearchVo;
import java.util.List;
......@@ -105,6 +106,14 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
*/
Integer deleteDraft(Long projectId);
/**
* 获取项目详情头部信息
*
* @param projectId 项目ID
* @return 项目详情头部信息
*/
CbProjectHeadInfoVo getCbProjectHeadInfo(Long projectId);
/**
* 每2分钟刷新一次项目台账列表内"解析中"项目的状态
*/
......
......@@ -8,6 +8,7 @@ import com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo;
import com.dsk.cscec.domain.vo.CbCostMeasureActualVo;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
......@@ -20,5 +21,7 @@ import java.util.Map;
public interface ICbCostMeasureActualService extends IService<CbCostMeasureActual> {
List<CbCostMeasureActualVo> getMonthActualCostList(Long projectId, String month);
BigDecimal selectSumData(CbCostMeasureActualSaveBo bo);
}
......@@ -9,6 +9,8 @@ import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNode;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.math.MathUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.http.HttpUtil;
......@@ -185,6 +187,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
treeNode.setId(object.getId());//id
treeNode.setParentId(object.getParentId());//父id
// 扩展属性 ...
treeNode.putExtra("actualId",object.getActualId());
treeNode.putExtra("itemContent", object.getItemContent());
treeNode.putExtra("number", object.getNumber());
treeNode.putExtra("workContent", object.getWorkContent());
......@@ -205,6 +208,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
treeNode.putExtra("planMeasureId", object.getPlanMeasureId());
treeNode.putExtra("monthCostRate", object.getMonthCostRate());
treeNode.putExtra("costEffective", object.getCostEffective());
treeNode.putExtra("projectVolume", object.getProjectVolume());
treeNode.putExtra("currentProjectVolume", object.getCurrentProjectVolume());
treeNode.putExtra("submitProjectVolume", object.getSubmitProjectVolume());
treeNode.putExtra("month", object.getMonth());
......@@ -223,8 +227,11 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
CbCostMeasureActual cbCostMeasureActual = new CbCostMeasureActual();
BeanUtil.copyProperties(cbCostMeasureActualSaveBo, cbCostMeasureActual);
cbCostMeasureActual.setDelFlag(0);
cbCostMeasureActual.setUpdateId(LoginHelper.getUserId());
cbCostMeasureActual.setUpdateUser(LoginHelper.getUsername());
// cbCostMeasureActual.setUpdateId(LoginHelper.getUserId());
// cbCostMeasureActual.setUpdateUser(LoginHelper.getUsername());
// 查询计划成本累积实际成本
BigDecimal bigDecimal = cbCostMeasureActualService.selectSumData(cbCostMeasureActualSaveBo);
cbCostMeasureActual.setCurrentProjectVolume(NumberUtil.add(bigDecimal,cbCostMeasureActual.getProjectVolume()));
saveList.add(cbCostMeasureActual);
}
cbCostMeasureActualService.saveOrUpdateBatch(saveList);
......
......@@ -19,6 +19,7 @@ import com.dsk.cscec.domain.CbProjectFile;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo;
import com.dsk.cscec.domain.vo.CbProjectHeadInfoVo;
import com.dsk.cscec.domain.vo.CbProjectRecordSearchVo;
import com.dsk.cscec.mapper.CbProjectFileMapper;
import com.dsk.cscec.mapper.CbProjectRecordMapper;
......@@ -430,6 +431,22 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
return baseMapper.deleteById(projectRecord);
}
/**
* 获取项目详情头部信息
*
* @param projectId 项目ID
* @return 项目详情头部信息
*/
@Override
public CbProjectHeadInfoVo getCbProjectHeadInfo(Long projectId) {
//校验项目是否存在
CbProjectRecord projectRecord = this.checkProjectExist(projectId);
//TODO:客户名称、签订单位字段未确定
CbProjectHeadInfoVo infoVo = BeanUtil.toBean(projectRecord, CbProjectHeadInfoVo.class);
return infoVo;
}
/**
* 每2分钟刷新一次项目台账列表内"解析中"项目的状态
*/
......
......@@ -3,12 +3,14 @@ package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.CbCostMeasure;
import com.dsk.cscec.domain.CbCostMeasureActual;
import com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo;
import com.dsk.cscec.domain.vo.CbCostMeasureActualVo;
import com.dsk.cscec.mapper.CbCostMeasureActualMapper;
import com.dsk.cscec.mapper.CbCostMeasureMapper;
import com.dsk.cscec.service.ICbCostMeasureActualService;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
......@@ -22,4 +24,9 @@ public class ICbCostMeasureActualServiceImpl extends ServiceImpl<CbCostMeasureAc
public List<CbCostMeasureActualVo> getMonthActualCostList(Long projectId, String month) {
return baseMapper.getMonthActualCostList(projectId,month);
}
@Override
public BigDecimal selectSumData(CbCostMeasureActualSaveBo bo) {
return baseMapper.selectSumData(bo);
}
}
......@@ -7,6 +7,7 @@
<id column="id" jdbcType="BIGINT" property="id" />
<result column="plan_measure_id" jdbcType="BIGINT" property="planMeasureId" />
<result column="month_cost_rate" jdbcType="DECIMAL" property="monthCostRate" />
<result column="project_volume" jdbcType="DECIMAL" property="projectVolume" />
<result column="cost_effective" jdbcType="DECIMAL" property="costEffective" />
<result column="current_project_volume" jdbcType="DECIMAL" property="currentProjectVolume" />
<result column="submit_project_volume" jdbcType="DECIMAL" property="submitProjectVolume" />
......@@ -21,7 +22,7 @@
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, plan_measure_id, month_cost_rate, cost_effective, current_project_volume, submit_project_volume,
id, plan_measure_id, month_cost_rate, cost_effective,project_volume, current_project_volume, submit_project_volume,
`month`, push_time, push_data_json, del_flag, update_user, update_id, create_time,
update_time
</sql>
......@@ -180,8 +181,13 @@
FROM cb_cost_measure_actual t
inner JOIN cb_cost_measure t1 ON t1.id=t.plan_measure_id
WHERE
t1.project_id=1
t1.project_id=#{projectId}
AND t1.parent_id=0
AND t.`month`='202406'
AND t.`month`=#{month}
</select>
<select id="selectSumData" resultType="java.math.BigDecimal">
SELECT SUM(t.project_volume) measureTotal FROM cb_cost_measure_actual t WHERE t.plan_measure_id=#{planMeasureId}
and t.month &lt;#{month}
</select>
</mapper>
\ No newline at end of file
......@@ -41,9 +41,9 @@
<select id="selectListByProjectAndNo" resultType="com.dsk.cscec.domain.vo.CbCostMeasureActualVo">
SELECT t.*,t1.plan_measure_id,t1.month_cost_rate, t1.cost_effective, 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.`month`,t1.push_time FROM cb_cost_measure t
left JOIN (
SELECT t1.plan_measure_id,t1.month_cost_rate, t1.cost_effective, t1.current_project_volume,t1.submit_project_volume,t1.`month`,t1.push_time FROM cb_cost_measure t
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
inner JOIN cb_cost_measure_actual t1 ON t1.plan_measure_id=t.id
WHERE
t.project_id=#{projectId}
......
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