From 371489a517c56238c48c491f37141311009f6050 Mon Sep 17 00:00:00 2001 From: hshansha Date: Mon, 9 Jun 2025 17:38:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=91=98=E5=B7=A5=E8=A1=A5=E8=B4=B4?= =?UTF-8?q?=E3=80=81=E5=8C=85=E6=B4=BB=E7=AD=89=E6=9F=A5=E8=AF=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E6=9B=B4=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/application-hs.yml | 8 +++++--- .../ruoyi/pay/controller/PayButieEmplyeeController.java | 8 ++++++-- .../java/com/ruoyi/pay/domain/PayWorkOrderBaohuo.java | 1 + .../java/com/ruoyi/pay/domain/bo/PayButieEmplyeeBo.java | 4 ++++ .../com/ruoyi/pay/domain/bo/PayWorkOrderBaohuoBo.java | 5 +++++ .../pay/service/impl/PayDayWorkHoursServiceImpl.java | 2 +- .../pay/service/impl/PaySalaryReportServiceImpl.java | 1 + .../pay/service/impl/PayWorkOrderBaohuoServiceImpl.java | 2 ++ 8 files changed, 25 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-hs.yml b/ruoyi-admin/src/main/resources/application-hs.yml index dd8cdcd..787e89e 100644 --- a/ruoyi-admin/src/main/resources/application-hs.yml +++ b/ruoyi-admin/src/main/resources/application-hs.yml @@ -49,9 +49,10 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) - url: jdbc:mysql://localhost:3307/pay?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true + #url: jdbc:mysql://localhost:3307/pay?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true + url: jdbc:mysql://172.16.9.9:3306/pay?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true username: root - password: hs123456 + password: ruanfa # 从库数据源 # slave: # lazy: true @@ -102,7 +103,8 @@ spring: spring: redis: # 地址 - host: localhost + host: 172.16.9.9 + #host: localhost # 端口,默认为6379 port: 6379 # 数据库索引 diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayButieEmplyeeController.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayButieEmplyeeController.java index a423601..e3e4562 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayButieEmplyeeController.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayButieEmplyeeController.java @@ -18,6 +18,7 @@ import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.apache.poi.hpsf.Decimal; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import com.ruoyi.common.annotation.RepeatSubmit; @@ -160,15 +161,17 @@ public class PayButieEmplyeeController extends BaseController { } PayEmployeeInfoBo employeeInfo = new PayEmployeeInfoBo(); employeeInfo.setId(bo.getEmployeeId()); + employeeInfo.setName(bo.getEmpName()); employeeInfo.setTenantId(bo.getTenantId()); TableDataInfo payEmployeeTableDataInfo = employeeInfoService.queryPageList(employeeInfo, pageQuery); if(payEmployeeTableDataInfo.getRows()!=null&&payEmployeeTableDataInfo.getRows().size()>0){ - butieSummaryVos = this.buildEmployeeInfo(payEmployeeTableDataInfo.getRows(), date); + butieSummaryVos = this.buildEmployeeInfo(payEmployeeTableDataInfo.getRows(), date,bo.getMoney()); } return TableDataInfo.build(butieSummaryVos); } - private List buildEmployeeInfo(List list, String date) { + private List buildEmployeeInfo(List list, String date, + BigDecimal qmoney) { PayButieBo pb = new PayButieBo(); pb.setTenantId(list.get(0).getTenantId()); List sgrButies = butieService.queryList(pb); @@ -184,6 +187,7 @@ public class PayButieEmplyeeController extends BaseController { query.setEmployeeId(emp.getId()); query.setButieId(butie.getId()); query.setDate(date); + query.setMoney(qmoney); List butieEmplyeeVos = iPayButieEmplyeeService.queryList(query); if(butieEmplyeeVos!=null&&butieEmplyeeVos.size()>0){ money=butieEmplyeeVos.get(0).getMoney(); diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/PayWorkOrderBaohuo.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/PayWorkOrderBaohuo.java index 3a9a7c6..f772a54 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/PayWorkOrderBaohuo.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/PayWorkOrderBaohuo.java @@ -97,6 +97,7 @@ public class PayWorkOrderBaohuo extends BaseEntity { */ @JsonFormat(pattern = "yyyy-MM-dd") private Date instorageTime; + /** * 入库人员 */ diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayButieEmplyeeBo.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayButieEmplyeeBo.java index 672541b..68593d3 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayButieEmplyeeBo.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayButieEmplyeeBo.java @@ -45,6 +45,10 @@ public class PayButieEmplyeeBo extends BaseEntity { */ @NotNull(message = "员工id不能为空", groups = { AddGroup.class, EditGroup.class }) private Long employeeId; + /** + * 员工姓名 + */ + private String empName; /** * 补贴扣减金额 diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayWorkOrderBaohuoBo.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayWorkOrderBaohuoBo.java index f780cb9..268cb57 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayWorkOrderBaohuoBo.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/domain/bo/PayWorkOrderBaohuoBo.java @@ -139,6 +139,11 @@ public class PayWorkOrderBaohuoBo extends BaseEntity { @NotNull(message = "入库时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date instorageTime; + //入库月份 + @JsonFormat(pattern = "yyyy-MM") + @DateTimeFormat(pattern = "yyyy-MM") + private Date instorageDate; + /** * 入库人员 */ diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayDayWorkHoursServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayDayWorkHoursServiceImpl.java index 90cb0ae..69a12ff 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayDayWorkHoursServiceImpl.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayDayWorkHoursServiceImpl.java @@ -86,7 +86,7 @@ public class PayDayWorkHoursServiceImpl implements IPayDayWorkHoursService { Map params = bo.getParams(); QueryWrapper lqw = Wrappers.query();; lqw.eq(bo.getTenantId() != null, "d.tenant_id", bo.getTenantId()); - lqw.eq(bo.getDeptId() != null, "dept_id", bo.getDeptId()); + lqw.eq(bo.getDeptId() != null, "d.dept_id", bo.getDeptId()); lqw.like(StringUtils.isNotBlank(bo.getDeptName()), "dept_name", bo.getDeptName()); lqw.eq(bo.getEmployeeId() != null, "employee_id", bo.getEmployeeId()); lqw.like(StringUtils.isNotBlank(bo.getEmpName()), "emp_name", bo.getEmpName()); diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PaySalaryReportServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PaySalaryReportServiceImpl.java index 0184af6..1c863ec 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PaySalaryReportServiceImpl.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PaySalaryReportServiceImpl.java @@ -114,6 +114,7 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService { lqw.eq(StringUtils.isNotBlank(bo.getYear()), PaySalaryReport::getYear, bo.getYear()); lqw.eq(StringUtils.isNotBlank(bo.getMonth()), PaySalaryReport::getMonth, bo.getMonth()); lqw.eq(bo.getDeptId() != null, PaySalaryReport::getDeptId, bo.getDeptId()); + lqw.eq(bo.getDeptName() != null, PaySalaryReport::getDeptName, bo.getDeptName()); lqw.like(StringUtils.isNotBlank(bo.getDeptName()), PaySalaryReport::getDeptName, bo.getDeptName()); lqw.eq(bo.getEmployeeId() != null, PaySalaryReport::getEmployeeId, bo.getEmployeeId()); lqw.like(StringUtils.isNotBlank(bo.getEmployeeName()), PaySalaryReport::getEmployeeName, bo.getEmployeeName()); diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java index 516e07c..a1c60e9 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java @@ -117,6 +117,7 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService private LambdaQueryWrapper buildQueryWrapper(PayWorkOrderBaohuoBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getId() != null, PayWorkOrderBaohuo::getId, bo.getId()); lqw.eq(bo.getTenantId() != null, PayWorkOrderBaohuo::getTenantId, bo.getTenantId()); lqw.eq(StringUtils.isNotBlank(bo.getArchiveId()), PayWorkOrderBaohuo::getArchiveId, bo.getArchiveId()); lqw.eq(bo.getProductId() != null, PayWorkOrderBaohuo::getProductId, bo.getProductId()); @@ -133,6 +134,7 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService lqw.like(StringUtils.isNotBlank(bo.getQualityName()), PayWorkOrderBaohuo::getQualityName, bo.getQualityName()); lqw.eq(StringUtils.isNotBlank(bo.getQualityRemark()), PayWorkOrderBaohuo::getQualityRemark, bo.getQualityRemark()); lqw.eq(bo.getInstorageTime() != null, PayWorkOrderBaohuo::getInstorageTime, bo.getInstorageTime()); + lqw.apply(bo.getInstorageDate()!= null, "DATE_FORMAT (instorage_time,'%Y-%m')={0}",DateUtil.format(bo.getInstorageDate(),"yyyy-MM")); lqw.like(StringUtils.isNotBlank(bo.getInstorageName()), PayWorkOrderBaohuo::getInstorageName, bo.getInstorageName()); lqw.eq(bo.getInstorageNum() != null, PayWorkOrderBaohuo::getInstorageNum, bo.getInstorageNum()); lqw.like(StringUtils.isNotBlank(bo.getManagerName()), PayWorkOrderBaohuo::getManagerName, bo.getManagerName()); From 01aa1a9ae8eb4e624a2a5349039730351dfba297 Mon Sep 17 00:00:00 2001 From: hshansha Date: Tue, 10 Jun 2025 10:15:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=89=80=E6=9C=89?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controller/PayHomePageController.java | 68 +++++++++++++++++++ .../ruoyi/pay/mapper/PayHomePageMapper.java | 28 ++++++++ .../PayRequireAttendanceReportMapper.java | 11 +++ .../pay/service/IPayHomePageService.java | 20 ++++++ .../IPayRequireAttendanceReportService.java | 5 ++ .../service/impl/IPayHomePageServiceImpl.java | 64 +++++++++++++++++ ...PayRequireAttendanceReportServiceImpl.java | 10 +++ .../mapper/pay/PayHomePageMapper.xml | 57 ++++++++++++++++ 8 files changed, 263 insertions(+) create mode 100644 ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayHomePageController.java create mode 100644 ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayHomePageMapper.java create mode 100644 ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayHomePageService.java create mode 100644 ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/IPayHomePageServiceImpl.java create mode 100644 ruoyi-pay/src/main/resources/mapper/pay/PayHomePageMapper.xml diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayHomePageController.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayHomePageController.java new file mode 100644 index 0000000..6c6d08a --- /dev/null +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayHomePageController.java @@ -0,0 +1,68 @@ +package com.ruoyi.pay.controller; + +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.pay.domain.PaySalaryReport; +import com.ruoyi.pay.domain.vo.PayEmployeeInfoVo; +import com.ruoyi.pay.service.IPayEmployeeInfoService; +import com.ruoyi.pay.service.IPayHomePageService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/pay/home") +public class PayHomePageController extends BaseController { + private final IPayHomePageService homePageService; + + /** + * "获取Panel数据" + * @return + */ + @GetMapping("/panel") + public R> getHomePagePanelData(Long tenantId) { + return homePageService.getPanelData(tenantId); + } + + /** + * 个人出勤工时列表 + * @param date + * @return + */ + @GetMapping("/chuqin") + public R>> getChuQinDataList(@RequestParam("date") Date date,@RequestParam("tenantId") Long tenantId) { + return homePageService.getChuQinData(date,tenantId); + } + + /** + * 获取按部门最近一个月的数据 + * 获取部门的 出勤工时,加班工时,帮工工资,应付工资,实发工资 + * @return + */ + @GetMapping("/deptPay") + public TableDataInfo getDeptPayData(Long tenantId) { + return homePageService.getDeptPayData(tenantId); + } + /** + * 获取年度每个月份的工资支出情况 + * @return + */ + @GetMapping("/monthPay") + public TableDataInfo getMonthPayData(Long tenantId) { + return homePageService.getMonthPayData(tenantId); + } + +} diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayHomePageMapper.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayHomePageMapper.java new file mode 100644 index 0000000..9719032 --- /dev/null +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayHomePageMapper.java @@ -0,0 +1,28 @@ +package com.ruoyi.pay.mapper; + +import com.ruoyi.pay.domain.PaySalaryReport; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +public interface PayHomePageMapper { + @Select("SELECT IFNULL(COUNT(*), 0) FROM pay_employee_info WHERE deleted = 0 and tenant_id=#{tenantId}") + Integer getEmpCountData(Long tenantId); + + @Select("select ifnull(count(*), 0) from pay_work_order_baohuo where deleted = 0 and tenant_id=#{tenantId}") + Integer getBaoHuoCountData(Long tenantId); + + @Select("select ifnull(count(*), 0) from pay_work_order_tuzhi where deleted = 0 and tenant_id=#{tenantId}") + Integer getTuZhiCountData(Long tenantId); + + @Select("SELECT IFNULL(COUNT(*), 0) FROM pay_products WHERE deleted = 0 and tenant_id=#{tenantId}") + Integer getProductData(Long tenantId); + + /*@Select("select s.dept_name deptName,s.day_work_hours dayWorkHours,s.overtime_work_hours overtimeWorkHours,s.banggong_pay banggongPay" + + ",s.shoud_pay_money shoudPayMoney,s.actually_pay_money actuallyPayMoney from sgr_salary_report s " + + "where s.year=(select max(year) from `sgr_salary_report`) and s.`month`=(select max(month) from `sgr_salary_report`) " + + "group by s.dept_name")*/ + List getDeptPayData(Long tenantId); + + List getMonthPayData(Long tenantId); +} diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayRequireAttendanceReportMapper.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayRequireAttendanceReportMapper.java index 16bd0fd..0ac4c93 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayRequireAttendanceReportMapper.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/mapper/PayRequireAttendanceReportMapper.java @@ -3,6 +3,11 @@ package com.ruoyi.pay.mapper; import com.ruoyi.pay.domain.PayRequireAttendanceReport; import com.ruoyi.pay.domain.vo.PayRequireAttendanceReportVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; /** * 应出勤报Mapper接口 @@ -11,5 +16,11 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus; * @date 2025-05-12 */ public interface PayRequireAttendanceReportMapper extends BaseMapperPlus { + @Select("SELECT `year`, `month` FROM pay_require_attendance_report WHERE tenant_id=#{tenantId} ORDER BY `year`,`month` DESC LIMIT 1") + Map getLatestYearAndMonth(@Param("tenantId")Long tenantId); + @Select("SELECT emp_name AS `name`, avtive_days AS value FROM pay_require_attendance_report " + + "WHERE `year` = #{year} AND `month` = #{month} AND tenant_id=#{tenantId} ORDER BY avtive_days DESC") + List> selectAttendanceReportByMonth(@Param("year")String year, + @Param("month")String month,@Param("tenantId") Long tenantId); } diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayHomePageService.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayHomePageService.java new file mode 100644 index 0000000..29f2cfa --- /dev/null +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayHomePageService.java @@ -0,0 +1,20 @@ +package com.ruoyi.pay.service; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.pay.domain.PaySalaryReport; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public interface IPayHomePageService { + R> getPanelData(Long tenantId); + + R>> getChuQinData(Date date,Long tenantId); + + TableDataInfo getDeptPayData(Long tenantId); + + TableDataInfo getMonthPayData(Long tenantId); +} diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayRequireAttendanceReportService.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayRequireAttendanceReportService.java index a775ca2..d852a66 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayRequireAttendanceReportService.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayRequireAttendanceReportService.java @@ -8,6 +8,7 @@ import com.ruoyi.common.core.domain.PageQuery; import java.util.Collection; import java.util.List; +import java.util.Map; /** * 应出勤报Service接口 @@ -48,4 +49,8 @@ public interface IPayRequireAttendanceReportService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); String importAttendanceReport(List requireAttendanceReports, boolean updateSupport, String date,Long tenantId); + + Map getLatestYearAndMonth(Long tenantId); + + List> selectAttendanceReportByMonth(String year, String month, Long tenantId); } diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/IPayHomePageServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/IPayHomePageServiceImpl.java new file mode 100644 index 0000000..4186ecf --- /dev/null +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/IPayHomePageServiceImpl.java @@ -0,0 +1,64 @@ +package com.ruoyi.pay.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.pay.domain.PaySalaryReport; +import com.ruoyi.pay.mapper.PayEmployeeInfoMapper; +import com.ruoyi.pay.mapper.PayHomePageMapper; +import com.ruoyi.pay.service.IPayHomePageService; +import com.ruoyi.pay.service.IPayRequireAttendanceReportService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +@RequiredArgsConstructor +@Service +public class IPayHomePageServiceImpl implements IPayHomePageService { + private final PayHomePageMapper homePageMapper; + private final IPayRequireAttendanceReportService attendanceReportService; + + @Override + public R> getPanelData(Long tenantId) { + HashMap map = new HashMap<>(); + Integer empNum = homePageMapper.getEmpCountData(tenantId); + Integer baoHuoCountData = homePageMapper.getBaoHuoCountData(tenantId); + Integer tuZhiCountData = homePageMapper.getTuZhiCountData(tenantId); + Integer productData = homePageMapper.getProductData(tenantId); + + map.put("empNum", empNum); + map.put("woNum", baoHuoCountData + tuZhiCountData); + map.put("prodNum", productData); + + return R.ok(map); + } + + @Override + public R>> getChuQinData(Date date,Long tenantId) { + // 获取最新的应出勤月份 + Map dateMap = attendanceReportService.getLatestYearAndMonth(tenantId); + String year = DateUtil.format(date, "yyyy"); + String month = DateUtil.format(date, "MM"); + if (ObjectUtil.isNotNull(dateMap) && dateMap.size() > 0) { + year = dateMap.get("year"); + month = dateMap.get("month"); + } + List> list = attendanceReportService.selectAttendanceReportByMonth(year, month,tenantId); + return R.ok(list); + } + + @Override + public TableDataInfo getDeptPayData(Long tenantId) { + List data = homePageMapper.getDeptPayData(tenantId); + return TableDataInfo.build(data); + } + + @Override + public TableDataInfo getMonthPayData(Long tenantId) { + return TableDataInfo.build(homePageMapper.getMonthPayData(tenantId)); + } +} diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayRequireAttendanceReportServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayRequireAttendanceReportServiceImpl.java index f887dab..1c6d15d 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayRequireAttendanceReportServiceImpl.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayRequireAttendanceReportServiceImpl.java @@ -204,4 +204,14 @@ public class PayRequireAttendanceReportServiceImpl implements IPayRequireAttenda } return successMsg.toString(); } + + @Override + public Map getLatestYearAndMonth(Long tenantId) { + return baseMapper.getLatestYearAndMonth(tenantId); + } + + @Override + public List> selectAttendanceReportByMonth(String year, String month, Long tenantId) { + return baseMapper.selectAttendanceReportByMonth(year, month,tenantId); + } } diff --git a/ruoyi-pay/src/main/resources/mapper/pay/PayHomePageMapper.xml b/ruoyi-pay/src/main/resources/mapper/pay/PayHomePageMapper.xml new file mode 100644 index 0000000..1943443 --- /dev/null +++ b/ruoyi-pay/src/main/resources/mapper/pay/PayHomePageMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, year, month, dept_id, dept_name, employee_id, employee_name, basic_salary, actually_days, actually_hours, day_work_hours, work_order_hours, overtime_work_hours, day_work_pay, work_order_pay, zhiban_or_lahuo, overtime,banggong_pay, holiday, post, phone_charge, contract, full_time, diff_of_last_month, shoud_pay_money, late, insurance, actually_pay_money,all_butie_data, note from pay_salary_report + + + + + + + + +