change - add员工工资汇总报表

maser
yinq 6 months ago
parent 776e4e14f6
commit a22ac4053e

@ -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)

@ -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;
}

@ -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 +
'}';
}
}

@ -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<ReportSalarySummary> salarySummaryReport(Map hashMap);
}

@ -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<RecordStaffSalary> recordStaffSalaryList);
/**
*
* @param hashMap
* @return
*/
List<ReportSalarySummary> salarySummaryReport(Map hashMap);
}

@ -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<ReportSalarySummary> salarySummaryReport(Map hashMap) {
List<ReportSalarySummary> summaryList = recordStaffSalaryMapper.salarySummaryReport(hashMap);
List<BaseTeamMembers> 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;
}
}

@ -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<ReportSalarySummary> list = recordStaffSalaryService.salarySummaryReport(hashMap);
return getDataTable(list);
}
/**
*
*/
@PostMapping("/salarySummaryReport/export" )
public void energyStatisticalReportListExport(HttpServletResponse response, @RequestParam(required = false) Map hashMap) {
List<ReportSalarySummary> list = recordStaffSalaryService.salarySummaryReport(hashMap);
ExcelUtil<ReportSalarySummary> util = new ExcelUtil<>(ReportSalarySummary. class);
util.exportExcel(response, list, "员工工资汇总报表" );
}
}

@ -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, '%')
</sql>
<select id="selectBaseDeviceLedgerList" parameterType="BaseDeviceLedger" resultMap="BaseDeviceLedgerResult">
@ -80,6 +77,7 @@
<if test="teamCode != null and teamCode != ''">and bdl.team_code = #{teamCode}</if>
<if test="assetCode != null and assetCode != ''">and bdl.asset_code = #{assetCode}</if>
</where>
order by bdl.device_code
</select>
<select id="selectBaseDeviceLedgerByObjId" parameterType="Long" resultMap="BaseDeviceLedgerResult">

@ -79,6 +79,7 @@
<if test="capacityDay != null ">and pl1.capacity_day = #{capacityDay}</if>
<if test="capacityMonth != null ">and pl1.capacity_month = #{capacityMonth}</if>
</where>
order by pl1.product_line_code
</select>
<select id="selectBaseProductLineByObjId" parameterType="Long" resultMap="BaseProductLineResult">

@ -29,6 +29,7 @@
<result property="planCode" column="plan_code"/>
<result property="isErp" column="is_erp"/>
<result property="prodNumber" column="prod_number"/>
<result property="staffId" column="staff_id"/>
</resultMap>
<sql id="selectRecordStaffSalaryVo">
@ -178,4 +179,25 @@
#{objId}
</foreach>
</delete>
<select id="salarySummaryReport" resultType="ReportSalarySummary">
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
<if test="beginEventDate != null and beginEventDate != '' and endEventDate != null and endEventDate != ''">
and FORMAT(rss.event_date, 'yyyy-MM-dd') between #{beginEventDate} and #{endEventDate}
</if>
<if test="staffName != null and staffName != ''">
and bsi.staff_name like concat('%', #{staffName}, '%')
</if>
<if test="groupId != null and groupId != ''">
and bsi.team_code like concat('%', #{groupId}, '%')
</if>
group by bsi.staff_id, bsi.staff_name, rss.id_card, bsi.team_code
</select>
</mapper>
Loading…
Cancel
Save