Bladeren bron

景昱增加财务审核模块权限

seyason 11 maanden geleden
bovenliggende
commit
580434d5d3

+ 30 - 24
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -296,7 +296,7 @@ public class ReportController {
     }
 
     @RequestMapping("/getWeeklyReportData")
-    public HttpRespMsg getWeeklyReportData(@RequestParam String targetDate, @RequestParam String targetUserId) {
+    public HttpRespMsg getWeeklyReportData(@RequestParam String targetDate, String targetUserId) {
         return reportService.getWeeklyReportData(targetDate, targetUserId, request);
     }
 
@@ -1088,35 +1088,41 @@ public class ReportController {
                             if (comTimeType.getReportAuditType() == 3) {
                                 report.setAuditorSetting(auditorSettingList.get(i));
                             }
-                            if (auditWorkflowList.size() == 0) {
-                                //没有自定义审核流,直接代填的,就算审核通过
-                                report.setIsDeptAudit(0);
-                                report.setIsFinalAudit(1);
-                                report.setState(1);
+                            if (comTimeType.getReportAuditType() == 7) {
+                                report.setState(draft==0?0:3);
                             } else {
-                                //有审核流程的,取项目经理后面的流程节点
-                                int projectLeaderNodeIndex = 0;
-                                for (int t=0;t<auditWorkflowList.size(); t++) {
-                                    if (auditWorkflowList.get(t).getIsDeptAudit() == 0) {
-                                        projectLeaderNodeIndex = t;
-                                        break;
-                                    }
-                                }
-                                if (projectLeaderNodeIndex == auditWorkflowList.size() -1) {
-                                    //最后一个节点就是项目经理,那就不用审核了,直接通过
+                                //并非并行审核模式下的代填,需要设置审核状态
+                                if (auditWorkflowList.size() == 0) {
+                                    //没有自定义审核流,直接代填的,就算审核通过
+                                    report.setIsDeptAudit(0);
+                                    report.setIsFinalAudit(1);
                                     report.setState(1);
                                 } else {
-                                    //否则取下一个节点,待审核
-                                    report.setState(0);
-                                    int nextIndex = projectLeaderNodeIndex + 1;
-                                    AuditWorkflowTimeSetting nextNode = auditWorkflowList.get(nextIndex);
-                                    report.setIsFinalAudit((nextIndex == auditWorkflowList.size()-1)?1:0);
-                                    report.setIsDeptAudit(nextNode.getIsDeptAudit());
-                                    report.setAuditDeptid(nextNode.getAuditDeptId());
-                                    report.setAuditDeptManagerid(nextNode.getAuditDeptId() != null?allDeptList.stream().filter(d->d.getDepartmentId().equals(nextNode.getAuditDeptId())).findFirst().get().getManagerId(): null);
+                                    //有审核流程的,取项目经理后面的流程节点
+                                    int projectLeaderNodeIndex = 0;
+                                    for (int t=0;t<auditWorkflowList.size(); t++) {
+                                        if (auditWorkflowList.get(t).getIsDeptAudit() == 0) {
+                                            projectLeaderNodeIndex = t;
+                                            break;
+                                        }
+                                    }
+                                    if (projectLeaderNodeIndex == auditWorkflowList.size() -1) {
+                                        //最后一个节点就是项目经理,那就不用审核了,直接通过
+                                        report.setState(1);
+                                    } else {
+                                        //否则取下一个节点,待审核
+                                        report.setState(0);
+                                        int nextIndex = projectLeaderNodeIndex + 1;
+                                        AuditWorkflowTimeSetting nextNode = auditWorkflowList.get(nextIndex);
+                                        report.setIsFinalAudit((nextIndex == auditWorkflowList.size()-1)?1:0);
+                                        report.setIsDeptAudit(nextNode.getIsDeptAudit());
+                                        report.setAuditDeptid(nextNode.getAuditDeptId());
+                                        report.setAuditDeptManagerid(nextNode.getAuditDeptId() != null?allDeptList.stream().filter(d->d.getDepartmentId().equals(nextNode.getAuditDeptId())).findFirst().get().getManagerId(): null);
+                                    }
                                 }
                             }
 
+
                             if (taskId != null && taskId[i] != null && taskId[i] != 0) {
                                 report.setTaskId(taskId[i]);
                             }

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/SysModule.java

@@ -110,6 +110,9 @@ public class SysModule extends Model<SysModule> {
     @TableField("package_engineering")
     private Integer packageEngineering;
 
+    @TableField(exist = false)
+    private Integer packageFinanceAudit;
+
     /**
      * 是否属于合同管理
      */

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/PermissionServiceImpl.java

@@ -220,8 +220,14 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
         if(!user.getRoleName().equals("超级管理员")){
             queryWrapper.and(wrapper->wrapper.in("id",moduleIds));
         }
+
         queryWrapper.orderByAsc("orderitem");
         List<SysModule> moduleList = sysModuleMapper.selectList(queryWrapper);
+        if (companyId == 5978) {
+            //针对景昱,返回财务报告审核模块
+            SysModule module = sysModuleMapper.selectOne(new QueryWrapper<SysModule>().eq("name", "财务报告审核"));
+            moduleList.add(module);
+        }
         if(companyId!=3092){
             moduleList=moduleList.stream().filter(m->!m.getName().equals("预估工时审核")).collect(Collectors.toList());
         }

+ 5 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -604,7 +604,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         }
 
         List<SysModule> moduleList = sysModuleMapper.selectList(queryWrapper);
-
+        if (company.getId() == 5978) {
+            //针对景昱,返回财务报告审核模块
+            SysModule module = sysModuleMapper.selectOne(new QueryWrapper<SysModule>().eq("name", "财务报告审核"));
+            moduleList.add(module);
+        }
         //过滤一下,这个角色选中的模块
         moduleList = moduleList.stream().filter(m->ids.contains(m.getId())).collect(Collectors.toList());
         if (company.getPackageEngineering() == 1) {

+ 18 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -96,6 +96,8 @@ public class TimingTask {
     @Resource
     private CompanyDingdingMapper companyDingdingMapper;
     @Resource
+    FinancialAuditService financialAuditService;
+    @Resource
     private ScreenshotMapper screenshotMapper;
     @Resource
     private TimeTypeMapper timeTypeMapper;
@@ -2481,4 +2483,20 @@ public class TimingTask {
     public void cleanUselessData(){
         //TODO: 日报删除表report_delete,需要定期清理
     }
+
+    @Scheduled(cron = "0 15 0 1 * ?")
+    private void generateMonthlyFinanceReport() {
+        //为景昱生成上个月的财务审核报表
+        LocalDate now = LocalDate.now();
+        //获取上个月的第一天
+        LocalDate lastMonth = now.minusMonths(1).with(TemporalAdjusters.firstDayOfMonth());
+        Integer companyId = 5978;
+        FinancialAudit financialAudit = financialAuditService.getOne(new LambdaQueryWrapper<FinancialAudit>().eq(FinancialAudit::getCompanyId, companyId).eq(FinancialAudit::getReportYrmnth, lastMonth));
+        if(financialAudit==null){
+            financialAudit=new FinancialAudit();
+            financialAudit.setCompanyId(companyId);
+            financialAudit.setReportYrmnth(lastMonth);
+            financialAuditService.save(financialAudit);
+        }
+    }
 }