八大员缺员兼职查询接口修改、一键审批
This commit is contained in:
parent
dfa1d87787
commit
4ffee47816
|
|
@ -11,6 +11,7 @@ import com.bonus.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.system.att.entity.OrgChangeBean;
|
import com.bonus.system.att.entity.OrgChangeBean;
|
||||||
import com.bonus.system.att.service.OrgChangeService;
|
import com.bonus.system.att.service.OrgChangeService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -144,6 +145,24 @@ public class OrgChangeController extends BaseController {
|
||||||
return error("系统异常");
|
return error("系统异常");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PutMapping("orgBatchChangeCheck")
|
||||||
|
@Log(title = "流程相关->组织架构变更审核->一键审核", businessType = BusinessType.UPDATE)
|
||||||
|
public AjaxResult orgBatchChangeCheck(@Validated @RequestBody OrgChangeBean o) {
|
||||||
|
try{
|
||||||
|
if(CollectionUtils.isEmpty(o.getIds())){
|
||||||
|
return AjaxResult.error("请选择要审批的数据");
|
||||||
|
}
|
||||||
|
for (Long id : o.getIds()) {
|
||||||
|
o.setId(id);
|
||||||
|
orgChangeService.orgChangeCheck(o);
|
||||||
|
}
|
||||||
|
return success();
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.toString(),e);
|
||||||
|
}
|
||||||
|
return error("系统异常");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取考勤组
|
* 获取考勤组
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -147,4 +147,6 @@ public class OrgChangeBean {
|
||||||
*/
|
*/
|
||||||
private String isApply;
|
private String isApply;
|
||||||
|
|
||||||
|
private List<Long> ids;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -113,4 +113,6 @@ public class SysOrg {
|
||||||
*/
|
*/
|
||||||
private List<String> orgList;
|
private List<String> orgList;
|
||||||
|
|
||||||
|
private List<Long> ids;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,12 @@ public class ProDeptRoleController extends BaseController {
|
||||||
return error("系统异常");
|
return error("系统异常");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("batchRoleCheck")
|
||||||
|
@Log(title = "项目部管理->项目部角色管理->项目部角色一键审批", businessType = BusinessType.UPDATE)
|
||||||
|
public AjaxResult batchRoleCheck(@RequestBody ProDeptRoleDo bean) {
|
||||||
|
return proDeptRoleService.batchRoleCheck(bean);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询人员树选择列表
|
* 查询人员树选择列表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import com.bonus.system.basic.domain.SysTree;
|
||||||
import com.bonus.system.dept.entity.SubOrgBean;
|
import com.bonus.system.dept.entity.SubOrgBean;
|
||||||
import com.bonus.system.dept.service.SubOrgService;
|
import com.bonus.system.dept.service.SubOrgService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -151,6 +152,24 @@ public class SubOrgController extends BaseController
|
||||||
return error("系统异常");
|
return error("系统异常");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("batchChangeStatus")
|
||||||
|
@Log(title = "分公司组织信息->分公司项目部审批->一键审批", businessType = BusinessType.UPDATE)
|
||||||
|
public AjaxResult batchChangeStatus(@RequestBody SubOrgBean org) {
|
||||||
|
try{
|
||||||
|
if(CollectionUtils.isEmpty(org.getIds())){
|
||||||
|
return AjaxResult.error("请选择要审批的数据");
|
||||||
|
}
|
||||||
|
for (Long id : org.getIds()) {
|
||||||
|
org.setId(id);
|
||||||
|
service.changeStatus(org);
|
||||||
|
}
|
||||||
|
return success();
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.toString(),e);
|
||||||
|
}
|
||||||
|
return error("系统异常");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取组织列表(待审批)
|
* 获取组织列表(待审批)
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -98,4 +98,12 @@ public interface ProDeptRoleDao {
|
||||||
|
|
||||||
String getOrgChildById(Long orgId);
|
String getOrgChildById(Long orgId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目部管理->项目部角色管理->项目部角色一键审批
|
||||||
|
* @param bean
|
||||||
|
* @return void
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2025/2/11 15:20
|
||||||
|
*/
|
||||||
|
void batchRoleCheck(ProDeptRoleDo bean);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,5 +68,8 @@ public class ProDeptRoleDo extends BaseBean {
|
||||||
*/
|
*/
|
||||||
private Long reviewerUserId;
|
private Long reviewerUserId;
|
||||||
|
|
||||||
|
/**批量审核ID*/
|
||||||
|
private List<Long> ids;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,11 @@ import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.system.dept.dao.EightMembersVacancyDao;
|
import com.bonus.system.dept.dao.EightMembersVacancyDao;
|
||||||
import com.bonus.system.dept.entity.EightMembersVacancyVo;
|
import com.bonus.system.dept.entity.EightMembersVacancyVo;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -15,6 +17,8 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
import java.util.concurrent.Future;
|
||||||
|
|
||||||
import static com.bonus.common.core.utils.PageUtils.startPage;
|
import static com.bonus.common.core.utils.PageUtils.startPage;
|
||||||
|
|
||||||
|
|
@ -27,7 +31,7 @@ import static com.bonus.common.core.utils.PageUtils.startPage;
|
||||||
*/
|
*/
|
||||||
@Service(value = "EightMembersVacancyService")
|
@Service(value = "EightMembersVacancyService")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class EightMembersVacancyServiceImpl implements EightMembersVacancyService{
|
public class EightMembersVacancyServiceImpl implements EightMembersVacancyService {
|
||||||
|
|
||||||
@Resource(name = "EightMembersVacancyDao")
|
@Resource(name = "EightMembersVacancyDao")
|
||||||
private EightMembersVacancyDao dao;
|
private EightMembersVacancyDao dao;
|
||||||
|
|
@ -38,22 +42,34 @@ public class EightMembersVacancyServiceImpl implements EightMembersVacancyServic
|
||||||
@Override
|
@Override
|
||||||
public List<EightMembersVacancyVo> getList(EightMembersVacancyVo vo) {
|
public List<EightMembersVacancyVo> getList(EightMembersVacancyVo vo) {
|
||||||
List<EightMembersVacancyVo> list = new ArrayList<>();
|
List<EightMembersVacancyVo> list = new ArrayList<>();
|
||||||
|
List<EightMembersVacancyVo> newList = new ArrayList<>();
|
||||||
|
List<Future> futureList = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
list = dao.getList(vo);
|
list = dao.getList(vo);
|
||||||
for (EightMembersVacancyVo vacancyVo : list) {
|
for (EightMembersVacancyVo vacancyVo : list) {
|
||||||
testTaskExecutor.execute(() -> {
|
Future<EightMembersVacancyVo> future = testTaskExecutor.submit(new Callable<EightMembersVacancyVo>() {
|
||||||
// 查询缺员项目部数量
|
@Override
|
||||||
List<Long> numList = dao.getNumByType(vacancyVo.getId(),1);
|
public EightMembersVacancyVo call() throws Exception {
|
||||||
// 查询兼职项目部数量
|
// 查询缺员项目部数量
|
||||||
List<Long> numList2 = dao.getNumByType(vacancyVo.getId(),2);
|
List<Long> numList = dao.getNumByType(vacancyVo.getId(),1);
|
||||||
vacancyVo.setVacancyDeptNum(CollectionUtils.isEmpty(numList) ? 0 : numList.size());
|
// 查询兼职项目部数量
|
||||||
vacancyVo.setPartTimeJobNum(CollectionUtils.isEmpty(numList2) ? 0 : numList2.size());
|
List<Long> numList2 = dao.getNumByType(vacancyVo.getId(),2);
|
||||||
|
vacancyVo.setVacancyDeptNum(CollectionUtils.isEmpty(numList) ? 0 : numList.size());
|
||||||
|
vacancyVo.setPartTimeJobNum(CollectionUtils.isEmpty(numList2) ? 0 : numList2.size());
|
||||||
|
return vacancyVo;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
futureList.add(future);
|
||||||
}
|
}
|
||||||
|
for (Future<EightMembersVacancyVo> future : futureList) {
|
||||||
|
EightMembersVacancyVo vacancyVo = future.get();
|
||||||
|
newList.add(vacancyVo);
|
||||||
|
}
|
||||||
|
PageInfo<EightMembersVacancyVo> pageInfo = new PageInfo<>(newList);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(), e);
|
||||||
}
|
}
|
||||||
return list;
|
return newList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -61,13 +77,13 @@ public class EightMembersVacancyServiceImpl implements EightMembersVacancyServic
|
||||||
List<EightMembersVacancyVo.VacancyDetail> list = new ArrayList<>();
|
List<EightMembersVacancyVo.VacancyDetail> list = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
// 查询缺员项目部id
|
// 查询缺员项目部id
|
||||||
List<Long> underStaffingIds = dao.getNumByType(vo.getId(),1);
|
List<Long> underStaffingIds = dao.getNumByType(vo.getId(), 1);
|
||||||
startPage();
|
startPage();
|
||||||
if(CollectionUtils.isNotEmpty(underStaffingIds)){
|
if (CollectionUtils.isNotEmpty(underStaffingIds)) {
|
||||||
list = dao.getStaffingList(underStaffingIds,vo);
|
list = dao.getStaffingList(underStaffingIds, vo);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(), e);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
@ -77,24 +93,24 @@ public class EightMembersVacancyServiceImpl implements EightMembersVacancyServic
|
||||||
List<EightMembersVacancyVo.VacancyDetail> list = new ArrayList<>();
|
List<EightMembersVacancyVo.VacancyDetail> list = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
// 查询兼职项目部id
|
// 查询兼职项目部id
|
||||||
List<Long> partTimeIds = dao.getNumByType(vo.getId(),2);
|
List<Long> partTimeIds = dao.getNumByType(vo.getId(), 2);
|
||||||
startPage();
|
startPage();
|
||||||
if(CollectionUtils.isNotEmpty(partTimeIds)){
|
if (CollectionUtils.isNotEmpty(partTimeIds)) {
|
||||||
list = dao.getStaffingList(partTimeIds,vo);
|
list = dao.getStaffingList(partTimeIds, vo);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(), e);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult getRoleList() {
|
public AjaxResult getRoleList() {
|
||||||
List<Map<String,Object>> list = new ArrayList<>();
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
list = dao.getRoleList();
|
list = dao.getRoleList();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(), e);
|
||||||
}
|
}
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bonus.system.dept.service;
|
package com.bonus.system.dept.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.system.basic.domain.SysOrg;
|
import com.bonus.system.basic.domain.SysOrg;
|
||||||
import com.bonus.system.dept.entity.*;
|
import com.bonus.system.dept.entity.*;
|
||||||
|
|
||||||
|
|
@ -46,4 +47,13 @@ public interface ProDeptRoleService {
|
||||||
ProDeptRoleBean getInfoById(ProDeptRoleBean o);
|
ProDeptRoleBean getInfoById(ProDeptRoleBean o);
|
||||||
|
|
||||||
List<ProDeptRoleBean> getRoleUserNoManagerList(ProDeptRoleBean bean);
|
List<ProDeptRoleBean> getRoleUserNoManagerList(ProDeptRoleBean bean);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目部管理->项目部角色管理->项目部角色一键审批
|
||||||
|
* @param bean
|
||||||
|
* @return AjaxResult
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2025/2/11 15:17
|
||||||
|
*/
|
||||||
|
AjaxResult batchRoleCheck(ProDeptRoleDo bean);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.bonus.common.core.utils.BuildTreeUtil;
|
import com.bonus.common.core.utils.BuildTreeUtil;
|
||||||
import com.bonus.common.core.utils.StringUtils;
|
import com.bonus.common.core.utils.StringUtils;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.common.security.utils.SecurityUtils;
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.system.api.domain.MapVo;
|
import com.bonus.system.api.domain.MapVo;
|
||||||
import com.bonus.system.api.domain.SysUser;
|
import com.bonus.system.api.domain.SysUser;
|
||||||
|
|
@ -14,8 +15,11 @@ import com.bonus.system.basic.service.SysNoticeService;
|
||||||
import com.bonus.system.dept.controller.SubOrgController;
|
import com.bonus.system.dept.controller.SubOrgController;
|
||||||
import com.bonus.system.dept.dao.ProDeptRoleDao;
|
import com.bonus.system.dept.dao.ProDeptRoleDao;
|
||||||
import com.bonus.system.dept.entity.*;
|
import com.bonus.system.dept.entity.*;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -27,6 +31,7 @@ import java.util.stream.Collectors;
|
||||||
* @author fly
|
* @author fly
|
||||||
*/
|
*/
|
||||||
@Service("ProDeptRoleService")
|
@Service("ProDeptRoleService")
|
||||||
|
@Slf4j
|
||||||
public class ProDeptRoleServiceImpl implements ProDeptRoleService {
|
public class ProDeptRoleServiceImpl implements ProDeptRoleService {
|
||||||
|
|
||||||
@Resource(name = "ProDeptRoleDao")
|
@Resource(name = "ProDeptRoleDao")
|
||||||
|
|
@ -145,6 +150,27 @@ public class ProDeptRoleServiceImpl implements ProDeptRoleService {
|
||||||
return proDeptRoleDao.checkPersonAssignment(bean);
|
return proDeptRoleDao.checkPersonAssignment(bean);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult batchRoleCheck(ProDeptRoleDo bean) {
|
||||||
|
try {
|
||||||
|
if(CollectionUtils.isEmpty(bean.getIds())){
|
||||||
|
return AjaxResult.error("未选择审批数据");
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(bean.getReviewerStatus())){
|
||||||
|
return AjaxResult.error("未选择审批状态");
|
||||||
|
}
|
||||||
|
long loginId = SecurityUtils.getLoginUser().getSysUser().getUserId();
|
||||||
|
bean.setReviewerUserId(loginId);
|
||||||
|
bean.setReviewerTime(DateUtil.date());
|
||||||
|
proDeptRoleDao.batchRoleCheck(bean);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(e.toString(),e);
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return AjaxResult.error();
|
||||||
|
}
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONArray selectOrgUserList(ProDeptRoleBean bean) {
|
public JSONArray selectOrgUserList(ProDeptRoleBean bean) {
|
||||||
JSONArray resultTree;
|
JSONArray resultTree;
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ public interface HolidayService {
|
||||||
List<HolidayBean> getHolidayListCheck(HolidayBean bean);
|
List<HolidayBean> getHolidayListCheck(HolidayBean bean);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程相关->轮休审批->一键审批
|
* 流程相关->轮休审批/临时外出审核->一键审批
|
||||||
* @param o
|
* @param o
|
||||||
* @return void
|
* @return void
|
||||||
* @author cwchen
|
* @author cwchen
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,8 @@ public class HolidayServiceImpl implements HolidayService {
|
||||||
o.setExamineUserId(updateUserId);
|
o.setExamineUserId(updateUserId);
|
||||||
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
||||||
String userName =sysUser.getUserName();
|
String userName =sysUser.getUserName();
|
||||||
String orgName = sysUser.getOrgName();
|
// 当前登录人存在多个组织机构时,只取第一个组织机构的名称
|
||||||
|
String orgName = CollectionUtils.isEmpty(sysUser.getOrgList()) ? "" : sysUser.getOrgList().get(0).getName();
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
if(Objects.equals(o.getExamineStatus(),"1")){
|
if(Objects.equals(o.getExamineStatus(),"1")){
|
||||||
o.setExamineOpinion("同意 " + orgName + " "+userName+" "+ now);
|
o.setExamineOpinion("同意 " + orgName + " "+userName+" "+ now);
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
sd.value AS roleName
|
sd.value AS roleName
|
||||||
FROM sys_dict sd
|
FROM sys_dict sd
|
||||||
WHERE sd.type = 'deptRole' AND sd.is_active = '1'
|
WHERE sd.type = 'deptRole' AND sd.is_active = '1'
|
||||||
<if test="id!=null">
|
<if test="id!=null and id!=0L">
|
||||||
AND sd.id = #{id}
|
AND sd.id = #{id}
|
||||||
</if>
|
</if>
|
||||||
ORDER BY update_time
|
ORDER BY update_time
|
||||||
|
|
|
||||||
|
|
@ -448,4 +448,15 @@
|
||||||
reviewer_time = #{reviewerTime}
|
reviewer_time = #{reviewerTime}
|
||||||
where id = #{departmentId}
|
where id = #{departmentId}
|
||||||
</update>
|
</update>
|
||||||
|
<!--项目部管理->项目部角色管理->项目部角色一键审批-->
|
||||||
|
<update id="batchRoleCheck">
|
||||||
|
UPDATE sys_department_role
|
||||||
|
SET reviewer_user_id = #{reviewerUserId},
|
||||||
|
reviewer_status = #{reviewerStatus},
|
||||||
|
reviewer_time = #{reviewerTime}
|
||||||
|
WHERE id IN
|
||||||
|
<foreach collection="ids" separator="," open="(" close=")" item="item">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue