Min 1 year ago
parent
commit
29d286667b

+ 48 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Finance.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2022-08-12
+ * @since 2024-02-29
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -145,12 +145,37 @@ public class Finance extends Model<Finance> {
     @TableField("custom_field3")
     private BigDecimal customField3;
 
-    @TableField(exist = false)
-    private BigDecimal hourCost;
+    /**
+     * 自定义4
+     */
+    @TableField("custom_field4")
+    private BigDecimal customField4;
+
+    /**
+     * 自定义5
+     */
+    @TableField("custom_field5")
+    private BigDecimal customField5;
+
+    /**
+     * 自定义6
+     */
+    @TableField("custom_field6")
+    private BigDecimal customField6;
+
+    /**
+     * 自定义7
+     */
+    @TableField("custom_field7")
+    private BigDecimal customField7;
 
     @TableField(exist = false)
     private Integer hasReport;
 
+    @TableField(exist = false)
+    private BigDecimal hourCost;
+
+
 
     @Override
     protected Serializable pkVal() {
@@ -185,6 +210,26 @@ public class Finance extends Model<Finance> {
         } else {
             target.setCustomField3(new BigDecimal(0));
         }
+        if (from.getCustomField4() != null) {
+            target.setCustomField4(from.getCustomField4().multiply(per));
+        } else {
+            target.setCustomField4(new BigDecimal(0));
+        }
+        if (from.getCustomField5() != null) {
+            target.setCustomField5(from.getCustomField5().multiply(per));
+        } else {
+            target.setCustomField5(new BigDecimal(0));
+        }
+        if (from.getCustomField6() != null) {
+            target.setCustomField6(from.getCustomField6().multiply(per));
+        } else {
+            target.setCustomField6(new BigDecimal(0));
+        }
+        if (from.getCustomField7() != null) {
+            target.setCustomField7(from.getCustomField7().multiply(per));
+        } else {
+            target.setCustomField7(new BigDecimal(0));
+        }
 
         return target;
     }

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProjectSumItem.java

@@ -29,4 +29,8 @@ public class ProjectSumItem {
     public BigDecimal field1;
     public BigDecimal field2;
     public BigDecimal field3;
+    public BigDecimal field4;
+    public BigDecimal field5;
+    public BigDecimal field6;
+    public BigDecimal field7;
 }

+ 256 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/FinanceServiceImpl.java

@@ -194,6 +194,22 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                 financeConfig.setField3(cusColList.get(2).getFieldName());
                 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> 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 field2 = cusColList.size() > 1?row.getCell(nameStartIndex + 10):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 (field2 != null)field2.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.setName(name);
@@ -438,6 +462,34 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         finance.setCustomField3(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);
 
                     //如果需要更新员工成本
@@ -591,6 +643,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
             BigDecimal totalField1 = cusColList.size() > 0?BigDecimal.valueOf(0):null;
             BigDecimal totalField2 = cusColList.size() > 1?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>();
             if (groupByCategory == 0) {
@@ -755,6 +811,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                 BigDecimal field1Item = new BigDecimal(0);
                 BigDecimal field2Item = 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()) {
                     Finance userFinance = first.get();
                     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) {
                         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可能存在重名问题。
                     if (projectId.equals(item.projectId)) {
@@ -792,6 +864,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         item.field1 = item.field1.add(field1Item);
                         item.field2 = item.field2.add(field2Item);
                         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 {
                         item = new ProjectSumItem();
                         pList.add(item);
@@ -812,6 +888,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         item.field1 = field1Item;
                         item.field2 = field2Item;
                         item.field3 = field3Item;
+                        item.field4 = field4Item;
+                        item.field5 = field5Item;
+                        item.field6 = field6Item;
+                        item.field7 = field7Item;
                     }
                     totalMoneyCost = totalMoneyCost.add(cost);
                     totalSalary = totalSalary.add(salary);
@@ -832,6 +912,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                     if (totalField3 != null) {
                         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 {
 //                    System.out.println("财务数据中未找到用户:"+creatorId);
                 }
@@ -866,6 +958,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         npItem.field1 = new BigDecimal(0);
                         npItem.field2 = 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);
                     });
                 }
@@ -890,6 +986,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         p.field1 = p.field1.add(newFinance.getCustomField1());
                         p.field2 = p.field2.add(newFinance.getCustomField2());
                         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());
@@ -910,6 +1010,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         if (totalField3 != null) {
                             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) {
                 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));
             //按项目名称分组
@@ -952,6 +1076,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                     p.field1 = p.field1.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.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文件的数据,从项目开始,项目下面挂成员
                     List<String> rowData = new ArrayList<String>();
@@ -979,6 +1107,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                     if (cusColList.size() > 2) {
                         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());
                     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 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 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){
                                 membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
                             }else {
@@ -1065,6 +1209,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                             if (cusColList.size() > 2) {
                                 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());
                             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 field2 = newFinance.getCustomField2() == null? new BigDecimal(0):newFinance.getCustomField2();
                                     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();
                                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                                         membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
@@ -1151,6 +1311,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                                     if (cusColList.size() > 2) {
                                         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());
                                     allList.add(membRowData);
                                 }
@@ -1181,6 +1353,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                         p.field1 = p.field1.add(nextItem.field1);
                         p.field2 = p.field2.add(nextItem.field2);
                         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);
@@ -1214,6 +1390,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                     p.field1 = p.field1.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.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>();
                     rowData.add(p.categoryName);
@@ -1234,6 +1414,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                     if (cusColList.size() > 2) {
                         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());
                     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() > 1) sumRow.add(totalField2.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());
             allList.add(sumRow);
             //生成excel文件导出
@@ -1581,6 +1777,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
             BigDecimal totalField1 = cusColList.size() > 0?BigDecimal.valueOf(0):null;
             BigDecimal totalField2 = cusColList.size() > 1?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>();
             //headList.add("姓名");
@@ -1622,6 +1822,10 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                 BigDecimal field1Item = new BigDecimal(0);
                 BigDecimal field2Item = 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) {
                     field1Item = f.getCustomField1();
                 }
@@ -1631,6 +1835,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                 if (f.getCustomField3() != null) {
                     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);
                 totalSalary = totalSalary.add(salary);
@@ -1650,6 +1866,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                 if (totalField3 != null) {
                     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>();
 //                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
 //                    rowData.add("$userName="+(user.getCorpwxUserid()==null?"":user.getCorpwxUserid())+"$");
@@ -1677,6 +1905,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                 if (totalField3 != null) {
                     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());
                 allList.add(rowData);
             }
@@ -1699,6 +1939,18 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
             if (totalField3 != null) {
                 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>();
             //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() > 1) sumRow.add(totalField2.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());
             allList.add(sumRow);
             //生成excel文件导出

+ 5 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/FinanceMapper.xml

@@ -24,11 +24,15 @@
         <result column="custom_field1" property="customField1" />
         <result column="custom_field2" property="customField2" />
         <result column="custom_field3" property="customField3" />
+        <result column="custom_field4" property="customField4" />
+        <result column="custom_field5" property="customField5" />
+        <result column="custom_field6" property="customField6" />
+        <result column="custom_field7" property="customField7" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, user_id, job_number, name, company_id, dept_name, month_cost, bonus, allowance, insurance_old, insurance_medical, insurance_losejob, insurance_injury, house_fund, others, total_cost, ymonth, custom_field1, custom_field2, custom_field3
+        id, user_id, job_number, name, company_id, dept_name, month_cost, bonus, allowance, insurance_old, insurance_medical, insurance_losejob, insurance_injury, house_fund, others, total_cost, ymonth, custom_field1, custom_field2, custom_field3, custom_field4, custom_field5, custom_field6, custom_field7
     </sql>
 
 </mapper>

+ 13 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/project/finance.vue

@@ -599,7 +599,7 @@ import { error } from 'dingtalk-jsapi';
                 exportFinanceDialog:false,
                 exportMonth:null,
                 exportDialog:false,
-                headerCols:['monthCost','bonus', 'allowance', 'insuranceOld', 'insuranceMedical', 'insuranceLosejob', 'insuranceInjury', 'houseFund', 'customField1','customField2','customField3'],
+                headerCols:['monthCost','bonus', 'allowance', 'insuranceOld', 'insuranceMedical', 'insuranceLosejob', 'insuranceInjury', 'houseFund', 'customField1','customField2','customField3','customField4','customField5','customField6','customField7'],
                 tblCols:[],
                 costListRadio: 1,
                 costSettingLoading: false,
@@ -1175,6 +1175,18 @@ import { error } from 'dingtalk-jsapi';
                             if (this.customColsi.field3 != null) {
                                 this.tblCols.push(this.customColsi.field3);
                             }
+                            if (this.customColsi.field4 != null) {
+                                this.tblCols.push(this.customColsi.field4);
+                            }
+                            if (this.customColsi.field5 != null) {
+                                this.tblCols.push(this.customColsi.field5);
+                            }
+                            if (this.customColsi.field6 != null) {
+                                this.tblCols.push(this.customColsi.field6);
+                            }
+                            if (this.customColsi.field7 != null) {
+                                this.tblCols.push(this.customColsi.field7);
+                            }
                         }});
                     
             },