diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProMobileAttendanceConfig.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProMobileAttendanceConfig.java index 937bcfd3..5c24d02d 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProMobileAttendanceConfig.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProMobileAttendanceConfig.java @@ -2,6 +2,8 @@ package com.yanzhu.manage.domain; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import com.yanzhu.common.core.annotation.Excel; import com.yanzhu.common.core.web.domain.BaseEntity; @@ -43,6 +45,16 @@ public class ProMobileAttendanceConfig extends BaseEntity @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd") private Date endDate; + private List groupList; + + public List getGroupList() { + return groupList; + } + + public void setGroupList(List groupList) { + this.groupList = groupList; + } + /** 地址 */ @Excel(name = "地址") private String address; diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProMobileAttendanceConfigGroupMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProMobileAttendanceConfigGroupMapper.java index 26d04280..9bf03591 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProMobileAttendanceConfigGroupMapper.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProMobileAttendanceConfigGroupMapper.java @@ -58,4 +58,14 @@ public interface ProMobileAttendanceConfigGroupMapper * @return 结果 */ public int deleteProMobileAttendanceConfigGroupByIds(Long[] ids); -} + + /** + * 根据配置ID删除移动端考勤配置分组信息 + * + * @param cfgId 配置ID + * @return 结果 + */ + public int deleteProMobileAttendanceConfigGroupByCfgId(Long cfgId); + + public int insertProMobileAttendanceConfigGroupBatch(List groupList); +} \ No newline at end of file diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProMobileAttendanceConfigGroupMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProMobileAttendanceConfigGroupMapper.xml index 2c8a89ae..d9863549 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProMobileAttendanceConfigGroupMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProMobileAttendanceConfigGroupMapper.xml @@ -38,6 +38,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{groupId}, + + insert into pro_mobile_attendance_config_group (cfg_id, group_id) + values + + (#{item.cfgId}, #{item.groupId}) + + update pro_mobile_attendance_config_group @@ -58,4 +65,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from pro_mobile_attendance_config_group where cfg_id = #{cfgId} + \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/remoteAttendance/ProMobileAttendanceConfigGroupController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/remoteAttendance/ProMobileAttendanceConfigGroupController.java deleted file mode 100644 index bda0eafe..00000000 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/remoteAttendance/ProMobileAttendanceConfigGroupController.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.yanzhu.manage.controller.remoteAttendance; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -import com.yanzhu.common.core.utils.poi.ExcelUtil; -import com.yanzhu.common.core.web.controller.BaseController; -import com.yanzhu.common.core.web.domain.AjaxResult; -import com.yanzhu.common.core.web.page.TableDataInfo; -import com.yanzhu.common.log.annotation.Log; -import com.yanzhu.common.log.enums.BusinessType; -import com.yanzhu.common.security.annotation.RequiresPermissions; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.yanzhu.manage.domain.ProMobileAttendanceConfigGroup; -import com.yanzhu.manage.service.IProMobileAttendanceConfigGroupService; - - -/** - * 移动端考勤配置分组信息Controller - * - * @author yanzhu - * @date 2025-08-29 - */ -@RestController -@RequestMapping("/mobileAttendanceConfigGroup") -public class ProMobileAttendanceConfigGroupController extends BaseController -{ - @Autowired - private IProMobileAttendanceConfigGroupService proMobileAttendanceConfigGroupService; - - /** - * 查询移动端考勤配置分组信息列表 - */ - @RequiresPermissions("manage:mobileAttendanceConfigGroup:list") - @GetMapping("/list") - public TableDataInfo list(ProMobileAttendanceConfigGroup proMobileAttendanceConfigGroup) - { - startPage(); - List list = proMobileAttendanceConfigGroupService.selectProMobileAttendanceConfigGroupList(proMobileAttendanceConfigGroup); - return getDataTable(list); - } - - /** - * 导出移动端考勤配置分组信息列表 - */ - @RequiresPermissions("manage:mobileAttendanceConfigGroup:export") - @Log(title = "移动端考勤配置分组信息", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, ProMobileAttendanceConfigGroup proMobileAttendanceConfigGroup) - { - List list = proMobileAttendanceConfigGroupService.selectProMobileAttendanceConfigGroupList(proMobileAttendanceConfigGroup); - ExcelUtil util = new ExcelUtil(ProMobileAttendanceConfigGroup.class); - util.exportExcel(response, list, "移动端考勤配置分组信息数据"); - } - - /** - * 获取移动端考勤配置分组信息详细信息 - */ - @RequiresPermissions("manage:mobileAttendanceConfigGroup:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return success(proMobileAttendanceConfigGroupService.selectProMobileAttendanceConfigGroupById(id)); - } - - /** - * 新增移动端考勤配置分组信息 - */ - @RequiresPermissions("manage:mobileAttendanceConfigGroup:add") - @Log(title = "移动端考勤配置分组信息", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody ProMobileAttendanceConfigGroup proMobileAttendanceConfigGroup) - { - return toAjax(proMobileAttendanceConfigGroupService.insertProMobileAttendanceConfigGroup(proMobileAttendanceConfigGroup)); - } - - /** - * 修改移动端考勤配置分组信息 - */ - @RequiresPermissions("manage:mobileAttendanceConfigGroup:edit") - @Log(title = "移动端考勤配置分组信息", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody ProMobileAttendanceConfigGroup proMobileAttendanceConfigGroup) - { - return toAjax(proMobileAttendanceConfigGroupService.updateProMobileAttendanceConfigGroup(proMobileAttendanceConfigGroup)); - } - - /** - * 删除移动端考勤配置分组信息 - */ - @RequiresPermissions("manage:mobileAttendanceConfigGroup:remove") - @Log(title = "移动端考勤配置分组信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(proMobileAttendanceConfigGroupService.deleteProMobileAttendanceConfigGroupByIds(ids)); - } -} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProMobileAttendanceConfigServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProMobileAttendanceConfigServiceImpl.java index 4f83cbee..fb46f060 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProMobileAttendanceConfigServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProMobileAttendanceConfigServiceImpl.java @@ -4,6 +4,8 @@ import java.util.List; import com.yanzhu.common.core.context.SecurityContextHolder; import com.yanzhu.common.core.utils.DateUtils; +import com.yanzhu.manage.domain.ProMobileAttendanceConfigGroup; +import com.yanzhu.manage.mapper.ProMobileAttendanceConfigGroupMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.yanzhu.manage.mapper.ProMobileAttendanceConfigMapper; @@ -22,6 +24,8 @@ public class ProMobileAttendanceConfigServiceImpl implements IProMobileAttendanc @Autowired private ProMobileAttendanceConfigMapper proMobileAttendanceConfigMapper; + @Autowired + private ProMobileAttendanceConfigGroupMapper proMobileAttendanceConfigGroupMapper; /** * 查询移动端考勤配置 * @@ -57,7 +61,17 @@ public class ProMobileAttendanceConfigServiceImpl implements IProMobileAttendanc { proMobileAttendanceConfig.setCreateBy(SecurityContextHolder.getUserName()); proMobileAttendanceConfig.setCreateTime(DateUtils.getNowDate()); - return proMobileAttendanceConfigMapper.insertProMobileAttendanceConfig(proMobileAttendanceConfig); + int cnt= proMobileAttendanceConfigMapper.insertProMobileAttendanceConfig(proMobileAttendanceConfig); + if(cnt>0){ + List groupList = proMobileAttendanceConfig.getGroupList(); + if(groupList!=null && groupList.size()>0){ + for(ProMobileAttendanceConfigGroup group:groupList){ + group.setCfgId(proMobileAttendanceConfig.getId()); + } + proMobileAttendanceConfigGroupMapper.insertProMobileAttendanceConfigGroupBatch(groupList); + } + } + return cnt; } /** @@ -71,7 +85,20 @@ public class ProMobileAttendanceConfigServiceImpl implements IProMobileAttendanc { proMobileAttendanceConfig.setUpdateBy(SecurityContextHolder.getUserName()); proMobileAttendanceConfig.setUpdateTime(DateUtils.getNowDate()); - return proMobileAttendanceConfigMapper.updateProMobileAttendanceConfig(proMobileAttendanceConfig); + int cnt= proMobileAttendanceConfigMapper.updateProMobileAttendanceConfig(proMobileAttendanceConfig); + if(cnt>0){ + List groupList = proMobileAttendanceConfig.getGroupList(); + // 先根据配置ID删除原有的关联数据 + proMobileAttendanceConfigGroupMapper.deleteProMobileAttendanceConfigGroupByCfgId(proMobileAttendanceConfig.getId()); + // 再重新插入新的关联数据 + if(groupList!=null && groupList.size()>0){ + for(ProMobileAttendanceConfigGroup group:groupList){ + group.setCfgId(proMobileAttendanceConfig.getId()); + } + proMobileAttendanceConfigGroupMapper.insertProMobileAttendanceConfigGroupBatch(groupList); + } + } + return cnt; } /**