From 53166555724592b3aa0cc26c11308247fabbaf72 Mon Sep 17 00:00:00 2001 From: "lj7788@126.com" Date: Mon, 23 Jun 2025 16:17:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E8=80=83=E5=8B=A4?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/bim/briefingTools.js | 19 ++- .../manage/SurProjectAttendanceUserMapper.xml | 33 +++-- .../SurProjectAttendanceDataController.java | 111 ++++++++++++++ .../SurProjectAttendanceUserController.java | 137 +++++++++++++++++ .../src/api/manage/thirdAttendance.js | 10 ++ .../thirdLabor/attendanceData/index.vue | 27 ++++ .../thirdLabor/attendanceWorker/index.vue | 139 ++++++++++++++++++ 7 files changed, 459 insertions(+), 17 deletions(-) create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceDataController.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceUserController.java create mode 100644 yanzhu-ui-vue3/src/api/manage/thirdAttendance.js create mode 100644 yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceData/index.vue create mode 100644 yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceWorker/index.vue diff --git a/yanzhu-bigscreen/src/views/bim/briefingTools.js b/yanzhu-bigscreen/src/views/bim/briefingTools.js index b01ff7a5..221c3fb6 100644 --- a/yanzhu-bigscreen/src/views/bim/briefingTools.js +++ b/yanzhu-bigscreen/src/views/bim/briefingTools.js @@ -85,7 +85,8 @@ function subFeatureSize(that) { { name: "构建体积", data: [] }, ]; that.info = []; - api.Public.clearHandler(), api.Measurement.clearAllTrace(); + api.Public.clearHandler(); + api.Measurement.clearAllTrace(); api.Feature.getByEvent(true, (n) => { if (n && n["id"]) { let featureId = n.id; @@ -143,7 +144,21 @@ function measurementArea(that) { //构件体积 function measuringVolume(that) {} //构件距离 -function distance(that) {} +function distance(that) { + let api = bimBriefingApi; + that.info = []; + api.Public.clearHandler(); + api.Measurement.clearAllTrace(); + //开始测量,左键选点 + api.Measurement.distance(true, (data) => { + console.log(data); + }); + + //右键结束测量 + api.Public.event("RIGHT_CLICK", (res) => { + api.Measurement.distance(false); + }); +} //剖切 function initClipping(that) {} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/SurProjectAttendanceUserMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/SurProjectAttendanceUserMapper.xml index 8d5e42e8..fab4183e 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/SurProjectAttendanceUserMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/SurProjectAttendanceUserMapper.xml @@ -46,13 +46,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + SELECT * FROM ( - SELECT a.*,b.project_id,b.sub_dept_id + SELECT a.*,b.project_id,b.dept_id FROM sur_project_attendance_user a,attendance_cfg b WHERE a.cfgid=b.id ) sur_project_attendance_user @@ -63,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" u.groupId,u.leader,u.workTypeCode,u.specWorkType, u.hatCode,u.state,u.enterDate,u.exitDate,u.companyId,u.vendorId, u.teamId,u.teamName,u.enterType,u.is_del,u.create_by,u.create_time,u.update_by,u.update_time, - c.project_id,c.sub_dept_id,u.companyName,u.workTypeName,g.teamname groupName,g.companyName remark + c.project_id,c.dept_id,u.companyName,u.workTypeName,g.teamname groupName,g.companyName remark FROM sur_project_attendance_user u,attendance_cfg c,sur_project_attendance_group g WHERE u.cfgid=c.id AND g.companyid=u.companyid AND u.vendors_code='jgw' @@ -116,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and u.enterType = #{enterType} and u.other = #{other} and c.project_id = #{projectId} - and c.sub_dept_id = #{subDeptId} + and c.dept_id = #{subDeptId} and u.is_del = #{isDel} @@ -160,9 +160,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.create_by, a.create_time, a.update_by, - a.update_time,b.project_id,b.sub_dept_id,g.companyTypeId,g.companyName as remark + a.update_time,b.project_id,b.dept_id,g.companyTypeId,g.companyName as remark FROM sur_project_attendance_user a,attendance_cfg b,view_sur_project_attendance_group g - WHERE a.cfgid=b.id and a.companyId=g.companyId and g.id in(select min(id) from view_sur_project_attendance_group group by companyid) + WHERE a.cfgid=b.id + and a.cfgid = #{cfgid} + and + a.companyId=g.companyId and g.id in(select min(id) from view_sur_project_attendance_group group by companyid) ) sur_project_attendance_user @@ -216,7 +219,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and enterType = #{enterType} and other = #{other} and project_id = #{projectId} - and sub_dept_id = #{subDeptId} + and dept_id = #{subDeptId} and is_del = #{isDel} @@ -273,7 +276,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and enterType = #{enterType} and other = #{other} and project_id = #{projectId} - and sub_dept_id = #{subDeptId} + and dept_id = #{subDeptId} and is_del = #{isDel} @@ -458,7 +461,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ( SELECT * FROM sur_project_attendance_data WHERE DATE(attendance_time)=date(#{createBy}) AND cfgid IN ( - SELECT id FROM attendance_cfg WHERE project_id=#{projectId} AND sub_dept_id=#{subDeptId} + SELECT id FROM attendance_cfg WHERE project_id=#{projectId} AND dept_id=#{subDeptId} ) ) xx @@ -520,7 +523,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where u.cfgid=c.id and u.state=0 and u.companyId=g.companyId and u.workerid in( SELECT workerid FROM sur_project_attendance_data WHERE DATE(attendance_time)=date(#{createBy}) AND cfgid IN ( - SELECT id FROM attendance_cfg WHERE project_id=#{projectId} AND sub_dept_id=#{subDeptId} + SELECT id FROM attendance_cfg WHERE project_id=#{projectId} AND dept_id=#{subDeptId} ) group by workerid ) order by u.id limit #{index},#{size} @@ -648,8 +651,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" u.groupId,u.leader,u.workTypeCode,u.specWorkType, u.hatCode,u.state,u.enterDate,u.exitDate,u.companyId,u.vendorId, u.teamId,u.teamName,u.enterType,u.is_del,u.create_by,u.create_time,u.update_by,u.update_time, - b.project_id,b.sub_dept_id,u.companyName,u.workTypeName,u.groupName, - b.project_id,b.sub_dept_id, g.teamname remark,g.companyName degreeName + b.project_id,b.dept_id,u.companyName,u.workTypeName,u.groupName, + b.project_id,b.dept_id, g.teamname remark,g.companyName degreeName FROM sur_project_attendance_user u,attendance_cfg b,view_sur_project_attendance_group g,pro_project_info sp WHERE u.cfgid=b.id and u.state=0 and u.companyId=g.companyId and sp.is_Del=0 and b.project_id = sp.id @@ -682,8 +685,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" u.groupId,u.leader,u.workTypeCode,u.specWorkType, u.hatCode,u.state,u.enterDate,u.exitDate,u.companyId,u.vendorId, u.teamId,u.teamName,u.enterType,u.is_del,u.create_by,u.create_time,u.update_by,u.update_time, - b.project_id,b.sub_dept_id,u.companyName,u.workTypeName,u.groupName, - b.project_id,b.sub_dept_id, g.teamname remark,g.companyName degreeName,g.companyTypeId + b.project_id,b.dept_id,u.companyName,u.workTypeName,u.groupName, + b.project_id,b.dept_id, g.teamname remark,g.companyName degreeName,g.companyTypeId FROM sur_project_attendance_user u,attendance_cfg b,view_sur_project_attendance_group g,pro_project_info sp WHERE u.cfgid=b.id and u.companyId=g.companyId and sp.is_Del=0 and b.project_id = sp.id diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceDataController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceDataController.java new file mode 100644 index 00000000..bd3fa18e --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceDataController.java @@ -0,0 +1,111 @@ +package com.yanzhu.manage.controller; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.yanzhu.common.core.utils.poi.ExcelUtil; +import com.yanzhu.common.core.web.controller.BaseController; +import com.yanzhu.common.core.web.domain.AjaxResult; +import com.yanzhu.common.core.web.page.TableDataInfo; +import com.yanzhu.common.log.annotation.Log; +import com.yanzhu.common.log.enums.BusinessType; +import com.yanzhu.common.security.annotation.RequiresPermissions; +import com.yanzhu.manage.domain.SurProjectAttendanceData; +import com.yanzhu.manage.service.IAttendanceCfgService; +import com.yanzhu.manage.service.ISurProjectAttendanceDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 劳务实名制管理Controller + * + * @author ruoyi + * @date 2023-09-24 + */ +@RestController +@RequestMapping("/project/attendance") +public class SurProjectAttendanceDataController extends BaseController +{ + @Autowired + private ISurProjectAttendanceDataService surProjectAttendanceDataService; + + /** + * 查询劳务实名制管理列表 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceData:list')") + @GetMapping("/list") + public TableDataInfo list(SurProjectAttendanceData surProjectAttendanceData) + { + startPage(); + String tmp=surProjectAttendanceData.getAttendanceTime(); + if(StrUtil.isNotEmpty(tmp)){ + int year= DateUtil.parse(tmp).year(); + surProjectAttendanceData.setYear(year); + } + List list = surProjectAttendanceDataService.selectSurProjectAttendanceDataList(surProjectAttendanceData); + return getDataTable(list); + } + + /** + * 导出劳务实名制管理列表 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceData:list')") + @Log(title = "劳务实名制管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SurProjectAttendanceData surProjectAttendanceData) + { + String tmp=surProjectAttendanceData.getAttendanceTime(); + if(StrUtil.isNotEmpty(tmp)){ + int year= DateUtil.parse(tmp).year(); + surProjectAttendanceData.setYear(year); + } + List list = surProjectAttendanceDataService.selectSurProjectAttendanceDataList(surProjectAttendanceData); + ExcelUtil util = new ExcelUtil(SurProjectAttendanceData.class); + util.exportExcel(response, list, "劳务实名制管理数据"); + } + + /** + * 获取劳务实名制管理详细信息 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceData:list')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(surProjectAttendanceDataService.selectSurProjectAttendanceDataById(id)); + } + + /** + * 新增劳务实名制管理 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceData:add')") + @Log(title = "劳务实名制管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SurProjectAttendanceData surProjectAttendanceData) + { + return toAjax(surProjectAttendanceDataService.insertSurProjectAttendanceData(surProjectAttendanceData)); + } + + /** + * 修改劳务实名制管理 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceData:edit')") + @Log(title = "劳务实名制管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SurProjectAttendanceData surProjectAttendanceData) + { + return toAjax(surProjectAttendanceDataService.updateSurProjectAttendanceData(surProjectAttendanceData)); + } + + /** + * 删除劳务实名制管理 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceData:remove')") + @Log(title = "劳务实名制管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(surProjectAttendanceDataService.deleteSurProjectAttendanceDataByIds(ids)); + } +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceUserController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceUserController.java new file mode 100644 index 00000000..fbc6a1db --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SurProjectAttendanceUserController.java @@ -0,0 +1,137 @@ +package com.yanzhu.manage.controller; + + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.yanzhu.common.core.utils.poi.ExcelUtil; +import com.yanzhu.common.core.web.controller.BaseController; +import com.yanzhu.common.core.web.domain.AjaxResult; +import com.yanzhu.common.core.web.page.TableDataInfo; +import com.yanzhu.common.log.annotation.Log; +import com.yanzhu.common.log.enums.BusinessType; +import com.yanzhu.common.security.annotation.RequiresPermissions; +import com.yanzhu.manage.domain.SurProjectAttendanceUser; +import com.yanzhu.manage.service.ISurProjectAttendanceUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 考勤人员基本属性Controller + * + * @author ruoyi + * @date 2023-09-24 + */ +@RestController +@RequestMapping("/project/attendanceWorker") +public class SurProjectAttendanceUserController extends BaseController +{ + @Autowired + private ISurProjectAttendanceUserService surProjectAttendanceUserService; + + /** + * 查询考勤人员基本属性列表 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:list')") + @GetMapping("/query") + public TableDataInfo query(SurProjectAttendanceUser surProjectAttendanceUser) + { + startPage(); + List list = surProjectAttendanceUserService.querySurProjectAttendanceUserList(surProjectAttendanceUser); + return getDataTable(list); + } + + /** + * 查询考勤人员基本属性列表 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:list')") + @GetMapping("/list") + public TableDataInfo list(SurProjectAttendanceUser surProjectAttendanceUser) + { + startPage(); + List list = surProjectAttendanceUserService.selectSurProjectAttendanceUserList(surProjectAttendanceUser); + return getDataTable(list); + } + + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:list')") + @GetMapping("/listjgw") + public TableDataInfo listjgw(SurProjectAttendanceUser surProjectAttendanceUser) + { + startPage(); + List list = surProjectAttendanceUserService.selectSurProjectAttendanceUserListJgw(surProjectAttendanceUser); + return getDataTable(list); + } + /** + * 导出考勤人员基本属性列表 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:list')") + @Log(title = "考勤人员基本属性", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SurProjectAttendanceUser surProjectAttendanceUser) + { + List list = surProjectAttendanceUserService.selectSurProjectAttendanceUserList(surProjectAttendanceUser); + ExcelUtil util = new ExcelUtil(SurProjectAttendanceUser.class); + util.exportExcel(response, list, "考勤人员基本属性数据"); + } + + /** + * 获取考勤人员基本属性详细信息 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:list)") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(surProjectAttendanceUserService.selectSurProjectAttendanceUserById(id)); + } + + /** + * 新增考勤人员基本属性 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:add')") + @Log(title = "考勤人员基本属性", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SurProjectAttendanceUser surProjectAttendanceUser) + { + return toAjax(surProjectAttendanceUserService.insertSurProjectAttendanceUser(surProjectAttendanceUser)); + } + + /** + * 修改考勤人员基本属性 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:edit')") + @Log(title = "考勤人员基本属性", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SurProjectAttendanceUser surProjectAttendanceUser) + { + return toAjax(surProjectAttendanceUserService.updateSurProjectAttendanceUser(surProjectAttendanceUser)); + } + + /** + * 删除考勤人员基本属性 + */ + @RequiresPermissions("@ss.hasPermi('thirdLabor:attendanceWorker:remove')") + @Log(title = "考勤人员基本属性", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(surProjectAttendanceUserService.deleteSurProjectAttendanceUserByIds(ids)); + } + + @PostMapping("/queryAttendanceData") + public TableDataInfo queryAttendanceData(@RequestBody SurProjectAttendanceUser where){ + long cnt=surProjectAttendanceUserService.countAttendance(where); + List list =surProjectAttendanceUserService.queryAttendanceData(where); + TableDataInfo dataInfo=new TableDataInfo(); + dataInfo.setTotal(cnt); + dataInfo.setRows(list); + return dataInfo; + } +} diff --git a/yanzhu-ui-vue3/src/api/manage/thirdAttendance.js b/yanzhu-ui-vue3/src/api/manage/thirdAttendance.js new file mode 100644 index 00000000..924ad439 --- /dev/null +++ b/yanzhu-ui-vue3/src/api/manage/thirdAttendance.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +// 查询考勤人员基本属性列表 +export function queryAttendanceWorker(query) { + return request({ + url: '/manage/project/attendanceWorker/query', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceData/index.vue b/yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceData/index.vue new file mode 100644 index 00000000..64d1743b --- /dev/null +++ b/yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceData/index.vue @@ -0,0 +1,27 @@ + + + + + \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceWorker/index.vue b/yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceWorker/index.vue new file mode 100644 index 00000000..330e2482 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/manage/thirdLabor/attendanceWorker/index.vue @@ -0,0 +1,139 @@ + + + + +