소스 검색

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper into master

seyason 2 년 전
부모
커밋
210799b268
16개의 변경된 파일231개의 추가작업 그리고 26개의 파일을 삭제
  1. 6 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java
  2. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ThirdPartyInterfaceController.java
  3. 46 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ThirdPartyInterface.java
  4. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ThirdPartyInterfaceMapper.java
  5. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java
  6. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ThirdPartyInterfaceService.java
  7. 27 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java
  8. 42 5
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  9. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ThirdPartyInterfaceServiceImpl.java
  10. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml
  11. 17 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ThirdPartyInterfaceMapper.xml
  12. 2 2
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserMapper.xml
  13. 1 1
      fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue
  14. 4 7
      fhKeeper/formulahousekeeper/timesheet/src/views/quanx/quanx.vue
  15. 9 2
      fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue
  16. 2 5
      fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -16,6 +16,7 @@ import com.management.platform.service.UserService;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.WorkDayCalculateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -1180,5 +1181,10 @@ public class ReportController {
     public HttpRespMsg getlastWeekFillTime(String userId) {
         return reportService.getlastWeekFillTime(userId);
     }
+
+    @GetMapping("/getReportListByToken")
+    public HttpRespMsg getReportListByToken(@RequestParam String token, @RequestParam String startDate, @RequestParam String endDate){
+        return reportService.getReportListByToken(token,startDate,endDate);
+    }
 }
 

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ThirdPartyInterfaceController.java

@@ -0,0 +1,20 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-04
+ */
+@RestController
+@RequestMapping("/third-party-interface")
+public class ThirdPartyInterfaceController {
+
+}
+

+ 46 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ThirdPartyInterface.java

@@ -0,0 +1,46 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ThirdPartyInterface extends Model<ThirdPartyInterface> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId("comapny_id")
+    private Integer comapnyId;
+
+    @TableField("token")
+    private String token;
+
+    /**
+     * token过期时间
+     */
+    @TableField("expire_time")
+    private LocalDateTime expireTime;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.comapnyId;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ThirdPartyInterfaceMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ThirdPartyInterface;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-04
+ */
+public interface ThirdPartyInterfaceMapper extends BaseMapper<ThirdPartyInterface> {
+
+}

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java

@@ -86,4 +86,6 @@ public interface ReportService extends IService<Report> {
     HttpRespMsg approveAllImport(HttpServletRequest request);
 
     HttpRespMsg denyHisReport(Integer hisId, String reason, HttpServletRequest request);
+
+    HttpRespMsg getReportListByToken(String token, String startDate, String endDate);
 }

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ThirdPartyInterfaceService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ThirdPartyInterface;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-04
+ */
+public interface ThirdPartyInterfaceService extends IService<ThirdPartyInterface> {
+
+}

+ 27 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -2,9 +2,7 @@ package com.management.platform.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.management.platform.entity.AuditWorkflowTimeSetting;
-import com.management.platform.entity.Department;
-import com.management.platform.entity.User;
+import com.management.platform.entity.*;
 import com.management.platform.entity.vo.DepartmentMasterVO;
 import com.management.platform.entity.vo.DepartmentVO;
 import com.management.platform.entity.vo.SysRichFunction;
@@ -50,6 +48,12 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
     private ParticipationMapper participationMapper;
     @Resource
     private AuditWorkflowTimeSettingMapper auditWorkflowTimeSettingMapper;
+    @Resource
+    private ReportMapper reportMapper;
+    @Resource
+    private LeaveSheetMapper leaveSheetMapper;
+    @Resource
+    private AuditWorkflowSetting auditWorkflowSetting;
     //新增部门
     @Override
     public HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, String reportAuditUserid,  HttpServletRequest request) {
@@ -178,6 +182,26 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                             .eq("manage_dept_id", departmentId));
                 }
             }
+            Integer reportCut = reportMapper.selectCount(new QueryWrapper<Report>().eq("dept_id", departmentId));
+            if(reportCut>0){
+                httpRespMsg.setError("当前部门已被日报数据使用");
+                return httpRespMsg;
+            }
+            Integer auditDeptidCut = leaveSheetMapper.selectCount(new QueryWrapper<LeaveSheet>().eq("audit_deptid", departmentId));
+            if(auditDeptidCut>0){
+                httpRespMsg.setError("当前部门已被请假数据使用");
+                return httpRespMsg;
+            }
+            Integer auditWorkflowTimeSettingCut = auditWorkflowTimeSettingMapper.selectCount(new QueryWrapper<AuditWorkflowTimeSetting>().eq("audit_dept_id", departmentId));
+            if(auditWorkflowTimeSettingCut>0){
+                httpRespMsg.setError("当前部门已被工时审批流数据使用");
+                return httpRespMsg;
+            }
+            Integer auditWorkflowSettingCut = auditWorkflowSetting.selectCount(new QueryWrapper<AuditWorkflowSetting>().eq("audit_dept_id", departmentId));
+            if(auditWorkflowSettingCut>0){
+                httpRespMsg.setError("当前部门已被请假出差审批流数据使用");
+                return httpRespMsg;
+            }
         } catch (NullPointerException e) {
             httpRespMsg.setError("验证失败");
             return httpRespMsg;

+ 42 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -156,6 +156,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     private GroupParticipatorMapper groupParticipatorMapper;
     @Resource
     private ReportLogMapper reportLogMapper;
+    @Resource
+    private ThirdPartyInterfaceMapper thirdPartyInterfaceMapper;
 
     @Value(value = "${upload.path}")
     private String path;
@@ -1656,11 +1658,20 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             user.put("id", u.getId());
             user.put("name", u.getName());
             user.put("departmentId", u.getDepartmentId());
+            List<Map<String, Object>> mapList = reportNameByDate.stream().filter(r -> r.get("id").equals(u.getId())).collect(Collectors.toList());
             Optional<Map<String, Object>> first = reportNameByDate.stream().filter(r -> r.get("id").equals(u.getId())).findFirst();
-            
-            if (first.isPresent()) {
-                user.put("state", first.get().get("state"));
-                user.put("workingTime", first.get().get("workingTime"));
+            BigDecimal bigDecimal=new BigDecimal(0);
+            for (Map<String, Object> map : mapList) {
+                bigDecimal=bigDecimal.add(BigDecimal.valueOf((Double) map.get("workingTime")));
+            }
+            boolean b = reportNameByDate.stream().anyMatch(r -> r.get("state").equals(1));
+            if (b) {
+                user.put("state",1);
+                user.put("workingTime",bigDecimal);
+            }
+            if(first.isPresent()&&!b){
+                user.put("state",first.get().get("state"));
+                user.put("workingTime",bigDecimal);
             }
             userMapList.add(user);
         }
@@ -2277,6 +2288,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             //管理员看全公司所有人
             allRangeUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
         }
+        List<User> needRangeUserList=new ArrayList<>();
+        for (User u : allRangeUserList) {
+            if(u.getInactiveDate()==null||(u.getInactiveDate()!=null&&u.getInactiveDate().isAfter(LocalDate.parse(startDate))||u.getIsActive()==1)){
+                needRangeUserList.add(u);
+            }
+        }
         List<UserMonthWork> userMonthWorks = new ArrayList<UserMonthWork>();
         //准备部门数据
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
@@ -2315,7 +2332,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
         LocalDateTime c=LocalDateTime.now();
         //计算未填的人员
-        List<User> noReportUserList = allRangeUserList.stream()
+        List<User> noReportUserList = needRangeUserList.stream()
                 .filter(au->!userMonthWorks.stream().anyMatch(mon->mon.userId.equals(au.getId())))
                 .collect(Collectors.toList());
 
@@ -3492,4 +3509,24 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         return httpRespMsg;
     }
 
+    @Override
+    public HttpRespMsg getReportListByToken(String token, String startDate, String endDate) {
+        HttpRespMsg msg=new HttpRespMsg();
+        List<ThirdPartyInterface> thirdPartyInterfaceList = thirdPartyInterfaceMapper.selectList(new QueryWrapper<ThirdPartyInterface>().eq("token", token));
+        if(thirdPartyInterfaceList.size()==0){
+            msg.setError("token错误");
+        }
+        for (ThirdPartyInterface thirdPartyInterface : thirdPartyInterfaceList){
+            if(LocalDateTime.now().isAfter(thirdPartyInterface.getExpireTime())){
+                msg.setError("token过期失效");
+                return msg;
+            }
+            if(token.equals(thirdPartyInterface.getToken())){
+                List<HashMap<String, Object>> allReportByDate = reportMapper.getAllReportByDate(startDate,thirdPartyInterface.getComapnyId(), null, endDate, null, null, null);
+                msg.data=allReportByDate;
+            }
+        }
+        return msg;
+    }
+
 }

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ThirdPartyInterfaceServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ThirdPartyInterface;
+import com.management.platform.mapper.ThirdPartyInterfaceMapper;
+import com.management.platform.service.ThirdPartyInterfaceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-04
+ */
+@Service
+public class ThirdPartyInterfaceServiceImpl extends ServiceImpl<ThirdPartyInterfaceMapper, ThirdPartyInterface> implements ThirdPartyInterfaceService {
+
+}

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

@@ -388,7 +388,7 @@
         <if test="leaderId != null and leaderId != ''">
             AND (a.project_auditor_id = #{leaderId} or project.incharger_id = #{leaderId})
         </if>
-        group by a.creator_id
+        group by a.creator_id,a.id
     </select>
 
     <!--根据日期,部门,指定人员获取报告上传人-->

+ 17 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ThirdPartyInterfaceMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.management.platform.mapper.ThirdPartyInterfaceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ThirdPartyInterface">
+        <id column="comapny_id" property="comapnyId" />
+        <result column="token" property="token" />
+        <result column="expire_time" property="expireTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        comapny_id, token, expire_time
+    </sql>
+
+</mapper>

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserMapper.xml

@@ -52,7 +52,7 @@
     <select id="getUserByDepartment" resultType="java.util.Map">
         SELECT a.id, a.role_id as roleId, a.role_name as roleName, a.name, a.phone, a.portrait_url AS portraitUrl, a.role, a.company_id AS companyId, a.cost,
         a.department_id AS departmentId, b.department_name AS departmentName, a.department_cascade AS departmentCascade,
-        a.month_cost as monthCost, a.salary_type as salaryType, a.is_active as isActive, a.cost_apply_date as costApplyDate,a.plate1,a.plate2,a.plate3,a.plate4,a.plate5
+        a.month_cost as monthCost, a.salary_type as salaryType, a.is_active as isActive,date_format(a.`inactive_date`, '%Y-%m-%d') AS inactiveDate, a.cost_apply_date as costApplyDate,a.plate1,a.plate2,a.plate3,a.plate4,a.plate5
         FROM user AS a
         LEFT JOIN department AS b ON a.department_id = b.department_id
         WHERE a.company_id = #{companyId}
@@ -74,7 +74,7 @@
     <select id="getUserByDepartmentList" resultType="java.util.Map">
         SELECT a.id,  a.role_id as roleId, a.role_name as roleName,  a.name, a.phone, a.portrait_url AS portraitUrl, a.role, a.company_id AS companyId, a.cost,
         a.department_id AS departmentId, b.department_name AS departmentName, a.department_cascade AS departmentCascade,
-        a.month_cost as monthCost, a.salary_type as salaryType, a.is_active as isActive, a.cost_apply_date as costApplyDate,a.plate1,a.plate2,a.plate3,a.plate4,a.plate5
+        a.month_cost as monthCost, a.salary_type as salaryType, a.is_active as isActive,date_format(a.`inactive_date`, '%Y-%m-%d') AS inactiveDate, a.cost_apply_date as costApplyDate,a.plate1,a.plate2,a.plate3,a.plate4,a.plate5
         FROM user AS a
         LEFT JOIN department AS b ON a.department_id = b.department_id
         WHERE a.company_id = #{companyId} AND a.department_id IN

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -676,7 +676,7 @@ export default {
   watch: {},
   created() {
     let height = window.innerHeight;
-    this.tableHeight = height - 200;
+    this.tableHeight = height - 170;
     const that = this;
     window.onresize = function temp() {
         that.tableHeight = window.innerHeight - 175;

+ 4 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/quanx/quanx.vue

@@ -15,7 +15,7 @@
               <el-form-item style="float: right">
                   <el-link type="primary" :underline="false" @click="handleAdd('添加角色', '立即添加')">添加角色</el-link>
                   <el-link type="primary" :underline="false" @click="modify()" style="margin-left: 20px;">修改默认角色</el-link>
-                  <el-link type="primary" :underline="false" @click="exportAuthority()" style="margin-left:20px">导出权限</el-link>
+                  <!-- <el-link type="primary" :underline="false" @click="exportAuthority()" style="margin-left:20px">导出所有权限</el-link> -->
               </el-form-item>
           </el-form>
       </el-col>
@@ -32,7 +32,7 @@
                 <div>
                     <el-button size="small" @click="handleAdd('编辑角色', '立即修改', scope.row)" :style="scope.row.rolename != '超级管理员' ? '' : 'visibility:hidden;'">编辑角色</el-button>
                     <el-button type="primary" size="small" @click="shisha(scope.row.id), roleName = scope.row.rolename" v-if="scope.row.rolename !='超级管理员' || (scope.row.rolename =='超级管理员' && user.roleName == '超级管理员')">分配权限</el-button>
-                    
+                    <el-button size="small" @click="exportAuthority(scope.row)" >导出权限</el-button>
                     <el-button type="danger" size="small" @click="deteHand(scope.row)" v-if="scope.row.rolename != '超级管理员'">删除</el-button>
                 </div>
             </template>
@@ -153,7 +153,6 @@ export default {
         auseList: [],
         defaultRole: false,
         roleId: '',
-        cgRoleParamer: null,
         roleName: '',
         rules: {
           rolename: [{
@@ -268,8 +267,6 @@ export default {
               console.log(res.data, '数据来源')
               this.tableData = res.data
               this.auseList = res.data
-              let item = this.tableData.filter(item => item.rolename == '超级管理员')
-              this.cgRoleParamer = item[0].id
             } else {
                 this.$message({
                     message: res.msg,
@@ -463,9 +460,9 @@ export default {
               });
           });
       },
-      exportAuthority(){ // 导出权限
+      exportAuthority(row){ // 导出权限
         this.http.post('/permission/exportData',{
-          role: this.cgRoleParamer,
+          role: row.id,
           companyId: this.user.companyId
         },res => {
           if(res.code == 'ok'){

+ 9 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue

@@ -136,13 +136,18 @@
                         <el-link v-if="user.timeType.isSecretSalary==0" @click.native="showSalaryList(scope.row)"><i class="iconfont firerock-iconrecord"></i></el-link>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" width="330">
+                <el-table-column label="状态" width="160">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.isActive==0 ? '离职(' + scope.row.inactiveDate + ')' : '在职'}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" width="300">
                     <template slot-scope="scope">
                         <el-button size="mini" type="default" v-if="scope.row.roleName == '超级管理员' && user.id == scope.row.id" @click="transferRole(scope.row)">转让</el-button>
                         <el-button size="mini" type="default" v-if="scope.row.roleName != '超级管理员'" @click="resetPwd(scope.row)">重置</el-button>
                         <el-button size="mini" type="primary" v-if="scope.row.roleName != '超级管理员'" @click="openInsertDialog(scope.row)">编辑</el-button>
                         <el-button size="mini" type="primary" v-if="scope.row.roleName == '超级管理员'" @click="openInsertDialog1(scope.row)">编辑</el-button>
-                        <el-button size="mini" type="danger"  v-if="scope.row.roleName != '超级管理员'" @click="deleteUser(scope.row)">删除</el-button>
+                        <!-- <el-button size="mini" type="danger"  v-if="scope.row.roleName != '超级管理员'" @click="deleteUser(scope.row)">删除</el-button> -->
                         <el-button size="mini" type="default" v-if="scope.row.roleName != '超级管理员' && scope.row.isActive==1" @click="showDeactiveDialog(scope.row)">停用</el-button>
                         <el-button size="mini" type="success" v-if="scope.row.roleName != '超级管理员' && scope.row.isActive==0" @click="setActive(scope.row, 1)">启用</el-button>
                     </template>
@@ -309,6 +314,7 @@
 
             </el-form>
             <span slot="footer" class="dialog-footer">
+                <el-button type="danger" @click="deleteUser(insertForm)" style="float:left;">删除</el-button>
                 <el-button @click="dialogVisible=false">取消</el-button>
                 <el-button type="primary" @click="submitInsert('insertForm')" :loading="submitLoading">提交</el-button>
             </span>
@@ -1717,6 +1723,7 @@
                     // console.log('insertForm',this.insertForm);
                 }
                 this.dialogVisible = true;
+                console.log(this.insertForm);
             },
 
             submitInsert() {

+ 2 - 5
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -1831,12 +1831,9 @@
                 if(this.isBatch == 0) {
                     return
                 }
-                var stat = this.workForm.createDate[0]
-                var end = this.workForm.createDate[1]
-                // this.jsDay = 10
                 this.http.post('/report/getWorkDays',{ 
-                    startDate: stat,
-                    endDate: end
+                    startDate: this.workForm.createDate[0],
+                    endDate: this.workForm.createDate[1]
                 },
                 res => {
                     if (res.code == "ok") {