From a22ac4053e15b18f1f41d6ce2945db41231de0b3 Mon Sep 17 00:00:00 2001 From: yinq Date: Thu, 19 Dec 2024 15:58:51 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20add=E5=91=98=E5=B7=A5=E5=B7=A5?= =?UTF-8?q?=E8=B5=84=E6=B1=87=E6=80=BB=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EmsBaseEnergyTypeController.java | 12 +- .../mes/record/domain/RecordStaffSalary.java | 10 ++ .../record/domain/ReportSalarySummary.java | 122 ++++++++++++++++++ .../mapper/RecordStaffSalaryMapper.java | 9 ++ .../service/IRecordStaffSalaryService.java | 9 ++ .../impl/RecordStaffSalaryServiceImpl.java | 27 ++++ .../controller/ReportBoardPortController.java | 33 +++++ .../mes/base/BaseDeviceLedgerMapper.xml | 6 +- .../mapper/mes/base/BaseProductLineMapper.xml | 1 + .../mes/record/RecordStaffSalaryMapper.xml | 22 ++++ 10 files changed, 241 insertions(+), 10 deletions(-) create mode 100644 os-mes/src/main/java/com/os/mes/record/domain/ReportSalarySummary.java diff --git a/os-ems/src/main/java/com/os/ems/base/controller/EmsBaseEnergyTypeController.java b/os-ems/src/main/java/com/os/ems/base/controller/EmsBaseEnergyTypeController.java index 671ca44..3a1e9c3 100644 --- a/os-ems/src/main/java/com/os/ems/base/controller/EmsBaseEnergyTypeController.java +++ b/os-ems/src/main/java/com/os/ems/base/controller/EmsBaseEnergyTypeController.java @@ -37,7 +37,7 @@ public class EmsBaseEnergyTypeController extends BaseController /** * 查询能源类型信息列表 */ - @PreAuthorize("@ss.hasPermi('ems.base:baseEnergyType:list')") + @PreAuthorize("@ss.hasPermi('ems/base:baseEnergyType:list')") @GetMapping("/list") public TableDataInfo list(EmsBaseEnergyType emsBaseEnergyType) { @@ -59,7 +59,7 @@ public class EmsBaseEnergyTypeController extends BaseController /** * 导出能源类型信息列表 */ - @PreAuthorize("@ss.hasPermi('ems.base:baseEnergyType:export')") + @PreAuthorize("@ss.hasPermi('ems/base:baseEnergyType:export')") @Log(title = "能源类型信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, EmsBaseEnergyType emsBaseEnergyType) @@ -72,7 +72,7 @@ public class EmsBaseEnergyTypeController extends BaseController /** * 获取能源类型信息详细信息 */ - @PreAuthorize("@ss.hasPermi('ems.base:baseEnergyType:query')") + @PreAuthorize("@ss.hasPermi('ems/base:baseEnergyType:query')") @GetMapping(value = "/{objId}") public AjaxResult getInfo(@PathVariable("objId") Long objId) { @@ -82,7 +82,7 @@ public class EmsBaseEnergyTypeController extends BaseController /** * 新增能源类型信息 */ - @PreAuthorize("@ss.hasPermi('ems.base:baseEnergyType:add')") + @PreAuthorize("@ss.hasPermi('ems/base:baseEnergyType:add')") @Log(title = "能源类型信息", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EmsBaseEnergyType emsBaseEnergyType) @@ -93,7 +93,7 @@ public class EmsBaseEnergyTypeController extends BaseController /** * 修改能源类型信息 */ - @PreAuthorize("@ss.hasPermi('ems.base:baseEnergyType:edit')") + @PreAuthorize("@ss.hasPermi('ems/base:baseEnergyType:edit')") @Log(title = "能源类型信息", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EmsBaseEnergyType emsBaseEnergyType) @@ -104,7 +104,7 @@ public class EmsBaseEnergyTypeController extends BaseController /** * 删除能源类型信息 */ - @PreAuthorize("@ss.hasPermi('ems.base:baseEnergyType:remove')") + @PreAuthorize("@ss.hasPermi('ems/base:baseEnergyType:remove')") @Log(title = "能源类型信息", businessType = BusinessType.DELETE) @DeleteMapping("/{objIds}") public AjaxResult remove(@PathVariable Long[] objIds) diff --git a/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java b/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java index be16ae0..f809b3a 100644 --- a/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java +++ b/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java @@ -127,6 +127,16 @@ public class RecordStaffSalary extends BaseEntity @Excel(name = "生产米数") private BigDecimal prodNumber; + private String staffId; + + public String getStaffId() { + return staffId; + } + + public void setStaffId(String staffId) { + this.staffId = staffId; + } + public BigDecimal getProdNumber() { return prodNumber; } diff --git a/os-mes/src/main/java/com/os/mes/record/domain/ReportSalarySummary.java b/os-mes/src/main/java/com/os/mes/record/domain/ReportSalarySummary.java new file mode 100644 index 0000000..8d5e73b --- /dev/null +++ b/os-mes/src/main/java/com/os/mes/record/domain/ReportSalarySummary.java @@ -0,0 +1,122 @@ +package com.os.mes.record.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.os.common.annotation.Excel; +import com.os.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 员工工资汇总报表对象 + * + * @author Yinq + * @date 2024-07-02 + */ +public class ReportSalarySummary extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** + * 员工编号 + */ + @Excel(name = "员工编号") + private String staffId; + + /** + * 员工名称 + */ + @Excel(name = "员工名称") + private String staffName; + + /** 身份证 */ + @Excel(name = "身份证") + private String idCard; + + /** 班组编号 */ + @Excel(name = "班组编号") + private String groupId; + + /** + * 班组名称 + */ + @Excel(name = "班组名称") + private String teamName; + + /** 收入金额 */ + @Excel(name = "收入金额") + private BigDecimal revenueAmount; + + /** 事件日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "事件日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date eventDate; + + public String getGroupId() { + return groupId; + } + + public void setGroupId(String groupId) { + this.groupId = groupId; + } + + public String getTeamName() { + return teamName; + } + + public void setTeamName(String teamName) { + this.teamName = teamName; + } + + public String getStaffId() { + return staffId; + } + + public void setStaffId(String staffId) { + this.staffId = staffId; + } + + public String getStaffName() { + return staffName; + } + + public void setStaffName(String staffName) { + this.staffName = staffName; + } + + public String getIdCard() { + return idCard; + } + + public void setIdCard(String idCard) { + this.idCard = idCard; + } + + public Date getEventDate() { + return eventDate; + } + + public void setEventDate(Date eventDate) { + this.eventDate = eventDate; + } + + public BigDecimal getRevenueAmount() { + return revenueAmount; + } + + public void setRevenueAmount(BigDecimal revenueAmount) { + this.revenueAmount = revenueAmount; + } + + @Override + public String toString() { + return "ReportSalarySummary{" + + ", staffName='" + staffName + '\'' + + ", idCard='" + idCard + '\'' + + ", eventDate=" + eventDate + + ", revenueAmount=" + revenueAmount + + '}'; + } +} diff --git a/os-mes/src/main/java/com/os/mes/record/mapper/RecordStaffSalaryMapper.java b/os-mes/src/main/java/com/os/mes/record/mapper/RecordStaffSalaryMapper.java index 2d5cc0e..fd9da9b 100644 --- a/os-mes/src/main/java/com/os/mes/record/mapper/RecordStaffSalaryMapper.java +++ b/os-mes/src/main/java/com/os/mes/record/mapper/RecordStaffSalaryMapper.java @@ -1,8 +1,10 @@ package com.os.mes.record.mapper; import java.util.List; +import java.util.Map; import com.os.mes.record.domain.RecordStaffSalary; +import com.os.mes.record.domain.ReportSalarySummary; /** * 员工工资记录Mapper接口 @@ -58,4 +60,11 @@ public interface RecordStaffSalaryMapper { * @return 结果 */ public int deleteRecordStaffSalaryByObjIds(Long[] objIds); + + /** + * 员工工资汇总报表 + * @param hashMap + * @return + */ + List salarySummaryReport(Map hashMap); } diff --git a/os-mes/src/main/java/com/os/mes/record/service/IRecordStaffSalaryService.java b/os-mes/src/main/java/com/os/mes/record/service/IRecordStaffSalaryService.java index aca9cc7..44cd0a3 100644 --- a/os-mes/src/main/java/com/os/mes/record/service/IRecordStaffSalaryService.java +++ b/os-mes/src/main/java/com/os/mes/record/service/IRecordStaffSalaryService.java @@ -1,8 +1,10 @@ package com.os.mes.record.service; import java.util.List; +import java.util.Map; import com.os.mes.record.domain.RecordStaffSalary; +import com.os.mes.record.domain.ReportSalarySummary; /** * 员工工资记录Service接口 @@ -73,4 +75,11 @@ public interface IRecordStaffSalaryService { * @return */ public int uploadERPStaffSalary(List recordStaffSalaryList); + + /** + * 员工工资汇总报表 + * @param hashMap + * @return + */ + List salarySummaryReport(Map hashMap); } diff --git a/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java b/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java index 6950634..824a41d 100644 --- a/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java +++ b/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java @@ -24,6 +24,7 @@ import com.os.mes.prod.domain.ProdPlanExecuteUser; import com.os.mes.prod.mapper.ProdOrderInfoMapper; import com.os.mes.prod.mapper.ProdPlanExecuteUserMapper; import com.os.mes.prod.mapper.ProdPlanInfoMapper; +import com.os.mes.record.domain.ReportSalarySummary; import com.os.mes.record.domain.StaffSalaryVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -501,4 +502,30 @@ public class RecordStaffSalaryServiceImpl implements IRecordStaffSalaryService { return 1; } + /** + * 员工工资汇总报表 + * @param hashMap + * @return + */ + @Override + public List salarySummaryReport(Map hashMap) { + List summaryList = recordStaffSalaryMapper.salarySummaryReport(hashMap); + List teamMembers = baseTeamMembersMapper.selectBaseTeamMembersList(new BaseTeamMembers()); + for (ReportSalarySummary staffSalary : summaryList) { + if (StringUtils.isEmpty(staffSalary.getGroupId())) { + continue; + } + for (BaseTeamMembers teamMember : teamMembers) { + if (staffSalary.getGroupId().contains(teamMember.getTeamCode())) { + if (StringUtils.isEmpty(staffSalary.getTeamName())) { + staffSalary.setTeamName(teamMember.getTeamName()); + } else { + staffSalary.setTeamName(staffSalary.getTeamName() + "," + teamMember.getTeamName()); + } + } + } + } + return summaryList; + } + } diff --git a/os-mes/src/main/java/com/os/mes/report/controller/ReportBoardPortController.java b/os-mes/src/main/java/com/os/mes/report/controller/ReportBoardPortController.java index 98ddd9b..b044c53 100644 --- a/os-mes/src/main/java/com/os/mes/report/controller/ReportBoardPortController.java +++ b/os-mes/src/main/java/com/os/mes/report/controller/ReportBoardPortController.java @@ -2,6 +2,12 @@ package com.os.mes.report.controller; import java.util.HashMap; import java.util.List; +import java.util.Map; + +import com.os.common.core.page.TableDataInfo; +import com.os.common.utils.poi.ExcelUtil; +import com.os.mes.record.domain.ReportSalarySummary; +import com.os.mes.record.service.IRecordStaffSalaryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -10,6 +16,8 @@ import com.os.common.core.domain.AjaxResult; import com.os.mes.report.domain.ReportBoardPort; import com.os.mes.report.service.IReportBoardPortService; +import javax.servlet.http.HttpServletResponse; + /** * 看板接口Controller * @@ -23,6 +31,9 @@ public class ReportBoardPortController extends BaseController @Autowired private IReportBoardPortService reportBoardPortService; + @Autowired + private IRecordStaffSalaryService recordStaffSalaryService; + /** * 查询看板接口列表 */ @@ -45,4 +56,26 @@ public class ReportBoardPortController extends BaseController return success(list); } + /** + * 员工工资汇总报表 + * @param hashMap + * @return + */ + @GetMapping("/salarySummaryReport") + public TableDataInfo salarySummaryReport(@RequestParam(required = false) Map hashMap) { + startPage(); + List list = recordStaffSalaryService.salarySummaryReport(hashMap); + return getDataTable(list); + } + + /** + * 导出员工工资汇总报表 + */ + @PostMapping("/salarySummaryReport/export" ) + public void energyStatisticalReportListExport(HttpServletResponse response, @RequestParam(required = false) Map hashMap) { + List list = recordStaffSalaryService.salarySummaryReport(hashMap); + ExcelUtil util = new ExcelUtil<>(ReportSalarySummary. class); + util.exportExcel(response, list, "员工工资汇总报表" ); + } + } diff --git a/os-mes/src/main/resources/mapper/mes/base/BaseDeviceLedgerMapper.xml b/os-mes/src/main/resources/mapper/mes/base/BaseDeviceLedgerMapper.xml index b15497b..e98d79e 100644 --- a/os-mes/src/main/resources/mapper/mes/base/BaseDeviceLedgerMapper.xml +++ b/os-mes/src/main/resources/mapper/mes/base/BaseDeviceLedgerMapper.xml @@ -51,12 +51,9 @@ bdl.update_time, bdl.factory_code, bdl.team_code, - bdl.asset_code, - bpi.process_code, - bpi.process_name + bdl.asset_code from base_device_ledger bdl left join base_product_line bpl on bpl.product_line_code = bdl.product_line_code - left join base_process_info bpi on bpi.station_codes like concat('%', bpl.product_line_code, '%') + select bsi.staff_id staffId, + bsi.staff_name staffName, + rss.id_card idCard, + bsi.team_code groupId, + sum(rss.revenue_amount) revenueAmount + from record_staff_salary rss + left join base_staff_info bsi on rss.id_card = bsi.pass_word + where rss.is_erp = 1 + + and FORMAT(rss.event_date, 'yyyy-MM-dd') between #{beginEventDate} and #{endEventDate} + + + and bsi.staff_name like concat('%', #{staffName}, '%') + + + and bsi.team_code like concat('%', #{groupId}, '%') + + group by bsi.staff_id, bsi.staff_name, rss.id_card, bsi.team_code + \ No newline at end of file