|
@@ -2,11 +2,11 @@ package com.management.platform.controller;
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.management.platform.entity.ExpenseMainType;
|
|
|
+import com.management.platform.entity.ExpenseSheet;
|
|
|
import com.management.platform.entity.ProjectBasecostSetting;
|
|
|
import com.management.platform.entity.ProjectCurrentcost;
|
|
|
-import com.management.platform.mapper.ProjectBasecostSettingMapper;
|
|
|
-import com.management.platform.mapper.ProjectCurrentcostMapper;
|
|
|
-import com.management.platform.mapper.ReportMapper;
|
|
|
+import com.management.platform.mapper.*;
|
|
|
import com.management.platform.service.ProjectCurrentcostService;
|
|
|
import com.management.platform.util.HttpRespMsg;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
@@ -35,6 +35,10 @@ public class ProjectCurrentcostController {
|
|
|
private ReportMapper reportMapper;
|
|
|
@Resource
|
|
|
ProjectBasecostSettingMapper projectBasecostSettingMapper;
|
|
|
+ @Resource
|
|
|
+ ExpenseMainTypeMapper expenseMainTypeMapper;
|
|
|
+ @Resource
|
|
|
+ ExpenseItemMapper expenseItemMapper;
|
|
|
|
|
|
@RequestMapping("/get")
|
|
|
public HttpRespMsg get(Integer companyId, Integer projectId) {
|
|
@@ -45,6 +49,8 @@ public class ProjectCurrentcostController {
|
|
|
projectIds.add(projectId);
|
|
|
List<Map<String, Object>> projectCost = reportMapper.getOneProjectBaseCost(projectId);
|
|
|
|
|
|
+ //设置了成本预算项的费用类型
|
|
|
+ List<ExpenseMainType> mainTypeList = expenseMainTypeMapper.selectList(new QueryWrapper<ExpenseMainType>().eq("company_id", companyId).isNotNull("basecost_setting_id"));
|
|
|
//设置alarmType类型, 实际成本
|
|
|
projectCurrentcosts.forEach(cur->{
|
|
|
Optional<ProjectBasecostSetting> first = basecostSettingList.stream().filter(base -> base.getId().equals(cur.getBaseId())).findFirst();
|
|
@@ -59,12 +65,19 @@ public class ProjectCurrentcostController {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ //费用报销对应的预算
|
|
|
+ if (cur.getAlarmType() == null) {
|
|
|
+ List<ExpenseMainType> expenseTypeFindList = mainTypeList.stream().filter(main -> cur.getBaseId().equals(main.getBasecostSettingId())).collect(Collectors.toList());
|
|
|
+ if (expenseTypeFindList.size() > 0) {
|
|
|
+ double sum = 0;
|
|
|
+ for (ExpenseMainType type : expenseTypeFindList) {
|
|
|
+ int expenseTypeId = type.getId();
|
|
|
+ sum += expenseItemMapper.selectExpenseByProject(null, null, projectId, expenseTypeId);
|
|
|
+ }
|
|
|
+ cur.setRealCost(sum);
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
-
|
|
|
-// double cost = reportMapper.getOneProjectCost(projectId);
|
|
|
-// HashMap map = new HashMap();
|
|
|
-// map.put("list", projectCurrentcosts);
|
|
|
-// map.put("reportCost", cost);
|
|
|
msg.data = projectCurrentcosts;
|
|
|
return msg;
|
|
|
}
|