Forráskód Böngészése

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

ggooalice 3 éve
szülő
commit
9af2bbefb5
13 módosított fájl, 226 hozzáadás és 20 törlés
  1. 3 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java
  2. 83 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectStageController.java
  3. 2 6
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/StagesController.java
  4. 10 4
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Project.java
  5. 43 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProjectStage.java
  6. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProjectStageMapper.java
  7. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectStageService.java
  8. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectStageServiceImpl.java
  9. 3 2
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml
  10. 17 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectStageMapper.xml
  11. 2 0
      fhKeeper/formulahousekeeper/timesheet/src/permissions.js
  12. 4 3
      fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue
  13. 7 3
      fhKeeper/formulahousekeeper/timesheet/src/views/workReport/list_import.vue

+ 3 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -533,10 +533,11 @@ public class ProjectController {
         return projectService.batchSetParticipation(request,projectIdArray,userIds);
     }
     @RequestMapping("/changeCurrentStage")
-    public HttpRespMsg changeCurrentStage(Integer projectId,String currentStage){
+    public HttpRespMsg changeCurrentStage(Integer projectId,Integer currentStageId,String currentStageName){
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         Project project = projectService.getById(projectId);
-        project.setCurrentStage(currentStage);
+        project.setCurrentStageId(currentStageId);
+        project.setCurrentStageName(currentStageName);
         if(projectService.updateById(project)){
             return httpRespMsg;
         }

+ 83 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectStageController.java

@@ -0,0 +1,83 @@
+package com.management.platform.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.entity.Project;
+import com.management.platform.entity.ProjectStage;
+import com.management.platform.mapper.UserMapper;
+import com.management.platform.service.ProjectService;
+import com.management.platform.service.ProjectStageService;
+import com.management.platform.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-18
+ */
+@RestController
+@RequestMapping("/project-stage")
+public class ProjectStageController {
+    @Autowired
+    private ProjectStageService projectStageService;
+    @Resource
+    private UserMapper userMapper;
+    @Resource
+    private ProjectService projectService;
+
+    @RequestMapping("/list")
+    public HttpRespMsg list(HttpServletRequest request){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<ProjectStage> projectStageList = projectStageService.list(new QueryWrapper<ProjectStage>().eq("company_id", companyId));
+        httpRespMsg.data=projectStageList;
+        return httpRespMsg;
+    }
+    @RequestMapping("/addOrMod")
+    public HttpRespMsg addOrMod(ProjectStage projectStage, HttpServletRequest request){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        projectStage.setCompanyId(companyId);
+        if(projectStage.getId()!=null){
+            int cut = projectStageService.count(new QueryWrapper<ProjectStage>().eq("project_stage_name", projectStage.getProjectStageName()).eq("company_id",companyId).ne("id",projectStage.getId()));
+            if(cut>0){
+                httpRespMsg.setError("阶段名称已存在");
+                return httpRespMsg;
+            }
+            projectStageService.updateById(projectStage);
+        }else {
+            int cut = projectStageService.count(new QueryWrapper<ProjectStage>().eq("project_stage_name", projectStage.getProjectStageName()).eq("company_id", companyId));
+            if(cut>0){
+                httpRespMsg.setError("阶段名称已存在");
+                return httpRespMsg;
+            }
+            projectStageService.save(projectStage);
+        }
+        return httpRespMsg;
+    }
+    @RequestMapping("/delete")
+    public HttpRespMsg delete(Integer id){
+        HttpRespMsg httpRespMsg =new HttpRespMsg();
+        int cut = projectService.count(new QueryWrapper<Project>().eq("current_stage_id", id));
+        if(cut>0){
+            httpRespMsg.setError("该阶段已被使用");
+            return httpRespMsg;
+        }
+        if(projectStageService.removeById(id)){
+            return httpRespMsg;
+        }
+        httpRespMsg.setError("参数异常");
+        return httpRespMsg;
+    }
+
+}
+

+ 2 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/StagesController.java

@@ -2,24 +2,18 @@ package com.management.platform.controller;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.api.R;
 import com.management.platform.entity.*;
 import com.management.platform.entity.vo.SysRichFunction;
 import com.management.platform.mapper.*;
 import com.management.platform.service.StagesService;
-import com.management.platform.service.TaskGroupService;
 import com.management.platform.service.TaskService;
 import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.ListUtil;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.time.LocalDate;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -56,6 +50,8 @@ public class StagesController {
      */
     @RequestMapping("/save")
     public HttpRespMsg save(Stages item) {
+        String trim = item.getStagesName().trim();
+        item.setStagesName(trim);
         HttpRespMsg msg = new HttpRespMsg();
         //检查名称是否已经存在
         boolean findSameName = false;

+ 10 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Project.java

@@ -21,7 +21,7 @@ import java.util.Map;
  * </p>
  *
  * @author Seyason
- * @since 2022-07-12
+ * @since 2022-07-18
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -277,10 +277,16 @@ public class Project extends Model<Project> {
     private String providerNames;
 
     /**
-     * 当前任务阶段
+     * 阶段id
      */
-    @TableField("current_stage")
-    private String currentStage;
+    @TableField("current_stage_id")
+    private Integer currentStageId;
+
+    /**
+     * 当前任务阶段名称
+     */
+    @TableField("current_stage_name")
+    private String currentStageName;
 
 
     @Override

+ 43 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProjectStage.java

@@ -0,0 +1,43 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ProjectStage extends Model<ProjectStage> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("project_stage_name")
+    private String projectStageName;
+
+    @TableField("company_id")
+    private Integer companyId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

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

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

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

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

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

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

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 3 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml


+ 17 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectStageMapper.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.ProjectStageMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ProjectStage">
+        <id column="id" property="id" />
+        <result column="project_stage_name" property="projectStageName" />
+        <result column="company_id" property="companyId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, project_stage_name, company_id
+    </sql>
+
+</mapper>

+ 2 - 0
fhKeeper/formulahousekeeper/timesheet/src/permissions.js

@@ -14,6 +14,7 @@ const StringUtil = {
         projectCorrection: false, // 校正成本基线 (项目里面的成本基线的编辑) //
         projectContract: false, // 查看合同金额 //
         projectAllocate: false, // 下拨成本预算 //
+        projectPhase: false, // 项目阶段管理 // 
 
         // 组织架构
         structurePersonnel: false, // 人员成本管理 (月成本,时薪,操作) //
@@ -156,6 +157,7 @@ const StringUtil = {
         arr[i] == '查看成本统计' ? obj.countCost = true : ''
         arr[i] == '项目报表' ? obj.reportProject = true : ''
         arr[i] == '批量填报' ? obj.reportBatch = true : ''
+        arr[i] == '项目阶段管理' ? obj.projectPhase = true : ''
     }
 
     return obj

+ 4 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -90,7 +90,7 @@
                             <el-dropdown-item v-if="user.timeType.mainProjectState == 1">
                                 <el-link type="primary" :underline="false" @click="mainProjectDialog = true">主项目管理</el-link>
                             </el-dropdown-item>
-                            <el-dropdown-item v-if="user.company.packageProvider">
+                            <el-dropdown-item v-if="permissions.projectPhase && user.company.packageProject == 1">
                                 <el-link type="primary" :underline="false" @click="phaseProjectDialog = true">项目阶段管理</el-link>
                             </el-dropdown-item>
                         </el-dropdown-menu>
@@ -151,7 +151,7 @@
             </el-table-column>
 
             <!-- 项目阶段 -->
-            <el-table-column prop="currentStage" label="项目阶段" sortable="custom" min-width="150" width="220" v-if="user.company.packageProject == 1">
+            <el-table-column prop="currentStage" label="项目阶段" sortable="custom" min-width="150" width="220" v-if="user.company.packageProject == 1 && permissions.projectPhase">
                 <template slot-scope="scope">
                     <span style="display: inline-block; width: 150px">
                         <el-select v-model="phaseProjectValie" v-if="scope.row.index + ',' + scope.column.index == currentCell" :ref="scope.row.index + ',' + scope.column.index" filterable placeholder="请选择项目阶段" size="mini" @blur="hideSelect" @change="selectChange">
@@ -643,7 +643,8 @@
         <!-- 新增/编辑主项目 -->
         <el-dialog title="新增/修改主项目" v-if="addFlgmainProjectDialog" :visible.sync="addFlgmainProjectDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
             <el-form ref="form2" :model="addMainForm" :rules="rules" label-width="100px">
-                <el-form-item label="主项目编号" prop="code">
+                <!-- <el-form-item label="主项目编号" prop="code"> -->
+                <el-form-item label="主项目编号">
                     <el-input v-model="addMainForm.code" placeholder="请输入编号" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="主项目名称" prop="name">

+ 7 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/list_import.vue

@@ -157,7 +157,7 @@
         <!-- 审核记录弹窗 -->
         <el-dialog title="审核记录" :visible.sync="recordDialogVisible" width="800px" :before-close="handleClose">
             <div style="height: 430px">
-                <el-table :data="recordLists" style="width: 100%" height="400">
+                <el-table :data="recordLists" style="width: 100%" height="400" v-loading="recordLoading">
                     <el-table-column prop="userName" label="操作人" width="150"></el-table-column>
                     <el-table-column prop="indate" label="审核时间"></el-table-column>
                     <el-table-column prop="result" label="审核结果"></el-table-column>
@@ -242,20 +242,23 @@
                 recordLists: [],
                 totals: 0,
                 pageIndexList: 1,
-                pageSizeList: 20
+                pageSizeList: 20,
+                recordLoading: false
+
             };
         },
         methods: {
             // 获取审核记录
             recordList() {
                 // this.recordDialogVisible = true
-                // return
+                this.recordLoading = true
                 this.http.post( '/report-audit-log/getImportAuditLog', {
                     companyId: this.user.companyId,
                     pageIndex: this.pageIndexList,
                     pageSize: this.pageSizeList
                 },
                 res => {
+                    this.recordLoading = false
                     if (res.code == "ok") {
                         console.log(res.data, '数据')
                         this.recordLists = res.data.records
@@ -268,6 +271,7 @@
                     }
                 },
                 error => {
+                    this.recordLoading = false
                     this.$message({
                         message: error,
                         type: "error"