|
@@ -194,6 +194,22 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
financeConfig.setField3(cusColList.get(2).getFieldName());
|
|
financeConfig.setField3(cusColList.get(2).getFieldName());
|
|
financeConfig.setField3Calculate(cusColList.get(2).getNeedCalculate());
|
|
financeConfig.setField3Calculate(cusColList.get(2).getNeedCalculate());
|
|
}
|
|
}
|
|
|
|
+ if (cusColList.size() > 3) {
|
|
|
|
+ financeConfig.setField4(cusColList.get(3).getFieldName());
|
|
|
|
+ financeConfig.setField4Calculate(cusColList.get(3).getNeedCalculate());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 4) {
|
|
|
|
+ financeConfig.setField5(cusColList.get(4).getFieldName());
|
|
|
|
+ financeConfig.setField5Calculate(cusColList.get(4).getNeedCalculate());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 5) {
|
|
|
|
+ financeConfig.setField6(cusColList.get(5).getFieldName());
|
|
|
|
+ financeConfig.setField6Calculate(cusColList.get(5).getNeedCalculate());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 6) {
|
|
|
|
+ financeConfig.setField7(cusColList.get(6).getFieldName());
|
|
|
|
+ financeConfig.setField7Calculate(cusColList.get(6).getNeedCalculate());
|
|
|
|
+ }
|
|
List<String> userNameList=new ArrayList<>();
|
|
List<String> userNameList=new ArrayList<>();
|
|
List<String> jobNumberList = new ArrayList<>();
|
|
List<String> jobNumberList = new ArrayList<>();
|
|
//是否配置了工号模式的模板
|
|
//是否配置了工号模式的模板
|
|
@@ -320,10 +336,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
Cell field1 = cusColList.size() > 0?row.getCell(nameStartIndex + 9):null;
|
|
Cell field1 = cusColList.size() > 0?row.getCell(nameStartIndex + 9):null;
|
|
Cell field2 = cusColList.size() > 1?row.getCell(nameStartIndex + 10):null;
|
|
Cell field2 = cusColList.size() > 1?row.getCell(nameStartIndex + 10):null;
|
|
Cell field3 = cusColList.size() > 2?row.getCell(nameStartIndex + 11):null;
|
|
Cell field3 = cusColList.size() > 2?row.getCell(nameStartIndex + 11):null;
|
|
|
|
+ Cell field4 = cusColList.size() > 3?row.getCell(nameStartIndex + 12):null;
|
|
|
|
+ Cell field5 = cusColList.size() > 4?row.getCell(nameStartIndex + 13):null;
|
|
|
|
+ Cell field6 = cusColList.size() > 5?row.getCell(nameStartIndex + 14):null;
|
|
|
|
+ Cell field7 = cusColList.size() > 6?row.getCell(nameStartIndex + 15):null;
|
|
|
|
|
|
if (field1 != null)field1.setCellType(CellType.STRING);
|
|
if (field1 != null)field1.setCellType(CellType.STRING);
|
|
if (field2 != null)field2.setCellType(CellType.STRING);
|
|
if (field2 != null)field2.setCellType(CellType.STRING);
|
|
if (field3 != null)field3.setCellType(CellType.STRING);
|
|
if (field3 != null)field3.setCellType(CellType.STRING);
|
|
|
|
+ if (field4 != null)field4.setCellType(CellType.STRING);
|
|
|
|
+ if (field5 != null)field5.setCellType(CellType.STRING);
|
|
|
|
+ if (field6 != null)field6.setCellType(CellType.STRING);
|
|
|
|
+ if (field7 != null)field7.setCellType(CellType.STRING);
|
|
|
|
|
|
finance.setCompanyId(companyId);
|
|
finance.setCompanyId(companyId);
|
|
finance.setName(name);
|
|
finance.setName(name);
|
|
@@ -438,6 +462,34 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
finance.setCustomField3(value);
|
|
finance.setCustomField3(value);
|
|
if (financeConfig.getField3Calculate() != null && financeConfig.getField3Calculate()==1) total = total.add(value);
|
|
if (financeConfig.getField3Calculate() != null && financeConfig.getField3Calculate()==1) total = total.add(value);
|
|
}
|
|
}
|
|
|
|
+ if (field4 != null) {
|
|
|
|
+ field4.setCellType(CellType.STRING);
|
|
|
|
+ String item = field4.getStringCellValue();
|
|
|
|
+ BigDecimal value = !StringUtils.isEmpty(item) ? new BigDecimal(item.trim().replaceAll("\\u00a0", "")) : BigDecimal.valueOf(0);
|
|
|
|
+ finance.setCustomField4(value);
|
|
|
|
+ if (financeConfig.getField4Calculate() != null && financeConfig.getField4Calculate()==1) total = total.add(value);
|
|
|
|
+ }
|
|
|
|
+ if (field5 != null) {
|
|
|
|
+ field5.setCellType(CellType.STRING);
|
|
|
|
+ String item = field5.getStringCellValue();
|
|
|
|
+ BigDecimal value = !StringUtils.isEmpty(item) ? new BigDecimal(item.trim().replaceAll("\\u00a0", "")) : BigDecimal.valueOf(0);
|
|
|
|
+ finance.setCustomField5(value);
|
|
|
|
+ if (financeConfig.getField5Calculate() != null && financeConfig.getField5Calculate()==1) total = total.add(value);
|
|
|
|
+ }
|
|
|
|
+ if (field6 != null) {
|
|
|
|
+ field6.setCellType(CellType.STRING);
|
|
|
|
+ String item = field6.getStringCellValue();
|
|
|
|
+ BigDecimal value = !StringUtils.isEmpty(item) ? new BigDecimal(item.trim().replaceAll("\\u00a0", "")) : BigDecimal.valueOf(0);
|
|
|
|
+ finance.setCustomField6(value);
|
|
|
|
+ if (financeConfig.getField6Calculate() != null && financeConfig.getField6Calculate()==1) total = total.add(value);
|
|
|
|
+ }
|
|
|
|
+ if (field7 != null) {
|
|
|
|
+ field7.setCellType(CellType.STRING);
|
|
|
|
+ String item = field7.getStringCellValue();
|
|
|
|
+ BigDecimal value = !StringUtils.isEmpty(item) ? new BigDecimal(item.trim().replaceAll("\\u00a0", "")) : BigDecimal.valueOf(0);
|
|
|
|
+ finance.setCustomField7(value);
|
|
|
|
+ if (financeConfig.getField7Calculate() != null && financeConfig.getField7Calculate()==1) total = total.add(value);
|
|
|
|
+ }
|
|
finance.setTotalCost(total);
|
|
finance.setTotalCost(total);
|
|
|
|
|
|
//如果需要更新员工成本
|
|
//如果需要更新员工成本
|
|
@@ -591,6 +643,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
BigDecimal totalField1 = cusColList.size() > 0?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField1 = cusColList.size() > 0?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField2 = cusColList.size() > 1?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField2 = cusColList.size() > 1?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField3 = cusColList.size() > 2?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField3 = cusColList.size() > 2?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField4 = cusColList.size() > 3?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField5 = cusColList.size() > 4?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField6 = cusColList.size() > 5?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField7 = cusColList.size() > 6?BigDecimal.valueOf(0):null;
|
|
|
|
|
|
List<String> headList = new ArrayList<String>();
|
|
List<String> headList = new ArrayList<String>();
|
|
if (groupByCategory == 0) {
|
|
if (groupByCategory == 0) {
|
|
@@ -755,6 +811,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
BigDecimal field1Item = new BigDecimal(0);
|
|
BigDecimal field1Item = new BigDecimal(0);
|
|
BigDecimal field2Item = new BigDecimal(0);
|
|
BigDecimal field2Item = new BigDecimal(0);
|
|
BigDecimal field3Item = new BigDecimal(0);
|
|
BigDecimal field3Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field4Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field5Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field6Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field7Item = new BigDecimal(0);
|
|
if (first.isPresent()) {
|
|
if (first.isPresent()) {
|
|
Finance userFinance = first.get();
|
|
Finance userFinance = first.get();
|
|
cost = userFinance.getTotalCost().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
cost = userFinance.getTotalCost().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
@@ -775,6 +835,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (userFinance.getCustomField3() != null) {
|
|
if (userFinance.getCustomField3() != null) {
|
|
field3Item = userFinance.getCustomField3().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
field3Item = userFinance.getCustomField3().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
}
|
|
}
|
|
|
|
+ if (userFinance.getCustomField4() != null) {
|
|
|
|
+ field4Item = userFinance.getCustomField4().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (userFinance.getCustomField5() != null) {
|
|
|
|
+ field5Item = userFinance.getCustomField5().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (userFinance.getCustomField6() != null) {
|
|
|
|
+ field6Item = userFinance.getCustomField6().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (userFinance.getCustomField7() != null) {
|
|
|
|
+ field7Item = userFinance.getCustomField7().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 4, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
|
|
//改成按照projectId匹配,之前projectname可能存在重名问题。
|
|
//改成按照projectId匹配,之前projectname可能存在重名问题。
|
|
if (projectId.equals(item.projectId)) {
|
|
if (projectId.equals(item.projectId)) {
|
|
@@ -792,6 +864,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
item.field1 = item.field1.add(field1Item);
|
|
item.field1 = item.field1.add(field1Item);
|
|
item.field2 = item.field2.add(field2Item);
|
|
item.field2 = item.field2.add(field2Item);
|
|
item.field3 = item.field3.add(field3Item);
|
|
item.field3 = item.field3.add(field3Item);
|
|
|
|
+ item.field4 = item.field4.add(field3Item);
|
|
|
|
+ item.field5 = item.field5.add(field3Item);
|
|
|
|
+ item.field6 = item.field6.add(field3Item);
|
|
|
|
+ item.field7 = item.field7.add(field3Item);
|
|
} else {
|
|
} else {
|
|
item = new ProjectSumItem();
|
|
item = new ProjectSumItem();
|
|
pList.add(item);
|
|
pList.add(item);
|
|
@@ -812,6 +888,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
item.field1 = field1Item;
|
|
item.field1 = field1Item;
|
|
item.field2 = field2Item;
|
|
item.field2 = field2Item;
|
|
item.field3 = field3Item;
|
|
item.field3 = field3Item;
|
|
|
|
+ item.field4 = field4Item;
|
|
|
|
+ item.field5 = field5Item;
|
|
|
|
+ item.field6 = field6Item;
|
|
|
|
+ item.field7 = field7Item;
|
|
}
|
|
}
|
|
totalMoneyCost = totalMoneyCost.add(cost);
|
|
totalMoneyCost = totalMoneyCost.add(cost);
|
|
totalSalary = totalSalary.add(salary);
|
|
totalSalary = totalSalary.add(salary);
|
|
@@ -832,6 +912,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (totalField3 != null) {
|
|
if (totalField3 != null) {
|
|
totalField3 = totalField3.add(field3Item);
|
|
totalField3 = totalField3.add(field3Item);
|
|
}
|
|
}
|
|
|
|
+ if (totalField4 != null) {
|
|
|
|
+ totalField4 = totalField4.add(field4Item);
|
|
|
|
+ }
|
|
|
|
+ if (totalField5 != null) {
|
|
|
|
+ totalField5 = totalField5.add(field5Item);
|
|
|
|
+ }
|
|
|
|
+ if (totalField6 != null) {
|
|
|
|
+ totalField6 = totalField6.add(field6Item);
|
|
|
|
+ }
|
|
|
|
+ if (totalField7 != null) {
|
|
|
|
+ totalField7 = totalField7.add(field7Item);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
// System.out.println("财务数据中未找到用户:"+creatorId);
|
|
// System.out.println("财务数据中未找到用户:"+creatorId);
|
|
}
|
|
}
|
|
@@ -866,6 +958,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
npItem.field1 = new BigDecimal(0);
|
|
npItem.field1 = new BigDecimal(0);
|
|
npItem.field2 = new BigDecimal(0);
|
|
npItem.field2 = new BigDecimal(0);
|
|
npItem.field3 = new BigDecimal(0);
|
|
npItem.field3 = new BigDecimal(0);
|
|
|
|
+ npItem.field4 = new BigDecimal(0);
|
|
|
|
+ npItem.field5 = new BigDecimal(0);
|
|
|
|
+ npItem.field6 = new BigDecimal(0);
|
|
|
|
+ npItem.field7 = new BigDecimal(0);
|
|
pList.add(npItem);
|
|
pList.add(npItem);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -890,6 +986,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
p.field1 = p.field1.add(newFinance.getCustomField1());
|
|
p.field1 = p.field1.add(newFinance.getCustomField1());
|
|
p.field2 = p.field2.add(newFinance.getCustomField2());
|
|
p.field2 = p.field2.add(newFinance.getCustomField2());
|
|
p.field3 = p.field3.add(newFinance.getCustomField3());
|
|
p.field3 = p.field3.add(newFinance.getCustomField3());
|
|
|
|
+ p.field4 = p.field4.add(newFinance.getCustomField4());
|
|
|
|
+ p.field5 = p.field5.add(newFinance.getCustomField5());
|
|
|
|
+ p.field6 = p.field6.add(newFinance.getCustomField6());
|
|
|
|
+ p.field7 = p.field7.add(newFinance.getCustomField7());
|
|
|
|
|
|
//叠加到总计的各项成本上
|
|
//叠加到总计的各项成本上
|
|
totalMoneyCost = totalMoneyCost.add(newFinance.getTotalCost());
|
|
totalMoneyCost = totalMoneyCost.add(newFinance.getTotalCost());
|
|
@@ -910,6 +1010,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (totalField3 != null) {
|
|
if (totalField3 != null) {
|
|
totalField3 = totalField3.add(newFinance.getCustomField3());
|
|
totalField3 = totalField3.add(newFinance.getCustomField3());
|
|
}
|
|
}
|
|
|
|
+ if (totalField4 != null) {
|
|
|
|
+ totalField4 = totalField4.add(newFinance.getCustomField4());
|
|
|
|
+ }
|
|
|
|
+ if (totalField5 != null) {
|
|
|
|
+ totalField5 = totalField5.add(newFinance.getCustomField5());
|
|
|
|
+ }
|
|
|
|
+ if (totalField6 != null) {
|
|
|
|
+ totalField6 = totalField6.add(newFinance.getCustomField6());
|
|
|
|
+ }
|
|
|
|
+ if (totalField7 != null) {
|
|
|
|
+ totalField7 = totalField7.add(newFinance.getCustomField7());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -934,6 +1046,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (totalField3 != null) {
|
|
if (totalField3 != null) {
|
|
totalField3 = totalField3.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
totalField3 = totalField3.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
}
|
|
}
|
|
|
|
+ if (totalField4 != null) {
|
|
|
|
+ totalField4 = totalField4.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (totalField5 != null) {
|
|
|
|
+ totalField5 = totalField5.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (totalField6 != null) {
|
|
|
|
+ totalField6 = totalField6.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (totalField7 != null) {
|
|
|
|
+ totalField7 = totalField7.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
//查找所有部门
|
|
//查找所有部门
|
|
List<Department> allDepartments = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
List<Department> allDepartments = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
//按项目名称分组
|
|
//按项目名称分组
|
|
@@ -952,6 +1076,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
p.field1 = p.field1.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
p.field1 = p.field1.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
p.field2 = p.field2.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
p.field2 = p.field2.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
p.field3 = p.field3.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
p.field3 = p.field3.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field4 = p.field4.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field5 = p.field5.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field6 = p.field6.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field7 = p.field7.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
//组装写入excel文件的数据,从项目开始,项目下面挂成员
|
|
//组装写入excel文件的数据,从项目开始,项目下面挂成员
|
|
List<String> rowData = new ArrayList<String>();
|
|
List<String> rowData = new ArrayList<String>();
|
|
@@ -979,6 +1107,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (cusColList.size() > 2) {
|
|
if (cusColList.size() > 2) {
|
|
rowData.add(p.field3.toPlainString());
|
|
rowData.add(p.field3.toPlainString());
|
|
}
|
|
}
|
|
|
|
+ if (cusColList.size() > 3) {
|
|
|
|
+ rowData.add(p.field4.toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 4) {
|
|
|
|
+ rowData.add(p.field5.toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 5) {
|
|
|
|
+ rowData.add(p.field6.toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 6) {
|
|
|
|
+ rowData.add(p.field7.toPlainString());
|
|
|
|
+ }
|
|
rowData.add(p.cost.toPlainString());
|
|
rowData.add(p.cost.toPlainString());
|
|
allList.add(rowData);
|
|
allList.add(rowData);
|
|
|
|
|
|
@@ -1015,6 +1155,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
BigDecimal field1 = userFinance.getCustomField1() == null? new BigDecimal(0):userFinance.getCustomField1().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal field1 = userFinance.getCustomField1() == null? new BigDecimal(0):userFinance.getCustomField1().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal field2 = userFinance.getCustomField2() == null? new BigDecimal(0):userFinance.getCustomField2().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal field2 = userFinance.getCustomField2() == null? new BigDecimal(0):userFinance.getCustomField2().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal field3 = userFinance.getCustomField3() == null? new BigDecimal(0):userFinance.getCustomField3().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal field3 = userFinance.getCustomField3() == null? new BigDecimal(0):userFinance.getCustomField3().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ BigDecimal field4 = userFinance.getCustomField4() == null? new BigDecimal(0):userFinance.getCustomField4().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ BigDecimal field5 = userFinance.getCustomField5() == null? new BigDecimal(0):userFinance.getCustomField5().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ BigDecimal field6 = userFinance.getCustomField6() == null? new BigDecimal(0):userFinance.getCustomField6().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ BigDecimal field7 = userFinance.getCustomField7() == null? new BigDecimal(0):userFinance.getCustomField6().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
|
|
if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
|
|
membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
|
|
}else {
|
|
}else {
|
|
@@ -1065,6 +1209,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (cusColList.size() > 2) {
|
|
if (cusColList.size() > 2) {
|
|
membRowData.add(field3.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
membRowData.add(field3.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
}
|
|
}
|
|
|
|
+ if (cusColList.size() > 3) {
|
|
|
|
+ membRowData.add(field4.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 4) {
|
|
|
|
+ membRowData.add(field5.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 5) {
|
|
|
|
+ membRowData.add(field6.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 6) {
|
|
|
|
+ membRowData.add(field7.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
membRowData.add(cost.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
membRowData.add(cost.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
allList.add(membRowData);
|
|
allList.add(membRowData);
|
|
}
|
|
}
|
|
@@ -1098,6 +1254,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
BigDecimal field1 = newFinance.getCustomField1() == null? new BigDecimal(0):newFinance.getCustomField1();
|
|
BigDecimal field1 = newFinance.getCustomField1() == null? new BigDecimal(0):newFinance.getCustomField1();
|
|
BigDecimal field2 = newFinance.getCustomField2() == null? new BigDecimal(0):newFinance.getCustomField2();
|
|
BigDecimal field2 = newFinance.getCustomField2() == null? new BigDecimal(0):newFinance.getCustomField2();
|
|
BigDecimal field3 = newFinance.getCustomField3() == null? new BigDecimal(0):newFinance.getCustomField3();
|
|
BigDecimal field3 = newFinance.getCustomField3() == null? new BigDecimal(0):newFinance.getCustomField3();
|
|
|
|
+ BigDecimal field4 = newFinance.getCustomField4() == null? new BigDecimal(0):newFinance.getCustomField4();
|
|
|
|
+ BigDecimal field5 = newFinance.getCustomField5() == null? new BigDecimal(0):newFinance.getCustomField5();
|
|
|
|
+ BigDecimal field6 = newFinance.getCustomField6() == null? new BigDecimal(0):newFinance.getCustomField6();
|
|
|
|
+ BigDecimal field7 = newFinance.getCustomField7() == null? new BigDecimal(0):newFinance.getCustomField7();
|
|
User us = userList.stream().filter(u->u.getId().equals(npu.getUserId())).findFirst().get();
|
|
User us = userList.stream().filter(u->u.getId().equals(npu.getUserId())).findFirst().get();
|
|
if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
|
|
membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
|
|
@@ -1151,6 +1311,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (cusColList.size() > 2) {
|
|
if (cusColList.size() > 2) {
|
|
membRowData.add(field3.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
membRowData.add(field3.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
}
|
|
}
|
|
|
|
+ if (cusColList.size() > 3) {
|
|
|
|
+ membRowData.add(field4.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 4) {
|
|
|
|
+ membRowData.add(field5.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 5) {
|
|
|
|
+ membRowData.add(field6.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 6) {
|
|
|
|
+ membRowData.add(field7.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
membRowData.add(cost.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
membRowData.add(cost.setScale(6, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
allList.add(membRowData);
|
|
allList.add(membRowData);
|
|
}
|
|
}
|
|
@@ -1181,6 +1353,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
p.field1 = p.field1.add(nextItem.field1);
|
|
p.field1 = p.field1.add(nextItem.field1);
|
|
p.field2 = p.field2.add(nextItem.field2);
|
|
p.field2 = p.field2.add(nextItem.field2);
|
|
p.field3 = p.field3.add(nextItem.field3);
|
|
p.field3 = p.field3.add(nextItem.field3);
|
|
|
|
+ p.field4 = p.field4.add(nextItem.field4);
|
|
|
|
+ p.field5 = p.field5.add(nextItem.field5);
|
|
|
|
+ p.field6 = p.field6.add(nextItem.field6);
|
|
|
|
+ p.field7 = p.field7.add(nextItem.field7);
|
|
}
|
|
}
|
|
//添加按分类汇总的项
|
|
//添加按分类汇总的项
|
|
pList.add(p);
|
|
pList.add(p);
|
|
@@ -1214,6 +1390,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
p.field1 = p.field1.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
p.field1 = p.field1.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
p.field2 = p.field2.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
p.field2 = p.field2.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
p.field3 = p.field3.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
p.field3 = p.field3.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field4 = p.field4.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field5 = p.field5.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field6 = p.field6.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ p.field7 = p.field7.setScale(scaleSize, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
List<String> rowData = new ArrayList<String>();
|
|
List<String> rowData = new ArrayList<String>();
|
|
rowData.add(p.categoryName);
|
|
rowData.add(p.categoryName);
|
|
@@ -1234,6 +1414,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (cusColList.size() > 2) {
|
|
if (cusColList.size() > 2) {
|
|
rowData.add(p.field3.toPlainString());
|
|
rowData.add(p.field3.toPlainString());
|
|
}
|
|
}
|
|
|
|
+ if (cusColList.size() > 3) {
|
|
|
|
+ rowData.add(p.field4.toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 4) {
|
|
|
|
+ rowData.add(p.field5.toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 5) {
|
|
|
|
+ rowData.add(p.field6.toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (cusColList.size() > 6) {
|
|
|
|
+ rowData.add(p.field7.toPlainString());
|
|
|
|
+ }
|
|
rowData.add(p.cost.toPlainString());
|
|
rowData.add(p.cost.toPlainString());
|
|
allList.add(rowData);
|
|
allList.add(rowData);
|
|
});
|
|
});
|
|
@@ -1263,6 +1455,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (cusColList.size() > 0) sumRow.add(totalField1.toString());
|
|
if (cusColList.size() > 0) sumRow.add(totalField1.toString());
|
|
if (cusColList.size() > 1) sumRow.add(totalField2.toString());
|
|
if (cusColList.size() > 1) sumRow.add(totalField2.toString());
|
|
if (cusColList.size() > 2) sumRow.add(totalField3.toString());
|
|
if (cusColList.size() > 2) sumRow.add(totalField3.toString());
|
|
|
|
+ if (cusColList.size() > 3) sumRow.add(totalField4.toString());
|
|
|
|
+ if (cusColList.size() > 4) sumRow.add(totalField5.toString());
|
|
|
|
+ if (cusColList.size() > 5) sumRow.add(totalField6.toString());
|
|
|
|
+ if (cusColList.size() > 6) sumRow.add(totalField7.toString());
|
|
sumRow.add(totalMoneyCost.toString());
|
|
sumRow.add(totalMoneyCost.toString());
|
|
allList.add(sumRow);
|
|
allList.add(sumRow);
|
|
//生成excel文件导出
|
|
//生成excel文件导出
|
|
@@ -1581,6 +1777,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
BigDecimal totalField1 = cusColList.size() > 0?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField1 = cusColList.size() > 0?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField2 = cusColList.size() > 1?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField2 = cusColList.size() > 1?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField3 = cusColList.size() > 2?BigDecimal.valueOf(0):null;
|
|
BigDecimal totalField3 = cusColList.size() > 2?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField4 = cusColList.size() > 3?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField5 = cusColList.size() > 4?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField6 = cusColList.size() > 5?BigDecimal.valueOf(0):null;
|
|
|
|
+ BigDecimal totalField7 = cusColList.size() > 6?BigDecimal.valueOf(0):null;
|
|
|
|
|
|
List<String> headList = new ArrayList<String>();
|
|
List<String> headList = new ArrayList<String>();
|
|
//headList.add("姓名");
|
|
//headList.add("姓名");
|
|
@@ -1622,6 +1822,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
BigDecimal field1Item = new BigDecimal(0);
|
|
BigDecimal field1Item = new BigDecimal(0);
|
|
BigDecimal field2Item = new BigDecimal(0);
|
|
BigDecimal field2Item = new BigDecimal(0);
|
|
BigDecimal field3Item = new BigDecimal(0);
|
|
BigDecimal field3Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field4Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field5Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field6Item = new BigDecimal(0);
|
|
|
|
+ BigDecimal field7Item = new BigDecimal(0);
|
|
if (f.getCustomField1() != null) {
|
|
if (f.getCustomField1() != null) {
|
|
field1Item = f.getCustomField1();
|
|
field1Item = f.getCustomField1();
|
|
}
|
|
}
|
|
@@ -1631,6 +1835,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (f.getCustomField3() != null) {
|
|
if (f.getCustomField3() != null) {
|
|
field3Item = f.getCustomField3();
|
|
field3Item = f.getCustomField3();
|
|
}
|
|
}
|
|
|
|
+ if (f.getCustomField4() != null) {
|
|
|
|
+ field4Item = f.getCustomField4();
|
|
|
|
+ }
|
|
|
|
+ if (f.getCustomField5() != null) {
|
|
|
|
+ field5Item = f.getCustomField5();
|
|
|
|
+ }
|
|
|
|
+ if (f.getCustomField6() != null) {
|
|
|
|
+ field6Item = f.getCustomField6();
|
|
|
|
+ }
|
|
|
|
+ if (f.getCustomField7() != null) {
|
|
|
|
+ field7Item = f.getCustomField7();
|
|
|
|
+ }
|
|
|
|
|
|
totalMoneyCost = totalMoneyCost.add(cost);
|
|
totalMoneyCost = totalMoneyCost.add(cost);
|
|
totalSalary = totalSalary.add(salary);
|
|
totalSalary = totalSalary.add(salary);
|
|
@@ -1650,6 +1866,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (totalField3 != null) {
|
|
if (totalField3 != null) {
|
|
totalField3 = totalField3.add(field3Item);
|
|
totalField3 = totalField3.add(field3Item);
|
|
}
|
|
}
|
|
|
|
+ if (totalField4 != null) {
|
|
|
|
+ totalField4 = totalField4.add(field4Item);
|
|
|
|
+ }
|
|
|
|
+ if (totalField5 != null) {
|
|
|
|
+ totalField5 = totalField5.add(field5Item);
|
|
|
|
+ }
|
|
|
|
+ if (totalField6 != null) {
|
|
|
|
+ totalField6 = totalField6.add(field6Item);
|
|
|
|
+ }
|
|
|
|
+ if (totalField7 != null) {
|
|
|
|
+ totalField7 = totalField7.add(field7Item);
|
|
|
|
+ }
|
|
List<String> rowData = new ArrayList<String>();
|
|
List<String> rowData = new ArrayList<String>();
|
|
// if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
// if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
// rowData.add("$userName="+(user.getCorpwxUserid()==null?"":user.getCorpwxUserid())+"$");
|
|
// rowData.add("$userName="+(user.getCorpwxUserid()==null?"":user.getCorpwxUserid())+"$");
|
|
@@ -1677,6 +1905,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (totalField3 != null) {
|
|
if (totalField3 != null) {
|
|
rowData.add(field3Item.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
rowData.add(field3Item.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
}
|
|
}
|
|
|
|
+ if (totalField4 != null) {
|
|
|
|
+ rowData.add(field4Item.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (totalField5 != null) {
|
|
|
|
+ rowData.add(field5Item.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (totalField6 != null) {
|
|
|
|
+ rowData.add(field6Item.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
|
|
+ if (totalField7 != null) {
|
|
|
|
+ rowData.add(field7Item.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
|
|
+ }
|
|
rowData.add(cost == null?"0":cost.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
rowData.add(cost == null?"0":cost.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
|
|
allList.add(rowData);
|
|
allList.add(rowData);
|
|
}
|
|
}
|
|
@@ -1699,6 +1939,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (totalField3 != null) {
|
|
if (totalField3 != null) {
|
|
totalField3 = totalField3.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
totalField3 = totalField3.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
}
|
|
}
|
|
|
|
+ if (totalField4 != null) {
|
|
|
|
+ totalField4 = totalField4.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (totalField5 != null) {
|
|
|
|
+ totalField5 = totalField5.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (totalField6 != null) {
|
|
|
|
+ totalField6 = totalField6.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ if (totalField7 != null) {
|
|
|
|
+ totalField7 = totalField7.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
//合计
|
|
//合计
|
|
List<String> sumRow = new ArrayList<String>();
|
|
List<String> sumRow = new ArrayList<String>();
|
|
//sumRow.add("合计");;
|
|
//sumRow.add("合计");;
|
|
@@ -1718,6 +1970,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
if (cusColList.size() > 0) sumRow.add(totalField1.toString());
|
|
if (cusColList.size() > 0) sumRow.add(totalField1.toString());
|
|
if (cusColList.size() > 1) sumRow.add(totalField2.toString());
|
|
if (cusColList.size() > 1) sumRow.add(totalField2.toString());
|
|
if (cusColList.size() > 2) sumRow.add(totalField3.toString());
|
|
if (cusColList.size() > 2) sumRow.add(totalField3.toString());
|
|
|
|
+ if (cusColList.size() > 3) sumRow.add(totalField4.toString());
|
|
|
|
+ if (cusColList.size() > 4) sumRow.add(totalField5.toString());
|
|
|
|
+ if (cusColList.size() > 5) sumRow.add(totalField6.toString());
|
|
|
|
+ if (cusColList.size() > 6) sumRow.add(totalField7.toString());
|
|
sumRow.add(totalMoneyCost.toString());
|
|
sumRow.add(totalMoneyCost.toString());
|
|
allList.add(sumRow);
|
|
allList.add(sumRow);
|
|
//生成excel文件导出
|
|
//生成excel文件导出
|