From 339cf044a8de6b2c20488d4ec7dff9aedea9def9 Mon Sep 17 00:00:00 2001
From: wangqiong <1322446236@qq.com>
Date: Wed, 31 Jul 2024 17:44:39 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A0=87=E5=87=86=E6=88=90?=
=?UTF-8?q?=E6=9C=AC=E8=AE=A1=E7=AE=97=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/CostStandardDetailMapper.java | 37 ------------
.../mapper/xml/CostStandardDetailMapper.xml | 59 -------------------
.../manage/plugin/StandardCostService.java | 23 +++-----
.../service/impl/BomTreeServiceImpl.java | 53 +++++++++--------
.../kn/cost/manage/util/BomTreeBuilder.java | 29 ++++-----
.../kn/cost/manage/util/EasyExcelUtil.java | 3 +-
.../kn/cost/manage/vo/TotalResultValue.java | 4 ++
7 files changed, 58 insertions(+), 150 deletions(-)
delete mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java
delete mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml
diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java
deleted file mode 100644
index 3e6a8d3..0000000
--- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.zzsmart.qomo.kn.cost.manage.mapper;
-
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Constants;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- *
- * 标准成本明细表 Mapper 接口
- *
- *
- * @author
- * @since 2024-06-20
- */
-@Mapper
-public interface CostStandardDetailMapper extends BaseMapper {
- /**
- * 分页查询
- * @param page
- * @param wrapper
- * @return
- */
- IPage pageList(@Param("page") Page page , @Param(Constants.WRAPPER) Wrapper wrapper);
- /**
- * 查询列表
- * @param wrapper
- * @return
- */
- List queryListResult(@Param(Constants.WRAPPER) Wrapper wrapper);
-
-}
diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml
deleted file mode 100644
index cc5c7cf..0000000
--- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/plugin/StandardCostService.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/plugin/StandardCostService.java
index 8769669..47e352a 100644
--- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/plugin/StandardCostService.java
+++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/plugin/StandardCostService.java
@@ -490,7 +490,7 @@ public class StandardCostService {
List appSceneCostResultValues = materialNoMap.get(key);
//按照费用类别进行分组
Map> costTypeMap = appSceneCostResultValues.stream().filter(s -> s.getCostType() != null).collect(Collectors.groupingBy(AppSceneCostResultValue::getCostType));
- //本阶标准成本
+ //【本阶标准成本】
BigDecimal currentCost = new BigDecimal("0.0");
//1.本阶物料成本
BigDecimal materialCost = new BigDecimal("0.0");
@@ -606,7 +606,7 @@ public class StandardCostService {
}
//3.计算出所有的单个物料的累计标准成本
List standardCostList = standardCostService.iAppSceneCostResultValueService.getResultValueByTopMaterialNo(topMaterialCode, taskType, flowInstanceId);
- //TODO 优化累计成本的计算
+ //【累计成本】的计算
totalCountCost(standardCostList, topMaterialCode, taskType, taskCode, flowInstanceId);
}
@@ -631,6 +631,7 @@ public class StandardCostService {
//循环计算出当前节点的累计成本
String costDetail = oldAppSceneCostResultValue.getCostDetail();
//查询当前节点各个类型的成本
+ BigDecimal totalMaterialCost = new BigDecimal(0);
BigDecimal totalLabourCost = new BigDecimal(0);
BigDecimal totalEquipmentCost = new BigDecimal(0);
BigDecimal totalSupplyMaterialCost = new BigDecimal(0);
@@ -638,15 +639,8 @@ public class StandardCostService {
BigDecimal totalLogisticsCost = new BigDecimal(0);
BigDecimal totalOtherCost = new BigDecimal(0);
JSONObject costDetailJson = JSON.parseObject(costDetail);
- if (costDetailJson != null) {
- totalLabourCost = costDetailJson.getBigDecimal(FeeTypeEnum.LaborCost.getCode());
- totalEquipmentCost = costDetailJson.getBigDecimal(FeeTypeEnum.EquipmentFee.getCode());
- totalSupplyMaterialCost = costDetailJson.getBigDecimal(FeeTypeEnum.SupplyMaterialFee.getCode());
- totalDriveCost = costDetailJson.getBigDecimal(FeeTypeEnum.DriverFee.getCode());
- totalLogisticsCost = costDetailJson.getBigDecimal(FeeTypeEnum.LogisticsFee.getCode());
- totalOtherCost = costDetailJson.getBigDecimal(FeeTypeEnum.OtherFee.getCode());
- }
- TotalResultValue hourOrRateResultValue = loopCount(oldAppSceneCostResultValue, parentMaterialNoMap, totalLabourCost, totalEquipmentCost, totalSupplyMaterialCost, totalDriveCost, totalLogisticsCost, totalOtherCost, totalCost);
+ TotalResultValue hourOrRateResultValue = loopCount(oldAppSceneCostResultValue, parentMaterialNoMap, totalMaterialCost, totalLabourCost, totalEquipmentCost, totalSupplyMaterialCost, totalDriveCost, totalLogisticsCost, totalOtherCost, totalCost);
+ costDetailJson.put(TotalCostEnum.TotalMaterialCost.getCode(), hourOrRateResultValue.getTotalMaterialCost());
costDetailJson.put(TotalCostEnum.TotalLaborCost.getCode(), hourOrRateResultValue.getTotalLabourCost());
costDetailJson.put(TotalCostEnum.TotalEquipmentFee.getCode(), hourOrRateResultValue.getTotalEquipmentCost());
costDetailJson.put(TotalCostEnum.TotalSupplyMaterialFee.getCode(), hourOrRateResultValue.getTotalSupplyMaterialCost());
@@ -677,7 +671,7 @@ public class StandardCostService {
* @param appSceneCostResultValue
* @param parentMaterialNoMap
*/
- private static TotalResultValue loopCount(AppSceneCostResultValue appSceneCostResultValue, Map> parentMaterialNoMap, BigDecimal totalLabourCost, BigDecimal totalEquipmentCost, BigDecimal totalSupplyMaterialCost, BigDecimal totalDriveCost, BigDecimal totalLogisticsCost, BigDecimal totalOtherCost, BigDecimal totalCost) {
+ private static TotalResultValue loopCount(AppSceneCostResultValue appSceneCostResultValue, Map> parentMaterialNoMap, BigDecimal totalMaterialCost, BigDecimal totalLabourCost, BigDecimal totalEquipmentCost, BigDecimal totalSupplyMaterialCost, BigDecimal totalDriveCost, BigDecimal totalLogisticsCost, BigDecimal totalOtherCost, BigDecimal totalCost) {
String marterialNo = appSceneCostResultValue.getMarterialNo();
if (parentMaterialNoMap.containsKey(marterialNo)) {
//获取当前节点的子节点并遍历
@@ -693,6 +687,7 @@ public class StandardCostService {
if (appSceneCostResultValue1.getCostDetail() != null) {
JSONObject costDetailJson = JSON.parseObject(appSceneCostResultValue1.getCostDetail());
if (costDetailJson != null) {
+ totalMaterialCost = totalMaterialCost.add(costDetailJson.getBigDecimal(FeeTypeEnum.MaterialCost.getCode()));
totalLabourCost = totalLabourCost.add(costDetailJson.getBigDecimal(FeeTypeEnum.LaborCost.getCode()));
totalEquipmentCost = totalEquipmentCost.add(costDetailJson.getBigDecimal(FeeTypeEnum.EquipmentFee.getCode()));
totalSupplyMaterialCost = totalSupplyMaterialCost.add(costDetailJson.getBigDecimal(FeeTypeEnum.SupplyMaterialFee.getCode()));
@@ -704,11 +699,11 @@ public class StandardCostService {
//判断当前子节点是否还有子节点
if (parentMaterialNoMap.containsKey(appSceneCostResultValue1.getMarterialNo())) {
//如果还有子节点则继续递归
- loopCount(appSceneCostResultValue1, parentMaterialNoMap, totalLabourCost, totalEquipmentCost, totalSupplyMaterialCost, totalDriveCost, totalLogisticsCost, totalOtherCost, totalCost);
+ loopCount(appSceneCostResultValue1, parentMaterialNoMap, totalMaterialCost, totalLabourCost, totalEquipmentCost, totalSupplyMaterialCost, totalDriveCost, totalLogisticsCost, totalOtherCost, totalCost);
}
}
}
- TotalResultValue hourOrRateResultValue = TotalResultValue.builder().totalLabourCost(totalLabourCost).totalEquipmentCost(totalEquipmentCost).totalSupplyMaterialCost(totalSupplyMaterialCost).totalDriveCost(totalDriveCost).totalLogisticsCost(totalLogisticsCost).totalOtherCost(totalOtherCost).totalCost(totalCost).build();
+ TotalResultValue hourOrRateResultValue = TotalResultValue.builder().totalMaterialCost(totalMaterialCost).totalLabourCost(totalLabourCost).totalEquipmentCost(totalEquipmentCost).totalSupplyMaterialCost(totalSupplyMaterialCost).totalDriveCost(totalDriveCost).totalLogisticsCost(totalLogisticsCost).totalOtherCost(totalOtherCost).totalCost(totalCost).build();
appSceneCostResultValue.setTotalValue(totalCost.toString());
return hourOrRateResultValue;
}
diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/BomTreeServiceImpl.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/BomTreeServiceImpl.java
index ba24225..fba0566 100644
--- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/BomTreeServiceImpl.java
+++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/BomTreeServiceImpl.java
@@ -2,7 +2,8 @@ package com.zzsmart.qomo.kn.cost.manage.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.zzsmart.qomo.kn.cost.manage.mapper.CostStandardDetailMapper;
+import com.zzsmart.qomo.kn.cost.manage.entity.AppSceneCostStandardDetail;
+import com.zzsmart.qomo.kn.cost.manage.mapper.AppSceneCostStandardDetailMapper;
import com.zzsmart.qomo.kn.cost.manage.service.BomTreeService;
import com.zzsmart.qomo.kn.cost.manage.util.BomTreeBuilder;
import com.zzsmart.qomo.kn.cost.manage.vo.BomTreeInfoVO;
@@ -21,7 +22,7 @@ import java.util.stream.Collectors;
@Transactional
public class BomTreeServiceImpl implements BomTreeService {
@Autowired
- CostStandardDetailMapper costStandardDetailMapper;
+ AppSceneCostStandardDetailMapper costStandardDetailMapper;
/**
* 根据物料号查询物料树
@@ -31,35 +32,35 @@ public class BomTreeServiceImpl implements BomTreeService {
*/
@Override
public List getBomTreeByMaterialNumber(String materialNumber, String version_number) {
- QueryWrapper wrapper = new QueryWrapper<>();
+ QueryWrapper wrapper = new QueryWrapper<>();
//设置条件
if (StrUtil.isNotEmpty(materialNumber)) {
// 物料号
- wrapper.like("c1.material_number", materialNumber);
+ wrapper.like("material_number", materialNumber);
}
if (StrUtil.isNotEmpty(version_number)) {
// 版本号
- wrapper.like("c2.version_number", version_number);
+ wrapper.like("version_number", version_number);
}
//查询所有满足条件的父节点
- List parentNodeList = costStandardDetailMapper.queryListResult(wrapper);
+ List parentNodeList = costStandardDetailMapper.selectList(wrapper);
//所有子类节点
- List childrenNodeList = new ArrayList<>();
- Map parentDataMap = new TreeMap<>();
+ List childrenNodeList = new ArrayList<>();
+ Map parentDataMap = new TreeMap<>();
if (parentNodeList.size() > 0) {
//父类结果只有1个
if (parentNodeList.size() == 1) {
- parentDataMap = parentNodeList.stream().collect(Collectors.toMap(CostStandardDetailVO::getMaterialNumber, vo -> vo));
+ parentDataMap = parentNodeList.stream().collect(Collectors.toMap(AppSceneCostStandardDetail::getMaterialNumber, vo -> vo));
} else {
//父类结果有多个(找出最上级节点)
- Map> levelGroupMap = parentNodeList.stream().collect(Collectors.groupingBy(CostStandardDetailVO::getLevel));
- TreeMap> levelTreeMap = new TreeMap<>(levelGroupMap);
- parentDataMap = levelTreeMap.firstEntry().getValue().stream().collect(Collectors.toMap(CostStandardDetailVO::getMaterialNumber, vo -> vo));
+ Map> levelGroupMap = parentNodeList.stream().collect(Collectors.groupingBy(AppSceneCostStandardDetail::getLevel));
+ TreeMap> levelTreeMap = new TreeMap<>(levelGroupMap);
+ parentDataMap = levelTreeMap.firstEntry().getValue().stream().collect(Collectors.toMap(AppSceneCostStandardDetail::getMaterialNumber, vo -> vo));
}
//查询所有父节点下的子节点(即第二层叶子节点)
- List costStandardDetails = new ArrayList<>();
+ List costStandardDetails = new ArrayList<>();
if (parentDataMap.size() > 0) {
- QueryWrapper wrapper1 = new QueryWrapper<>();
+ QueryWrapper wrapper1 = new QueryWrapper<>();
int num = 0;
for (String materialNumber1 : parentDataMap.keySet()) {
num = num + 1;
@@ -72,26 +73,28 @@ public class BomTreeServiceImpl implements BomTreeService {
costStandardDetails = costStandardDetailMapper.selectList(wrapper1);
}
//第三层叶子节点
- List threeNodes = new ArrayList<>();
+ List threeNodes = new ArrayList<>();
if (costStandardDetails != null && costStandardDetails.size() > 0) {
- List materialNoList = costStandardDetails.stream().map(CostStandardDetail::getMaterialNumber).collect(Collectors.toList());
- QueryWrapper wrapper2 = new QueryWrapper<>();
+ List materialNoList = costStandardDetails.stream().map(AppSceneCostStandardDetail::getMaterialNumber).collect(Collectors.toList());
+ QueryWrapper wrapper2 = new QueryWrapper<>();
wrapper2.in("parent_material_number", materialNoList);
threeNodes = costStandardDetailMapper.selectList(wrapper2);
}
//把第二层叶子节点转化为bomtreeinfoVO对象集合
for (int i = 0; i < costStandardDetails.size(); i++) {
- CostStandardDetail costStandardDetail = costStandardDetails.get(i);
- CostStandardDetailVO vo = new CostStandardDetailVO();
- BeanUtils.copyProperties(costStandardDetail, vo);
- childrenNodeList.add(vo);
+ AppSceneCostStandardDetail costStandardDetail = costStandardDetails.get(i);
+// AppSceneCostStandardDetail vo = new AppSceneCostStandardDetail();
+// BeanUtils.copyProperties(costStandardDetail, vo);
+// childrenNodeList.add(vo);
+ childrenNodeList.add(costStandardDetail);
}
//把第三层叶子节点转化为bomtreeinfoVO对象集合
for (int i = 0; i < threeNodes.size(); i++) {
- CostStandardDetail costStandardDetail = threeNodes.get(i);
- CostStandardDetailVO vo = new CostStandardDetailVO();
- BeanUtils.copyProperties(costStandardDetail, vo);
- childrenNodeList.add(vo);
+ AppSceneCostStandardDetail costStandardDetail = threeNodes.get(i);
+// CostStandardDetailVO vo = new CostStandardDetailVO();
+// BeanUtils.copyProperties(costStandardDetail, vo);
+// childrenNodeList.add(vo);
+ childrenNodeList.add(costStandardDetail);
}
}
List bomTreeInfoVOS = BomTreeBuilder.buildBomTree(childrenNodeList, parentDataMap);
diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/BomTreeBuilder.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/BomTreeBuilder.java
index a1a51bf..864b679 100644
--- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/BomTreeBuilder.java
+++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/BomTreeBuilder.java
@@ -1,5 +1,6 @@
package com.zzsmart.qomo.kn.cost.manage.util;
+import com.zzsmart.qomo.kn.cost.manage.entity.AppSceneCostStandardDetail;
import com.zzsmart.qomo.kn.cost.manage.vo.BomTreeInfoVO;
import java.util.ArrayList;
@@ -9,32 +10,32 @@ import java.util.Map;
import java.util.stream.Collectors;
public class BomTreeBuilder {
- public static List buildBomTree(List sourceData, Map parentDataMap) {
+ public static List buildBomTree(List sourceData, Map parentDataMap) {
List result = new ArrayList<>();
if ((sourceData == null || (sourceData != null && sourceData.size() < 1)) && (parentDataMap == null || (parentDataMap != null && parentDataMap.size() < 1))) {
return result;
}
//1.把BOM信息分成按照物料号分组
- Map materialMap = sourceData.stream().filter(s -> s.getMaterialNumber() != null).collect(Collectors.toMap(CostStandardDetailVO::getMaterialNumber, vo -> vo));
+ Map materialMap = sourceData.stream().filter(s -> s.getMaterialNumber() != null).collect(Collectors.toMap(AppSceneCostStandardDetail::getMaterialNumber, vo -> vo));
//查找最顶端的父类节点
if (parentDataMap == null || (parentDataMap != null && parentDataMap.size() < 1)) {
- parentDataMap = sourceData.stream().filter(s -> s.getParentMaterialNumber() == null).collect(Collectors.toMap(CostStandardDetailVO::getMaterialNumber, vo -> vo));
+ parentDataMap = sourceData.stream().filter(s -> s.getParentMaterialNumber() == null).collect(Collectors.toMap(AppSceneCostStandardDetail::getMaterialNumber, vo -> vo));
}
//查找有父节点的子节点
- Map> childDataMap = sourceData.stream().filter(s -> s.getParentMaterialNumber() != null).collect(Collectors.groupingBy(CostStandardDetailVO::getParentMaterialNumber));
+ Map> childDataMap = sourceData.stream().filter(s -> s.getParentMaterialNumber() != null).collect(Collectors.groupingBy(AppSceneCostStandardDetail::getParentMaterialNumber));
//查找有父节点的子节点
// //1.把BOM信息分成按照层级分组
-// Map> levelMap = sourceData.stream().filter(s -> s.getLevel() != null).collect(Collectors.groupingBy(CostStandardDetail::getLevel));
+// Map> levelMap = sourceData.stream().filter(s -> s.getLevel() != null).collect(Collectors.groupingBy(CostStandardDetail::getLevel));
// //2.对每层进行排序
// for (Integer level : levelMap.keySet()) {
-// List levelList = levelMap.get(level);
-// List sortedCostDetails = levelList.stream().sorted(Comparator.comparing(CostStandardDetailVO::getSort)).collect(Collectors.toList());
+// List levelList = levelMap.get(level);
+// List sortedCostDetails = levelList.stream().sorted(Comparator.comparing(AppSceneCostStandardDetail::getSort)).collect(Collectors.toList());
// levelMap.put(level, sortedCostDetails);
// }
-// TreeMap> levelTreeMap = new TreeMap<>(levelMap);
+// TreeMap> levelTreeMap = new TreeMap<>(levelMap);
//3.构建BOM树
if (parentDataMap.size() > 0) {
- for (CostStandardDetailVO parent : parentDataMap.values()) {
+ for (AppSceneCostStandardDetail parent : parentDataMap.values()) {
BomTreeInfoVO parentBomTreeInfoVO = costStandardDetailChangeToBomTreeInfoVO(parent);
parentBomTreeInfoVO = loopFindChildrenBuild(parentBomTreeInfoVO, materialMap, childDataMap, result);
if (parentBomTreeInfoVO != null) {
@@ -48,10 +49,10 @@ public class BomTreeBuilder {
return result;
}
- private static BomTreeInfoVO loopFindChildrenBuild(BomTreeInfoVO parentBomTreeInfoVO, Map materialMap, Map> childDataMap, List result) {
+ private static BomTreeInfoVO loopFindChildrenBuild(BomTreeInfoVO parentBomTreeInfoVO, Map materialMap, Map> childDataMap, List result) {
if (parentBomTreeInfoVO != null) {
//4.根据物料号查找子节点
- List childs = childDataMap.get(parentBomTreeInfoVO.getMaterialNumber());
+ List childs = childDataMap.get(parentBomTreeInfoVO.getMaterialNumber());
if (childs != null && childs.size() > 0) {
parentBomTreeInfoVO.setHasChildren(true);
} else {
@@ -60,7 +61,7 @@ public class BomTreeBuilder {
//构造父节点下的bomtree结构数据
List children = new ArrayList<>();
for (int j = 0; childs != null && childs.size() > 0 && j < childs.size(); j++) {
- CostStandardDetailVO child = childs.get(j);
+ AppSceneCostStandardDetail child = childs.get(j);
BomTreeInfoVO childBomTreeInfoVO = costStandardDetailChangeToBomTreeInfoVO(child);
childBomTreeInfoVO = loopFindChildrenBuild(childBomTreeInfoVO, materialMap, childDataMap, result);
children.add(childBomTreeInfoVO);
@@ -78,8 +79,8 @@ public class BomTreeBuilder {
* @param parent
* @return
*/
- static BomTreeInfoVO costStandardDetailChangeToBomTreeInfoVO(CostStandardDetail parent) {
- BomTreeInfoVO bomTreeInfoVO = BomTreeInfoVO.builder().materialNumber(parent.getMaterialNumber()).materialName(parent.getMaterialName()).level(parent.getLevel()).parentMaterialNumber(parent.getParentMaterialNumber()).quantity(parent.getDosage()).unit(parent.getUnit()).auxiliaryCost(parent.getAuxiliaryCost()).equipCost(parent.getEquipConsumeCost()).otherCost(parent.getOtherCost()).laborCost(parent.getLaborCost()).accumulatedEquipCost(parent.getTotalEquipConsumeCost()).accumulatedOtherCost(parent.getTotalOtherCost()).accumulatedLaborCost(parent.getTotalLaborCost()).accumulatedMaterialCost(parent.getAuxiliaryCost()).accumulatedFuelCost(parent.getTotalEuipDepreciationCost()).sort(parent.getSort()).build();
+ static BomTreeInfoVO costStandardDetailChangeToBomTreeInfoVO(AppSceneCostStandardDetail parent) {
+ BomTreeInfoVO bomTreeInfoVO = BomTreeInfoVO.builder().materialNumber(parent.getMaterialNumber()).materialName(parent.getMaterialName()).level(parent.getLevel()).parentMaterialNumber(parent.getParentMaterialNumber()).quantity(parent.getDosage()).unit(parent.getUnit()).auxiliaryCost(parent.getSupplyMaterialCost()).equipCost(parent.getEquipmentCost()).otherCost(parent.getOtherCost()).laborCost(parent.getLaborCost()).accumulatedEquipCost(parent.getTotalEquipmentCost()).accumulatedOtherCost(parent.getTotalOtherCost()).accumulatedLaborCost(parent.getTotalLaborCost()).accumulatedMaterialCost(parent.getTotalMaterialCost()).accumulatedFuelCost(parent.getTotalDriveCost()).sort(parent.getSort()).build();
return bomTreeInfoVO;
}
}
diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/EasyExcelUtil.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/EasyExcelUtil.java
index 584d03f..ce9b4eb 100644
--- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/EasyExcelUtil.java
+++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/util/EasyExcelUtil.java
@@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.metadata.style.WriteFont;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
+import com.zzsmart.qomo.kn.cost.manage.entity.AppSceneCostStandardDetail;
import org.apache.poi.ss.usermodel.*;
import javax.servlet.http.HttpServletResponse;
@@ -124,7 +125,7 @@ public class EasyExcelUtil {
* @return
*/
public static Set getIncludeFields(Class> clazz) {
- Field[] excelPropertyAnnotatedFields = getExcelPropertyAnnotatedFields(CostStandardDetail.class);
+ Field[] excelPropertyAnnotatedFields = getExcelPropertyAnnotatedFields(AppSceneCostStandardDetail.class);
Set includeColumnFiledNames = new HashSet();
for (int i = 0; i < excelPropertyAnnotatedFields.length; i++) {
includeColumnFiledNames.add(excelPropertyAnnotatedFields[i].getName());
diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/vo/TotalResultValue.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/vo/TotalResultValue.java
index fe80d9e..f0300c2 100644
--- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/vo/TotalResultValue.java
+++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/vo/TotalResultValue.java
@@ -19,6 +19,10 @@ import java.math.BigDecimal;
* @Version: 1.0
*/
public class TotalResultValue {
+ /**
+ * 总物料成本
+ */
+ private BigDecimal totalMaterialCost;
/**
* 总人工成本
*/