inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -307,9 +307,7 @@ @ApiOperation(value = "查看费用统计列表") @GetMapping("/costStatistics") public Result<?> costStatistics(@RequestBody Map<String, Object> data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); CostStatisticsDto costStatisticsDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CostStatisticsDto.class); public Result<?> costStatistics(Page page,CostStatisticsDto costStatisticsDto) throws Exception { return Result.success(insOrderService.costStatistics(page, costStatisticsDto)); } performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
@@ -39,8 +39,7 @@ @ApiOperation(value = "统计产量工时汇总和辅助工时汇总") @PostMapping("/collectWorkingHours") public Result collectWorkingHours(@RequestBody Map<String, Object> data)throws Exception{ AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class); public Result collectWorkingHours(@RequestBody AuxiliaryOutputWorkingHoursDto entity)throws Exception{ return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours(entity)); } performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
@@ -1,5 +1,6 @@ package com.ruoyi.performance.controller; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.utils.JackSonUtil; performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java
@@ -17,4 +17,8 @@ // 状态 已提交 已审核 已批准 private String state; private String dateTime1; private String dateTime2; } performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryWorkingHoursDayDto.java
@@ -2,9 +2,12 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.performance.pojo.AuxiliaryWorkingHoursDay; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ExcelIgnoreUnannotated @@ -13,4 +16,10 @@ @ApiModelProperty("姓名") @ExcelProperty(index = 1, value = "姓名") private String name; @TableField(exist = false) private String dateTime1; @TableField(exist = false) private String dateTime2; } performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -23,7 +23,7 @@ */ public interface AuxiliaryOutputWorkingHoursMapper extends BaseMapper<AuxiliaryOutputWorkingHours> { IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Integer> ids); IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHours> ew, @Param("ids") List<Integer> ids); //查询统计工时导出数据 List<AuxiliaryOutputWorkingHoursDto> selectDataByUser(@Param("ids") List<Integer> ids); performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursDayMapper.java
@@ -21,7 +21,7 @@ */ public interface AuxiliaryWorkingHoursDayMapper extends BaseMapper<AuxiliaryWorkingHoursDay> { IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, @Param("ew") QueryWrapper<AuxiliaryWorkingHoursDayDto> ew, @Param("ids") List<Integer> ids); IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, @Param("ew") QueryWrapper<AuxiliaryWorkingHoursDay> ew, @Param("ids") List<Integer> ids); //查询辅助工时导出信息 List<AuxiliaryWorkingHoursDayDto> selectDataByUser(@Param("ids") List<Integer> ids); @@ -32,12 +32,4 @@ List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids); List<AuxiliaryWorkingHoursDay> selectLists(@Param("ew") QueryWrapper<AuxiliaryWorkingHoursDay> ew, @Param("ids") List<Integer> ids); /** * 查询辅助工时集合 * @param ew * @param ids * @return */ List<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDayList(@Param("ew") QueryWrapper<AuxiliaryWorkingHoursDayDto> ew, @Param("ids") List<Integer> ids); } performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursMapper.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.performance.pojo.AuxiliaryWorkingHours; import org.apache.ibatis.annotations.Param; /** * <p> @@ -15,5 +16,5 @@ * @since 2024-05-09 06:58:31 */ public interface AuxiliaryWorkingHoursMapper extends BaseMapper<AuxiliaryWorkingHours> { IPage<AuxiliaryWorkingHours> selectAuxiliaryWorkingHours(Page page, QueryWrapper<AuxiliaryWorkingHours> ew); IPage<AuxiliaryWorkingHours> selectAuxiliaryWorkingHours(Page page,@Param("ew") QueryWrapper<AuxiliaryWorkingHours> ew); } performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryWorkingHoursDay.java
@@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -121,4 +123,6 @@ @ApiModelProperty("日期") @ExcelProperty(value = "日期") private String dateTime; } performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -4,13 +4,11 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.User; @@ -25,6 +23,7 @@ import com.ruoyi.performance.service.AuxiliaryOutputWorkingHoursService; import com.ruoyi.system.mapper.UserMapper; import org.apache.commons.math3.analysis.function.Power; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -59,7 +58,10 @@ @Override public IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) { auxiliaryOutputWorkingHoursDto.setWeekDay(weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay() : "")); String dates = auxiliaryOutputWorkingHoursDto.getDateTime(); String dateTime1 = auxiliaryOutputWorkingHoursDto.getDateTime1(); String dateTime2 = auxiliaryOutputWorkingHoursDto.getDateTime2(); AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); BeanUtils.copyProperties(auxiliaryOutputWorkingHoursDto, auxiliaryOutputWorkingHours); String week = auxiliaryOutputWorkingHoursDto.getWeek(); auxiliaryOutputWorkingHoursDto.setDateTime(null); auxiliaryOutputWorkingHoursDto.setWeek(null); @@ -68,31 +70,35 @@ //判断组长,组员,管理员权限 User user = userMapper.selectById(Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString())); List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, auxiliaryOutputWorkingHoursDto.getName())); if(CollectionUtils.isNotEmpty(users)) { ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); } IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = null; if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) { String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) { String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours) .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59") .ge("week", weeks[0]).le("week", weeks[1]), ids); for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0,10)); } map.put("body",auxiliaryOutputWorkingHoursDtoIPage ); } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) { String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); } else if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isEmpty(week)) { auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids); QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours) .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59"), ids); for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0,10)); } map.put("body",auxiliaryOutputWorkingHoursDtoIPage ); } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) { } else if (StringUtils.isEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) { String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours) .ge("week", weeks[0]).le("week", weeks[1]), ids); for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0,10)); @@ -121,6 +127,9 @@ String endTime = ""; if(StringUtils.isNotEmpty(dateTime)) { List<String> list = JSONArray.parseArray(dateTime, String.class); if(list.size() == 1) { list = JSONArray.parseArray(list.get(0), String.class); } startTime = list.get(0)+ " 00:00:00"; endTime = list.get(1)+ " 23:59:59"; } performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.exception.ErrorException; @@ -81,44 +83,52 @@ @Override public IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto) { String dates = auxiliaryWorkingHoursDayDto.getDateTime(); String dateTime1 = auxiliaryWorkingHoursDayDto.getDateTime1(); String dateTime2 = auxiliaryWorkingHoursDayDto.getDateTime2(); AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = new AuxiliaryWorkingHoursDay(); BeanUtils.copyProperties(auxiliaryWorkingHoursDayDto, auxiliaryWorkingHoursDay); String week = auxiliaryWorkingHoursDayDto.getWeek(); auxiliaryWorkingHoursDayDto.setDateTime(null); auxiliaryWorkingHoursDayDto.setWeek(null); List<Integer> ids = new ArrayList<>(); List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, auxiliaryWorkingHoursDayDto.getName())); if(CollectionUtils.isNotEmpty(users)) { ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); } IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = null; if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) { String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) { String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto) .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay) .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59") .ge("week", weeks[0]).le("week", weeks[1]), ids); for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0, 10)); } } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) { String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); } else if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isEmpty(week)) { auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto) .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids); QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay) .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59"), ids); for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0, 10)); } } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) { } else if (StringUtils.isEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) { String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto) QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay) .ge("week", weeks[0]).le("week", weeks[1]), ids); for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0, 10)); } } else { auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids); auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay), ids); for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) { record.setDateTime(record.getDateTime().substring(0, 10)); } performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml
@@ -25,16 +25,15 @@ <result column="update_user" property="updateUser"/> <result column="state" property="state"/> </resultMap> <sql id="selectAuxiliaryWorkingHours"> <select id="selectAuxiliaryWorkingHoursDay" resultType="com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto"> select A.* from ( select awhd.*,name FROM auxiliary_working_hours_day awhd left join user on name_user=user.id left join user on awhd.name_user=user.id WHERE 1=1 <if test="ids !=null and ids.size() > 0"> and name_user in and awhd.name_user in <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> #{val} </foreach> @@ -43,10 +42,6 @@ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </sql> <select id="selectAuxiliaryWorkingHoursDay" resultType="com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto"> <include refid="selectAuxiliaryWorkingHours"/> </select> <select id="selectDataByUser" resultType="com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto"> select awhd.*,name @@ -63,7 +58,7 @@ <select id="selectListByIds" resultType="com.ruoyi.performance.pojo.AuxiliaryWorkingHoursDay"> select * from auxiliary_working_hours_day where state='已审核' <if test="ids !=null and ids != ''"> <if test="ids !=null and ids.size()>0"> and name_user in <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> #{val} @@ -76,8 +71,11 @@ FORMAT(SUM(manHour), 4)as manHours from( select user.name, case when reviewer_nonproductive_time is null then nonproductive_time else reviewer_nonproductive_time end as manHour, case when reviewer_nonproductive_time is not null then reviewer_nonproductive_time when reviewer_nonproductive_time is null and nonproductive_time is not null then nonproductive_time else 0 end as manHour, date_time as month from auxiliary_working_hours_day awhd left join user on user.id=awhd.name_user @@ -109,8 +107,5 @@ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> <select id="selectAuxiliaryWorkingHoursDayList" resultType="com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto"> <include refid="selectAuxiliaryWorkingHours"/> </select> </mapper>