|
@@ -10,6 +10,10 @@ import org.springblade.control.service.IAnnualBudgetIncomeService;
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
/**
|
|
|
* @Param
|
|
|
* @Author wangwl
|
|
@@ -24,4 +28,144 @@ public class AnnualBudgetDisburseServiceImpl extends BaseServiceImpl<AnnualBudge
|
|
|
public void deleteByAnnualId(Long id) {
|
|
|
baseMapper.deleteByAnnualId(id);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 年度预算人工成本,按月返回指定年
|
|
|
+ * @param annualId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<BigDecimal> budgetCostByYear(Long annualId) {
|
|
|
+ List<BigDecimal> list = new ArrayList<>();
|
|
|
+ if (annualId == null){
|
|
|
+ for (int i = 0; i < 12; i++) {
|
|
|
+ list.add(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+ //获取所有的人工成本
|
|
|
+ List<AnnualBudgetDisburse> cost = baseMapper.budgetCostByYear(annualId);
|
|
|
+ if (cost != null && cost.size() > 0){
|
|
|
+ for (int i = 0; i < 12; i++) {
|
|
|
+ BigDecimal big = new BigDecimal(0);
|
|
|
+ for (AnnualBudgetDisburse disburse : cost) {
|
|
|
+ switch (i) {
|
|
|
+ case 0:
|
|
|
+ big = big.add(disburse.getJanuary());
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ big = big.add(disburse.getFebruary());
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ big = big.add(disburse.getMarch());
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ big = big.add(disburse.getApril());
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ big = big.add(disburse.getMay());
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ big = big.add(disburse.getJune());
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ big = big.add(disburse.getJuly());
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ big = big.add(disburse.getAugust());
|
|
|
+ break;
|
|
|
+ case 8:
|
|
|
+ big = big.add(disburse.getSeptember());
|
|
|
+ break;
|
|
|
+ case 9:
|
|
|
+ big = big.add(disburse.getOctober());
|
|
|
+ break;
|
|
|
+ case 10:
|
|
|
+ big = big.add(disburse.getNovember());
|
|
|
+ break;
|
|
|
+ case 11:
|
|
|
+ big = big.add(disburse.getDecember());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ list.add(big);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }else {
|
|
|
+ for (int i = 0; i < 12; i++) {
|
|
|
+ list.add(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 年度预算非人工成本,按月返回指定年
|
|
|
+ * @param annualId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<BigDecimal> budgetNotCostByYear(Long annualId) {
|
|
|
+ List<BigDecimal> list = new ArrayList<>();
|
|
|
+ if (annualId == null){
|
|
|
+ for (int i = 0; i < 12; i++) {
|
|
|
+ list.add(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+ //获取所有的非人工成本
|
|
|
+ List<AnnualBudgetDisburse> cost = baseMapper.budgetNotCostByYear(annualId);
|
|
|
+ if (cost != null && cost.size() > 0){
|
|
|
+ for (int i = 0; i < 12; i++) {
|
|
|
+ BigDecimal big = new BigDecimal(0);
|
|
|
+ for (AnnualBudgetDisburse disburse : cost) {
|
|
|
+ switch (i) {
|
|
|
+ case 0:
|
|
|
+ big = big.add(disburse.getJanuary());
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ big = big.add(disburse.getFebruary());
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ big = big.add(disburse.getMarch());
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ big = big.add(disburse.getApril());
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ big = big.add(disburse.getMay());
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ big = big.add(disburse.getJune());
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ big = big.add(disburse.getJuly());
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ big = big.add(disburse.getAugust());
|
|
|
+ break;
|
|
|
+ case 8:
|
|
|
+ big = big.add(disburse.getSeptember());
|
|
|
+ break;
|
|
|
+ case 9:
|
|
|
+ big = big.add(disburse.getOctober());
|
|
|
+ break;
|
|
|
+ case 10:
|
|
|
+ big = big.add(disburse.getNovember());
|
|
|
+ break;
|
|
|
+ case 11:
|
|
|
+ big = big.add(disburse.getDecember());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ list.add(big);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }else {
|
|
|
+ for (int i = 0; i < 12; i++) {
|
|
|
+ list.add(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|