diff --git a/attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue b/attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue index 2e636aad01263e5073851d92ee87d66fd3f0f3a1..c6c9842b4276c458ace34384fa7c8741aa3ef105 100644 --- a/attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue +++ b/attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue @@ -54,7 +54,7 @@ } }) this.$nextTick(() => { - this.selection = arr.map(item => item.id) + this.selection = arr.map(item => item.id) }) if(arr.length < 1){ this.$message.error('璇疯嚦灏戦€夋嫨涓€鏉″鐞�') @@ -100,12 +100,12 @@ label: "鍏ㄩ儴鑰冨嫟缁�", fuzzy: false }, - { +/* { name: "classId", type: "select", label: "鍏ㄩ儴鐝", fuzzy: false - }, + },*/ { name: "errorStatus", type: "select", @@ -149,8 +149,8 @@ {label: "鍛樺伐濮撳悕", prop: "staffName",fixed:'left',width:100}, {label: "宸ュ彿", prop: "workNum"}, {label: "閮ㄩ棬", prop: "deptName"}, - {label: "鑰冨嫟缁�", prop: "deptName"}, - {label: "鐝", prop: "shiftsName"}, + {label: "鑰冨嫟缁�", prop: "attendanceGroupName"}, + /* {label: "鐝", prop: "shiftsName"},*/ {label: "寮傚父鐘舵€�", prop: "errorStatus",formatter: this.formattereErrorStatus}, {label: "寮傚父鏃堕棿", prop: "errorDateTime", formatter: this.formatterDate}, {label: "澶勭悊缁撴灉", prop: "processResult", formatter: this.formatters}, @@ -175,7 +175,7 @@ }else{ return ( <span> - + <el-button type="text" size='mini' onClick={() => { this.reCancle(row) }}>鎾ら攢</el-button> @@ -192,4 +192,4 @@ } } } -</script> \ No newline at end of file +</script> diff --git a/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue b/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue index 81ec4d08bd06c01ad815325169c8306ac60bf1ec..ba45569b54b6b83c6a2cf2f8c6f0370e62641984 100644 --- a/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue +++ b/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue @@ -498,12 +498,11 @@ export default { { label: "鍛樺伐宸ュ彿", prop: "workNum" }, { label: "鑰冨嫟缁�", - prop: "attendanceGroupName", - formatter: this.formatters, + prop: "attendanceGroupName" }, - { label: "閮ㄩ棬", prop: "deptName", formatter: this.formatters }, - { label: "鑱屼綅", prop: "positionName", formatter: this.formatters }, - { label: "鐝", prop: "shiftsName", formatter: this.formatters }, + { label: "閮ㄩ棬", prop: "deptName" }, + { label: "鑱屼綅", prop: "positionName"}, + { label: "鐝", prop: "classId", formatter: this.formatter }, { label: "绛惧埌缁撴灉", prop: "signInResult", diff --git a/attendance-performance-manager-ui/admin/vue.config.js b/attendance-performance-manager-ui/admin/vue.config.js index b6ab791e4089fa5a330860442c62369cd0509817..029c521073cca3bae911a32b53717ea5a427b05c 100644 --- a/attendance-performance-manager-ui/admin/vue.config.js +++ b/attendance-performance-manager-ui/admin/vue.config.js @@ -17,9 +17,9 @@ module.exports = { hot: true,//鑷姩淇濆瓨 proxy: { '/attendance': { - target: 'http://192.168.0.98:11039', + //target: 'http://192.168.0.98:11039', // target: 'http://112.19.80.237:11039', - // target: 'http://localhost:17500', + target: 'http://localhost:17500', changeOrigin: true, secure: false, cookieDomainRewrite: 'localhost', diff --git a/attendance-performance-manager/pom.xml b/attendance-performance-manager/pom.xml index 4a0d088a22ab6bc86d8caa20f2776ab2be2d9fc2..21190e922ee2ef131559302805dc85a6415c35ba 100644 --- a/attendance-performance-manager/pom.xml +++ b/attendance-performance-manager/pom.xml @@ -84,6 +84,39 @@ <skipUi>false</skipUi> </properties> </profile> + + <profile> + <id>product</id> + <properties> + <profiles.active>product</profiles.active> + <profiles.server.port>17500</profiles.server.port> + <profiles.server.path>/attendance</profiles.server.path> + <profiles.publish.path>/home/publish</profiles.publish.path> + <profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr> + <profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group> + <profiles.nacos.namespace>smart-gov</profiles.nacos.namespace> + <profiles.log.path>/home/mortals/app/logs</profiles.log.path> + <profiles.log.level>INFO</profiles.log.level> + <profiles.sms.smsSendUrl>http://127.0.0.1:8089/api/index/index</profiles.sms.smsSendUrl> + <profiles.sms.apiId>k6BVS1PEbyzcJAE4</profiles.sms.apiId> + <profiles.hik.host>8.136.255.30:8001</profiles.hik.host> + <profiles.hik.protocol>http://</profiles.hik.protocol> + <profiles.hik.appKey>25128371</profiles.hik.appKey> + <profiles.hik.appSecret>2m9RcPJOKq5j2QPQM4v5</profiles.hik.appSecret> + + <profiles.dingtalk.domain>https://oapi.dingtalk.com</profiles.dingtalk.domain> + <profiles.dingtalk.oaUrl>api.dingtalk.com</profiles.dingtalk.oaUrl> + <profiles.dingtalk.agentId>2652674890</profiles.dingtalk.agentId> + <profiles.dingtalk.appKey>dingpqzradgfr4efdi2j</profiles.dingtalk.appKey> + <profiles.dingtalk.appSecret>bF2WALmo5_Wuj3hg5gXeWqezrYnZChUJ88HjzNWpkA9ivdOxfBDGOGYcfVRfB3vd</profiles.dingtalk.appSecret> + <profiles.dingtalk.aesKey>1QcPYuSpAc98OS3qQwwx5HPH85CZDidxF95yBGad2fJ</profiles.dingtalk.aesKey> + <profiles.dingtalk.token>m3WeuVx5kcTY76kh22uWZOTSu0XjvcwNhd</profiles.dingtalk.token> + <profiles.dingtalk.opUserId>manager8325</profiles.dingtalk.opUserId> + <profiles.webUrl>http://8.136.255.30:21039/attendance</profiles.webUrl> + <package.environment>build</package.environment> + <skipUi>false</skipUi> + </properties> + </profile> <profile> <id>yibin</id> <properties> diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java index 4fd8839cba054d9b058c9ffb7cef8a67794f3e16..dd0cc3f785615f95725a425ecbd8ebcddc492168 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java @@ -1,4 +1,5 @@ package com.mortals.xhx.base.system.user.model; +import com.mortals.framework.annotation.desensitization.MobileDesensitize; import com.mortals.framework.ap.SysConstains; import com.mortals.framework.service.IUser; import com.mortals.xhx.base.system.user.model.vo.UserVo; @@ -34,6 +35,7 @@ public class UserEntity extends UserVo implements IUser { /** * 鐢ㄦ埛鎵嬫満鍙� */ + @MobileDesensitize private String mobile; /** * 鐢ㄦ埛鑱旂郴鐢佃瘽 diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dingmsg/api/DingMessageController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dingmsg/api/DingMessageController.java index f04a42cc455a2c805aedae495c65b38d8ac8c8b1..a860063bcf005e10fde3b5604bcef0fe6bc1d81d 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dingmsg/api/DingMessageController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dingmsg/api/DingMessageController.java @@ -141,16 +141,16 @@ public class DingMessageController { - if(result.getTasks().size() >0 ){ - if(result.getTasks().get(0).getCreateTime() != null && result.getTasks().get(0).getFinishTime() != null){ - Date startTime = dateFormat(result.getTasks().get(0).getCreateTime(),"yyyy-MM-dd'T'HH:mm'Z'",false); - - Date endTime = dateFormat(result.getTasks().get(0).getFinishTime(),"yyyy-MM-dd'T'HH:mm'Z'",false); - leaveRecordEntity.setStartTime(startTime); - leaveRecordEntity.setEndTime(endTime); - leaveRecordEntity.setDuration((int) ((endTime.getTime() - startTime.getTime())/1000)); - } - } +// if(result.getTasks().size() >0 ){ +// if(result.getTasks().get(0).getCreateTime() != null && result.getTasks().get(0).getFinishTime() != null){ +// Date startTime = dateFormat(result.getTasks().get(0).getCreateTime(),"yyyy-MM-dd'T'HH:mm'Z'",false); +// +// Date endTime = dateFormat(result.getTasks().get(0).getFinishTime(),"yyyy-MM-dd'T'HH:mm'Z'",false); +// leaveRecordEntity.setStartTime(startTime); +// leaveRecordEntity.setEndTime(endTime); +// leaveRecordEntity.setDuration((int) ((endTime.getTime() - startTime.getTime())/1000)); +// } +// } String leave_code = LeaveRulesEnum.浜嬪亣.getLeave_code(); String leave_name = "浜嬪亣"; @@ -169,7 +169,7 @@ public class DingMessageController { switch (jsonArray.get(3).toString()){ case "halfDay": case "day": - leaveRecordEntity.setDuration((int) (Float.parseFloat(jsonArray.get(2).toString())*60*60*24)); //灏忔椂杞崲鎴愮 + leaveRecordEntity.setDuration((int) (Float.parseFloat(jsonArray.get(2).toString())*60*60*24)); //澶╄浆鎹㈡垚绉� break; default: //闄や簡鎸夊ぉ鍜屽崐澶╄绠楃殑鍋囨湡 鍏朵綑閮芥槸鎸夊皬鏃惰繑鍥� leaveRecordEntity.setDuration((int) (Float.parseFloat(jsonArray.get(2).toString())*60*60)); //灏忔椂杞崲鎴愮 @@ -281,21 +281,24 @@ public class DingMessageController { if(result.getResult().compareToIgnoreCase("AGREE") == 0){ - if(result.getTasks().size() > 1){ - if(result.getTasks().get(1).getStatus().compareToIgnoreCase("CANCELED") != 0){ - leaveRecordEntity.setAuditResult(4); //鎾ら攢瀹℃壒瀹屾垚 - }else { - leaveRecordEntity.setAuditResult(1); - } - } - }else if(result.equals("")){ //鎾ら攢鍋囨湡瀹℃壒涓璻esult浼氫负绌� 鎾ら攢瀹℃壒閫氳繃鍚巖esult涓篈GREE +// if(result.getTasks().size() > 1){ +// if(result.getTasks().get(1).getStatus().compareToIgnoreCase("CANCELED") == 0){ +// leaveRecordEntity.setAuditResult(4); //鎾ら攢瀹℃壒瀹屾垚 +// }else { +// leaveRecordEntity.setAuditResult(1); +// } +// } + leaveRecordEntity.setAuditResult(1); + } + else if(result.equals("")){ //鎾ら攢鍋囨湡瀹℃壒涓璻esult浼氫负绌� 鎾ら攢瀹℃壒閫氳繃鍚巖esult涓篈GREE if(result.getTasks().size() > 1){ log.info("status"+result.getTasks().get(1).getStatus()); if(result.getTasks().get(1).getStatus().compareToIgnoreCase("CANCELED") != 0){ leaveRecordEntity.setAuditResult(3); //鎾ら攢瀹℃壒涓� } } - }else { + } + else { leaveRecordEntity.setAuditResult(2); //璇峰亣瀹℃壒涓� } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java index 8268f301575d2ba2681053b48024772e39073168..368dc525cf7c64c659e47e90ed322cc1adc41396 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java @@ -14,7 +14,7 @@ import lombok.Data; * 鑰冨嫟鎵撳崱璁板綍淇℃伅瀹炰綋瀵硅薄 * * @author zxfei - * @date 2023-07-27 + * @date 2023-08-03 */ @Data public class AttendanceRecordEntity extends AttendanceRecordVo { @@ -61,15 +61,6 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { */ @Excel(name = "鎵€灞炶€冨嫟缁勫悕绉�") private String attendanceGroupName; - /** - * 鐝ID - */ - private Long shiftsId; - /** - * 鐝鍚嶇О - */ - @Excel(name = "鐝鍚嶇О") - private String shiftsName; /** * 鎵撳崱鏃ユ湡 */ @@ -82,12 +73,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { /** * 绛惧埌缁撴灉(0.鍚�,1.鏄�) */ - @Excel(name = "绛惧埌缁撴灉", readConverterExp = "0=寮傚父,1=姝e父") + @Excel(name = "绛惧埌缁撴灉", readConverterExp = "0=鍚�,1=鏄�") private Integer signInResult; /** * 绛鹃€€缁撴灉(0.鍚�,1.鏄�) */ - @Excel(name = "绛鹃€€缁撴灉", readConverterExp = "0=寮傚父,1=姝e父") + @Excel(name = "绛鹃€€缁撴灉", readConverterExp = "0=鍚�,1=鏄�") private Integer signOutResult; /** * 鑰冨嫟绫诲瀷 @@ -96,8 +87,16 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { /** * 鎵撳崱缁撴灉(0.鍚�,1.鏄�) */ - @Excel(name = "鎵撳崱缁撴灉", readConverterExp = "0=寮傚父,1=姝e父") + @Excel(name = "鎵撳崱缁撴灉", readConverterExp = "0=鍚�,1=鏄�") private Integer punchResult; + /** + * 鐝ID + */ + private Long classId; + /** + * 鐝鍚嶇О + */ + private String className; @Override public int hashCode() { return this.getId().hashCode(); @@ -124,13 +123,13 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { this.positionName = ""; this.attendanceGroupId = 0L; this.attendanceGroupName = ""; - this.shiftsId = 0L; - this.shiftsName = ""; this.attendanceDate = new Date(); this.remark = ""; this.signInResult = 0; this.signOutResult = 0; this.attendType = ""; this.punchResult = 0; + this.classId = 0L; + this.className = ""; } } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordQuery.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordQuery.java index dc377539bab429a47cca1187f411e7139041dcf8..735953050e51cfc43e2fe9c0f53549fdb5df9265 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordQuery.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordQuery.java @@ -7,7 +7,7 @@ import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity; * 鑰冨嫟鎵撳崱璁板綍淇℃伅鏌ヨ瀵硅薄 * * @author zxfei - * @date 2023-07-18 + * @date 2023-08-03 */ public class AttendanceRecordQuery extends AttendanceRecordEntity { /** 寮€濮� 搴忓彿锛屼富閿紝鑷闀� */ @@ -110,26 +110,6 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity { /** 鎵€灞炶€冨嫟缁勫悕绉版帓闄ゅ垪琛� */ private List <String> attendanceGroupNameNotList; - /** 寮€濮� 鐝ID */ - private Long shiftsIdStart; - - /** 缁撴潫 鐝ID */ - private Long shiftsIdEnd; - - /** 澧炲姞 鐝ID */ - private Long shiftsIdIncrement; - - /** 鐝ID鍒楄〃 */ - private List <Long> shiftsIdList; - - /** 鐝ID鎺掗櫎鍒楄〃 */ - private List <Long> shiftsIdNotList; - - /** 鐝鍚嶇О */ - private List<String> shiftsNameList; - - /** 鐝鍚嶇О鎺掗櫎鍒楄〃 */ - private List <String> shiftsNameNotList; /** 寮€濮� 鎵撳崱鏃ユ湡 */ private String attendanceDateStart; @@ -233,6 +213,26 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity { /** 鎵撳崱缁撴灉(0.鍚�,1.鏄�)鎺掗櫎鍒楄〃 */ private List <Integer> punchResultNotList; + /** 寮€濮� 鐝ID */ + private Long classIdStart; + + /** 缁撴潫 鐝ID */ + private Long classIdEnd; + + /** 澧炲姞 鐝ID */ + private Long classIdIncrement; + + /** 鐝ID鍒楄〃 */ + private List <Long> classIdList; + + /** 鐝ID鎺掗櫎鍒楄〃 */ + private List <Long> classIdNotList; + + /** 鐝鍚嶇О */ + private List<String> classNameList; + + /** 鐝鍚嶇О鎺掗櫎鍒楄〃 */ + private List <String> classNameNotList; /** OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ private List<AttendanceRecordQuery> orConditionList; @@ -806,119 +806,6 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity { this.attendanceGroupNameNotList = attendanceGroupNameNotList; } - /** - * 鑾峰彇 寮€濮� 鐝ID - * @return shiftsIdStart - */ - public Long getShiftsIdStart(){ - return this.shiftsIdStart; - } - - /** - * 璁剧疆 寮€濮� 鐝ID - * @param shiftsIdStart - */ - public void setShiftsIdStart(Long shiftsIdStart){ - this.shiftsIdStart = shiftsIdStart; - } - - /** - * 鑾峰彇 缁撴潫 鐝ID - * @return $shiftsIdEnd - */ - public Long getShiftsIdEnd(){ - return this.shiftsIdEnd; - } - - /** - * 璁剧疆 缁撴潫 鐝ID - * @param shiftsIdEnd - */ - public void setShiftsIdEnd(Long shiftsIdEnd){ - this.shiftsIdEnd = shiftsIdEnd; - } - - /** - * 鑾峰彇 澧炲姞 鐝ID - * @return shiftsIdIncrement - */ - public Long getShiftsIdIncrement(){ - return this.shiftsIdIncrement; - } - - /** - * 璁剧疆 澧炲姞 鐝ID - * @param shiftsIdIncrement - */ - public void setShiftsIdIncrement(Long shiftsIdIncrement){ - this.shiftsIdIncrement = shiftsIdIncrement; - } - - /** - * 鑾峰彇 鐝ID - * @return shiftsIdList - */ - public List<Long> getShiftsIdList(){ - return this.shiftsIdList; - } - - /** - * 璁剧疆 鐝ID - * @param shiftsIdList - */ - public void setShiftsIdList(List<Long> shiftsIdList){ - this.shiftsIdList = shiftsIdList; - } - - /** - * 鑾峰彇 鐝ID - * @return shiftsIdNotList - */ - public List<Long> getShiftsIdNotList(){ - return this.shiftsIdNotList; - } - - /** - * 璁剧疆 鐝ID - * @param shiftsIdNotList - */ - public void setShiftsIdNotList(List<Long> shiftsIdNotList){ - this.shiftsIdNotList = shiftsIdNotList; - } - - - /** - * 鑾峰彇 鐝鍚嶇О - * @return shiftsNameList - */ - public List<String> getShiftsNameList(){ - return this.shiftsNameList; - } - - /** - * 璁剧疆 鐝鍚嶇О - * @param shiftsNameList - */ - public void setShiftsNameList(List<String> shiftsNameList){ - this.shiftsNameList = shiftsNameList; - } - - /** - * 鑾峰彇 鐝鍚嶇О - * @return shiftsNameNotList - */ - public List<String> getShiftsNameNotList(){ - return this.shiftsNameNotList; - } - - /** - * 璁剧疆 鐝鍚嶇О - * @param shiftsNameNotList - */ - public void setShiftsNameNotList(List<String> shiftsNameNotList){ - this.shiftsNameNotList = shiftsNameNotList; - } - /** * 鑾峰彇 寮€濮� 鎵撳崱鏃ユ湡 * @return attendanceDateStart @@ -1484,6 +1371,119 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity { } + /** + * 鑾峰彇 寮€濮� 鐝ID + * @return classIdStart + */ + public Long getClassIdStart(){ + return this.classIdStart; + } + + /** + * 璁剧疆 寮€濮� 鐝ID + * @param classIdStart + */ + public void setClassIdStart(Long classIdStart){ + this.classIdStart = classIdStart; + } + + /** + * 鑾峰彇 缁撴潫 鐝ID + * @return $classIdEnd + */ + public Long getClassIdEnd(){ + return this.classIdEnd; + } + + /** + * 璁剧疆 缁撴潫 鐝ID + * @param classIdEnd + */ + public void setClassIdEnd(Long classIdEnd){ + this.classIdEnd = classIdEnd; + } + + /** + * 鑾峰彇 澧炲姞 鐝ID + * @return classIdIncrement + */ + public Long getClassIdIncrement(){ + return this.classIdIncrement; + } + + /** + * 璁剧疆 澧炲姞 鐝ID + * @param classIdIncrement + */ + public void setClassIdIncrement(Long classIdIncrement){ + this.classIdIncrement = classIdIncrement; + } + + /** + * 鑾峰彇 鐝ID + * @return classIdList + */ + public List<Long> getClassIdList(){ + return this.classIdList; + } + + /** + * 璁剧疆 鐝ID + * @param classIdList + */ + public void setClassIdList(List<Long> classIdList){ + this.classIdList = classIdList; + } + + /** + * 鑾峰彇 鐝ID + * @return classIdNotList + */ + public List<Long> getClassIdNotList(){ + return this.classIdNotList; + } + + /** + * 璁剧疆 鐝ID + * @param classIdNotList + */ + public void setClassIdNotList(List<Long> classIdNotList){ + this.classIdNotList = classIdNotList; + } + + + /** + * 鑾峰彇 鐝鍚嶇О + * @return classNameList + */ + public List<String> getClassNameList(){ + return this.classNameList; + } + + /** + * 璁剧疆 鐝鍚嶇О + * @param classNameList + */ + public void setClassNameList(List<String> classNameList){ + this.classNameList = classNameList; + } + + /** + * 鑾峰彇 鐝鍚嶇О + * @return classNameNotList + */ + public List<String> getClassNameNotList(){ + return this.classNameNotList; + } + + /** + * 璁剧疆 鐝鍚嶇О + * @param classNameNotList + */ + public void setClassNameNotList(List<String> classNameNotList){ + this.classNameNotList = classNameNotList; + } + /** * 璁剧疆 搴忓彿锛屼富閿紝鑷闀� * @param id @@ -1849,79 +1849,6 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity { return this; } - /** - * 璁剧疆 鐝ID - * @param shiftsId - */ - public AttendanceRecordQuery shiftsId(Long shiftsId){ - setShiftsId(shiftsId); - return this; - } - - /** - * 璁剧疆 寮€濮� 鐝ID - * @param shiftsIdStart - */ - public AttendanceRecordQuery shiftsIdStart(Long shiftsIdStart){ - this.shiftsIdStart = shiftsIdStart; - return this; - } - - /** - * 璁剧疆 缁撴潫 鐝ID - * @param shiftsIdEnd - */ - public AttendanceRecordQuery shiftsIdEnd(Long shiftsIdEnd){ - this.shiftsIdEnd = shiftsIdEnd; - return this; - } - - /** - * 璁剧疆 澧炲姞 鐝ID - * @param shiftsIdIncrement - */ - public AttendanceRecordQuery shiftsIdIncrement(Long shiftsIdIncrement){ - this.shiftsIdIncrement = shiftsIdIncrement; - return this; - } - - /** - * 璁剧疆 鐝ID - * @param shiftsIdList - */ - public AttendanceRecordQuery shiftsIdList(List<Long> shiftsIdList){ - this.shiftsIdList = shiftsIdList; - return this; - } - - /** - * 璁剧疆 鐝ID - * @param shiftsIdNotList - */ - public AttendanceRecordQuery shiftsIdNotList(List<Long> shiftsIdNotList){ - this.shiftsIdNotList = shiftsIdNotList; - return this; - } - - - /** - * 璁剧疆 鐝鍚嶇О - * @param shiftsName - */ - public AttendanceRecordQuery shiftsName(String shiftsName){ - setShiftsName(shiftsName); - return this; - } - - /** - * 璁剧疆 鐝鍚嶇О - * @param shiftsNameList - */ - public AttendanceRecordQuery shiftsNameList(List<String> shiftsNameList){ - this.shiftsNameList = shiftsNameList; - return this; - } - /** @@ -2233,6 +2160,79 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity { return this; } + /** + * 璁剧疆 鐝ID + * @param classId + */ + public AttendanceRecordQuery classId(Long classId){ + setClassId(classId); + return this; + } + + /** + * 璁剧疆 寮€濮� 鐝ID + * @param classIdStart + */ + public AttendanceRecordQuery classIdStart(Long classIdStart){ + this.classIdStart = classIdStart; + return this; + } + + /** + * 璁剧疆 缁撴潫 鐝ID + * @param classIdEnd + */ + public AttendanceRecordQuery classIdEnd(Long classIdEnd){ + this.classIdEnd = classIdEnd; + return this; + } + + /** + * 璁剧疆 澧炲姞 鐝ID + * @param classIdIncrement + */ + public AttendanceRecordQuery classIdIncrement(Long classIdIncrement){ + this.classIdIncrement = classIdIncrement; + return this; + } + + /** + * 璁剧疆 鐝ID + * @param classIdList + */ + public AttendanceRecordQuery classIdList(List<Long> classIdList){ + this.classIdList = classIdList; + return this; + } + + /** + * 璁剧疆 鐝ID + * @param classIdNotList + */ + public AttendanceRecordQuery classIdNotList(List<Long> classIdNotList){ + this.classIdNotList = classIdNotList; + return this; + } + + + /** + * 璁剧疆 鐝鍚嶇О + * @param className + */ + public AttendanceRecordQuery className(String className){ + setClassName(className); + return this; + } + + /** + * 璁剧疆 鐝鍚嶇О + * @param classNameList + */ + public AttendanceRecordQuery classNameList(List<String> classNameList){ + this.classNameList = classNameList; + return this; + } + /** * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * @return orConditionList diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java index 02fe0c064ac947d8d05687c503154f015fd9fcd4..17243007faff6b89e0240d3bf1a7a06ce01aea14 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java @@ -39,28 +39,24 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At protected void findAfter(AttendanceRecordErrorEntity params, PageInfo pageInfo, Context context, List<AttendanceRecordErrorEntity> list) throws AppException { list.forEach(item -> { - AttendanceClassEntity attendanceClassEntity = attendanceClassService.get(item.getShiftsId(), context); + AttendanceClassDetailEntity attendanceClassDetailEntity = classDetailService.get(item.getShiftsId(), context); - if(!ObjectUtils.isEmpty(attendanceClassEntity)&&!ObjectUtils.isEmpty(attendanceClassEntity.getAttendanceClassDetailList())){ - for (AttendanceClassDetailEntity attendanceClassDetailEntity : attendanceClassEntity.getAttendanceClassDetailList()) { - if (!ObjectUtils.isEmpty(attendanceClassDetailEntity)) { - String str = DateUtil.formatTime(item.getGoOffDateTime()); - String goStr = DateUtil.formatTime(attendanceClassDetailEntity.getGoWorkDate()); - String offStr = DateUtil.formatTime(attendanceClassDetailEntity.getOffWorkDate()); + if (!ObjectUtils.isEmpty(attendanceClassDetailEntity)) { + String str = DateUtil.formatTime(item.getGoOffDateTime()); + String goStr = DateUtil.formatTime(attendanceClassDetailEntity.getGoWorkDate()); + String offStr = DateUtil.formatTime(attendanceClassDetailEntity.getOffWorkDate()); - if (!ObjectUtils.isEmpty(str)&&str.equals(goStr)) { - item.setGoOrOff("涓婄彮"); - } - if (!ObjectUtils.isEmpty(str)&&str.equals(offStr)) { - item.setGoOrOff("涓嬬彮"); - } - if (ObjectUtils.isEmpty(item.getGoOrOff())) { - item.setGoOrOff("涓婄彮"); - } - } + if (!ObjectUtils.isEmpty(str) && str.equals(goStr)) { + item.setGoOrOff("涓婄彮"); } - }else { - item.setGoOrOff("涓婄彮"); + if (!ObjectUtils.isEmpty(str) && str.equals(offStr)) { + item.setGoOrOff("涓嬬彮"); + } + if (ObjectUtils.isEmpty(item.getGoOrOff())) { + item.setGoOrOff(""); + } + } else { + item.setGoOrOff(""); } }); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java index da4037e60978222619bb2dbbbf4393efe139fbfe..02ea5a6ef2e2fc04171695a2756021467ac5a059 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java @@ -127,6 +127,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte commonData.setContext(context); commonData.setAttendanceGroupEntity(attendanceGroupEntity); commonData.setAttendanceRecordEntity(attendanceRecordEntity); + commonData.setAttendanceDate(attendanceRecordEntity.getAttendanceDate()); commonData.setDetailEntityList(detailEntityList); commonData.setStaffId(attendanceRecordEntity.getStaffId()); commonData.setDateStr(dateStr); @@ -149,6 +150,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte commonData.setAttendanceGroupEntity(attendanceGroupEntity); commonData.setAttendanceRecordEntity(attendanceRecordEntity); commonData.setDetailEntityList(detailEntityList); + commonData.setAttendanceDate(attendanceRecordEntity.getAttendanceDate()); commonData.setStaffId(attendanceRecordEntity.getStaffId()); commonData.setDateStr(dateStr); workAbstract.doHandleWork(commonData); @@ -194,7 +196,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte //鍒ゆ柇鏄惁瀛樺湪璁板綍 濡傛灉瀛樺湪 鍒欐洿鏂� 缁村害 staffId attendanceDate shiftsId attendanceGroupId AttendanceRecordQuery query = new AttendanceRecordQuery(); query.setStaffId(attendanceRecordEntity.getStaffId()); - query.setShiftsId(attendanceRecordEntity.getShiftsId()); + query.setClassId(attendanceRecordEntity.getClassId()); query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId()); query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate()); @@ -297,8 +299,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte } if (!ObjectUtils.isEmpty(detailEntityList)) { AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(detailEntityList.get(0).getShiftsId(), context); - attendanceRecordEntity.setShiftsId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId()); - attendanceRecordEntity.setShiftsName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName()); + attendanceRecordEntity.setClassId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId()); + attendanceRecordEntity.setClassName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName()); } //鐢熸垚寮傚父璁板綍 genErrorAttendRecord(context, dateStr, attendanceRecordEntity, detailEntityList); @@ -339,7 +341,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte //鍒ゆ柇鏄惁瀛樺湪璁板綍 濡傛灉瀛樺湪 鍒欐洿鏂� 缁村害 staffId attendanceDate shiftsId attendanceGroupId AttendanceRecordQuery query = new AttendanceRecordQuery(); query.setStaffId(attendanceRecordEntity.getStaffId()); - query.setShiftsId(attendanceRecordEntity.getShiftsId()); + query.setClassId(attendanceRecordEntity.getClassId()); query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId()); query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate()); diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java index 0f7d5a352ac0ba6a878160497682f5ded02e607c..866cb3f855c769bdde6d9c89615802ee58adfe7f 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java @@ -228,8 +228,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { } if (!ObjectUtils.isEmpty(commonData.getDetailEntityList())) { AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(commonData.getDetailEntityList().get(0).getShiftsId()); - commonData.getAttendanceRecordEntity().setShiftsId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId()); - commonData.getAttendanceRecordEntity().setShiftsName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName()); + commonData.getAttendanceRecordEntity().setClassId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId()); + commonData.getAttendanceRecordEntity().setClassName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName()); } //鐢熸垚寮傚父璁板綍 genErrorAttendRecord(commonData.getContext(), commonData.getDateStr(), commonData.getAttendanceRecordEntity(), commonData.getDetailEntityList()); @@ -249,7 +249,9 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { AttendanceRecordErrorEntity errorEntity = new AttendanceRecordErrorEntity(); errorEntity.initAttrValue(); BeanUtils.copyProperties(attendanceRecordEntity, errorEntity, new String[]{"id"}); - errorEntity.setGoOffDateTime(errorEntity.getErrorDateTime()); + + errorEntity.setShiftsId(recordDetailEntity.getShiftsId()); + errorEntity.setShiftsName(recordDetailEntity.getShiftsName()); errorEntity.setProcessStatus(YesNoEnum.NO.getValue()); errorEntity.setCreateTime(new Date()); errorEntity.setCreateUserId(context.getUser().getId()); @@ -257,7 +259,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { //鍒ゆ柇涓婄彮 if (GoWorkResultEnum.姝e父.getValue() != goWorkResult) { Date goWorkDate = attendanceClassDetailEntity.getGoWorkDate(); - errorEntity.setGoOffDateTime(goWorkDate); + errorEntity.setGoOffDateTime(DateUtil.parseDateTime(dateStr + " " + DateUtil.formatTime(goWorkDate)).toJdkDate()); if (!ObjectUtils.isEmpty(recordDetailEntity.getGoWorkDate())) { errorEntity.setErrorDateTime(recordDetailEntity.getGoWorkDate()); errorEntity.setActualAttendanceDateTime(recordDetailEntity.getGoWorkDate()); @@ -280,7 +282,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { //鍒ゆ柇涓嬬彮 if (OffWorkResultEnum.姝e父.getValue() != offWorkResult) { Date offWorkDate = attendanceClassDetailEntity.getOffWorkDate(); - errorEntity.setGoOffDateTime(offWorkDate); + errorEntity.setGoOffDateTime(DateUtil.parseDateTime(dateStr + " " + DateUtil.formatTime(offWorkDate)).toJdkDate()); if (!ObjectUtils.isEmpty(recordDetailEntity.getGoWorkDate())) { errorEntity.setErrorDateTime(recordDetailEntity.getGoWorkDate()); errorEntity.setActualAttendanceDateTime(recordDetailEntity.getGoWorkDate()); @@ -296,13 +298,26 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { if (OffWorkResultEnum.杩熷埌.getValue() == recordDetailEntity.getOffWorkResult()) { errorEntity.setErrorStatus(ErrorStatusEnum.杩熷埌.getValue()); } + errorEntity.setActualAttendanceDateTime(attendanceRecordEntity.getAttendanceDate()); errorEntityList.add(errorEntity); } - } if (!ObjectUtils.isEmpty(errorEntityList)) { - errorService.save(errorEntityList, context); + for (AttendanceRecordErrorEntity errorEntity : errorEntityList) { + //鏌ョ湅鏄惁瀛樺湪鐩稿悓鐨勫紓甯歌褰曪紝濡傛灉瀛樺湪 鍒欎笉娣诲姞 + AttendanceRecordErrorQuery errorQuery = new AttendanceRecordErrorQuery(); + errorQuery.setShiftsId(errorEntity.getShiftsId()); + errorQuery.setGoOffDateTime(errorEntity.getErrorDateTime()); + errorQuery.setStaffId(errorEntity.getStaffId()); + + int count = errorService.count(errorQuery, context); + if (count == 0) { + errorService.save(errorEntity, context); + } else { + log.info("宸茬粡瀛樺湪鐩稿悓鐨勫紓甯歌褰曪紝涓嶅仛淇濆瓨锛�"); + } + } } } } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java index 3632b3626148cc31178b370142aaf1a9764e0d9a..716ba8fbd10a8aa5983d596a54bc1be4a4786fca 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java @@ -146,8 +146,8 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle attendanceExportRecordEntity.setDeptName(deptEntity==null?"":deptEntity.getDeptName()); } - if(!ObjectUtils.isEmpty(query.getShiftsId())){ - AttendanceClassEntity attendanceClassEntity = classService.get(query.getShiftsId(), context); + if(!ObjectUtils.isEmpty(query.getClassId())){ + AttendanceClassEntity attendanceClassEntity = classService.get(query.getClassId(), context); attendanceExportRecordEntity.setClassName(attendanceClassEntity==null?"":attendanceClassEntity.getClassName()); } attendanceExportRecordEntity.setCreateUserId(context.getUser().getId()); @@ -161,7 +161,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle @Override protected void doListBefore(AttendanceRecordEntity query, Map<String, Object> model, Context context) throws AppException { if (query.getClassId() != null) { - query.setShiftsId(query.getClassId()); + query.setClassId(query.getClassId()); } if (query.getGroupId() != null) { query.setAttendanceGroupId(query.getGroupId()); diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/web/FeedbackFileController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/web/FeedbackFileController.java index 5a4f67f556bf1fafc91cd35a1cbf3a6f541ee15f..2337dd10c215371db99c006d0460f02416c0e207 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/web/FeedbackFileController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/web/FeedbackFileController.java @@ -1,4 +1,6 @@ package com.mortals.xhx.module.feedback.web; +import com.mortals.framework.exception.AppException; +import com.mortals.framework.model.OrderCol; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.xhx.base.system.param.service.ParamService; import org.springframework.beans.factory.annotation.Autowired; @@ -46,5 +48,8 @@ public class FeedbackFileController extends BaseCRUDJsonBodyMappingController<Fe super.init(model, context); } - + @Override + protected void doListBefore(FeedbackFileEntity query, Map<String, Object> model, Context context) throws AppException { + query.setOrderColList(Arrays.asList(new OrderCol("createTime"))); + } } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java index f494ea4fa77570b4d8e50758590bf7fc56d5be93..ccaad5977b364c4a6299333dc456c9782e0a9143 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java @@ -5,6 +5,8 @@ import java.util.List; import java.util.ArrayList; import com.fasterxml.jackson.annotation.JsonFormat; import com.mortals.framework.annotation.Excel; +import com.mortals.framework.annotation.desensitization.IdCardDesensitize; +import com.mortals.framework.annotation.desensitization.MobileDesensitize; import com.mortals.framework.model.BaseEntityLong; import com.mortals.xhx.module.staff.model.vo.StaffVo; import lombok.Data; @@ -40,11 +42,13 @@ public class StaffEntity extends StaffVo { * 鑱旂郴鐢佃瘽 */ @Excel(name = "鑱旂郴鐢佃瘽") + @MobileDesensitize private String phoneNumber; /** * 韬唤璇佸彿鐮� */ @Excel(name = "韬唤璇佸彿鐮�") + @IdCardDesensitize private String idCard; /** * 宸ュ彿 diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/vo/StaffVo.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/vo/StaffVo.java index 11d93cc571aa89993702259d369cf6d245cfd654..2ce88aeb6a11d1d443c12420297229320e3bb4fd 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/vo/StaffVo.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/model/vo/StaffVo.java @@ -1,4 +1,7 @@ package com.mortals.xhx.module.staff.model.vo; +import com.mortals.framework.annotation.Excel; +import com.mortals.framework.annotation.desensitization.IdCardDesensitize; +import com.mortals.framework.annotation.desensitization.MobileDesensitize; import com.mortals.framework.model.BaseEntityLong; import lombok.Data; @@ -12,6 +15,17 @@ import java.util.List; @Data public class StaffVo extends BaseEntityLong { + /** + * 鑱旂郴鐢佃瘽 + */ + @MobileDesensitize + private String phoneNumber; + /** + * 韬唤璇佸彿鐮� + */ + @IdCardDesensitize + private String idCard; + private List <Long> idList; private List<HolidayListVo> holidayLists; diff --git a/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapper.xml b/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapper.xml index 5e7267d7f02ab4c2643cf451483b0578f3479b96..726b3acb3a6023945891af332d6e3cfc00c94dbf 100644 --- a/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapper.xml +++ b/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordMapper.xml @@ -15,8 +15,6 @@ <result property="positionName" column="positionName" /> <result property="attendanceGroupId" column="attendanceGroupId" /> <result property="attendanceGroupName" column="attendanceGroupName" /> - <result property="shiftsId" column="shiftsId" /> - <result property="shiftsName" column="shiftsName" /> <result property="attendanceDate" column="attendanceDate" /> <result property="remark" column="remark" /> <result property="createUserId" column="createUserId" /> @@ -27,6 +25,8 @@ <result property="signOutResult" column="signOutResult" /> <result property="attendType" column="attendType" /> <result property="punchResult" column="punchResult" /> + <result property="classId" column="classId" /> + <result property="className" column="className" /> </resultMap> @@ -64,12 +64,6 @@ <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceGroupName') or colPickMode == 1 and data.containsKey('attendanceGroupName')))"> a.attendanceGroupName, </if> - <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('shiftsId') or colPickMode == 1 and data.containsKey('shiftsId')))"> - a.shiftsId, - </if> - <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('shiftsName') or colPickMode == 1 and data.containsKey('shiftsName')))"> - a.shiftsName, - </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceDate') or colPickMode == 1 and data.containsKey('attendanceDate')))"> a.attendanceDate, </if> @@ -100,23 +94,29 @@ <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('punchResult') or colPickMode == 1 and data.containsKey('punchResult')))"> a.punchResult, </if> + <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('classId') or colPickMode == 1 and data.containsKey('classId')))"> + a.classId, + </if> + <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('className') or colPickMode == 1 and data.containsKey('className')))"> + a.className, + </if> </trim> </sql> <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� --> <insert id="insert" parameterType="AttendanceRecordEntity" useGeneratedKeys="true" keyProperty="id"> insert into mortals_xhx_attendance_record - (staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult) + (staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult,classId,className) VALUES - (#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{shiftsId},#{shiftsName},#{attendanceDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{signInResult},#{signOutResult},#{attendType},#{punchResult}) + (#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{attendanceDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{signInResult},#{signOutResult},#{attendType},#{punchResult},#{classId},#{className}) </insert> <!-- 鎵归噺鏂板 --> <insert id="insertBatch" parameterType="paramDto"> insert into mortals_xhx_attendance_record - (staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult) + (staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult,classId,className) VALUES <foreach collection="data.dataList" item="item" index="index" separator="," > - (#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.shiftsId},#{item.shiftsName},#{item.attendanceDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.signInResult},#{item.signOutResult},#{item.attendType},#{item.punchResult}) + (#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.attendanceDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.signInResult},#{item.signOutResult},#{item.attendType},#{item.punchResult},#{item.classId},#{item.className}) </foreach> </insert> @@ -165,15 +165,6 @@ <if test="(colPickMode==0 and data.containsKey('attendanceGroupName')) or (colPickMode==1 and !data.containsKey('attendanceGroupName'))"> a.attendanceGroupName=#{data.attendanceGroupName}, </if> - <if test="(colPickMode==0 and data.containsKey('shiftsId')) or (colPickMode==1 and !data.containsKey('shiftsId'))"> - a.shiftsId=#{data.shiftsId}, - </if> - <if test="(colPickMode==0 and data.containsKey('shiftsIdIncrement')) or (colPickMode==1 and !data.containsKey('shiftsIdIncrement'))"> - a.shiftsId=ifnull(a.shiftsId,0) + #{data.shiftsIdIncrement}, - </if> - <if test="(colPickMode==0 and data.containsKey('shiftsName')) or (colPickMode==1 and !data.containsKey('shiftsName'))"> - a.shiftsName=#{data.shiftsName}, - </if> <if test="(colPickMode==0 and data.containsKey('attendanceDate')) or (colPickMode==1 and !data.containsKey('attendanceDate'))"> a.attendanceDate=#{data.attendanceDate}, </if> @@ -219,6 +210,15 @@ <if test="(colPickMode==0 and data.containsKey('punchResultIncrement')) or (colPickMode==1 and !data.containsKey('punchResultIncrement'))"> a.punchResult=ifnull(a.punchResult,0) + #{data.punchResultIncrement}, </if> + <if test="(colPickMode==0 and data.containsKey('classId')) or (colPickMode==1 and !data.containsKey('classId'))"> + a.classId=#{data.classId}, + </if> + <if test="(colPickMode==0 and data.containsKey('classIdIncrement')) or (colPickMode==1 and !data.containsKey('classIdIncrement'))"> + a.classId=ifnull(a.classId,0) + #{data.classIdIncrement}, + </if> + <if test="(colPickMode==0 and data.containsKey('className')) or (colPickMode==1 and !data.containsKey('className'))"> + a.className=#{data.className}, + </if> </trim> <trim suffixOverrides="where" suffix=""> where @@ -314,25 +314,6 @@ </if> </foreach> </trim> - <trim prefix="shiftsId=(case" suffix="ELSE shiftsId end),"> - <foreach collection="data.dataList" item="item" index="index" separator="" > - <choose> - <when test="(colPickMode==0 and item.containsKey('shiftsId')) or (colPickMode==1 and !item.containsKey('shiftsId'))"> - when a.id=#{item.id} then #{item.shiftsId} - </when> - <when test="(colPickMode==0 and item.containsKey('shiftsIdIncrement')) or (colPickMode==1 and !item.containsKey('shiftsIdIncrement'))"> - when a.id=#{item.id} then ifnull(a.shiftsId,0) + #{item.shiftsIdIncrement} - </when> - </choose> - </foreach> - </trim> - <trim prefix="shiftsName=(case" suffix="ELSE shiftsName end),"> - <foreach collection="data.dataList" item="item" index="index" separator="" > - <if test="(colPickMode==0 and item.containsKey('shiftsName')) or (colPickMode==1 and !item.containsKey('shiftsName'))"> - when a.id=#{item.id} then #{item.shiftsName} - </if> - </foreach> - </trim> <trim prefix="attendanceDate=(case" suffix="ELSE attendanceDate end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('attendanceDate')) or (colPickMode==1 and !item.containsKey('attendanceDate'))"> @@ -428,6 +409,25 @@ </choose> </foreach> </trim> + <trim prefix="classId=(case" suffix="ELSE classId end),"> + <foreach collection="data.dataList" item="item" index="index" separator="" > + <choose> + <when test="(colPickMode==0 and item.containsKey('classId')) or (colPickMode==1 and !item.containsKey('classId'))"> + when a.id=#{item.id} then #{item.classId} + </when> + <when test="(colPickMode==0 and item.containsKey('classIdIncrement')) or (colPickMode==1 and !item.containsKey('classIdIncrement'))"> + when a.id=#{item.id} then ifnull(a.classId,0) + #{item.classIdIncrement} + </when> + </choose> + </foreach> + </trim> + <trim prefix="className=(case" suffix="ELSE className end),"> + <foreach collection="data.dataList" item="item" index="index" separator="" > + <if test="(colPickMode==0 and item.containsKey('className')) or (colPickMode==1 and !item.containsKey('className'))"> + when a.id=#{item.id} then #{item.className} + </if> + </foreach> + </trim> </trim> where id in <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> @@ -784,54 +784,6 @@ #{item} </foreach> </if> - <if test="conditionParamRef.containsKey('shiftsId')"> - <if test="conditionParamRef.shiftsId != null "> - ${_conditionType_} a.shiftsId = #{${_conditionParam_}.shiftsId} - </if> - <if test="conditionParamRef.shiftsId == null"> - ${_conditionType_} a.shiftsId is null - </if> - </if> - <if test="conditionParamRef.containsKey('shiftsIdList') and conditionParamRef.shiftsIdList.size() > 0"> - ${_conditionType_} a.shiftsId in - <foreach collection="conditionParamRef.shiftsIdList" open="(" close=")" index="index" item="item" separator=","> - #{item} - </foreach> - </if> - <if test="conditionParamRef.containsKey('shiftsIdNotList') and conditionParamRef.shiftsIdNotList.size() > 0"> - ${_conditionType_} a.shiftsId not in - <foreach collection="conditionParamRef.shiftsIdNotList" open="(" close=")" index="index" item="item" separator=","> - #{item} - </foreach> - </if> - <if test="conditionParamRef.containsKey('shiftsIdStart') and conditionParamRef.shiftsIdStart != null"> - ${_conditionType_} a.shiftsId <![CDATA[ >= ]]> #{${_conditionParam_}.shiftsIdStart} - </if> - <if test="conditionParamRef.containsKey('shiftsIdEnd') and conditionParamRef.shiftsIdEnd != null"> - ${_conditionType_} a.shiftsId <![CDATA[ <= ]]> #{${_conditionParam_}.shiftsIdEnd} - </if> - - - <if test="conditionParamRef.containsKey('shiftsName')"> - <if test="conditionParamRef.shiftsName != null and conditionParamRef.shiftsName != ''"> - ${_conditionType_} a.shiftsName like #{${_conditionParam_}.shiftsName} - </if> - <if test="conditionParamRef.shiftsName == null"> - ${_conditionType_} a.shiftsName is null - </if> - </if> - <if test="conditionParamRef.containsKey('shiftsNameList') and conditionParamRef.shiftsNameList.size() > 0"> - ${_conditionType_} a.shiftsName in - <foreach collection="conditionParamRef.shiftsNameList" open="(" close=")" index="index" item="item" separator=","> - #{item} - </foreach> - </if> - <if test="conditionParamRef.containsKey('shiftsNameNotList') and conditionParamRef.shiftsNameNotList.size() > 0"> - ${_conditionType_} a.shiftsName not in - <foreach collection="conditionParamRef.shiftsNameNotList" open="(" close=")" index="index" item="item" separator=","> - #{item} - </foreach> - </if> <if test="conditionParamRef.containsKey('attendanceDate')"> <if test="conditionParamRef.attendanceDate != null "> @@ -1054,6 +1006,54 @@ ${_conditionType_} a.punchResult <![CDATA[ <= ]]> #{${_conditionParam_}.punchResultEnd} </if> + <if test="conditionParamRef.containsKey('classId')"> + <if test="conditionParamRef.classId != null "> + ${_conditionType_} a.classId = #{${_conditionParam_}.classId} + </if> + <if test="conditionParamRef.classId == null"> + ${_conditionType_} a.classId is null + </if> + </if> + <if test="conditionParamRef.containsKey('classIdList') and conditionParamRef.classIdList.size() > 0"> + ${_conditionType_} a.classId in + <foreach collection="conditionParamRef.classIdList" open="(" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + </if> + <if test="conditionParamRef.containsKey('classIdNotList') and conditionParamRef.classIdNotList.size() > 0"> + ${_conditionType_} a.classId not in + <foreach collection="conditionParamRef.classIdNotList" open="(" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + </if> + <if test="conditionParamRef.containsKey('classIdStart') and conditionParamRef.classIdStart != null"> + ${_conditionType_} a.classId <![CDATA[ >= ]]> #{${_conditionParam_}.classIdStart} + </if> + <if test="conditionParamRef.containsKey('classIdEnd') and conditionParamRef.classIdEnd != null"> + ${_conditionType_} a.classId <![CDATA[ <= ]]> #{${_conditionParam_}.classIdEnd} + </if> + + + <if test="conditionParamRef.containsKey('className')"> + <if test="conditionParamRef.className != null and conditionParamRef.className != ''"> + ${_conditionType_} a.className like #{${_conditionParam_}.className} + </if> + <if test="conditionParamRef.className == null"> + ${_conditionType_} a.className is null + </if> + </if> + <if test="conditionParamRef.containsKey('classNameList') and conditionParamRef.classNameList.size() > 0"> + ${_conditionType_} a.className in + <foreach collection="conditionParamRef.classNameList" open="(" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + </if> + <if test="conditionParamRef.containsKey('classNameNotList') and conditionParamRef.classNameNotList.size() > 0"> + ${_conditionType_} a.className not in + <foreach collection="conditionParamRef.classNameNotList" open="(" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + </if> </sql> <sql id="_orderCols_"> <if test="orderColList != null and !orderColList.isEmpty()"> @@ -1117,16 +1117,6 @@ <if test='orderCol.attendanceGroupName != null and "DESC".equalsIgnoreCase(orderCol.attendanceGroupName)'>DESC</if> , </if> - <if test="orderCol.containsKey('shiftsId')"> - a.shiftsId - <if test='orderCol.shiftsId != null and "DESC".equalsIgnoreCase(orderCol.shiftsId)'>DESC</if> - , - </if> - <if test="orderCol.containsKey('shiftsName')"> - a.shiftsName - <if test='orderCol.shiftsName != null and "DESC".equalsIgnoreCase(orderCol.shiftsName)'>DESC</if> - , - </if> <if test="orderCol.containsKey('attendanceDate')"> a.attendanceDate <if test='orderCol.attendanceDate != null and "DESC".equalsIgnoreCase(orderCol.attendanceDate)'>DESC</if> @@ -1177,6 +1167,16 @@ <if test='orderCol.punchResult != null and "DESC".equalsIgnoreCase(orderCol.punchResult)'>DESC</if> , </if> + <if test="orderCol.containsKey('classId')"> + a.classId + <if test='orderCol.classId != null and "DESC".equalsIgnoreCase(orderCol.classId)'>DESC</if> + , + </if> + <if test="orderCol.containsKey('className')"> + a.className + <if test='orderCol.className != null and "DESC".equalsIgnoreCase(orderCol.className)'>DESC</if> + , + </if> </trim> </if> </sql> diff --git a/db/add.sql b/db/add.sql index b379920d59ea4a658f013592d09fbdd77bd98932..c7e6e9f57f645848fb8aefcd63c70df37c33f730 100644 --- a/db/add.sql +++ b/db/add.sql @@ -821,3 +821,34 @@ ALTER TABLE mortals_xhx_check_other_record ADD COLUMN `auditStatus` tinyint(1) ALTER TABLE mortals_xhx_perform_attend_appeal ADD COLUMN `windowNum` varchar(255) DEFAULT '' COMMENT '绐楀彛缂栧彿'; + + +-- ---------------------------- +-- 鑰冨嫟鎵撳崱璁板綍淇℃伅琛� +-- ---------------------------- +DROP TABLE IF EXISTS `mortals_xhx_attendance_record`; +CREATE TABLE mortals_xhx_attendance_record( + `id` bigint(20) AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�', + `staffId` bigint(20) COMMENT '鍛樺伐ID', + `staffName` varchar(64) NOT NULL COMMENT '鍛樺伐濮撳悕', + `workNum` varchar(128) COMMENT '宸ュ彿', + `deptId` bigint(20) COMMENT '鎵€灞為儴闂�', + `deptName` varchar(128) COMMENT '鎵€灞為儴闂ㄥ悕绉�', + `positionId` bigint(20) COMMENT '鑱屼綅ID', + `positionName` varchar(128) COMMENT '鑱屼綅鍚嶇О', + `attendanceGroupId` bigint(20) COMMENT '鎵€灞炶€冨嫟缁処D', + `attendanceGroupName` varchar(128) COMMENT '鎵€灞炶€冨嫟缁勫悕绉�', + `attendanceDate` datetime COMMENT '鎵撳崱鏃ユ湡', + `remark` varchar(255) COMMENT '澶囨敞', + `createUserId` bigint(20) NOT NULL COMMENT '鍒涘缓鐢ㄦ埛', + `createTime` datetime NOT NULL COMMENT '鍒涘缓鏃堕棿', + `updateUserId` bigint(20) COMMENT '鏇存柊鐢ㄦ埛', + `updateTime` datetime COMMENT '鏇存柊鏃堕棿', + `signInResult` tinyint(2) DEFAULT '0' COMMENT '绛惧埌缁撴灉(0.鍚�,1.鏄�)', + `signOutResult` tinyint(2) DEFAULT '0' COMMENT '绛鹃€€缁撴灉(0.鍚�,1.鏄�)', + `attendType` varchar(128) DEFAULT '' COMMENT '鑰冨嫟绫诲瀷', + `punchResult` tinyint(2) DEFAULT '0' COMMENT '鎵撳崱缁撴灉(0.鍚�,1.鏄�)', + `classId` bigint(20) COMMENT '鐝ID', + `className` varchar(128) COMMENT '鐝鍚嶇О', +PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='鑰冨嫟鎵撳崱璁板綍淇℃伅'; diff --git "a/doc/\350\200\203\345\213\244\347\273\251\346\225\210\347\256\241\347\220\206\347\263\273\347\273\237.docx" "b/doc/\350\200\203\345\213\244\347\273\251\346\225\210\347\256\241\347\220\206\347\263\273\347\273\237.docx" index f21813340e5f395ce0707f44fe85d8638f65cd73..34a087d54c7e66a4ec8166a447f45d77346060fa 100644 Binary files "a/doc/\350\200\203\345\213\244\347\273\251\346\225\210\347\256\241\347\220\206\347\263\273\347\273\237.docx" and "b/doc/\350\200\203\345\213\244\347\273\251\346\225\210\347\256\241\347\220\206\347\263\273\347\273\237.docx" differ