Переглянути джерело

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Min 1 рік тому
батько
коміт
ccfc2599df

+ 15 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/FinancialAuditController.java

@@ -1,6 +1,7 @@
 package com.management.platform.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -25,6 +26,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -46,14 +48,19 @@ public class FinancialAuditController {
 
     @RequestMapping("/list")
     public HttpRespMsg list(Integer pageIndex, Integer pageSize, String startDate, String endDate, Integer status, HttpServletRequest request) throws ParseException {
-        HttpRespMsg httpRespMsg = new HttpRespMsg(); 
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();  
-        QueryWrapper<FinancialAudit> queryWrapper = new QueryWrapper<FinancialAudit>()  
-            .eq("company_id", companyId)  
-            .eq("review_status", status)  
-            .ge("report_yrMnth", startDate)
-            .le("report_yrMnth", endDate);
-        IPage<FinancialAudit> auditIPage = financialAuditService.page(new Page<FinancialAudit>(pageIndex, pageSize), queryWrapper);
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        LambdaQueryWrapper<FinancialAudit> financialAuditLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        financialAuditLambdaQueryWrapper.eq(FinancialAudit::getCompanyId,companyId).between(FinancialAudit::getReportYrmnth,startDate,endDate).eq(status!=0,FinancialAudit::getReviewStatus,status);
+
+//            QueryWrapper<FinancialAudit> queryWrapper = new QueryWrapper<FinancialAudit>()
+//                    .eq("company_id", companyId)
+//                    .eq("review_status", status)
+//                    .ge("report_yrMnth", startDate)
+//                    .le("report_yrMnth", endDate);
+
+        IPage<FinancialAudit> auditIPage = financialAuditService.page(new Page<FinancialAudit>(pageIndex, pageSize), financialAuditLambdaQueryWrapper);
         Map<String, Object> map = new HashMap<>();
         map.put("records", auditIPage.getRecords());
         map.put("total", auditIPage.getTotal());

+ 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);
+        }
+    }
 }

+ 3 - 3
fhKeeper/formulahousekeeper/timesheet/src/routes.js

@@ -464,11 +464,11 @@ export const allRouters = [//组织架构
         
         path: '/',
         component: Home,
-        name: '财务审核',
-        iconCls: 'iconfont firerock-iconliucheng',
+        name: '财务报告审核',
+        iconCls: 'iconfont firerock-iconcaiwu',
         leaf: true,//只有一个节点
         children: [
-            { path: '/financeAudit', component: financeAudit, name: '财务审核' },
+            { path: '/financeAudit', component: financeAudit, name: '财务报告审核' },
         ],
         // 其他信息
         meta: { text: 'navigation.caiwushenhe' } 

+ 11 - 10
fhKeeper/formulahousekeeper/timesheet/src/views/financeAudit/financeAudit.vue

@@ -5,7 +5,7 @@
                 <div class="label">年月:</div>
                 <div class="value">
                     <el-date-picker v-model="tableForm.dates" type="monthrange" range-separator="至" start-placeholder="开始日期"
-                        @change="getFinanceAuditTableData()" size="small" value-format="yyyy-MM" end-placeholder="结束日期">
+                        @change="getFinanceAuditTableData()" size="small" value-format="yyyy-MM" end-placeholder="结束日期" :clearable="false">
                     </el-date-picker>
                 </div>
             </div>
@@ -25,7 +25,7 @@
                 v-loading="allLoading.tableLoading">
                 <el-table-column prop="reportYrmnth" label="日报年月" align="center">
                     <template slot-scope="scope">
-                        <el-button type="text" @click="toDetail()">{{ scope.row.reportYrmnth }}</el-button>
+                        <el-button type="text" @click="toDetail(scope.row)">{{ scope.row.reportYrmnth }}</el-button>
                     </template>
                 </el-table-column>
                 <el-table-column prop="reviewerName" label="审核人" align="center"></el-table-column>
@@ -35,10 +35,10 @@
                         {{ scope.row.reviewStatus == 1 ? '未审核' : '已审核' }}
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" align="center" v-if="tableForm.status == 1" fixed="right">
+                <el-table-column label="操作" align="center" fixed="right">
                     <template slot-scope="scope">
-                        <el-button @click="audit(scope.row)" type="text">审核</el-button>
-                        <el-button type="text" @click="toDetail()">查看详情</el-button>
+                        <el-button @click="audit(scope.row)" type="text" v-if="scope.row.reviewStatus == 1">审核</el-button>
+                        <el-button type="text" @click="toDetail(scope.row)">查看详情</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -61,10 +61,11 @@ export default {
         return {
             tableForm: {
                 dates: [],
-                status: 1,
+                status: 0,
             },
             financeAuditTableData: [],
             statusOptions: [
+                { value: 0, label: '全部' },
                 { value: 1, label: '未审核' },
                 { value: 2, label: '已审核' },
             ],
@@ -88,12 +89,12 @@ export default {
         this.getFinanceAuditTableData()
     },
     methods: {
-        toDetail() {
+        toDetail(item) {
             this.$router.push({
                 path: '/cost',
                 query: {
-                    startDate: this.tableForm.dates[0],
-                    endDate: this.tableForm.dates[1]
+                    startDate: item.reportYrmnth,
+                    endDate: item.reportYrmnth
                 }
             })
         },
@@ -119,7 +120,7 @@ export default {
                 pageIndex: this.paging.pageIndex,
                 startDate: this.tableForm.dates[0] + '-01' || '',
                 endDate: this.tableForm.dates[1] + '-01' || '',
-                status: this.tableForm.status || '',
+                status: this.tableForm.status,
             }
             this.postData('/financial-audit/list', param).then(({ data }) => {
                 const { total, records } = data