修改移动考勤服务

dev_xd
lj7788@126.com 2025-08-30 17:14:05 +08:00
parent 9ac6586e86
commit 8c11119fcc
5 changed files with 63 additions and 111 deletions

View File

@ -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<ProMobileAttendanceConfigGroup> groupList;
public List<ProMobileAttendanceConfigGroup> getGroupList() {
return groupList;
}
public void setGroupList(List<ProMobileAttendanceConfigGroup> groupList) {
this.groupList = groupList;
}
/** 地址 */
@Excel(name = "地址")
private String address;

View File

@ -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<ProMobileAttendanceConfigGroup> groupList);
}

View File

@ -38,6 +38,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="groupId != null">#{groupId},</if>
</trim>
</insert>
<insert id="insertProMobileAttendanceConfigGroupBatch">
insert into pro_mobile_attendance_config_group (cfg_id, group_id)
values
<foreach collection="groupList" item="item" index="index" separator=";">
(#{item.cfgId}, #{item.groupId})
</foreach>
</insert>
<update id="updateProMobileAttendanceConfigGroup" parameterType="ProMobileAttendanceConfigGroup">
update pro_mobile_attendance_config_group
@ -58,4 +65,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteProMobileAttendanceConfigGroupByCfgId" parameterType="Long">
delete from pro_mobile_attendance_config_group where cfg_id = #{cfgId}
</delete>
</mapper>

View File

@ -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<ProMobileAttendanceConfigGroup> 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<ProMobileAttendanceConfigGroup> list = proMobileAttendanceConfigGroupService.selectProMobileAttendanceConfigGroupList(proMobileAttendanceConfigGroup);
ExcelUtil<ProMobileAttendanceConfigGroup> util = new ExcelUtil<ProMobileAttendanceConfigGroup>(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));
}
}

View File

@ -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<ProMobileAttendanceConfigGroup> 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<ProMobileAttendanceConfigGroup> 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;
}
/**