diff --git a/gear-oa/src/main/java/com/gear/oa/controller/GearAttendancePieceDetailController.java b/gear-oa/src/main/java/com/gear/oa/controller/GearAttendancePieceDetailController.java new file mode 100644 index 0000000..93eb9f7 --- /dev/null +++ b/gear-oa/src/main/java/com/gear/oa/controller/GearAttendancePieceDetailController.java @@ -0,0 +1,102 @@ +package com.gear.oa.controller; + +import java.util.List; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.gear.common.annotation.RepeatSubmit; +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.PageQuery; +import com.gear.common.core.domain.R; +import com.gear.common.core.validate.AddGroup; +import com.gear.common.core.validate.EditGroup; +import com.gear.common.core.validate.QueryGroup; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.poi.ExcelUtil; +import com.gear.oa.domain.vo.GearAttendancePieceDetailVo; +import com.gear.oa.domain.bo.GearAttendancePieceDetailBo; +import com.gear.oa.service.IGearAttendancePieceDetailService; +import com.gear.common.core.page.TableDataInfo; + +/** + * 考勤计件明细 - 记录具体工件的数量和单价信息 + * + * @author Joshi + * @date 2025-09-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/oa/attendancePieceDetail") +public class GearAttendancePieceDetailController extends BaseController { + + private final IGearAttendancePieceDetailService iGearAttendancePieceDetailService; + + /** + * 查询考勤计件明细 - 记录具体工件的数量和单价信息列表 + */ + @GetMapping("/list") + public TableDataInfo list(GearAttendancePieceDetailBo bo, PageQuery pageQuery) { + return iGearAttendancePieceDetailService.queryPageList(bo, pageQuery); + } + + /** + * 导出考勤计件明细 - 记录具体工件的数量和单价信息列表 + */ + @Log(title = "考勤计件明细 - 记录具体工件的数量和单价信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(GearAttendancePieceDetailBo bo, HttpServletResponse response) { + List list = iGearAttendancePieceDetailService.queryList(bo); + ExcelUtil.exportExcel(list, "考勤计件明细 - 记录具体工件的数量和单价信息", GearAttendancePieceDetailVo.class, response); + } + + /** + * 获取考勤计件明细 - 记录具体工件的数量和单价信息详细信息 + * + * @param detailId 主键 + */ + @GetMapping("/{detailId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long detailId) { + return R.ok(iGearAttendancePieceDetailService.queryById(detailId)); + } + + /** + * 新增考勤计件明细 - 记录具体工件的数量和单价信息 + */ + @Log(title = "考勤计件明细 - 记录具体工件的数量和单价信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody GearAttendancePieceDetailBo bo) { + return toAjax(iGearAttendancePieceDetailService.insertByBo(bo)); + } + + /** + * 修改考勤计件明细 - 记录具体工件的数量和单价信息 + */ + @Log(title = "考勤计件明细 - 记录具体工件的数量和单价信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody GearAttendancePieceDetailBo bo) { + return toAjax(iGearAttendancePieceDetailService.updateByBo(bo)); + } + + /** + * 删除考勤计件明细 - 记录具体工件的数量和单价信息 + * + * @param detailIds 主键串 + */ + @Log(title = "考勤计件明细 - 记录具体工件的数量和单价信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{detailIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] detailIds) { + return toAjax(iGearAttendancePieceDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); + } +} diff --git a/gear-oa/src/main/java/com/gear/oa/domain/GearAttendancePieceDetail.java b/gear-oa/src/main/java/com/gear/oa/domain/GearAttendancePieceDetail.java new file mode 100644 index 0000000..6813b43 --- /dev/null +++ b/gear-oa/src/main/java/com/gear/oa/domain/GearAttendancePieceDetail.java @@ -0,0 +1,61 @@ +package com.gear.oa.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; + +import java.math.BigDecimal; +import com.gear.common.core.domain.BaseEntity; + +/** + * 考勤计件明细 - 记录具体工件的数量和单价信息对象 gear_attendance_piece_detail + * + * @author Joshi + * @date 2025-09-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("gear_attendance_piece_detail") +public class GearAttendancePieceDetail extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 明细主键ID + */ + @TableId(value = "detail_id") + private Long detailId; + /** + * 关联考勤主表ID + */ + private Long recordId; + /** + * 工件编码 + */ + private String workpieceCode; + /** + * 工件名称 + */ + private String workpieceName; + /** + * 工件数量 + */ + private Long pieceQuantity; + /** + * 单位单价 + */ + private BigDecimal unitPrice; + /** + * 删除标志 + */ + @TableLogic + private Long delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/gear-oa/src/main/java/com/gear/oa/domain/GearAttendanceRecord.java b/gear-oa/src/main/java/com/gear/oa/domain/GearAttendanceRecord.java index 8630a41..3dde05f 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/GearAttendanceRecord.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/GearAttendanceRecord.java @@ -72,4 +72,16 @@ public class GearAttendanceRecord extends BaseEntity { */ private String remark; + /** + * 薪酬类型: hourly(计时), piecework(计件) + */ + private String paymentType; + /** + * 件数 - 仅用于计件类型 + */ + private Long pieceCount; + /** + * 工资金额 - 计算后的应付工资 + */ + private BigDecimal wage; } diff --git a/gear-oa/src/main/java/com/gear/oa/domain/GearProduct.java b/gear-oa/src/main/java/com/gear/oa/domain/GearProduct.java index 4acf9de..56da69c 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/GearProduct.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/GearProduct.java @@ -70,4 +70,6 @@ public class GearProduct extends BaseEntity { //附件 private String accessory; + //新增图像字段 + private String image; } diff --git a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearAttendancePieceDetailBo.java b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearAttendancePieceDetailBo.java new file mode 100644 index 0000000..0fdee81 --- /dev/null +++ b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearAttendancePieceDetailBo.java @@ -0,0 +1,61 @@ +package com.gear.oa.domain.bo; + +import com.gear.common.core.validate.AddGroup; +import com.gear.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.util.Date; + +import java.math.BigDecimal; +import com.gear.common.core.domain.BaseEntity; + +/** + * 考勤计件明细 - 记录具体工件的数量和单价信息业务对象 gear_attendance_piece_detail + * + * @author Joshi + * @date 2025-09-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class GearAttendancePieceDetailBo extends BaseEntity { + + /** + * 明细主键ID + */ + private Long detailId; + + /** + * 关联考勤主表ID + */ + private Long recordId; + + /** + * 工件编码 + */ + private String workpieceCode; + + /** + * 工件名称 + */ + private String workpieceName; + + /** + * 工件数量 + */ + private Long pieceQuantity; + + /** + * 单位单价 + */ + private BigDecimal unitPrice; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearAttendanceRecordBo.java b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearAttendanceRecordBo.java index 293bbfa..11dc2d3 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearAttendanceRecordBo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearAttendanceRecordBo.java @@ -3,6 +3,7 @@ package com.gear.oa.domain.bo; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -63,5 +64,17 @@ public class GearAttendanceRecordBo extends BaseEntity { */ private String remark; + /** + * 薪酬类型: hourly(计时), piecework(计件) + */ + private String paymentType; + /** + * 件数 - 仅用于计件类型 + */ + private Long pieceCount; + /** + * 工资金额 - 计算后的应付工资 + */ + private BigDecimal wage; } diff --git a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearProductBo.java b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearProductBo.java index 7cfb873..bc07384 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearProductBo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearProductBo.java @@ -72,5 +72,6 @@ public class GearProductBo extends BaseEntity { private Long categoryId; //附件 private String accessory; - + //新增图像字段 + private String image; } diff --git a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearAttendancePieceDetailVo.java b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearAttendancePieceDetailVo.java new file mode 100644 index 0000000..94bf269 --- /dev/null +++ b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearAttendancePieceDetailVo.java @@ -0,0 +1,68 @@ +package com.gear.oa.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.gear.common.annotation.ExcelDictFormat; +import com.gear.common.convert.ExcelDictConvert; +import lombok.Data; +import java.util.Date; + + + +/** + * 考勤计件明细 - 记录具体工件的数量和单价信息视图对象 gear_attendance_piece_detail + * + * @author Joshi + * @date 2025-09-17 + */ +@Data +@ExcelIgnoreUnannotated +public class GearAttendancePieceDetailVo { + + private static final long serialVersionUID = 1L; + + /** + * 明细主键ID + */ + @ExcelProperty(value = "明细主键ID") + private Long detailId; + + /** + * 关联考勤主表ID + */ + @ExcelProperty(value = "关联考勤主表ID") + private Long recordId; + + /** + * 工件编码 + */ + @ExcelProperty(value = "工件编码") + private String workpieceCode; + + /** + * 工件名称 + */ + @ExcelProperty(value = "工件名称") + private String workpieceName; + + /** + * 工件数量 + */ + @ExcelProperty(value = "工件数量") + private Long pieceQuantity; + + /** + * 单位单价 + */ + @ExcelProperty(value = "单位单价") + private BigDecimal unitPrice; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearAttendanceRecordVo.java b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearAttendanceRecordVo.java index 45ffa05..57ea860 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearAttendanceRecordVo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearAttendanceRecordVo.java @@ -1,5 +1,6 @@ package com.gear.oa.domain.vo; +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; @@ -79,6 +80,17 @@ public class GearAttendanceRecordVo { //昵称 @ExcelProperty(value = "姓名") private String nickName; - + /** + * 薪酬类型: hourly(计时), piecework(计件) + */ + private String paymentType; + /** + * 件数 - 仅用于计件类型 + */ + private Long pieceCount; + /** + * 工资金额 - 计算后的应付工资 + */ + private BigDecimal wage; } diff --git a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearProductVo.java b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearProductVo.java index 7a745cc..8b3c3be 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearProductVo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearProductVo.java @@ -83,4 +83,6 @@ public class GearProductVo { private Long categoryId; //附件 private String accessory; + //新增图像字段 + private String image; } diff --git a/gear-oa/src/main/java/com/gear/oa/mapper/GearAttendancePieceDetailMapper.java b/gear-oa/src/main/java/com/gear/oa/mapper/GearAttendancePieceDetailMapper.java new file mode 100644 index 0000000..864a31c --- /dev/null +++ b/gear-oa/src/main/java/com/gear/oa/mapper/GearAttendancePieceDetailMapper.java @@ -0,0 +1,19 @@ +package com.gear.oa.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gear.oa.domain.GearAttendancePieceDetail; +import com.gear.oa.domain.vo.GearAttendancePieceDetailVo; +import com.gear.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; + +/** + * 考勤计件明细 - 记录具体工件的数量和单价信息Mapper接口 + * + * @author Joshi + * @date 2025-09-17 + */ +public interface GearAttendancePieceDetailMapper extends BaseMapperPlus { + + Page selectVoPagePlus(Page build,@Param("ew") QueryWrapper lqw); +} diff --git a/gear-oa/src/main/java/com/gear/oa/service/IGearAttendancePieceDetailService.java b/gear-oa/src/main/java/com/gear/oa/service/IGearAttendancePieceDetailService.java new file mode 100644 index 0000000..16ed9a4 --- /dev/null +++ b/gear-oa/src/main/java/com/gear/oa/service/IGearAttendancePieceDetailService.java @@ -0,0 +1,49 @@ +package com.gear.oa.service; + +import com.gear.oa.domain.GearAttendancePieceDetail; +import com.gear.oa.domain.vo.GearAttendancePieceDetailVo; +import com.gear.oa.domain.bo.GearAttendancePieceDetailBo; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 考勤计件明细 - 记录具体工件的数量和单价信息Service接口 + * + * @author Joshi + * @date 2025-09-17 + */ +public interface IGearAttendancePieceDetailService { + + /** + * 查询考勤计件明细 - 记录具体工件的数量和单价信息 + */ + GearAttendancePieceDetailVo queryById(Long detailId); + + /** + * 查询考勤计件明细 - 记录具体工件的数量和单价信息列表 + */ + TableDataInfo queryPageList(GearAttendancePieceDetailBo bo, PageQuery pageQuery); + + /** + * 查询考勤计件明细 - 记录具体工件的数量和单价信息列表 + */ + List queryList(GearAttendancePieceDetailBo bo); + + /** + * 新增考勤计件明细 - 记录具体工件的数量和单价信息 + */ + Boolean insertByBo(GearAttendancePieceDetailBo bo); + + /** + * 修改考勤计件明细 - 记录具体工件的数量和单价信息 + */ + Boolean updateByBo(GearAttendancePieceDetailBo bo); + + /** + * 校验并批量删除考勤计件明细 - 记录具体工件的数量和单价信息信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/gear-oa/src/main/java/com/gear/oa/service/impl/GearAttendancePieceDetailServiceImpl.java b/gear-oa/src/main/java/com/gear/oa/service/impl/GearAttendancePieceDetailServiceImpl.java new file mode 100644 index 0000000..25be0d5 --- /dev/null +++ b/gear-oa/src/main/java/com/gear/oa/service/impl/GearAttendancePieceDetailServiceImpl.java @@ -0,0 +1,125 @@ +package com.gear.oa.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.gear.common.utils.StringUtils; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.gear.oa.domain.bo.GearAttendancePieceDetailBo; +import com.gear.oa.domain.vo.GearAttendancePieceDetailVo; +import com.gear.oa.domain.GearAttendancePieceDetail; +import com.gear.oa.mapper.GearAttendancePieceDetailMapper; +import com.gear.oa.service.IGearAttendancePieceDetailService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 考勤计件明细 - 记录具体工件的数量和单价信息Service业务层处理 + * + * @author Joshi + * @date 2025-09-17 + */ +@RequiredArgsConstructor +@Service +public class GearAttendancePieceDetailServiceImpl implements IGearAttendancePieceDetailService { + + private final GearAttendancePieceDetailMapper baseMapper; + + /** + * 查询考勤计件明细 - 记录具体工件的数量和单价信息 + */ + @Override + public GearAttendancePieceDetailVo queryById(Long detailId){ + return baseMapper.selectVoById(detailId); + } + + /** + * 查询考勤计件明细 - 记录具体工件的数量和单价信息列表 + */ + @Override + public TableDataInfo queryPageList(GearAttendancePieceDetailBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + private QueryWrapper buildQueryWrapperPlus(GearAttendancePieceDetailBo bo) { + Map params = bo.getParams(); + //需要改成对应的queryWrapper用来联查 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("d.del_flag", 0); + qw.eq(bo.getRecordId() != null, "d.record_id", bo.getRecordId()); + qw.eq(StringUtils.isNotBlank(bo.getWorkpieceCode()), "d.workpiece_code", bo.getWorkpieceCode()); + qw.like(StringUtils.isNotBlank(bo.getWorkpieceName()), "d.workpiece_name", bo.getWorkpieceName()); + qw.eq(bo.getPieceQuantity() != null, "d.piece_quantity", bo.getPieceQuantity()); + qw.eq(bo.getUnitPrice() != null, "d.unit_price", bo.getUnitPrice()); + return qw; + } + /** + * 查询考勤计件明细 - 记录具体工件的数量和单价信息列表 + */ + @Override + public List queryList(GearAttendancePieceDetailBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(GearAttendancePieceDetailBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getRecordId() != null, GearAttendancePieceDetail::getRecordId, bo.getRecordId()); + lqw.eq(StringUtils.isNotBlank(bo.getWorkpieceCode()), GearAttendancePieceDetail::getWorkpieceCode, bo.getWorkpieceCode()); + lqw.like(StringUtils.isNotBlank(bo.getWorkpieceName()), GearAttendancePieceDetail::getWorkpieceName, bo.getWorkpieceName()); + lqw.eq(bo.getPieceQuantity() != null, GearAttendancePieceDetail::getPieceQuantity, bo.getPieceQuantity()); + lqw.eq(bo.getUnitPrice() != null, GearAttendancePieceDetail::getUnitPrice, bo.getUnitPrice()); + return lqw; + } + + /** + * 新增考勤计件明细 - 记录具体工件的数量和单价信息 + */ + @Override + public Boolean insertByBo(GearAttendancePieceDetailBo bo) { + GearAttendancePieceDetail add = BeanUtil.toBean(bo, GearAttendancePieceDetail.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDetailId(add.getDetailId()); + } + return flag; + } + + /** + * 修改考勤计件明细 - 记录具体工件的数量和单价信息 + */ + @Override + public Boolean updateByBo(GearAttendancePieceDetailBo bo) { + GearAttendancePieceDetail update = BeanUtil.toBean(bo, GearAttendancePieceDetail.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(GearAttendancePieceDetail entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除考勤计件明细 - 记录具体工件的数量和单价信息 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/gear-oa/src/main/java/com/gear/oa/service/impl/GearAttendanceRecordServiceImpl.java b/gear-oa/src/main/java/com/gear/oa/service/impl/GearAttendanceRecordServiceImpl.java index e5d1251..b05be53 100644 --- a/gear-oa/src/main/java/com/gear/oa/service/impl/GearAttendanceRecordServiceImpl.java +++ b/gear-oa/src/main/java/com/gear/oa/service/impl/GearAttendanceRecordServiceImpl.java @@ -58,6 +58,8 @@ public class GearAttendanceRecordServiceImpl implements IGearAttendanceRecordSer // 使用表别名 ar 来构建查询条件 lqw.eq(bo.getUserId()!=null, "ar.user_id", bo.getUserId()); lqw.eq(bo.getRecordDate() != null, "ar.record_date", bo.getRecordDate()); + //支持薪酬类型查询 + lqw.eq(StringUtils.isNotBlank(bo.getPaymentType()), "ar.payment_type", bo.getPaymentType()); // 修改record_type查询逻辑,支持逗号分隔的多个值 if (StringUtils.isNotBlank(bo.getRecordType())) { String[] recordTypes = bo.getRecordType().split(","); diff --git a/gear-oa/src/main/java/com/gear/oa/service/impl/GearJournalServiceImpl.java b/gear-oa/src/main/java/com/gear/oa/service/impl/GearJournalServiceImpl.java index a3b6faa..d20ab62 100644 --- a/gear-oa/src/main/java/com/gear/oa/service/impl/GearJournalServiceImpl.java +++ b/gear-oa/src/main/java/com/gear/oa/service/impl/GearJournalServiceImpl.java @@ -70,6 +70,8 @@ public class GearJournalServiceImpl implements IGearJournalService { lqw.eq(bo.getIncomeAmount() != null, GearJournal::getIncomeAmount, bo.getIncomeAmount()); lqw.eq(bo.getExpenseAmount() != null, GearJournal::getExpenseAmount, bo.getExpenseAmount()); lqw.eq(bo.getBalanceAmount() != null, GearJournal::getBalanceAmount, bo.getBalanceAmount()); + //根据这个日期进行一个倒叙 + lqw.orderByDesc(GearJournal::getJournalDate); return lqw; } diff --git a/gear-oa/src/main/resources/mapper/oa/GearAttendancePieceDetailMapper.xml b/gear-oa/src/main/resources/mapper/oa/GearAttendancePieceDetailMapper.xml new file mode 100644 index 0000000..ec33b9b --- /dev/null +++ b/gear-oa/src/main/resources/mapper/oa/GearAttendancePieceDetailMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/gear-oa/src/main/resources/mapper/oa/GearAttendanceRecordMapper.xml b/gear-oa/src/main/resources/mapper/oa/GearAttendanceRecordMapper.xml index 6f55eb5..329dbe3 100644 --- a/gear-oa/src/main/resources/mapper/oa/GearAttendanceRecordMapper.xml +++ b/gear-oa/src/main/resources/mapper/oa/GearAttendanceRecordMapper.xml @@ -12,6 +12,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -22,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"