feat(erp): 添加月标准工时功能及月汇总工时功能基础CRUD
parent
510905b210
commit
e41128cfe3
@ -0,0 +1,116 @@
|
||||
package org.dromara.oa.erp.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetStandardMonthVo;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetStandardMonthBo;
|
||||
import org.dromara.oa.erp.service.IErpTimesheetStandardMonthService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 月标准工时信息
|
||||
* 前端访问路由地址为:/oa/erp/timesheetStandardMonth
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/erp/timesheetStandardMonth")
|
||||
public class ErpTimesheetStandardMonthController extends BaseController {
|
||||
|
||||
private final IErpTimesheetStandardMonthService erpTimesheetStandardMonthService;
|
||||
|
||||
/**
|
||||
* 查询月标准工时信息列表
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetStandardMonth:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ErpTimesheetStandardMonthVo> list(ErpTimesheetStandardMonthBo bo, PageQuery pageQuery) {
|
||||
return erpTimesheetStandardMonthService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出月标准工时信息列表
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetStandardMonth:export")
|
||||
@Log(title = "月标准工时信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ErpTimesheetStandardMonthBo bo, HttpServletResponse response) {
|
||||
List<ErpTimesheetStandardMonthVo> list = erpTimesheetStandardMonthService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "月标准工时信息", ErpTimesheetStandardMonthVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取月标准工时信息详细信息
|
||||
*
|
||||
* @param standardMonthId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetStandardMonth:query")
|
||||
@GetMapping("/{standardMonthId}")
|
||||
public R<ErpTimesheetStandardMonthVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("standardMonthId") Long standardMonthId) {
|
||||
return R.ok(erpTimesheetStandardMonthService.queryById(standardMonthId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增月标准工时信息
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetStandardMonth:add")
|
||||
@Log(title = "月标准工时信息", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody ErpTimesheetStandardMonthBo bo) {
|
||||
return toAjax(erpTimesheetStandardMonthService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改月标准工时信息
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetStandardMonth:edit")
|
||||
@Log(title = "月标准工时信息", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ErpTimesheetStandardMonthBo bo) {
|
||||
return toAjax(erpTimesheetStandardMonthService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除月标准工时信息
|
||||
*
|
||||
* @param standardMonthIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetStandardMonth:remove")
|
||||
@Log(title = "月标准工时信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{standardMonthIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable("standardMonthIds") Long[] standardMonthIds) {
|
||||
return toAjax(erpTimesheetStandardMonthService.deleteWithValidByIds(List.of(standardMonthIds), true));
|
||||
}
|
||||
|
||||
/**
|
||||
* 下拉框查询月标准工时信息列表
|
||||
*/
|
||||
@GetMapping("/getErpTimesheetStandardMonthList")
|
||||
public R<List<ErpTimesheetStandardMonthVo>> getErpTimesheetStandardMonthList(ErpTimesheetStandardMonthBo bo) {
|
||||
List<ErpTimesheetStandardMonthVo> list = erpTimesheetStandardMonthService.queryList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,116 @@
|
||||
package org.dromara.oa.erp.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryVo;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetSummaryBo;
|
||||
import org.dromara.oa.erp.service.IErpTimesheetSummaryService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 月汇总工时信息
|
||||
* 前端访问路由地址为:/oa/erp/timesheetSummary
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/erp/timesheetSummary")
|
||||
public class ErpTimesheetSummaryController extends BaseController {
|
||||
|
||||
private final IErpTimesheetSummaryService erpTimesheetSummaryService;
|
||||
|
||||
/**
|
||||
* 查询月汇总工时信息列表
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummary:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ErpTimesheetSummaryVo> list(ErpTimesheetSummaryBo bo, PageQuery pageQuery) {
|
||||
return erpTimesheetSummaryService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出月汇总工时信息列表
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummary:export")
|
||||
@Log(title = "月汇总工时信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ErpTimesheetSummaryBo bo, HttpServletResponse response) {
|
||||
List<ErpTimesheetSummaryVo> list = erpTimesheetSummaryService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "月汇总工时信息", ErpTimesheetSummaryVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取月汇总工时信息详细信息
|
||||
*
|
||||
* @param summaryId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummary:query")
|
||||
@GetMapping("/{summaryId}")
|
||||
public R<ErpTimesheetSummaryVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("summaryId") Long summaryId) {
|
||||
return R.ok(erpTimesheetSummaryService.queryById(summaryId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增月汇总工时信息
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummary:add")
|
||||
@Log(title = "月汇总工时信息", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody ErpTimesheetSummaryBo bo) {
|
||||
return toAjax(erpTimesheetSummaryService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改月汇总工时信息
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummary:edit")
|
||||
@Log(title = "月汇总工时信息", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ErpTimesheetSummaryBo bo) {
|
||||
return toAjax(erpTimesheetSummaryService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除月汇总工时信息
|
||||
*
|
||||
* @param summaryIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummary:remove")
|
||||
@Log(title = "月汇总工时信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{summaryIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable("summaryIds") Long[] summaryIds) {
|
||||
return toAjax(erpTimesheetSummaryService.deleteWithValidByIds(List.of(summaryIds), true));
|
||||
}
|
||||
|
||||
/**
|
||||
* 下拉框查询月汇总工时信息列表
|
||||
*/
|
||||
@GetMapping("/getErpTimesheetSummaryList")
|
||||
public R<List<ErpTimesheetSummaryVo>> getErpTimesheetSummaryList(ErpTimesheetSummaryBo bo) {
|
||||
List<ErpTimesheetSummaryVo> list = erpTimesheetSummaryService.queryList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,116 @@
|
||||
package org.dromara.oa.erp.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryDetailVo;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetSummaryDetailBo;
|
||||
import org.dromara.oa.erp.service.IErpTimesheetSummaryDetailService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 月汇总工时明细
|
||||
* 前端访问路由地址为:/oa/erp/timesheetSummaryDetail
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/erp/timesheetSummaryDetail")
|
||||
public class ErpTimesheetSummaryDetailController extends BaseController {
|
||||
|
||||
private final IErpTimesheetSummaryDetailService erpTimesheetSummaryDetailService;
|
||||
|
||||
/**
|
||||
* 查询月汇总工时明细列表
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummaryDetail:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ErpTimesheetSummaryDetailVo> list(ErpTimesheetSummaryDetailBo bo, PageQuery pageQuery) {
|
||||
return erpTimesheetSummaryDetailService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出月汇总工时明细列表
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummaryDetail:export")
|
||||
@Log(title = "月汇总工时明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ErpTimesheetSummaryDetailBo bo, HttpServletResponse response) {
|
||||
List<ErpTimesheetSummaryDetailVo> list = erpTimesheetSummaryDetailService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "月汇总工时明细", ErpTimesheetSummaryDetailVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取月汇总工时明细详细信息
|
||||
*
|
||||
* @param summaryDetailId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummaryDetail:query")
|
||||
@GetMapping("/{summaryDetailId}")
|
||||
public R<ErpTimesheetSummaryDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("summaryDetailId") Long summaryDetailId) {
|
||||
return R.ok(erpTimesheetSummaryDetailService.queryById(summaryDetailId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增月汇总工时明细
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummaryDetail:add")
|
||||
@Log(title = "月汇总工时明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody ErpTimesheetSummaryDetailBo bo) {
|
||||
return toAjax(erpTimesheetSummaryDetailService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改月汇总工时明细
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummaryDetail:edit")
|
||||
@Log(title = "月汇总工时明细", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ErpTimesheetSummaryDetailBo bo) {
|
||||
return toAjax(erpTimesheetSummaryDetailService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除月汇总工时明细
|
||||
*
|
||||
* @param summaryDetailIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa/erp:timesheetSummaryDetail:remove")
|
||||
@Log(title = "月汇总工时明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{summaryDetailIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable("summaryDetailIds") Long[] summaryDetailIds) {
|
||||
return toAjax(erpTimesheetSummaryDetailService.deleteWithValidByIds(List.of(summaryDetailIds), true));
|
||||
}
|
||||
|
||||
/**
|
||||
* 下拉框查询月汇总工时明细列表
|
||||
*/
|
||||
@GetMapping("/getErpTimesheetSummaryDetailList")
|
||||
public R<List<ErpTimesheetSummaryDetailVo>> getErpTimesheetSummaryDetailList(ErpTimesheetSummaryDetailBo bo) {
|
||||
List<ErpTimesheetSummaryDetailVo> list = erpTimesheetSummaryDetailService.queryList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package org.dromara.oa.erp.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetStandardMonth;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetStandardMonthVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 月标准工时信息Mapper接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
public interface ErpTimesheetStandardMonthMapper extends BaseMapperPlus<ErpTimesheetStandardMonth, ErpTimesheetStandardMonthVo> {
|
||||
|
||||
/**
|
||||
* 查询月标准工时信息列表
|
||||
*
|
||||
* @param page 分页
|
||||
* @param queryWrapper 条件
|
||||
* @return 月标准工时信息集合
|
||||
*/
|
||||
public Page<ErpTimesheetStandardMonthVo> selectCustomErpTimesheetStandardMonthVoList(@Param("page") Page<ErpTimesheetStandardMonthVo> page, @Param(Constants.WRAPPER) MPJLambdaWrapper<ErpTimesheetStandardMonth> queryWrapper);
|
||||
|
||||
/**
|
||||
* 查询月标准工时信息列表
|
||||
*
|
||||
* @param queryWrapper 条件
|
||||
* @return 月标准工时信息集合
|
||||
*/
|
||||
public List<ErpTimesheetStandardMonthVo> selectCustomErpTimesheetStandardMonthVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper<ErpTimesheetStandardMonth> queryWrapper);
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package org.dromara.oa.erp.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetSummaryDetail;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryDetailVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 月汇总工时明细Mapper接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
public interface ErpTimesheetSummaryDetailMapper extends BaseMapperPlus<ErpTimesheetSummaryDetail, ErpTimesheetSummaryDetailVo> {
|
||||
|
||||
/**
|
||||
* 查询月汇总工时明细列表
|
||||
*
|
||||
* @param page 分页
|
||||
* @param queryWrapper 条件
|
||||
* @return 月汇总工时明细集合
|
||||
*/
|
||||
public Page<ErpTimesheetSummaryDetailVo> selectCustomErpTimesheetSummaryDetailVoList(@Param("page") Page<ErpTimesheetSummaryDetailVo> page, @Param(Constants.WRAPPER) MPJLambdaWrapper<ErpTimesheetSummaryDetail> queryWrapper);
|
||||
|
||||
/**
|
||||
* 查询月汇总工时明细列表
|
||||
*
|
||||
* @param queryWrapper 条件
|
||||
* @return 月汇总工时明细集合
|
||||
*/
|
||||
public List<ErpTimesheetSummaryDetailVo> selectCustomErpTimesheetSummaryDetailVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper<ErpTimesheetSummaryDetail> queryWrapper);
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package org.dromara.oa.erp.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetSummary;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 月汇总工时信息Mapper接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
public interface ErpTimesheetSummaryMapper extends BaseMapperPlus<ErpTimesheetSummary, ErpTimesheetSummaryVo> {
|
||||
|
||||
/**
|
||||
* 查询月汇总工时信息列表
|
||||
*
|
||||
* @param page 分页
|
||||
* @param queryWrapper 条件
|
||||
* @return 月汇总工时信息集合
|
||||
*/
|
||||
public Page<ErpTimesheetSummaryVo> selectCustomErpTimesheetSummaryVoList(@Param("page") Page<ErpTimesheetSummaryVo> page, @Param(Constants.WRAPPER) MPJLambdaWrapper<ErpTimesheetSummary> queryWrapper);
|
||||
|
||||
/**
|
||||
* 查询月汇总工时信息列表
|
||||
*
|
||||
* @param queryWrapper 条件
|
||||
* @return 月汇总工时信息集合
|
||||
*/
|
||||
public List<ErpTimesheetSummaryVo> selectCustomErpTimesheetSummaryVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper<ErpTimesheetSummary> queryWrapper);
|
||||
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package org.dromara.oa.erp.service;
|
||||
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetStandardMonth;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetStandardMonthVo;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetStandardMonthBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 月标准工时信息Service接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
public interface IErpTimesheetStandardMonthService {
|
||||
|
||||
/**
|
||||
* 查询月标准工时信息
|
||||
*
|
||||
* @param standardMonthId 主键
|
||||
* @return 月标准工时信息
|
||||
*/
|
||||
ErpTimesheetStandardMonthVo queryById(Long standardMonthId);
|
||||
|
||||
/**
|
||||
* 分页查询月标准工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 月标准工时信息分页列表
|
||||
*/
|
||||
TableDataInfo<ErpTimesheetStandardMonthVo> queryPageList(ErpTimesheetStandardMonthBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的月标准工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 月标准工时信息列表
|
||||
*/
|
||||
List<ErpTimesheetStandardMonthVo> queryList(ErpTimesheetStandardMonthBo bo);
|
||||
|
||||
/**
|
||||
* 新增月标准工时信息
|
||||
*
|
||||
* @param bo 月标准工时信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(ErpTimesheetStandardMonthBo bo);
|
||||
|
||||
/**
|
||||
* 修改月标准工时信息
|
||||
*
|
||||
* @param bo 月标准工时信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(ErpTimesheetStandardMonthBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除月标准工时信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package org.dromara.oa.erp.service;
|
||||
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetSummaryDetail;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryDetailVo;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetSummaryDetailBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 月汇总工时明细Service接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
public interface IErpTimesheetSummaryDetailService {
|
||||
|
||||
/**
|
||||
* 查询月汇总工时明细
|
||||
*
|
||||
* @param summaryDetailId 主键
|
||||
* @return 月汇总工时明细
|
||||
*/
|
||||
ErpTimesheetSummaryDetailVo queryById(Long summaryDetailId);
|
||||
|
||||
/**
|
||||
* 分页查询月汇总工时明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 月汇总工时明细分页列表
|
||||
*/
|
||||
TableDataInfo<ErpTimesheetSummaryDetailVo> queryPageList(ErpTimesheetSummaryDetailBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的月汇总工时明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 月汇总工时明细列表
|
||||
*/
|
||||
List<ErpTimesheetSummaryDetailVo> queryList(ErpTimesheetSummaryDetailBo bo);
|
||||
|
||||
/**
|
||||
* 新增月汇总工时明细
|
||||
*
|
||||
* @param bo 月汇总工时明细
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(ErpTimesheetSummaryDetailBo bo);
|
||||
|
||||
/**
|
||||
* 修改月汇总工时明细
|
||||
*
|
||||
* @param bo 月汇总工时明细
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(ErpTimesheetSummaryDetailBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除月汇总工时明细信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package org.dromara.oa.erp.service;
|
||||
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetSummary;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryVo;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetSummaryBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 月汇总工时信息Service接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
public interface IErpTimesheetSummaryService {
|
||||
|
||||
/**
|
||||
* 查询月汇总工时信息
|
||||
*
|
||||
* @param summaryId 主键
|
||||
* @return 月汇总工时信息
|
||||
*/
|
||||
ErpTimesheetSummaryVo queryById(Long summaryId);
|
||||
|
||||
/**
|
||||
* 分页查询月汇总工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 月汇总工时信息分页列表
|
||||
*/
|
||||
TableDataInfo<ErpTimesheetSummaryVo> queryPageList(ErpTimesheetSummaryBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的月汇总工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 月汇总工时信息列表
|
||||
*/
|
||||
List<ErpTimesheetSummaryVo> queryList(ErpTimesheetSummaryBo bo);
|
||||
|
||||
/**
|
||||
* 新增月汇总工时信息
|
||||
*
|
||||
* @param bo 月汇总工时信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(ErpTimesheetSummaryBo bo);
|
||||
|
||||
/**
|
||||
* 修改月汇总工时信息
|
||||
*
|
||||
* @param bo 月汇总工时信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(ErpTimesheetSummaryBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除月汇总工时信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,137 @@
|
||||
package org.dromara.oa.erp.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.yulichang.toolkit.JoinWrappers;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetStandardMonthBo;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetStandardMonthVo;
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetStandardMonth;
|
||||
import org.dromara.oa.erp.mapper.ErpTimesheetStandardMonthMapper;
|
||||
import org.dromara.oa.erp.service.IErpTimesheetStandardMonthService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 月标准工时信息Service业务层处理
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class ErpTimesheetStandardMonthServiceImpl implements IErpTimesheetStandardMonthService {
|
||||
|
||||
private final ErpTimesheetStandardMonthMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询月标准工时信息
|
||||
*
|
||||
* @param standardMonthId 主键
|
||||
* @return 月标准工时信息
|
||||
*/
|
||||
@Override
|
||||
public ErpTimesheetStandardMonthVo queryById(Long standardMonthId){
|
||||
return baseMapper.selectVoById(standardMonthId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询月标准工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 月标准工时信息分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<ErpTimesheetStandardMonthVo> queryPageList(ErpTimesheetStandardMonthBo bo, PageQuery pageQuery) {
|
||||
MPJLambdaWrapper<ErpTimesheetStandardMonth> lqw = buildQueryWrapper(bo);
|
||||
Page<ErpTimesheetStandardMonthVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的月标准工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 月标准工时信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<ErpTimesheetStandardMonthVo> queryList(ErpTimesheetStandardMonthBo bo) {
|
||||
MPJLambdaWrapper<ErpTimesheetStandardMonth> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private MPJLambdaWrapper<ErpTimesheetStandardMonth> buildQueryWrapper(ErpTimesheetStandardMonthBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
MPJLambdaWrapper<ErpTimesheetStandardMonth> lqw = JoinWrappers.lambda(ErpTimesheetStandardMonth.class)
|
||||
.selectAll(ErpTimesheetStandardMonth.class)
|
||||
.eq(ErpTimesheetStandardMonth::getDelFlag, "0")
|
||||
.eq(StringUtils.isNotBlank(bo.getMonthCode()), ErpTimesheetStandardMonth::getMonthCode, bo.getMonthCode())
|
||||
.eq(StringUtils.isNotBlank(bo.getMonthLabel()), ErpTimesheetStandardMonth::getMonthLabel, bo.getMonthLabel())
|
||||
.eq(bo.getStartDate() != null, ErpTimesheetStandardMonth::getStartDate, bo.getStartDate())
|
||||
.eq(bo.getEndDate() != null, ErpTimesheetStandardMonth::getEndDate, bo.getEndDate())
|
||||
.eq(bo.getStandardDays() != null, ErpTimesheetStandardMonth::getStandardDays, bo.getStandardDays())
|
||||
;
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增月标准工时信息
|
||||
*
|
||||
* @param bo 月标准工时信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(ErpTimesheetStandardMonthBo bo) {
|
||||
ErpTimesheetStandardMonth add = MapstructUtils.convert(bo, ErpTimesheetStandardMonth.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setStandardMonthId(add.getStandardMonthId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改月标准工时信息
|
||||
*
|
||||
* @param bo 月标准工时信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(ErpTimesheetStandardMonthBo bo) {
|
||||
ErpTimesheetStandardMonth update = MapstructUtils.convert(bo, ErpTimesheetStandardMonth.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(ErpTimesheetStandardMonth entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除月标准工时信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,147 @@
|
||||
package org.dromara.oa.erp.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.yulichang.toolkit.JoinWrappers;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetSummaryDetailBo;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryDetailVo;
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetSummaryDetail;
|
||||
import org.dromara.oa.erp.mapper.ErpTimesheetSummaryDetailMapper;
|
||||
import org.dromara.oa.erp.service.IErpTimesheetSummaryDetailService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 月汇总工时明细Service业务层处理
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class ErpTimesheetSummaryDetailServiceImpl implements IErpTimesheetSummaryDetailService {
|
||||
|
||||
private final ErpTimesheetSummaryDetailMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询月汇总工时明细
|
||||
*
|
||||
* @param summaryDetailId 主键
|
||||
* @return 月汇总工时明细
|
||||
*/
|
||||
@Override
|
||||
public ErpTimesheetSummaryDetailVo queryById(Long summaryDetailId){
|
||||
return baseMapper.selectVoById(summaryDetailId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询月汇总工时明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 月汇总工时明细分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<ErpTimesheetSummaryDetailVo> queryPageList(ErpTimesheetSummaryDetailBo bo, PageQuery pageQuery) {
|
||||
MPJLambdaWrapper<ErpTimesheetSummaryDetail> lqw = buildQueryWrapper(bo);
|
||||
Page<ErpTimesheetSummaryDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的月汇总工时明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 月汇总工时明细列表
|
||||
*/
|
||||
@Override
|
||||
public List<ErpTimesheetSummaryDetailVo> queryList(ErpTimesheetSummaryDetailBo bo) {
|
||||
MPJLambdaWrapper<ErpTimesheetSummaryDetail> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private MPJLambdaWrapper<ErpTimesheetSummaryDetail> buildQueryWrapper(ErpTimesheetSummaryDetailBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
MPJLambdaWrapper<ErpTimesheetSummaryDetail> lqw = JoinWrappers.lambda(ErpTimesheetSummaryDetail.class)
|
||||
.selectAll(ErpTimesheetSummaryDetail.class)
|
||||
.eq(ErpTimesheetSummaryDetail::getDelFlag, "0")
|
||||
.eq(bo.getSummaryId() != null, ErpTimesheetSummaryDetail::getSummaryId, bo.getSummaryId())
|
||||
.eq(bo.getSortOrder() != null, ErpTimesheetSummaryDetail::getSortOrder, bo.getSortOrder())
|
||||
.eq(bo.getStaffUserId() != null, ErpTimesheetSummaryDetail::getStaffUserId, bo.getStaffUserId())
|
||||
.like(StringUtils.isNotBlank(bo.getStaffName()), ErpTimesheetSummaryDetail::getStaffName, bo.getStaffName())
|
||||
.eq(StringUtils.isNotBlank(bo.getIsProject()), ErpTimesheetSummaryDetail::getIsProject, bo.getIsProject())
|
||||
.eq(bo.getOriginalProjectId() != null, ErpTimesheetSummaryDetail::getOriginalProjectId, bo.getOriginalProjectId())
|
||||
.eq(StringUtils.isNotBlank(bo.getOriginalProjectCode()), ErpTimesheetSummaryDetail::getOriginalProjectCode, bo.getOriginalProjectCode())
|
||||
.like(StringUtils.isNotBlank(bo.getOriginalProjectName()), ErpTimesheetSummaryDetail::getOriginalProjectName, bo.getOriginalProjectName())
|
||||
.eq(bo.getOriginalHours() != null, ErpTimesheetSummaryDetail::getOriginalHours, bo.getOriginalHours())
|
||||
.eq(bo.getAdjustedProjectId() != null, ErpTimesheetSummaryDetail::getAdjustedProjectId, bo.getAdjustedProjectId())
|
||||
.eq(StringUtils.isNotBlank(bo.getAdjustedProjectCode()), ErpTimesheetSummaryDetail::getAdjustedProjectCode, bo.getAdjustedProjectCode())
|
||||
.like(StringUtils.isNotBlank(bo.getAdjustedProjectName()), ErpTimesheetSummaryDetail::getAdjustedProjectName, bo.getAdjustedProjectName())
|
||||
.eq(bo.getAdjustedHours() != null, ErpTimesheetSummaryDetail::getAdjustedHours, bo.getAdjustedHours())
|
||||
.eq(StringUtils.isNotBlank(bo.getIsGenerated()), ErpTimesheetSummaryDetail::getIsGenerated, bo.getIsGenerated())
|
||||
.eq(StringUtils.isNotBlank(bo.getWorkDescription()), ErpTimesheetSummaryDetail::getWorkDescription, bo.getWorkDescription())
|
||||
;
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增月汇总工时明细
|
||||
*
|
||||
* @param bo 月汇总工时明细
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(ErpTimesheetSummaryDetailBo bo) {
|
||||
ErpTimesheetSummaryDetail add = MapstructUtils.convert(bo, ErpTimesheetSummaryDetail.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setSummaryDetailId(add.getSummaryDetailId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改月汇总工时明细
|
||||
*
|
||||
* @param bo 月汇总工时明细
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(ErpTimesheetSummaryDetailBo bo) {
|
||||
ErpTimesheetSummaryDetail update = MapstructUtils.convert(bo, ErpTimesheetSummaryDetail.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(ErpTimesheetSummaryDetail entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除月汇总工时明细信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,142 @@
|
||||
package org.dromara.oa.erp.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.yulichang.toolkit.JoinWrappers;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.oa.erp.domain.bo.ErpTimesheetSummaryBo;
|
||||
import org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryVo;
|
||||
import org.dromara.oa.erp.domain.ErpTimesheetSummary;
|
||||
import org.dromara.oa.erp.mapper.ErpTimesheetSummaryMapper;
|
||||
import org.dromara.oa.erp.service.IErpTimesheetSummaryService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 月汇总工时信息Service业务层处理
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-04-30
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class ErpTimesheetSummaryServiceImpl implements IErpTimesheetSummaryService {
|
||||
|
||||
private final ErpTimesheetSummaryMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询月汇总工时信息
|
||||
*
|
||||
* @param summaryId 主键
|
||||
* @return 月汇总工时信息
|
||||
*/
|
||||
@Override
|
||||
public ErpTimesheetSummaryVo queryById(Long summaryId){
|
||||
return baseMapper.selectVoById(summaryId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询月汇总工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 月汇总工时信息分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<ErpTimesheetSummaryVo> queryPageList(ErpTimesheetSummaryBo bo, PageQuery pageQuery) {
|
||||
MPJLambdaWrapper<ErpTimesheetSummary> lqw = buildQueryWrapper(bo);
|
||||
Page<ErpTimesheetSummaryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的月汇总工时信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 月汇总工时信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<ErpTimesheetSummaryVo> queryList(ErpTimesheetSummaryBo bo) {
|
||||
MPJLambdaWrapper<ErpTimesheetSummary> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private MPJLambdaWrapper<ErpTimesheetSummary> buildQueryWrapper(ErpTimesheetSummaryBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
MPJLambdaWrapper<ErpTimesheetSummary> lqw = JoinWrappers.lambda(ErpTimesheetSummary.class)
|
||||
.selectAll(ErpTimesheetSummary.class)
|
||||
.eq(ErpTimesheetSummary::getDelFlag, "0")
|
||||
.eq(StringUtils.isNotBlank(bo.getSummaryCode()), ErpTimesheetSummary::getSummaryCode, bo.getSummaryCode())
|
||||
.eq(StringUtils.isNotBlank(bo.getMonthCode()), ErpTimesheetSummary::getMonthCode, bo.getMonthCode())
|
||||
.eq(bo.getDeptId() != null, ErpTimesheetSummary::getDeptId, bo.getDeptId())
|
||||
.eq(bo.getUserId() != null, ErpTimesheetSummary::getUserId, bo.getUserId())
|
||||
.eq(bo.getStandardMonthId() != null, ErpTimesheetSummary::getStandardMonthId, bo.getStandardMonthId())
|
||||
.eq(bo.getStandardDays() != null, ErpTimesheetSummary::getStandardDays, bo.getStandardDays())
|
||||
.eq(bo.getTotalProjectHours() != null, ErpTimesheetSummary::getTotalProjectHours, bo.getTotalProjectHours())
|
||||
.eq(bo.getTotalDeptHours() != null, ErpTimesheetSummary::getTotalDeptHours, bo.getTotalDeptHours())
|
||||
.eq(bo.getTotalHours() != null, ErpTimesheetSummary::getTotalHours, bo.getTotalHours())
|
||||
.eq(bo.getStaffCount() != null, ErpTimesheetSummary::getStaffCount, bo.getStaffCount())
|
||||
;
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增月汇总工时信息
|
||||
*
|
||||
* @param bo 月汇总工时信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(ErpTimesheetSummaryBo bo) {
|
||||
ErpTimesheetSummary add = MapstructUtils.convert(bo, ErpTimesheetSummary.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setSummaryId(add.getSummaryId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改月汇总工时信息
|
||||
*
|
||||
* @param bo 月汇总工时信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(ErpTimesheetSummaryBo bo) {
|
||||
ErpTimesheetSummary update = MapstructUtils.convert(bo, ErpTimesheetSummary.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(ErpTimesheetSummary entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除月汇总工时信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.oa.erp.mapper.ErpTimesheetStandardMonthMapper">
|
||||
<resultMap type="org.dromara.oa.erp.domain.vo.ErpTimesheetStandardMonthVo" id="ErpTimesheetStandardMonthResult">
|
||||
</resultMap>
|
||||
|
||||
<select id="selectCustomErpTimesheetStandardMonthVoList" resultMap="ErpTimesheetStandardMonthResult">
|
||||
select standard_month_id, tenant_id, month_code, month_label, start_date, end_date, standard_days, remark, del_flag, create_dept, create_by, create_time, update_by, update_time from erp_timesheet_standard_month t
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.oa.erp.mapper.ErpTimesheetSummaryDetailMapper">
|
||||
<resultMap type="org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryDetailVo" id="ErpTimesheetSummaryDetailResult">
|
||||
</resultMap>
|
||||
|
||||
<select id="selectCustomErpTimesheetSummaryDetailVoList" resultMap="ErpTimesheetSummaryDetailResult">
|
||||
select summary_detail_id, tenant_id, summary_id, sort_order, staff_user_id, staff_name, is_project, original_project_id, original_project_code, original_project_name, original_hours, adjusted_project_id, adjusted_project_code, adjusted_project_name, adjusted_hours, is_generated, work_description, remark, del_flag, create_dept, create_by, create_time, update_by, update_time from erp_timesheet_summary_detail t
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.oa.erp.mapper.ErpTimesheetSummaryMapper">
|
||||
<resultMap type="org.dromara.oa.erp.domain.vo.ErpTimesheetSummaryVo" id="ErpTimesheetSummaryResult">
|
||||
</resultMap>
|
||||
|
||||
<select id="selectCustomErpTimesheetSummaryVoList" resultMap="ErpTimesheetSummaryResult">
|
||||
select summary_id, tenant_id, summary_code, month_code, dept_id, user_id, standard_month_id, standard_days, total_project_hours, total_dept_hours, total_hours, staff_count, remark, del_flag, create_dept, create_by, create_time, update_by, update_time from erp_timesheet_summary t
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue