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; /** * 总人工成本 */