diff --git a/docsql/2026/04/大屏.md b/docsql/2026/04/大屏.md new file mode 100644 index 00000000..272d05c1 --- /dev/null +++ b/docsql/2026/04/大屏.md @@ -0,0 +1,44 @@ +# yanzhu-bigscreen 项目中调用的 attendance_ubi_data 相关 Mapper 方法 + +## 完整对应关系 + + +| 后台 Mapper 方法 | yanzhu-bigscreen 调用位置 | 调用文件 | +| ------------------------------------- | -------------------------------- | -------------------------------------- | +| **AttendanceUbiDataMapper** | | | +| `selectAttendanceUbiDataList[ok]` | `attendanceUbiDataList()` | src/api/detail.js | +| | → attendanceInfoDlg.vue#L168 | src/views/detail/attendanceInfoDlg.vue | +| **ProProjectInfoSubdeptsUsersMapper** | | | +| `groupByCraftTypeByAttendance[ok]` | `groupByCraftTypeByAttendance()` | src/api/detail.js | +| | → projectDetail.vue#L715 | src/views/projectDetail.vue | +| | → projectLabor.vue#L523 | src/views/projectLabor.vue | +| `getWorkerCountGroupByType` | `getWorkerCountGroupByType()` | src/api/labor.js | +| | → projectLabor.vue#L230 | src/views/projectLabor.vue | +| `getAttendanceAlert[ok]` | `getAttendanceAlert()` | src/api/labor.js | +| | → projectLabor.vue#L231 | src/views/projectLabor.vue | +| `getRealAttendance[ok]` | `getRealAttendance()` | src/api/labor.js | +| | → projectLabor.vue#L229 | src/views/projectLabor.vue | +| `groupAttendanceLastWeek` | `groupAttendanceLastWeek()` | src/api/labor.js | +| | → projectLabor.vue#L228 | src/views/projectLabor.vue | + + + + +## yanzhu-bigscreen 中未调用的方法 + +以下后台方法虽然在 Mapper 中存在,但 **未在 yanzhu-bigscreen 项目中调用**: + + +| Mapper | 未调用的方法 | +| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **AttendanceUbiDataMapper** | `queryAttendaceInfo`、`queryStatistics`、`queryStatisticsByUserIds`、`selectAttendanceUbiDataById`、`insertAttendanceUbiData`、`updateAttendanceUbiData`、`deleteAttendanceUbiDataById`、`deleteAttendanceUbiDataByIds`、`statsAttendanceDays`、`statsAttendanceView` | +| **ProProjectInfoSubdeptsUsersMapper** | `getEduCompletedCount` | +| **QuartzProAttendanceDataMapper** | 全部未调用(该 Mapper 属于 job 模块) | + +## 汇总 + + +| 状态 | 数量 | +| --------------------------- | --------- | +| **yanzhu-bigscreen 已调用** | 6 个方法 | +| **未调用** | 11 个方法 | diff --git a/yanzhu-bigscreen/package-lock.json b/yanzhu-bigscreen/package-lock.json index 4bb31523..a0f7d24a 100644 --- a/yanzhu-bigscreen/package-lock.json +++ b/yanzhu-bigscreen/package-lock.json @@ -12328,7 +12328,7 @@ }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, "license": "MIT", diff --git a/yanzhu-bigscreen/vue.config.js b/yanzhu-bigscreen/vue.config.js index 05a75b89..ec47f21a 100644 --- a/yanzhu-bigscreen/vue.config.js +++ b/yanzhu-bigscreen/vue.config.js @@ -91,31 +91,20 @@ module.exports = defineConfig({ }); }, configureWebpack: (config) => { - if (process.env.NODE_ENV === "production") { - config.externals = { - vue: "Vue", - }; - } + config.externals = { + vue: "Vue", + }; // 为了解决 ezuikit-js 中的 require is not defined 问题 if (!config.resolve) { config.resolve = {}; } - if (!config.resolve.fallback) { - config.resolve.fallback = {}; + if (!config.resolve.alias) { + config.resolve.alias = {}; } - Object.assign(config.resolve.fallback, { - "path": require.resolve("path-browserify"), - "buffer": require.resolve("buffer"), - "stream": require.resolve("stream-browserify"), - "crypto": require.resolve("crypto-browserify"), - "http": require.resolve("stream-http"), - "https": require.resolve("https-browserify"), - "os": require.resolve("os-browserify"), - "url": require.resolve("url/"), - "zlib": require.resolve("browserify-zlib") - }); + // 使用 ezuikit.js 的 UMD 版本,避免 require is not defined 错误 + config.resolve.alias['ezuikit-js'] = require.resolve('ezuikit-js/ezuikit.js'); // 添加插件提供全局变量 config.plugins = (config.plugins || []).concat([ diff --git a/yanzhu-bigscreen/yarn.lock b/yanzhu-bigscreen/yarn.lock index 9fd39ffe..c526ad1b 100644 --- a/yanzhu-bigscreen/yarn.lock +++ b/yanzhu-bigscreen/yarn.lock @@ -6882,7 +6882,7 @@ process-nextick-args@~2.0.0: process@^0.11.10, process@0.11.10: version "0.11.10" - resolved "https://registry.npmmirror.com/process/-/process-0.11.10.tgz" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== progress-webpack-plugin@^1.0.12: diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdeptsUsers.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdeptsUsers.java index 70928082..66c6e351 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdeptsUsers.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfoSubdeptsUsers.java @@ -38,6 +38,8 @@ public class ProProjectInfoSubdeptsUsers extends BaseEntity /** 分包单位 */ private Long subDeptId; + private Long cfgId; + /** 分包单位名称 */ private String subDeptName; @@ -203,6 +205,14 @@ public class ProProjectInfoSubdeptsUsers extends BaseEntity /** 数据来源 */ private String source; + public Long getCfgId() { + return cfgId; + } + + public void setCfgId(Long cfgId) { + this.cfgId = cfgId; + } + public Long getId() { return id; } diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoSubdeptsUsersMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoSubdeptsUsersMapper.java index 8c4468a2..ebf74a3a 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoSubdeptsUsersMapper.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoSubdeptsUsersMapper.java @@ -190,7 +190,7 @@ public interface ProProjectInfoSubdeptsUsersMapper * @param prjId * @return */ - List getAttendanceAlert(@Param("projectId")Long prjId); + List getAttendanceAlert(@Param("projectId")Long prjId,@Param("cfgId")Long cfgId); /** * 完成三级安全教育人数 diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/AttendanceCfgMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/AttendanceCfgMapper.xml index ece941ad..ebc912ff 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/AttendanceCfgMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/AttendanceCfgMapper.xml @@ -132,7 +132,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" \ No newline at end of file diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsUsersMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsUsersMapper.xml index 28333977..4309b83c 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsUsersMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsUsersMapper.xml @@ -367,8 +367,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and com_id = #{comId} and project_id = #{projectId} + and cfg_id=#{cfgId} and (date(inTime)= date( #{createTime}) or date(outTime)=date( #{createTime}))) + GROUP BY craft_type @@ -483,6 +485,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" join ( select userId,max(ifNull(inTime,outTime)) dt from attendance_ubi_data where projectid=#{projectId} and is_del!=1 + and cfg_id=#{cfgId} group by userId order by max(ifNull(inTime,outTime)) ) att on us.id=att.userId diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/LaborController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/LaborController.java index b612173c..2144aa08 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/LaborController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/LaborController.java @@ -112,6 +112,7 @@ public class LaborController extends BaseController { @GetMapping("/getAttendanceAlert/{type}/{prjId}") public AjaxResult getAttendanceAlert(@PathVariable("type")String type, @PathVariable("prjId") Long prjId){ if("uni".equals(type.toLowerCase())){ + List sList=proProjectInfoSubdeptsUsersService.getAttendanceAlert(prjId); return AjaxResult.success(sList); }else{ diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java index 226f5fcc..95c300ef 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java @@ -73,6 +73,12 @@ public class AttendanceUbiDataServiceImpl implements IAttendanceUbiDataService @Override public List selectAttendanceUbiDataList(AttendanceUbiData attendanceUbiData) { + if(attendanceUbiData.getCfgId()==null){ + AttendanceCfg cfg=attendanceCfgService.getDefaultAttendanceCfg(attendanceUbiData.getProjectId(),attendanceUbiData.getComId()); + if(cfg!=null){ + attendanceUbiData.setCfgId(cfg.getId()); + } + } return attendanceUbiDataMapper.selectAttendanceUbiDataList(attendanceUbiData); } @@ -135,6 +141,12 @@ public class AttendanceUbiDataServiceImpl implements IAttendanceUbiDataService @Override public List queryStatistics(AttendanceUbiData attendanceUbiData) { + if(attendanceUbiData.getCfgId()==null){ + AttendanceCfg cfg=attendanceCfgService.getDefaultAttendanceCfg(attendanceUbiData.getProjectId(),attendanceUbiData.getComId()); + if(cfg!=null){ + attendanceUbiData.setCfgId(cfg.getId()); + } + } return attendanceUbiDataMapper.queryStatistics(attendanceUbiData); } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java index d4ce127b..63a6b7b2 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java @@ -17,6 +17,7 @@ import com.yanzhu.manage.config.ProfileConfig; import com.yanzhu.manage.domain.*; import com.yanzhu.manage.enums.*; import com.yanzhu.manage.mapper.*; +import com.yanzhu.manage.service.IAttendanceCfgService; import com.yanzhu.manage.service.IProProjectInfoSubdeptsUsersService; import com.yanzhu.manage.service.IProUserInoutRecordService; import com.yanzhu.manage.service.IUniService; @@ -95,6 +96,9 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu @Autowired private IBaiduFaceService baiduFaceService; + @Autowired + private IAttendanceCfgService attendanceCfgService; + private static final Logger log = LoggerFactory.getLogger(ProProjectInfoSubdeptsUsersServiceImpl.class); @@ -1577,6 +1581,10 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu */ @Override public List groupByCraftTypeByAttendance(ProProjectInfoSubdeptsUsers where) { + AttendanceCfg cfg=attendanceCfgService.getDefaultAttendanceCfg(where.getProjectId(),where.getComId()); + if(cfg!=null){ + where.setCfgId(cfg.getId()); + } return proProjectInfoSubdeptsUsersMapper.groupByCraftTypeByAttendance(where); } @@ -1851,7 +1859,9 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu */ @Override public List getAttendanceAlert(Long prjId) { - return proProjectInfoSubdeptsUsersMapper.getAttendanceAlert(prjId); + AttendanceCfg cfg= attendanceCfgService.getDefaultAttendanceCfg(prjId,null); + Long cfgId=cfg!=null?cfg.getId():null; + return proProjectInfoSubdeptsUsersMapper.getAttendanceAlert(prjId,cfgId); } /** diff --git a/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue b/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue index ad11967b..cd47d135 100644 --- a/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue +++ b/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue @@ -168,10 +168,8 @@ - - {{ form.isDefault === 1 ? '是' : '否' }} - - + +