diff --git a/ruoyi-ui/src/api/project/surProjectAttendance.js b/ruoyi-ui/src/api/project/surProjectAttendance.js index 84144c89..5e532458 100644 --- a/ruoyi-ui/src/api/project/surProjectAttendance.js +++ b/ruoyi-ui/src/api/project/surProjectAttendance.js @@ -42,3 +42,14 @@ export function delSurProjectAttendance(id) { method: 'delete' }) } + + + +// 查询当前出勤记录 +export function selectByDate(data) { + return request({ + url: '/project/surProjectAttendance/selectByDate', + method: 'post', + data:data + }) +} diff --git a/ruoyi-ui/src/store/getters.js b/ruoyi-ui/src/store/getters.js index 8adb1b65..6de9f893 100644 --- a/ruoyi-ui/src/store/getters.js +++ b/ruoyi-ui/src/store/getters.js @@ -8,6 +8,7 @@ const getters = { token: state => state.user.token, avatar: state => state.user.avatar, name: state => state.user.name, + dept:state=>state.user.dept, introduction: state => state.user.introduction, roles: state => state.user.roles, permissions: state => state.user.permissions, diff --git a/ruoyi-ui/src/store/modules/user.js b/ruoyi-ui/src/store/modules/user.js index e51638d8..ba166675 100644 --- a/ruoyi-ui/src/store/modules/user.js +++ b/ruoyi-ui/src/store/modules/user.js @@ -6,6 +6,7 @@ const user = { token: getToken(), name: '', avatar: '', + dept:null, roles: [], permissions: [] }, @@ -25,6 +26,9 @@ const user = { }, SET_PERMISSIONS: (state, permissions) => { state.permissions = permissions + }, + SET_DEPT: (state, dept) => { + state.dept = dept } }, @@ -36,7 +40,7 @@ const user = { const code = userInfo.code const uuid = userInfo.uuid return new Promise((resolve, reject) => { - login(username, password, code, uuid).then(res => { + login(username, password, code, uuid).then(res => { setToken(res.token) commit('SET_TOKEN', res.token) resolve() @@ -49,7 +53,7 @@ const user = { // 获取用户信息 GetInfo({ commit, state }) { return new Promise((resolve, reject) => { - getInfo().then(res => { + getInfo().then(res => { const user = res.user const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.png") : process.env.VUE_APP_BASE_API + user.avatar; if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 @@ -59,6 +63,7 @@ const user = { commit('SET_ROLES', ['ROLE_DEFAULT']) } commit('SET_NAME', user.userName) + commit("SET_DEPT",user.dept); commit('SET_AVATAR', avatar) resolve(res) }).catch(error => { @@ -72,6 +77,7 @@ const user = { return new Promise((resolve, reject) => { logout(state.token).then(() => { commit('SET_TOKEN', '') + commit("SET_DEPT",null); commit('SET_ROLES', []) commit('SET_PERMISSIONS', []) removeToken() diff --git a/ruoyi-ui/src/views/project/surProject/index.vue b/ruoyi-ui/src/views/project/surProject/index.vue index 0755a4d2..ccc92ae6 100644 --- a/ruoyi-ui/src/views/project/surProject/index.vue +++ b/ruoyi-ui/src/views/project/surProject/index.vue @@ -216,7 +216,7 @@ 项目特种人员 项目出勤记录 + v-hasPermi="['project:surProjectAttendance:add']">今日出勤 删除项目 @@ -473,6 +473,7 @@ size="50%" :visible.sync="projectSpecialDrawerVisible" :form-data="formData"> + @@ -486,11 +487,12 @@ import buildNodeDrawer from '../surBuildNode/buildNodeDrawer.vue' import workTrainDrawer from '../../work/workTrain/workTrainDrawer.vue' import emergencyDrillDrawer from '../../work/emergencyDrill/emergencyDrillDrawer.vue' import surProjectSpecialDrawer from '../surProjectSpecial/surProjectSpecialDrawer.vue' +import attendanceDrawer from '../surProjectAttendance/attendanceDrawer.vue' export default { name: "SurProject", components:{ - ProjectScheduleDlg,projectUserInfoDrawer,BaiduMap,AssessDrawer,buildNodeDrawer,workTrainDrawer,emergencyDrillDrawer,surProjectSpecialDrawer + attendanceDrawer, ProjectScheduleDlg,projectUserInfoDrawer,BaiduMap,AssessDrawer,buildNodeDrawer,workTrainDrawer,emergencyDrillDrawer,surProjectSpecialDrawer }, dicts: ['sys_check_state','sur_project_xmjd', 'project_build_type', 'sys_common_isdel', 'project_category','project_level','sur_project_weight'], data() { @@ -710,6 +712,9 @@ export default { case "handleProjectSpecial": this.handleProjectSpecial(row); break; + case "handleProjectAttendance": + this.$refs.attDrawer.show(row); + break; default: break; } diff --git a/ruoyi-ui/src/views/project/surProject/myIndex.vue b/ruoyi-ui/src/views/project/surProject/myIndex.vue index 58481a7e..8d3ff0da 100644 --- a/ruoyi-ui/src/views/project/surProject/myIndex.vue +++ b/ruoyi-ui/src/views/project/surProject/myIndex.vue @@ -123,10 +123,12 @@ 进度管理 季度考核管理 计划节点管理 + 今日出勤 + @@ -135,11 +137,12 @@ import { listSurProject} from "@/api/project/surProject"; import ProjectScheduleDlg from '../surProjectSchedule/ProjectScheduleDlg.vue' import AssessDrawer from '../surProjectQuarterlyAssess/assessDrawer.vue' import buildNodeDrawer from '../surBuildNode/buildNodeDrawer.vue' +import attendanceDrawer from '../surProjectAttendance/attendanceDrawer.vue' export default { dicts: ['sys_check_state','sur_project_xmjd', 'project_build_type', 'sys_common_isdel', 'project_category','project_level','sur_project_weight'], name: 'RuoyiUiMyIndex', components:{ - ProjectScheduleDlg,AssessDrawer,buildNodeDrawer + ProjectScheduleDlg,AssessDrawer,buildNodeDrawer,attendanceDrawer }, data() { return { @@ -154,6 +157,9 @@ export default { }, methods: { + doPrjAttendance(){ + this.$refs.attDrawer.show(this.prj); + }, getWeight(v){ let tmps=this.dict.type.sur_project_weight.filter(d=>d.value==v); return tmps.length>0?tmps[0].label:''; diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java index 69e31d9c..87906594 100644 --- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java +++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java @@ -55,14 +55,14 @@ public class ProjectController { * @return */ @GetMapping("getProgressProjects") - public AjaxResult getProgressProjects(){ - String key="bgscreen_prj_getProgressProjects"; + public AjaxResult getProgressProjects(long deptId){ + String key="bgscreen_prj_getProgressProjects_"+deptId; Object obj=redisCache.getCacheObject(key); if(obj!=null){ return AjaxResult.success(obj); } - List list= isurProjectService.selectProgressProjects(); + List list= isurProjectService.selectProgressProjects(deptId); redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); return AjaxResult.success(list); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectWorkAttendanceController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectWorkAttendanceController.java index 73d21ca3..db2d92b5 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectWorkAttendanceController.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectWorkAttendanceController.java @@ -2,6 +2,8 @@ package com.yanzhu.jh.project.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.utils.file.ImageUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -101,4 +103,10 @@ public class SurProjectWorkAttendanceController extends BaseController { return toAjax(surProjectWorkAttendanceService.deleteSurProjectWorkAttendanceByIds(ids)); } + + @PreAuthorize("@ss.hasPermi('project:surProjectAttendance:query')") + @PostMapping("/selectByDate") + public AjaxResult selectByDate(@RequestBody SurProjectWorkAttendance surProjectWorkAttendance){ + return AjaxResult.success(surProjectWorkAttendanceService.selectByDate(surProjectWorkAttendance)); + } } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java index c6cc5c3c..7a3ab7a6 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java @@ -74,7 +74,7 @@ public interface SurProjectMapper */ public List groupByLevel(SurProject surProject); - public List selectProgressProjects(); + public List selectProgressProjects(long deptId); public List groupByProjectCategory(); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectWorkAttendanceMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectWorkAttendanceMapper.java index dc39c6e9..7776c727 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectWorkAttendanceMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectWorkAttendanceMapper.java @@ -58,4 +58,6 @@ public interface SurProjectWorkAttendanceMapper * @return 结果 */ public int deleteSurProjectWorkAttendanceByIds(Long[] ids); + + public List selectByDate(SurProjectWorkAttendance surProjectWorkAttendance); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java index 5470c053..4bef261f 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java @@ -59,7 +59,7 @@ public interface ISurProjectService */ public int deleteSurProjectById(Long id); - public List selectProgressProjects(); + public List selectProgressProjects(long deptId); public List groupByProjectCategory(); diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectWorkAttendanceService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectWorkAttendanceService.java index 7f2ccab3..35f135f2 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectWorkAttendanceService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectWorkAttendanceService.java @@ -58,4 +58,6 @@ public interface ISurProjectWorkAttendanceService * @return 结果 */ public int deleteSurProjectWorkAttendanceById(Long id); + + public List selectByDate(SurProjectWorkAttendance surProjectWorkAttendance); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java index 8bee8f6b..87e7be06 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java @@ -96,8 +96,8 @@ public class SurProjectServiceImpl implements ISurProjectService } @Override - public List selectProgressProjects() { - return surProjectMapper.selectProgressProjects(); + public List selectProgressProjects(long deptId) { + return surProjectMapper.selectProgressProjects(deptId); } @Override diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectWorkAttendanceServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectWorkAttendanceServiceImpl.java index 2afbd003..2d1b5932 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectWorkAttendanceServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectWorkAttendanceServiceImpl.java @@ -95,4 +95,9 @@ public class SurProjectWorkAttendanceServiceImpl implements ISurProjectWorkAtten { return surProjectWorkAttendanceMapper.deleteSurProjectWorkAttendanceById(id); } + + @Override + public List selectByDate(SurProjectWorkAttendance surProjectWorkAttendance) { + return surProjectWorkAttendanceMapper.selectByDate(surProjectWorkAttendance); + } } diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectBuildNodeDataMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectBuildNodeDataMapper.xml index 3cb72a5e..94405973 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectBuildNodeDataMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectBuildNodeDataMapper.xml @@ -26,6 +26,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -47,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select * from ( - SELECT a.id, node_id, project_id, start_date, end_date, STATUS, a.remark, files, a.is_del, a.create_by, a.create_time, a.update_by, a.update_time ,node_text,node_lvl + SELECT a.id, node_id, project_id, start_date, end_date,plan_start_date,plan_end_date, STATUS, a.remark, files, a.is_del, a.create_by, a.create_time, a.update_by, a.update_time ,node_text,node_lvl FROM sur_project_build_node_data a,base_build_node b WHERE a.node_id=b.id ) sur_project_build_node_data diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml index 120c5898..cf7c28c6 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml @@ -303,9 +303,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) a RIGHT JOIN sys_dict_data b ON a.dict_value=b.dict_value WHERE b.dict_type='project_level' ORDER BY cnt DESC - where progressVisible = 0 + and deptid=#{deptId} order by projectSort,projectName diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectWorkAttendanceMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectWorkAttendanceMapper.xml index c9e2e2ad..21885c1a 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectWorkAttendanceMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectWorkAttendanceMapper.xml @@ -100,4 +100,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + \ No newline at end of file