From daf70022eb085332c24b7f2dccdbed3e3f6fab79 Mon Sep 17 00:00:00 2001 From: hshansha Date: Sat, 7 Jun 2025 08:27:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=B5=84=E6=A0=B8=E5=AF=B9=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PayEmployeeInfoController.java | 1 + .../PayWorkOrderCheckController.java | 35 ++++ .../service/IPayWorkOrderCheckService.java | 9 ++ .../impl/PaySalaryReportServiceImpl.java | 11 -- .../impl/PayWorkOrderCheckServiceImpl.java | 151 ++++++++++++++++++ 5 files changed, 196 insertions(+), 11 deletions(-) create mode 100644 ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderCheckController.java create mode 100644 ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderCheckService.java create mode 100644 ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderCheckServiceImpl.java diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayEmployeeInfoController.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayEmployeeInfoController.java index 55dd67f..124ab39 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayEmployeeInfoController.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayEmployeeInfoController.java @@ -95,6 +95,7 @@ public class PayEmployeeInfoController extends BaseController { throw new ServiceException("该手机号已注册"); } em.setPhone(null); + em.setTenantId(bo.getTenantId()); em.setName(bo.getName()); List payEmployeeInfoVos1 = iPayEmployeeInfoService.queryList(em); if (payEmployeeInfoVos1!=null&&payEmployeeInfoVos1.size()>0) { // 表示重名 diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderCheckController.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderCheckController.java new file mode 100644 index 0000000..084aa40 --- /dev/null +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderCheckController.java @@ -0,0 +1,35 @@ +package com.ruoyi.pay.controller; + + +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.pay.service.IPayWorkOrderCheckService; +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 java.util.Map; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/pay/wocheck") +public class PayWorkOrderCheckController extends BaseController { + + private final IPayWorkOrderCheckService wocheckService; + + @GetMapping("/getbaohuo") + public Map getBaoHuoList(@RequestParam(name = "tenantId")Long tenantId, + @RequestParam(name = "empName")String empName, + @RequestParam(name = "date") String date) { + return wocheckService.getBaoHuoList(tenantId,empName,date); + } + + @GetMapping("/getbanggong") + public Map getBangGongList(@RequestParam(name = "tenantId")Long tenantId,@RequestParam(name = "empName")String empName,@RequestParam(name = "date")String date) { + return wocheckService.getBangGongList(tenantId,empName,date); + } + +} diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderCheckService.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderCheckService.java new file mode 100644 index 0000000..edc1274 --- /dev/null +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderCheckService.java @@ -0,0 +1,9 @@ +package com.ruoyi.pay.service; + +import java.util.Map; + +public interface IPayWorkOrderCheckService { + Map getBaoHuoList(Long tenantId, String empName, String date); + + Map getBangGongList(Long tenantId, String empName, String date); +} 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 a3a23a6..0184af6 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 @@ -59,26 +59,15 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService { @Resource private PayWorkOrderEmployeeMapper sgrWorkOrderEmployeeMapper; @Resource - private PayWorkTimeMapper sgrWorkTimeMapper; - @Resource private PayWorkTimeServiceImpl payWorkTimeService; @Resource - private PayRequireAttendanceReportMapper sgrRequireAttendanceReportMapper; - @Resource private PayRequireAttendanceReportServiceImpl payRequireAttendanceReportService; @Resource - private PayDayWorkHoursMapper sgrDayWorkHoursMapper; - @Resource private PayDayWorkHoursServiceImpl payDayWorkHoursService; @Resource - private PayDwHoursContrastMapper sgrDwHoursContrastMapper; - @Resource private PayEmployeeInfoServiceImpl employeeInfoService; @Resource private PayEmployeeInfoMapper employeeInfoMapper; - @Resource - private PaySalaryReportMapper sgrSalaryReportMapper; - /** * 查询工资明细总 diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderCheckServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderCheckServiceImpl.java new file mode 100644 index 0000000..9e58843 --- /dev/null +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderCheckServiceImpl.java @@ -0,0 +1,151 @@ +package com.ruoyi.pay.service.impl; + +import com.ruoyi.pay.domain.*; +import com.ruoyi.pay.domain.bo.PayBaohuoEmployeeBo; +import com.ruoyi.pay.domain.bo.PayBaohuoWorktimeBo; +import com.ruoyi.pay.domain.vo.PayBaohuoEmployeeVo; +import com.ruoyi.pay.domain.vo.PayBaohuoWorktimeVo; +import com.ruoyi.pay.domain.vo.PayDwHoursContrastVo; +import com.ruoyi.pay.mapper.PayBaohuoWorktimeMapper; +import com.ruoyi.pay.mapper.PayEmployeeInfoMapper; +import com.ruoyi.pay.mapper.PayWorkOrderBaohuoMapper; +import com.ruoyi.pay.service.IPayBaohuoEmployeeService; +import com.ruoyi.pay.service.IPayBaohuoProductService; +import com.ruoyi.pay.service.IPayWorkOrderCheckService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +@RequiredArgsConstructor +@Service +public class PayWorkOrderCheckServiceImpl implements IPayWorkOrderCheckService { + + private final PayWorkOrderBaohuoMapper payWorkOrderBaohuoMapper; + private final PayEmployeeInfoServiceImpl payEmployeeInfoService; + private final PayEmployeeInfoMapper payEmployeeInfoMapper; + private final PayBaohuoWorktimeMapper worktimeMapper; + private final PayWorkTimeServiceImpl workTimeService; + private final PayBaohuoWorktimeServiceImpl bhworktimeService; + private final PayAttendanceServiceImpl attendanceService; + private final PayWorkOrderBaohuoMapper sgrWorkOrderBaohuoMapper; + private final PayDayWorkHoursServiceImpl dayWorkHoursService; + private final IPayBaohuoProductService bhproductService; + private final IPayBaohuoEmployeeService bhemployeeService; + + @Override + public Map getBaoHuoList(Long tenantId, String empName, String date) { + Map result = new HashMap<>(); + //获取到员工信息 + PayEmployeeInfo employeeInfo = payEmployeeInfoMapper.selectSgrEmployeeInfoByName(tenantId,empName); + //年月拆分 + String year = date.split("-")[0]; + String month = date.split("-")[1]; + Date yearMonth=null; + try { + yearMonth = new SimpleDateFormat("yyyy-MM").parse(date); + } catch (ParseException e) { + e.printStackTrace(); + } + //包活工时 + PayBaohuoWorktimeBo bhtime = new PayBaohuoWorktimeBo(); + bhtime.setEmpId(employeeInfo.getId()); + bhtime.setDate(yearMonth); + List bhtimes = bhworktimeService.queryList(bhtime); + + Collections.sort(bhtimes, new Comparator() { + //按照工作日期排序 + @Override + public int compare(PayBaohuoWorktimeVo o1, PayBaohuoWorktimeVo o2) { + if (o1.getDate().compareTo(o2.getDate())==1){ + return 1; + } + if (o1.getDate().compareTo(o2.getDate())==0) { + return 0; + } + return -1; + } + }); + + /*if(bhtimes!=null&&bhtimes.size()>0){ + for(SgrBaohuoWorktime btime:bhtimes){ + baohuogongshi = baohuogongshi.add(btime.getValidHours()); + } + }*/ + result.put("bhtimes",bhtimes); + + //包活工资 + PayBaohuoEmployeeBo bhEmployee = new PayBaohuoEmployeeBo() ; + bhEmployee.setEmpName(empName); + bhEmployee.setIntime(yearMonth); + bhEmployee.setTenantId(tenantId); + List bhEmployees = bhemployeeService.queryList(bhEmployee); + /*for(SgrBaohuoEmployee bhe:bhEmployees){ + if(bhe.getHelper()==0){ + baohuogongzi = baohuogongzi.add(bhe.getAmount()); + }else{ + baohuobanggongGZ = baohuobanggongGZ.add(bhe.getAmount()); + } + }*/ + result.put("bhEmployees",bhEmployees); + return result; + + } + + @Override + public Map getBangGongList(Long tenantId, String empName, String date) { + Map result = new HashMap<>(); + //获取到员工信息 + PayEmployeeInfo employeeInfo = payEmployeeInfoMapper.selectSgrEmployeeInfoByName(tenantId,empName); + String year = date.split("-")[0]; + String month = date.split("-")[1]; + Date yearMonth=null; + try { + yearMonth = new SimpleDateFormat("yyyy-MM").parse(date); + } catch (ParseException e) { + e.printStackTrace(); + //return AjaxResult.success("系统日期格式转换错误"); + } + + //包活帮工信息获取 + List bhHelper = new ArrayList<>(); + PayBaohuoEmployeeBo bhEmployee = new PayBaohuoEmployeeBo() ; + bhEmployee.setEmpName(empName); + bhEmployee.setIntime(yearMonth); + bhEmployee.setTenantId(tenantId); + List bhEmployees = bhemployeeService.queryList(bhEmployee); + for(PayBaohuoEmployeeVo bhe:bhEmployees){ + if(bhe.getHelper()==0){ + // baohuogongzi = baohuogongzi.add(bhe.getAmount()); + }else{ + bhHelper.add(bhe); + // baohuobanggongGZ = baohuobanggongGZ.add(bhe.getAmount()); + } + } + result.put("bhHelper",bhHelper); + + //1.2获取员工日工工时信息 + List rigongHelper = new ArrayList<>(); + PayDayWorkHoursQuery sgrdayworkHoursQuery = new PayDayWorkHoursQuery(); + BigDecimal rigongbanggong = BigDecimal.ZERO; //日工帮工小时数 + sgrdayworkHoursQuery.setDwYearMonth(date); + sgrdayworkHoursQuery.setEmpName(employeeInfo.getName()); + List sgrDayWorkHoursQueryList =dayWorkHoursService.selectPayDayWorkHoursList2(sgrdayworkHoursQuery); + if(sgrDayWorkHoursQueryList!=null&&sgrDayWorkHoursQueryList.size()>0){ + for(PayDayWorkHoursQuery dayWorkHour:sgrDayWorkHoursQueryList){ + for(PayDwHoursContrast dwHoursContrast:dayWorkHour.getDwHoursContrasts()) { + if(dwHoursContrast.getIsHelper()==1){ + /* BigDecimal datePoor =dwHoursContrast.getHours(); + rigongbanggong = rigongbanggong.add(datePoor);*/ + rigongHelper.add(dwHoursContrast); + } + } + } + } + result.put("rigongHelper",rigongHelper); + return result; + + } +}