Commit a683a00f authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 9a162b73 e0e60418
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-drawer <el-drawer :title="title" :visible.sync="open" :direction="direction" size="60%">
:title="title"
:visible.sync="open"
:direction="direction"
size="60%"
>
<div style="padding:15px"> <div style="padding:15px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<!-- <Field label="请假人" prop="leavePersonId" v-model="form.leavePersonId" placeholder="请输入请假人"/> --> <!-- <Field label="请假人" prop="leavePersonId" v-model="form.leavePersonId" placeholder="请输入请假人"/> -->
<Field <!-- <Field
label="请假人" label="请假人"
prop="leavePerson" prop="leavePerson"
v-model="form.leavePerson" v-model="form.leavePerson"
placeholder="请输入请假人" placeholder="请输入请假人"
:maxLength="10" :maxLength="10"
:disabled="pageInfo.type == 'view'" :disabled="pageInfo.type == 'view'"
/> /> -->
<Field <Field label="请假人" prop="leavePerson" type="select" filterable remote v-model="form.leavePerson"
label="所属部门" placeholder="请输入请假人" :remote-method="remoteMethod" :maxLength="10" :enumData="staffList"
prop="deptId" :disabled="pageInfo.type == 'view'" />
v-model="form.deptId" <Field label="所属部门" prop="deptId" v-model="form.deptId" type="select" placeholder="请选择所属部门"
type="select" :enumData="dict.deptId" :disabled="pageInfo.type == 'view'" />
placeholder="请选择所属部门"
:enumData="dict.deptId"
:disabled="pageInfo.type == 'view'"
/>
<!-- <Field label="所属部门" prop="deptName" v-model="form.deptName" type="textarea" placeholder="请输入所属部门"/> --> <!-- <Field label="所属部门" prop="deptName" v-model="form.deptName" type="textarea" placeholder="请输入所属部门"/> -->
<Field <Field label="电话号码" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入电话号码" :maxLength="11"
label="电话号码" :disabled="pageInfo.type == 'view'" />
prop="phoneNumber" <Field label="请假类型" prop="leaveType" v-model="form.leaveType" type="select" :enumData="dict.leaveType"
v-model="form.phoneNumber" placeholder="请选择请假类型" :disabled="pageInfo.type == 'view'" />
placeholder="请输入电话号码"
:maxLength="11"
:disabled="pageInfo.type == 'view'"
/>
<Field
label="请假类型"
prop="leaveType"
v-model="form.leaveType"
type="select"
:enumData="dict.leaveType"
placeholder="请选择请假类型"
:disabled="pageInfo.type == 'view'"
/>
<Field <Field label="开始时间" prop="startTime" v-model="form.startTime" type="datetime" @change="changedate"
label="开始时间" :disabled="pageInfo.type == 'view'" />
prop="startTime" <Field label="结束时间" prop="endTime" v-model="form.endTime" type="datetime" @change="changedate"
v-model="form.startTime" :disabled="pageInfo.type == 'view'" />
type="datetime"
@change="changedate"
:disabled="pageInfo.type == 'view'"
/>
<Field
label="结束时间"
prop="endTime"
v-model="form.endTime"
type="datetime"
@change="changedate"
:disabled="pageInfo.type == 'view'"
/>
<Field <Field label="时长(单位:小时)" disabled prop="duration" v-model="form.duration / 60 / 60" placeholder="请输入时长(秒)"
label="时长(单位:小时)" :maxLength="4" />
disabled <Field label="请假事由" prop="reason" v-model="form.reason" type="textarea" placeholder="请输入请假事由"
prop="duration" :disabled="pageInfo.type == 'view'" />
v-model="form.duration / 60 / 60" <Field label="审核结果" prop="auditResult" v-model="form.auditResult" type="radioCol" :enumData="dict.auditResult"
placeholder="请输入时长(秒)" placeholder="请选择审核结果" :disabled="pageInfo.type == 'view'" style="width: 100%;" />
:maxLength="4"
/>
<Field
label="请假事由"
prop="reason"
v-model="form.reason"
type="textarea"
placeholder="请输入请假事由"
:disabled="pageInfo.type == 'view'"
/>
<Field
label="审核结果"
prop="auditResult"
v-model="form.auditResult"
type="radioCol"
:enumData="dict.auditResult"
placeholder="请选择审核结果"
:disabled="pageInfo.type == 'view'"
style="width: 100%;"
/>
<Field <Field label="审批负责人" prop="approverId" type="select" v-model="form.approverId" placeholder="请选择审批负责人"
label="审批负责人" :enumData="dict.approverId" :disabled="pageInfo.type == 'view'" />
prop="approverId" <Field label="申请时间" prop="createTime" v-model="form.createTime" type="datetime" disabled />
type="select" <Field label="审核说明" prop="auditDesc" type="textarea" v-model="form.auditDesc" placeholder="请输入审核说明"
v-model="form.approverId" :disabled="pageInfo.type == 'view'" style="width: 100%;" />
placeholder="请选择审批负责人"
:enumData="dict.approverId"
:disabled="pageInfo.type == 'view'"
/>
<Field
label="申请时间"
prop="createTime"
v-model="form.createTime"
type="datetime"
disabled
/>
<Field
label="审核说明"
prop="auditDesc"
type="textarea"
v-model="form.auditDesc"
placeholder="请输入审核说明"
:disabled="pageInfo.type == 'view'"
style="width: 100%;"
/>
</el-row> </el-row>
<!-- <Field label="审批负责人" prop="approver" v-model="form.approver" placeholder="请输入审批负责人"/> --> <!-- <Field label="审批负责人" prop="approver" v-model="form.approver" placeholder="请输入审批负责人"/> -->
<!-- <Field label="附件" prop="attachment" v-model="form.attachment" type="textarea" placeholder="请输入附件"/> --> <!-- <Field label="附件" prop="attachment" v-model="form.attachment" type="textarea" placeholder="请输入附件"/> -->
<Field <Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"
label="备注" :disabled="pageInfo.type == 'view'" style="width: 100%;" />
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
:disabled="pageInfo.type == 'view'"
style="width: 100%;"
/>
<el-form-item label="附件路径" prop="attachmentPathList"> <el-form-item label="附件路径" prop="attachmentPathList">
<FileUpload <FileUpload @input="uploadFn" :value="form.attachmentPathList" :fileNumber="1"
@input="uploadFn" :pageInfoType="pageInfo.type" />
:value="form.attachmentPathList"
:fileNumber="1"
:pageInfoType="pageInfo.type"
/>
</el-form-item> </el-form-item>
<form-buttons <form-buttons @submit="submitForm" noCancelBtn v-if="pageInfo.type !== 'view'" />
@submit="submitForm"
noCancelBtn
v-if="pageInfo.type !== 'view'"
/>
</el-form> </el-form>
</div> </div>
</el-drawer> </el-drawer>
...@@ -163,6 +74,7 @@ export default { ...@@ -163,6 +74,7 @@ export default {
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
title: "请假记录信息", title: "请假记录信息",
staffList: {},
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
direction: "rtl", direction: "rtl",
...@@ -172,9 +84,19 @@ export default { ...@@ -172,9 +84,19 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
leavePerson: [ leavePerson: [
{ required: true, message: "请输入请假人", trigger: "blur" }, {
required: true,
message: "请输入请假人",
trigger: "blur",
},
],
deptId: [
{
required: true,
message: "请选择部门",
trigger: "change",
},
], ],
deptId: [{ required: true, message: "请选择部门", trigger: "change" }],
// phoneNumber: [ // phoneNumber: [
// { required: true, message: "请输入电话号码", trigger: "blur" }, // { required: true, message: "请输入电话号码", trigger: "blur" },
// { // {
...@@ -184,33 +106,71 @@ export default { ...@@ -184,33 +106,71 @@ export default {
// }, // },
// ], // ],
leaveType: [ leaveType: [
{ required: true, message: "请选择请假类型", trigger: "change" }, {
required: true,
message: "请选择请假类型",
trigger: "change",
},
], ],
startTime: [ startTime: [
{ required: true, message: "请选择开始时间", trigger: "change" }, {
required: true,
message: "请选择开始时间",
trigger: "change",
},
], ],
endTime: [ endTime: [
{ required: true, message: "请选择结束时间", trigger: "change" }, {
required: true,
message: "请选择结束时间",
trigger: "change",
},
],
duration: [
{ required: true, message: "请输入时长", trigger: "blur" },
], ],
duration: [{ required: true, message: "请输入时长", trigger: "blur" }],
// reason: [ // reason: [
// { required: true, message: "请输入请假理由", trigger: "blur" }, // { required: true, message: "请输入请假理由", trigger: "blur" },
// ], // ],
approverId: [ approverId: [
{ required: true, message: "请选择审批人", trigger: "change" }, {
required: true,
message: "请选择审批人",
trigger: "change",
},
], ],
// attachmentPathList: [ // attachmentPathList: [
// { required: true, message: "请上传附件文件", trigger: "change" }, // { required: true, message: "请上传附件文件", trigger: "change" },
// ], // ],
auditResult: [ auditResult: [
{ required: true, message: "请选择审核结果", trigger: "change" }, {
required: true,
message: "请选择审核结果",
trigger: "change",
},
], ],
}, },
attachmentPath: "", attachmentPath: "",
}; };
}, },
watch: {}, watch: {},
mounted() {
this.remoteMethod()
},
methods: { methods: {
async remoteMethod() {
await this.$post(`/staff/list`, {
page: 1,
size: -1,
}).then((res) => {
let data = res.data.data
let obj = {}
for (let key in data) {
obj[key] = data[key].name
}
this.staffList = obj
});
},
// beforeSubmit() { // beforeSubmit() {
// if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) { // if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
// // this.submitForm(); // // this.submitForm();
...@@ -285,7 +245,9 @@ export default { ...@@ -285,7 +245,9 @@ export default {
}, },
changedate(val) { changedate(val) {
if (this.form.startTime && this.form.endTime) { if (this.form.startTime && this.form.endTime) {
if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) { if (
this.form.endTime.valueOf() > this.form.startTime.valueOf()
) {
// this.form.duration = getSec(this.form.startTime, this.form.endTime); // this.form.duration = getSec(this.form.startTime, this.form.endTime);
this.$post("/attendance/getTimeCount", { this.$post("/attendance/getTimeCount", {
startTime: this.form.startTime, startTime: this.form.startTime,
......
...@@ -32,6 +32,7 @@ public class AttendanceGroupServiceImpl extends AbstractCRUDServiceImpl<Attendan ...@@ -32,6 +32,7 @@ public class AttendanceGroupServiceImpl extends AbstractCRUDServiceImpl<Attendan
if(!ObjectUtils.isEmpty(entity.getAttendanceGroupStaffList())){ if(!ObjectUtils.isEmpty(entity.getAttendanceGroupStaffList())){
entity.getAttendanceGroupStaffList().stream().peek(item->{ entity.getAttendanceGroupStaffList().stream().peek(item->{
item.setGroupId(entity.getId()); item.setGroupId(entity.getId());
item.setGroupName(entity.getGroupName());
item.setCreateUser(context.getUser().getLoginName()); item.setCreateUser(context.getUser().getLoginName());
item.setCreateUserId(context.getUser().getId()); item.setCreateUserId(context.getUser().getId());
item.setCreateTime(new Date()); item.setCreateTime(new Date());
...@@ -48,6 +49,7 @@ public class AttendanceGroupServiceImpl extends AbstractCRUDServiceImpl<Attendan ...@@ -48,6 +49,7 @@ public class AttendanceGroupServiceImpl extends AbstractCRUDServiceImpl<Attendan
attendanceGroupStaffService.remove(attendanceGroupStaffIds,context); attendanceGroupStaffService.remove(attendanceGroupStaffIds,context);
entity.getAttendanceGroupStaffList().stream().peek(item ->{ entity.getAttendanceGroupStaffList().stream().peek(item ->{
item.setGroupId(entity.getId()); item.setGroupId(entity.getId());
item.setGroupName(entity.getGroupName());
item.setCreateUser(context.getUser().getLoginName()); item.setCreateUser(context.getUser().getLoginName());
item.setCreateUserId(context.getUser().getId()); item.setCreateUserId(context.getUser().getId());
item.setCreateTime(new Date()); item.setCreateTime(new Date());
......
...@@ -11,19 +11,21 @@ import com.mortals.framework.util.DateUtils; ...@@ -11,19 +11,21 @@ import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.ThreadPool; import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.AppealResultEnum; import com.mortals.xhx.common.code.*;
import com.mortals.xhx.common.code.AuditStatusEnum;
import com.mortals.xhx.common.code.ProcessInstanceEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.utils.AddAttendThread; import com.mortals.xhx.common.utils.AddAttendThread;
import com.mortals.xhx.common.utils.AttendSummaryThread; import com.mortals.xhx.common.utils.AttendSummaryThread;
import com.mortals.xhx.module.attendance.model.AttendanceLeaveRecordQuery; import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikQuery;
import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery; import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
import com.mortals.xhx.module.attendance.service.AttendanceGroupStaffService;
import com.mortals.xhx.module.attendance.service.AttendanceRecordHikService; import com.mortals.xhx.module.attendance.service.AttendanceRecordHikService;
import com.mortals.xhx.module.attendance.service.AttendanceStatService; import com.mortals.xhx.module.attendance.service.AttendanceStatService;
import com.mortals.xhx.module.dingding.personal.service.IDingPersonService; import com.mortals.xhx.module.dingding.personal.service.IDingPersonService;
import com.mortals.xhx.module.perform.model.PerformAttendRecordEntity;
import com.mortals.xhx.module.perform.model.PerformRulesEntity;
import com.mortals.xhx.module.perform.model.PerformRulesQuery;
import com.mortals.xhx.module.perform.service.PerformAttendRecordService;
import com.mortals.xhx.module.perform.service.PerformRulesService;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.service.StaffService; import com.mortals.xhx.module.staff.service.StaffService;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -32,9 +34,9 @@ import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; ...@@ -32,9 +34,9 @@ import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.xhx.module.attendance.dao.AttendanceLeaveRecordDao; import com.mortals.xhx.module.attendance.dao.AttendanceLeaveRecordDao;
import com.mortals.xhx.module.attendance.model.AttendanceLeaveRecordEntity;
import com.mortals.xhx.module.attendance.service.AttendanceLeaveRecordService; import com.mortals.xhx.module.attendance.service.AttendanceLeaveRecordService;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
...@@ -65,6 +67,12 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -65,6 +67,12 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
private AttendanceRecordHikService hikService; private AttendanceRecordHikService hikService;
@Autowired @Autowired
private IDingPersonService dingPersonService; private IDingPersonService dingPersonService;
@Autowired
private PerformAttendRecordService performAttendRecordService;
@Autowired
private AttendanceGroupStaffService attendanceGroupStaffService;
@Autowired
private PerformRulesService performRulesService;
@Override @Override
protected void updateAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException { protected void updateAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException {
...@@ -77,7 +85,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -77,7 +85,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
query.setSummaryTimeEnd(DateUtils.getStrDate(entity.getEndTime())); query.setSummaryTimeEnd(DateUtils.getStrDate(entity.getEndTime()));
cacheService.lpush(KEY_ATTENDANCE_STAT_CACHE, query); cacheService.lpush(KEY_ATTENDANCE_STAT_CACHE, query);
}*/ }*/
creatPerformAttend(entity, context);
doUpdateRecordAndSummary(entity, context); doUpdateRecordAndSummary(entity, context);
} }
...@@ -109,7 +117,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -109,7 +117,7 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
@Override @Override
protected void saveAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException { protected void saveAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException {
super.saveAfter(entity, context); super.saveAfter(entity, context);
creatPerformAttend(entity, context);
doUpdateRecordAndSummary(entity, context); doUpdateRecordAndSummary(entity, context);
} }
...@@ -210,4 +218,60 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -210,4 +218,60 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
} }
} }
} }
private void creatPerformAttend(AttendanceLeaveRecordEntity entity, Context context){
try {
if(AppealResultEnum.通过.getValue() == entity.getAuditResult() && LeaveTypeEnum.事假.getValue() == entity.getLeaveType()){
//以半天4小时为计算单位进行扣分
int multiple = entity.getDuration()/14400;
if(multiple >0 ) {
PerformAttendRecordEntity recordEntity = conversionLeaveRecord(entity);
recordEntity.setCreateTime(new Date());
recordEntity.setCreateUserId(1l);
recordEntity.setErrorTime(entity.getStartTime());
recordEntity.setScore(recordEntity.getScore().multiply(new BigDecimal(multiple)));
performAttendRecordService.save(recordEntity, context);
}
}
}catch (Exception e){
log.error(e.getMessage());
}
}
private PerformAttendRecordEntity conversionLeaveRecord(AttendanceLeaveRecordEntity entity){
PerformAttendRecordEntity recordEntity = new PerformAttendRecordEntity();
recordEntity.initAttrValue();
StaffEntity staffEntity = staffService.get(entity.getLeavePersonId());
recordEntity.setStaffId(entity.getLeavePersonId());
recordEntity.setStaffName(entity.getLeavePerson());
if(staffEntity!=null){
recordEntity.setWorkNum(staffEntity.getWorkNum());
}
recordEntity.setDeptId(entity.getDeptId());
recordEntity.setDeptName(entity.getDeptName());
recordEntity.setSalaId(entity.getSalaId());
recordEntity.setSalaName(entity.getSalaName());
AttendanceGroupStaffEntity groupStaffEntity = attendanceGroupStaffService.selectOne(new AttendanceGroupStaffQuery().staffId(entity.getLeavePersonId()));
if(groupStaffEntity!=null){
recordEntity.setAttendanceGroupId(groupStaffEntity.getGroupId());
recordEntity.setAttendanceGroupName(groupStaffEntity.getGroupName());
}
PerformRulesEntity performRulesEntity = performRulesService.selectOne(new PerformRulesQuery().ruleCode("ATTEND1009"));
if(performRulesEntity!=null){
recordEntity.setRuleId(performRulesEntity.getId());
recordEntity.setRuleName(performRulesEntity.getName());
recordEntity.setCategoryId(performRulesEntity.getCategoryId());
recordEntity.setCategoryName(performRulesEntity.getCategoryName());
recordEntity.setSubAddType(performRulesEntity.getSubAddType());
recordEntity.setScore(performRulesEntity.getScore());
recordEntity.setRemark(performRulesEntity.getContent());
}else {
throw new AppException("没有查询到请假扣分规则:ATTEND1009");
}
recordEntity.setSubMethod(SubMethodEnum.系统自动.getValue());
recordEntity.setDeductPerson("系统管理员");
return recordEntity;
}
} }
\ No newline at end of file
...@@ -95,6 +95,7 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf ...@@ -95,6 +95,7 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
entity.setDeptName(staffCache == null ? "" : staffCache.getDeptName()); entity.setDeptName(staffCache == null ? "" : staffCache.getDeptName());
entity.setSalaId(staffCache == null ? null : staffCache.getSalaId()); entity.setSalaId(staffCache == null ? null : staffCache.getSalaId());
entity.setSalaName(staffCache == null ? "" : staffCache.getSalaName()); entity.setSalaName(staffCache == null ? "" : staffCache.getSalaName());
entity.setWorkNum(staffCache == null ? "" : staffCache.getWorkNum());
} }
entity.setErrorResult(entity.getRuleName()); entity.setErrorResult(entity.getRuleName());
entity.setDeductTime(new Date()); entity.setDeductTime(new Date());
......
...@@ -106,6 +106,8 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win ...@@ -106,6 +106,8 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win
item.setDeptName(staff.getDeptName()); item.setDeptName(staff.getDeptName());
item.setSalaId(staff.getSalaId()); item.setSalaId(staff.getSalaId());
item.setSalaName(staff.getSalaName()); item.setSalaName(staff.getSalaName());
item.setYear(entity.getYear());
item.setMonth(entity.getMonth());
} }
}); });
windowWorkmanPerformDetailService.save(entity.getWorkmanPerformDetailList()); windowWorkmanPerformDetailService.save(entity.getWorkmanPerformDetailList());
...@@ -133,6 +135,8 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win ...@@ -133,6 +135,8 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win
item.setDeptName(staff.getDeptName()); item.setDeptName(staff.getDeptName());
item.setSalaId(staff.getSalaId()); item.setSalaId(staff.getSalaId());
item.setSalaName(staff.getSalaName()); item.setSalaName(staff.getSalaName());
item.setYear(entity.getYear());
item.setMonth(entity.getMonth());
} }
}); });
windowWorkmanPerformDetailService.save(entity.getWorkmanPerformDetailList()); windowWorkmanPerformDetailService.save(entity.getWorkmanPerformDetailList());
......
...@@ -557,7 +557,13 @@ ...@@ -557,7 +557,13 @@
<include refid="_orderColsNew_"/> <include refid="_orderColsNew_"/>
</select> </select>
<sql id="_orderColsNew_"> <sql id="_orderColsNew_">
order by CONVERT(a.salaName USING gbk),CONVERT(a.deptName USING gbk),CONVERT(a.staffName USING gbk) order by
<if test="orderColList != null and !orderColList.isEmpty()">
<foreach collection="orderColList" open="" close="," index="index" item="item" separator=",">
a.${item.colName} ${item.sortKind}
</foreach>
</if>
CONVERT(a.salaName USING gbk),CONVERT(a.deptName USING gbk),CONVERT(a.staffName USING gbk)
</sql> </sql>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment