查询站点的检验时长+产量工时bug+检验任务提交撤销+首页待办查最近七天的信息+高低温检验增加检验表字段
已删除1个文件
已修改20个文件
已添加1个文件
259 ■■■■ 文件已修改
framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/InformationNotificationMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderUserDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderUser.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsSampleMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryCorrectionHoursController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOutputWorkingHoursDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryCorrectionHoursMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java
@@ -86,9 +86,11 @@
        map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter");
        Long totalNumberOfMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
                .eq(InformationNotification::getConsigneeId, map1.get("userId"))
                .apply("DATE(create_time) BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()")
                .eq(InformationNotification::getViewStatus, false));
        Long totalNumberOfReadMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
                .eq(InformationNotification::getConsigneeId, map1.get("userId"))
                .apply("DATE(create_time) BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()")
                .eq(InformationNotification::getViewStatus, true));
        LocalDate today = LocalDate.now();
        LocalDate sevenDaysAgo = today.minusDays(7);
framework/src/main/resources/mapper/InformationNotificationMapper.xml
@@ -8,6 +8,7 @@
                 left join user u on i.sender_id = u.id
                 left join user u2 on u2.id = i.consignee_id
        where i.consignee_id = #{userId}
        and DATE(i.create_time) BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()
        <if test="messageType != '' and messageType != null">
            and i.message_type = #{messageType}
        </if>
inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java
@@ -1,6 +1,7 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.service.ReportService;
@@ -66,4 +67,11 @@
    public Result manHourByPerson(String startTime,String endTime,String sonLaboratory){
        return Result.success(reportService.manHourByPerson(startTime,endTime,sonLaboratory));
    }
    @ValueClassify("统计图表")
    @ApiOperation(value = "查询站点的检验时长")
    @GetMapping("/timeByStation")
    public Result timeByStation(String startTime, String endTime, Page page,String sonLaboratory){
        return Result.success(reportService.timeByStation(startTime,endTime,page,sonLaboratory));
    }
}
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderUserDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.yuanchu.mom.dto;
import com.yuanchu.mom.pojo.InsOrderUser;
import lombok.Data;
import java.util.List;
@Data
public class InsOrderUserDto {
    //站点
    private String sonLaboratory;
    //样品编号
    private String sampleCode;
    //样品名称
    private String sampleName;
    //次数
    private Integer num;
    //实际时长
    private String hours;
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
@@ -1,8 +1,13 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.InsOrderUserDto;
import com.yuanchu.mom.pojo.InsOrderUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
/**
@@ -16,4 +21,7 @@
public interface InsOrderUserMapper extends BaseMapper<InsOrderUser> {
    List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId);
    IPage<InsOrderUserDto> selectInsOrderUserDto(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("sonLaboratory") String sonLaboratory, Page page);
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderUser.java
@@ -7,6 +7,7 @@
import java.io.Serializable;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -40,6 +41,7 @@
    private String submitUserName;
    @ApiModelProperty("提交时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime submitTime;
    @ApiModelProperty("检验次数")
@@ -53,4 +55,8 @@
    @ApiModelProperty("理由")
    private String tell;
    @ApiModelProperty("检验时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime insTime;
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
@@ -44,8 +44,10 @@
    private String equipName;
    private String beforeCheck;
    private String beforeNote;
    private String afterCheck;
    private String afterNote;
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java
@@ -1,6 +1,9 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.InsOrderUserDto;
import com.yuanchu.mom.pojo.Schedule;
import java.util.List;
@@ -28,4 +31,7 @@
    //首页-->各站点工时每个人所占百分比
    Map<Object, Double> manHourByPerson(String startTime, String endTime,String sonLaboratory);
    //查询站点的检验时长
    IPage<InsOrderUserDto> timeByStation(String startTime, String endTime, Page page, String sonLaboratory);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -1115,6 +1115,7 @@
        InsOrderUser insOrderUser = new InsOrderUser();
        insOrderUser.setInsOrderStateId(orderState.getId());
        insOrderUser.setSubmitUser(getLook.selectPowerByMethodAndUserId(null).get("userId"));
        insOrderUser.setInsTime(orderState.getInsTime());
        insOrderUser.setSubmitTime(LocalDateTime.now());
        insOrderUser.setNum(orderState.getNum());
        insOrderUser.setNote(ObjectUtils.isNotEmpty(submitPlanDto.getNote()) ? submitPlanDto.getNote() : null);
inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java
@@ -6,16 +6,16 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.dto.CostStatisticsDto;
import com.yuanchu.mom.dto.InsOrderUserDto;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.ReportService;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -36,6 +36,8 @@
    private RoleMapper roleMapper;
    private InsSampleUserMapper insSampleUserMapper;
    private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
    private InsOrderStateMapper insOrderStateMapper;
    private InsOrderUserMapper insOrderUserMapper;
    //每日业务统计
    @Override
@@ -162,9 +164,9 @@
        List<Long> receTenDays = new ArrayList<>();
        List<Long> finTenDays = new ArrayList<>();
        while (!startDate.isAfter(endDate)) {
            if (type.equals("å¹´")){
                lastTenDays.add(startDate.format(format).substring(0,7));
            }else {
            if (type.equals("å¹´")) {
                lastTenDays.add(startDate.format(format).substring(0, 7));
            } else {
                lastTenDays.add(startDate.format(format));
            }
            receTenDays.add(insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
@@ -175,8 +177,8 @@
                    .between(InsOrder::getCreateTime, startDate.atStartOfDay(), startDate.plusMonths(1).minusDays(1).atTime(23, 59, 59))));
            if (type.equals("å¹´")) {
                startDate = startDate.plusMonths(1);
            }else {
                startDate=startDate.plusDays(1);
            } else {
                startDate = startDate.plusDays(1);
            }
        }
        map.put("DAYS", lastTenDays);
@@ -277,9 +279,9 @@
        List<Long> receTenDays = new ArrayList<>();
        List<Long> finTenDays = new ArrayList<>();
        while (!startDate.isAfter(endDate)) {
            if (type.equals("å¹´")){
                lastTenDays.add(startDate.format(format).substring(0,7));
            }else {
            if (type.equals("å¹´")) {
                lastTenDays.add(startDate.format(format).substring(0, 7));
            } else {
                lastTenDays.add(startDate.format(format));
            }
            receTenDays.add(insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -291,8 +293,8 @@
                    .between(InsProduct::getCreateTime, startDate.atStartOfDay(), startDate.plusMonths(1).minusDays(1).atTime(23, 59, 59))));
            if (type.equals("å¹´")) {
                startDate = startDate.plusMonths(1);
            }else {
                startDate=startDate.plusDays(1);
            } else {
                startDate = startDate.plusDays(1);
            }
        }
        map.put("DAYS", lastTenDays);
@@ -412,8 +414,18 @@
                ).collect(Collectors.toList());
        Map<Object, Double> mapMap = outputWorkingHours.stream()
                .collect(Collectors.groupingBy(
                                t -> userMapper.selectById(t.getCheck()).getName(),
                                Collectors.summingDouble(AuxiliaryOutputWorkingHours::getOutputWorkTime)));
                        t -> userMapper.selectById(t.getCheck()).getName(),
                        Collectors.summingDouble(AuxiliaryOutputWorkingHours::getOutputWorkTime)));
        return mapMap;
    }
    @Override
    public IPage<InsOrderUserDto> timeByStation(String startTime, String endTime, Page page, String sonLaboratory) {
        DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDateTime start = LocalDate.parse(startTime, format).atStartOfDay();
        LocalDateTime end = LocalDate.parse(endTime, format).atTime(23, 59, 59);
        //查询这个时间内所有检验任务
        IPage<InsOrderUserDto> insOrderUserDtoIPage = insOrderUserMapper.selectInsOrderUserDto(start,end,sonLaboratory, page);
        return insOrderUserDtoIPage;
    }
}
inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
@@ -17,6 +17,18 @@
        select iou.*, name submitUserName
        from ins_order_user iou
                 left join user on submit_user = user.id
        where ins_order_state_id=#{insOrderStateId}
        where ins_order_state_id = #{insOrderStateId}
    </select>
    <select id="selectInsOrderUserDto" resultType="com.yuanchu.mom.dto.InsOrderUserDto">
        select iou.num,
               ios.laboratory                                               sonLaboratory,
               sample_code,
               sample                                                       sampleName,
               IFNULL(TIMESTAMPDIFF(HOUR, iou.ins_time, submit_time), 0) AS hours
        from ins_order_user iou
                 left join ins_order_state ios on iou.ins_order_state_id = ios.id
                 left join ins_sample isa on ios.ins_sample_id = isa.id
        where ios.laboratory = #{sonLaboratory}
          and ios.create_time BETWEEN #{start} AND #{end}
    </select>
</mapper>
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -266,7 +266,9 @@
               ipr.equip_value,
               ipr.equip_name,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
@@ -336,7 +338,9 @@
               ipr.equip_value,
               ipr.equip_name,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
@@ -536,7 +540,9 @@
               ipr.equip_value,
               ipr.equip_name,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
@@ -604,7 +610,9 @@
               ipr.equip_value,
               ipr.equip_name,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
@@ -670,7 +678,9 @@
               ipr.equip_value,
               ipr.equip_name,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
@@ -808,7 +818,9 @@
        <result property="comValue" column="com_value" jdbcType="VARCHAR"/>
        <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
        <result property="beforeCheck" column="before_check" jdbcType="VARCHAR"/>
        <result property="beforeNote" column="before_note" jdbcType="VARCHAR"/>
        <result property="afterCheck" column="after_check" jdbcType="VARCHAR"/>
        <result property="afterNote" column="after_note" jdbcType="VARCHAR"/>
        <result property="equipName" column="equip_name" jdbcType="VARBINARY"/>
    </resultMap>
    <resultMap id="insProductResult2" type="com.yuanchu.mom.pojo.InsProductResult2">
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryCorrectionHoursController.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.excel.AuxiliaryCorrectionHoursListener;
import com.yuanchu.mom.service.AuxiliaryCorrectionHoursService;
import com.yuanchu.mom.utils.JackSonUtil;
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java
@@ -3,11 +3,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
import com.yuanchu.mom.service.AuxiliaryOutputWorkingHoursService;
import com.yuanchu.mom.service.AuxiliaryWorkingHoursDayService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
@@ -35,14 +32,14 @@
public class AuxiliaryOutputWorkingHoursController {
    @Resource
    private AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
    AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
    @ValueClassify("工时管理")
    @ApiOperation(value = "查询产量工时")
    @PostMapping("/selectAuxiliaryOutputWorkingHours")
    public Result selectAuxiliaryOutputWorkingHours(@RequestBody Map<String, Object> data) throws Exception {
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class);
        AuxiliaryOutputWorkingHours entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHours.class);
        return Result.success(auxiliaryOutputWorkingHoursService.selectAuxiliaryOutputWorkingHours(page, entity));
    }
@@ -50,7 +47,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);
        AuxiliaryOutputWorkingHours entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHours.class);
        return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours(entity));
    }
performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOutputWorkingHoursDto.java
ÎļþÒÑɾ³ý
performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryCorrectionHoursMapper.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -3,14 +3,10 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto;
import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -24,10 +20,10 @@
 */
public interface AuxiliaryOutputWorkingHoursMapper extends BaseMapper<AuxiliaryOutputWorkingHours> {
    IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Integer> ids);
    IPage<AuxiliaryOutputWorkingHours> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHours> ew, @Param("ids") List<Integer> ids);
    //查询统计工时导出数据
    List<AuxiliaryOutputWorkingHoursDto> selectDataByUser(@Param("ids") List<Integer> ids);
    List<AuxiliaryOutputWorkingHours> selectDataByUser(@Param("ids") List<Integer> ids);
    //查询该月的产量工时
    List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids, @Param("type") String type);
performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
@@ -136,4 +136,10 @@
    @ExcelProperty(value = "检测次数")
    @ValueTableShow(2)
    private Integer num;
    @ValueTableShow(13)
    @ApiModelProperty("检测人")
    @ExcelProperty(value = "检测人")
    @TableField(select = false,exist = false)
    private String name;
}
performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java
@@ -1,8 +1,6 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -20,13 +18,13 @@
 */
public interface AuxiliaryOutputWorkingHoursService extends IService<AuxiliaryOutputWorkingHours> {
    Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto);
    Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHoursDto);
    /**
     * ç»Ÿè®¡äº§é‡å·¥æ—¶æ±‡æ€»å’Œè¾…助工时汇总
     * @return
     */
    Map<String,Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto);
    Map<String,Object> collectWorkingHours(AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHoursDto);
    /**
     * å¯¼å‡º
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java
@@ -7,7 +7,6 @@
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.mapper.PowerMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours;
@@ -21,7 +20,6 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -4,14 +4,12 @@
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto;
import com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto;
import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursDayMapper;
import com.yuanchu.mom.mapper.PowerMapper;
@@ -63,70 +61,49 @@
    PowerMapper powerMapper;
    @Override
    public Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
    public Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHoursDto) {
        String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
        String week = auxiliaryOutputWorkingHoursDto.getWeek();
        auxiliaryOutputWorkingHoursDto.setDateTime(null);
        auxiliaryOutputWorkingHoursDto.setWeek(null);
        Map<String, Object> map = new HashMap<>();
        List<Integer> ids = new ArrayList<>();
        map.put("head", PrintChina.printChina(AuxiliaryOutputWorkingHoursDto.class));
        //判断组长,组员,管理员权限
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours");
        User user = userMapper.selectById(map1.get("userId"));
        Integer roleId = user.getRoleId();
        Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader"));
        if (ObjectUtils.isEmpty(power)) {
            //不是组长
            if (map1.get("look") == 1) {
                //是组员
                auxiliaryOutputWorkingHoursDto.setCheck(map1.get("userId"));
            } else {
                //管理员(不添加限制条件所有人都可以看)
            }
        } else {
            //是组长
            //查询组长下的组员
            List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId()));
            if (ObjectUtils.isNotEmpty(users)) {
                ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
            }
        }
        map.put("head", PrintChina.printChina(AuxiliaryOutputWorkingHours.class));
        if (ids.size() == 0) {
            ids = null;
        }
        if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
            IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
            for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
            for (AuxiliaryOutputWorkingHours 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(",");
            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
            IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
            for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
            for (AuxiliaryOutputWorkingHours record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                record.setDateTime(record.getDateTime().substring(0,10));
            }
            map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
        } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
            IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
            for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
            for (AuxiliaryOutputWorkingHours record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                record.setDateTime(record.getDateTime().substring(0,10));
            }
            map.put("body", auxiliaryOutputWorkingHoursDtoIPage);
        } else {
            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
            for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
            IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
            for (AuxiliaryOutputWorkingHours record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                record.setDateTime(record.getDateTime().substring(0,10));
            }
            map.put("body", auxiliaryOutputWorkingHoursDtoIPage);
@@ -136,7 +113,7 @@
    //统计产量工时汇总和辅助工时汇总
    @Override
    public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
    public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHoursDto) {
        AuxiliaryOutputWorkingHours outputWorkingHours = new AuxiliaryOutputWorkingHours();
        AuxiliaryWorkingHoursDay workingHoursDay = new AuxiliaryWorkingHoursDay();
        List<Integer> ids = new ArrayList<>();
@@ -144,37 +121,11 @@
            outputWorkingHours.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
            workingHoursDay.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
        }
        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName())){
            List<User> user = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, auxiliaryOutputWorkingHoursDto.getName()));
            ids.addAll(user.stream().map(User::getId).collect(Collectors.toList()));
        }
        String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
        auxiliaryOutputWorkingHoursDto.setDateTime(null);
        Map<String, Object> map = new HashMap<>();
        Double sumOutputWorkTime = 0.0;
        Double sumApprovedWorkingHour = 0.0;
        //判断是组长还是组员还是管理员
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours");
        User user = userMapper.selectById(map1.get("userId"));
        Integer roleId = user.getRoleId();
        Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader"));
        if (ObjectUtils.isEmpty(power)) {
            //不是组长
            if (map1.get("look") == 1) {
                //是组员
                ids.add(map1.get("userId"));
            } else {
                //管理员(不添加限制条件所有人都可以看)
            }
        } else {
            //是组长
            //查询组长下的组员
            List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId()));
            if (ObjectUtils.isNotEmpty(users)) {
                ids = users.stream().map(User::getId).distinct().collect(Collectors.toList());
            }
        }
        List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = new ArrayList<>();
        List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = new ArrayList<>();
        if (ids.size() == 0) {
@@ -202,14 +153,9 @@
            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids);
        }
        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours)) {
//            Map<String, Double> sumMap = new HashMap<>();
            for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHour : auxiliaryOutputWorkingHours) {
               /* if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample())) {
                    sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample(), auxiliaryOutputWorkingHour.getOutputWorkTime());
                }*/
                sumOutputWorkTime+=auxiliaryOutputWorkingHour.getOutputWorkTime();
            }
//            sumOutputWorkTime = sumMap.values().stream().mapToDouble(Double::doubleValue).sum();
        }
        map.put("产量工时汇总", sumOutputWorkTime);
        if (ObjectUtils.isNotEmpty(auxiliaryWorkingHoursDays)) {
@@ -224,7 +170,7 @@
    //导出
    @Override
    public void exportWorkingHours(HttpServletResponse response) throws IOException {
        List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = new ArrayList<>();
        List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtos = new ArrayList<>();
        List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = new ArrayList<>();
        List<Integer> ids = new ArrayList<>();
        //判断是组长还是组员还是管理员
@@ -267,7 +213,7 @@
            WriteSheet mainSheet = EasyExcel.writerSheet(0, "辅助工时导出").head(AuxiliaryWorkingHoursDayDto.class).build();
            excelWriter.write(auxiliaryWorkingHoursDayDtos, mainSheet);
            WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "产量工时导出").head(AuxiliaryOutputWorkingHoursDto.class).build();
            WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "产量工时导出").head(AuxiliaryOutputWorkingHours.class).build();
            excelWriter.write(auxiliaryOutputWorkingHoursDtos, mainSheet1);
            // å…³é—­æµ
            excelWriter.finish();
performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -18,12 +18,13 @@
        <result column="week" property="week"/>
        <result column="week_day" property="weekDay"/>
        <result column="check" property="check"/>
        <result column="name" property="name"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="create_user" property="createUser"/>
        <result column="update_user" property="updateUser"/>
    </resultMap>
    <select id="selectAuxiliaryOutputWorkingHours" resultType="com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto">
    <select id="selectAuxiliaryOutputWorkingHours" resultMap="BaseResultMap">
        select *
        from (
        select aowh.id,
@@ -56,7 +57,7 @@
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectDataByUser" resultType="com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto">
    <select id="selectDataByUser" resultMap="BaseResultMap">
        select aowh.*,name
        FROM auxiliary_output_working_hours aowh
        left join user on user.id=aowh.`check`