lius
2023-07-07 daf5a28d644cece1e19972521f0d6f19dfef20a4
率参数标签接口
已添加2个文件
已修改11个文件
445 ■■■■ 文件已修改
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcUtilizationRateController.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcUtilizationRateDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportShiftQueryVo.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java
@@ -9,6 +9,7 @@
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.mdc.service.MdcEfficiencyReportService;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyVo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -39,13 +40,23 @@
        return Result.OK(result);
    }
    @AutoLog(value = "设备效率报表-班次利用率列表查询")
    @ApiOperation(value = "设备效率报表-班次利用率列表查询", notes = "设备效率报表-班次利用率列表查询")
    @GetMapping("/shiftEfficiencyList")
    public Result shiftEfficiencyList(MdcEfficiencyReportQueryVo vo) {
    @AutoLog(value = "设备效率报表-开动率列表查询")
    @ApiOperation(value = "设备效率报表-开动率列表查询", notes = "设备效率报表-开动率列表查询")
    @GetMapping("/efficiencyPOList")
    public Result efficiencyPOList(MdcEfficiencyReportQueryVo vo) {
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        MdcEfficiencyVo result = mdcEfficiencyReportService.shiftEfficiencyList(userId, vo);
        MdcEfficiencyVo result = mdcEfficiencyReportService.efficiencyPOList(userId, vo);
        return Result.OK(result);
    }
    @AutoLog(value = "设备效率报表-班次利用率列表查询")
    @ApiOperation(value = "设备效率报表-班次利用率列表查询", notes = "设备效率报表-班次利用率列表查询")
    @GetMapping("/efficiencyShiftList")
    public Result efficiencyShiftList(MdcEfficiencyReportShiftQueryVo vo) {
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        MdcEfficiencyVo result = mdcEfficiencyReportService.efficiencyShiftList(userId, vo);
        return Result.OK(result);
    }
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcUtilizationRateController.java
@@ -8,6 +8,7 @@
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.mdc.dto.MdcUtilizationRateDto;
import org.jeecg.modules.mdc.entity.MdcUtilizationRate;
import org.jeecg.modules.mdc.service.IMdcUtilizationRateService;
import org.springframework.web.bind.annotation.*;
@@ -16,6 +17,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * @Description: çŽ‡å‚æ•°è®¾ç½®
@@ -33,6 +35,7 @@
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param mdcUtilizationRate
     * @param pageNo
     * @param pageSize
@@ -45,7 +48,7 @@
    public Result<?> queryPageList(MdcUtilizationRate mdcUtilizationRate,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req){
                                   HttpServletRequest req) {
        //将页面获取的页值封装至Page对象内
        Page page = new Page(pageNo, pageSize);
        IPage<MdcUtilizationRate> mdcUtilizationRateIPage = mdcUtilizationRateService.queryPageList(page, req);
@@ -54,69 +57,75 @@
    /**
     * æ–°å¢ž
     *
     * @param mdcUtilizationRate
     * @return
     */
    @AutoLog("率参数设置-新增")
    @ApiOperation(value = "率参数设置-新增", notes = "率参数设置-新增")
    @PostMapping("/addUtilization")
    public Result<?> addUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate){
    public Result<?> addUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate) {
        Boolean flag = mdcUtilizationRateService.addUtilization(mdcUtilizationRate);
        return flag ? Result.OK("新增成功") : Result.error("新增失败");
    }
    /**
     * ç¼–辑
     *
     * @param mdcUtilizationRate
     * @return
     */
    @AutoLog("率参数设置-编辑")
    @ApiOperation(value = "率参数设置-编辑", notes = "率参数设置-编辑")
    @PutMapping("/editUtilization")
    public Result<?> editUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate){
    public Result<?> editUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate) {
        Boolean flag = mdcUtilizationRateService.editUtilization(mdcUtilizationRate);
        return flag ? Result.OK("修改成功") : Result.error("修改失败");
    }
    /**
     * æ ¹æ®id删除
     *
     * @param id
     * @return
     */
    @AutoLog("率参数设置-根据id删除")
    @ApiOperation(value = "率参数设置-根据id删除", notes = "率参数设置-根据id删除")
    @DeleteMapping("/deleteUtilization")
    public Result<?> deleteUtilization(@RequestParam(name = "id", required = true) String id){
    public Result<?> deleteUtilization(@RequestParam(name = "id", required = true) String id) {
        Boolean flag = mdcUtilizationRateService.deleteUtilization(id);
        return flag ? Result.OK("删除成功") : Result.error("删除失败");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog("率参数设置-批量删除")
    @ApiOperation(value = "率参数设置-批量删除", notes = "率参数设置-批量删除")
    @DeleteMapping("/deleteBatchUtilization")
    public Result<?> deleteBatchUtilization(@RequestParam(name = "ids", required = true) String ids){
    public Result<?> deleteBatchUtilization(@RequestParam(name = "ids", required = true) String ids) {
        Boolean flag = mdcUtilizationRateService.deleteBatchUtilization(ids);
        return flag ? Result.OK("批量删除成功") : Result.error("批量删除失败");
    }
    /**
     * å¯¼å‡ºexcel
     *
     * @param request
     * @param mdcUtilizationRate
     * @return
     */
    @RequestMapping("/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, MdcUtilizationRate mdcUtilizationRate){
    public ModelAndView exportXls(HttpServletRequest request, MdcUtilizationRate mdcUtilizationRate) {
        return super.exportXls(request, mdcUtilizationRate, MdcUtilizationRate.class, "率参数设置导出");
    }
    /**
     * å¯¼å…¥excel
     *
     * @param request
     * @param response
     * @return
@@ -125,4 +134,17 @@
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, MdcUtilizationRate.class);
    }
    /**
     * æ ¹æ®ç±»åž‹èŽ·å–é¢œè‰²æ ‡ç­¾
     *
     * @param type
     * @return
     */
    @ApiOperation(value = "率参数设置-根据类型获取颜色标签", notes = "率参数设置-根据类型获取颜色标签")
    @GetMapping("/getByType")
    public Result<List<MdcUtilizationRateDto>> getByType(@RequestParam(name = "type", required = true) String type) {
        List<MdcUtilizationRateDto> list = mdcUtilizationRateService.getByType(type);
        return Result.OK(list);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcUtilizationRateDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package org.jeecg.modules.mdc.dto;
import lombok.Data;
/**
 * @author: LiuS
 * @create: 2023-07-07 09:41
 */
@Data
public class MdcUtilizationRateDto {
    /**
     * é¢œè‰²
     */
    private String color;
    /**
     * æ ‡é¢˜
     */
    private String title;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java
@@ -53,29 +53,11 @@
    private String equipmentName;
    /**
     * å¼€å§‹æ—¶é—´
     */
    @Excel(name = "开始时间", width = 15)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开始时间")
    private Date startTime;
    /**
     * ç»“束时间
     */
    @Excel(name = "结束时间", width = 15)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("结束时间")
    private Date endTime;
    /**
     * æ—¥æœŸ
     * æ—¶é—´
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "日期")
    @ApiModelProperty(value = "时间")
    private Date torqueDate;
    /**
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java
@@ -19,4 +19,12 @@
     * @return
     */
    List<MdcEfficiencyDto> efficiencyList(@Param("vo") MdcEfficiencyReportQueryVo vo);
    /**
     * æŸ¥è¯¢å¼€åŠ¨çŽ‡æ•°æ®
     *
     * @param vo
     * @return
     */
    List<MdcEfficiencyDto> efficiencyPOList(@Param("vo") MdcEfficiencyReportQueryVo vo);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
@@ -31,7 +31,41 @@
                #{ id }
            </foreach>
        </if>
        ORDER BY
            t1.the_date
        ORDER BY t1.the_date
    </select>
    <!--查询开动率数据-->
    <select id="efficiencyPOList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto">
        SELECT
            t2.equipment_id equipmentId,
            t2.equipment_name equipmentName,
            t2.equipment_type equipmentType,
            t1.the_date,
            t1.process_long processLong,
            CASE
                WHEN t1.open_long > 0 THEN
                t1.process_long / t1.open_long ELSE 0
            END utilizationRate,
            CASE
                WHEN t1.open_long > 0 THEN
                t1.process_long / t1.open_long ELSE 0
            END startRate,
            t1.open_long / 86400 openRate,
            t1.open_long openLong,
            t1.wait_long waitLong,
            t1.close_long closeLong
        FROM
            mdc_equipment t2
            LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id
        WHERE
            t1.the_date &lt;= #{ vo.endTime }
            AND t1.the_date &gt;= #{ vo.startTime }
        <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 ">
            AND t2.equipment_id IN
            <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
                #{ id }
            </foreach>
        </if>
        ORDER BY t1.the_date
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.dto.MdcUtilizationRateDto;
import org.jeecg.modules.mdc.entity.MdcUtilizationRate;
import javax.servlet.http.HttpServletRequest;
@@ -18,6 +19,7 @@
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param page
     * @param req
     * @return
@@ -26,6 +28,7 @@
    /**
     * æ–°å¢žå‚æ•°
     *
     * @param mdcUtilizationRate
     * @return
     */
@@ -33,6 +36,7 @@
    /**
     * ç¼–辑参数
     *
     * @param mdcUtilizationRate
     * @return
     */
@@ -40,6 +44,7 @@
    /**
     * æ ¹æ®id删除
     *
     * @param id
     * @return
     */
@@ -47,6 +52,7 @@
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
@@ -54,8 +60,17 @@
    /**
     * æ ¹æ®ç±»åž‹æŸ¥è¯¢
     *
     * @param type
     * @return
     */
    List<MdcUtilizationRate> listByType(String type);
    /**
     * æ ¹æ®ç±»åž‹èŽ·å–é¢œè‰²æ ‡ç­¾
     *
     * @param type
     * @return
     */
    List<MdcUtilizationRateDto> getByType(String type);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.mdc.service;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyVo;
/**
@@ -19,11 +20,20 @@
    MdcEfficiencyVo efficiencyList(String userId, MdcEfficiencyReportQueryVo vo);
    /**
     * å¼€æœºçŽ‡æŠ¥è¡¨
     *
     * @param userId
     * @param vo
     * @return
     */
    MdcEfficiencyVo efficiencyPOList(String userId, MdcEfficiencyReportQueryVo vo);
    /**
     * ç­æ¬¡åˆ©ç”¨çŽ‡æŠ¥è¡¨
     *
     * @param userId
     * @param vo
     * @return
     */
    MdcEfficiencyVo shiftEfficiencyList(String userId, MdcEfficiencyReportQueryVo vo);
    MdcEfficiencyVo efficiencyShiftList(String userId, MdcEfficiencyReportShiftQueryVo vo);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
@@ -12,6 +12,7 @@
import org.jeecg.modules.mdc.service.MdcEfficiencyReportService;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyVo;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.entity.SysDepart;
@@ -225,8 +226,195 @@
        return result;
    }
    /**
     * å¼€æœºçŽ‡æŠ¥è¡¨
     *
     * @param userId
     * @param vo
     * @return
     */
    @Override
    public MdcEfficiencyVo shiftEfficiencyList(String userId, MdcEfficiencyReportQueryVo vo) {
    public MdcEfficiencyVo efficiencyPOList(String userId, MdcEfficiencyReportQueryVo vo) {
        MdcEfficiencyVo result = new MdcEfficiencyVo();
        List<MdcEfficiencyListDto> listDtos = new ArrayList<>();
        List<String> equipmentIds = new ArrayList<>();
        if (StringUtils.isNotEmpty(vo.getParentId()) && StringUtils.isEmpty(vo.getEquipmentId())) {
            if ("2".equals(vo.getTypeTree())) {
                // éƒ¨é—¨å±‚级
                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, vo.getParentId());
            } else {
                // äº§çº¿å±‚级
                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, vo.getParentId());
            }
        } else if (StringUtils.isNotEmpty(vo.getEquipmentId())) {
            // å•台设备信息
            vo.setEquipmentIdList(Collections.singletonList(vo.getEquipmentId()));
        } else {
            // æŸ¥è¯¢ç”¨æˆ·æ‹¥æœ‰çš„æ‰€æœ‰è®¾å¤‡ä¿¡æ¯
            if ("2".equals(vo.getTypeTree())) {
                // éƒ¨é—¨å±‚级
                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
            } else {
                // äº§çº¿å±‚级
                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
            }
        }
        if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
            vo.setEquipmentIdList(equipmentIds);
        }
        List<String> dates = DateUtils.getDatesStringList2(DateUtils.getShortDate2(vo.getStartTime()), DateUtils.getShortDate2(vo.getEndTime()));
        result.setDates(dates);
        if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
            result.setMdcEfficiencyList(listDtos);
        } else {
            // æŸ¥è¯¢åˆ©ç”¨çŽ‡æ•°æ®
            List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyPOList(vo);
            // åˆ©ç”¨çŽ‡ç­‰çº§
            List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("kdl");
            // å°è£…结果
            if ("2".equals(vo.getTypeTree())) {
                // éƒ¨é—¨å±‚级
                List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰éƒ¨é—¨ä¿¡æ¯
                List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()));
                for (MdcEquDepDto mdcEquDepDto : equipmentList) {
                    MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                    mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                    mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                    mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
                    switch (mdcEquDepDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName());
                            break;
                        case "2":
                            mdcEfficiencyListDto.setLevel2(mdcEquDepDto.getDepartName());
                            break;
                        case "3":
                            mdcEfficiencyListDto.setLevel3(mdcEquDepDto.getDepartName());
                            break;
                        default:
                    }
                    SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null);
                    if (sysDepart != null) {
                        switch (sysDepart.getOrgType()) {
                            case "1":
                                mdcEfficiencyListDto.setLevel1(sysDepart.getDepartName());
                                break;
                            case "2":
                                mdcEfficiencyListDto.setLevel2(sysDepart.getDepartName());
                                break;
                            case "3":
                                mdcEfficiencyListDto.setLevel3(sysDepart.getDepartName());
                                break;
                            default:
                        }
                        if (StringUtils.isNotEmpty(sysDepart.getParentId())) {
                            departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> {
                                switch (depart1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyListDto.setLevel1(depart1.getDepartName());
                                        break;
                                    case "2":
                                        mdcEfficiencyListDto.setLevel2(depart1.getDepartName());
                                        break;
                                    case "3":
                                        mdcEfficiencyListDto.setLevel3(depart1.getDepartName());
                                        break;
                                    default:
                                }
                            });
                        }
                    }
                    List<MdcEfficiencyResultDto> list = new ArrayList<>();
                    for (String date : dates) {
                        list.add(this.efficiencyRate(efficiencyList, date, mdcEquDepDto.getEquipmentId(), mdcUtilizationRateList));
                    }
                    mdcEfficiencyListDto.setDataList(list);
                    listDtos.add(mdcEfficiencyListDto);
                }
            } else {
                // äº§çº¿å±‚级
                List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰äº§çº¿ä¿¡æ¯
                List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()));
                for (MdcEquProDto mdcEquProDto : equipmentList) {
                    MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                    mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                    mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                    mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
                    switch (mdcEquProDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName());
                            break;
                        case "2":
                            mdcEfficiencyListDto.setLevel2(mdcEquProDto.getProductionName());
                            break;
                        case "3":
                            mdcEfficiencyListDto.setLevel3(mdcEquProDto.getProductionName());
                            break;
                        default:
                    }
                    MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null);
                    if (mdcProduction != null) {
                        switch (mdcProduction.getOrgType()) {
                            case "1":
                                mdcEfficiencyListDto.setLevel1(mdcProduction.getProductionName());
                                break;
                            case "2":
                                mdcEfficiencyListDto.setLevel2(mdcProduction.getProductionName());
                                break;
                            case "3":
                                mdcEfficiencyListDto.setLevel3(mdcProduction.getProductionName());
                                break;
                            default:
                        }
                        if (StringUtils.isNotEmpty(mdcProduction.getParentId())) {
                            productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> {
                                switch (production1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyListDto.setLevel1(production1.getProductionName());
                                        break;
                                    case "2":
                                        mdcEfficiencyListDto.setLevel2(production1.getProductionName());
                                        break;
                                    case "3":
                                        mdcEfficiencyListDto.setLevel3(production1.getProductionName());
                                        break;
                                    default:
                                }
                            });
                        }
                    }
                    List<MdcEfficiencyResultDto> list = new ArrayList<>();
                    for (String date : dates) {
                        list.add(this.efficiencyRate(efficiencyList, date, mdcEquProDto.getEquipmentId(), mdcUtilizationRateList));
                    }
                    mdcEfficiencyListDto.setDataList(list);
                    listDtos.add(mdcEfficiencyListDto);
                }
            }
            result.setMdcEfficiencyList(listDtos);
        }
        return result;
    }
    /**
     * ç­æ¬¡åˆ©ç”¨çŽ‡æŠ¥è¡¨
     *
     * @param userId
     * @param vo
     * @return
     */
    @Override
    public MdcEfficiencyVo efficiencyShiftList(String userId, MdcEfficiencyReportShiftQueryVo vo) {
        return null;
    }
@@ -238,7 +426,6 @@
                    mdcEfficiencyResultDto.setTheDate(efficiencyDto.getTheDate());
                    mdcEfficiencyResultDto.setProcessLong(efficiencyDto.getProcessLong());
                    mdcEfficiencyResultDto.setUtilizationRate(efficiencyDto.getUtilizationRate());
                    mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate());
                    mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate());
                    mdcEfficiencyResultDto.setOpenRate(efficiencyDto.getOpenRate());
                    mdcEfficiencyResultDto.setOpenLong(efficiencyDto.getOpenLong());
@@ -256,7 +443,6 @@
            mdcEfficiencyResultDto.setTheDate(date);
            mdcEfficiencyResultDto.setProcessLong(new BigDecimal("0"));
            mdcEfficiencyResultDto.setUtilizationRate(new BigDecimal("0"));
            mdcEfficiencyResultDto.setStartRate(new BigDecimal("0"));
            mdcEfficiencyResultDto.setStartRate(new BigDecimal("0"));
            mdcEfficiencyResultDto.setOpenRate(new BigDecimal("0"));
            mdcEfficiencyResultDto.setOpenLong(new BigDecimal("0"));
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java
@@ -38,14 +38,8 @@
    public Boolean addTorque(MdcTorqueConfigVo torqueVo) {
        boolean result = false;
        String[] equipmentIds = torqueVo.getEquipmentIds().split(",");
        List<MdcTorqueConfig> mdcTorqueConfigList = new ArrayList<>();
        for (String equipmentId : equipmentIds) {
            MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId);
            //根据Id查询此设备信息
            LambdaQueryWrapper<MdcTorqueConfig> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(MdcTorqueConfig::getEquipmentId, equipmentId);
            queryWrapper.orderByAsc(MdcTorqueConfig::getStartTime);
            List<MdcTorqueConfig> mdcTorqueConfigs = this.baseMapper.selectList(queryWrapper);
            MdcTorqueConfig mdcTorqueConfig = new MdcTorqueConfig();
            mdcTorqueConfig.setEquipmentId(equipmentId);
            mdcTorqueConfig.setEquipmentName(mdcEquipment.getEquipmentName());
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.mdc.dto.MdcUtilizationRateDto;
import org.jeecg.modules.mdc.entity.MdcUtilizationRate;
import org.jeecg.modules.mdc.mapper.MdcUtilizationRateMapper;
import org.jeecg.modules.mdc.service.IMdcUtilizationRateService;
@@ -13,6 +14,7 @@
import javax.servlet.http.HttpServletRequest;
import java.sql.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -28,7 +30,7 @@
        //创建查询器
        QueryWrapper<MdcUtilizationRate> queryWrapper = new QueryWrapper();
        //检查HTTP请求体中是否存在名为驱动类型的参数,存在则true,获取第一个数据使用模糊查询添加到到查询器中
        if (req.getParameterMap().containsKey("rateParameterCategory")){
        if (req.getParameterMap().containsKey("rateParameterCategory")) {
            String rateParameterCategory = req.getParameterMap().get("rateParameterCategory")[0];
            queryWrapper.like(StringUtils.isNotBlank(rateParameterCategory), "rate_parameter_category", rateParameterCategory);
        }
@@ -61,6 +63,7 @@
    /**
     * æ ¹æ®ç±»åž‹æŸ¥è¯¢åˆ©ç”¨çŽ‡å±‚çº§
     *
     * @param type
     * @return
     */
@@ -68,4 +71,23 @@
    public List<MdcUtilizationRate> listByType(String type) {
        return this.baseMapper.selectList(new LambdaQueryWrapper<MdcUtilizationRate>().eq(MdcUtilizationRate::getRateParameterType, type));
    }
    /**
     * æ ¹æ®ç±»åž‹èŽ·å–é¢œè‰²æ ‡ç­¾
     *
     * @param type
     * @return
     */
    @Override
    public List<MdcUtilizationRateDto> getByType(String type) {
        List<MdcUtilizationRateDto> result = new ArrayList<>();
        List<MdcUtilizationRate> list = this.list(new LambdaQueryWrapper<MdcUtilizationRate>().eq(MdcUtilizationRate::getRateParameterType, type).orderByAsc(MdcUtilizationRate::getRateParameterLevel));
        for (MdcUtilizationRate mdcUtilizationRate : list) {
            MdcUtilizationRateDto mdcUtilizationRateDto = new MdcUtilizationRateDto();
            mdcUtilizationRateDto.setColor(mdcUtilizationRate.getRateParameterColor());
            mdcUtilizationRateDto.setTitle(mdcUtilizationRate.getMinimumRange() + "% <= " + mdcUtilizationRate.getRateParameterCategory() + " < " + mdcUtilizationRate.getMaximumRange() + "%");
            result.add(mdcUtilizationRateDto);
        }
        return result;
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportShiftQueryVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package org.jeecg.modules.mdc.vo;
import lombok.Data;
import java.util.List;
/**
 * @author: LiuS
 * @create: 2023-07-05 14:31
 */
@Data
public class MdcEfficiencyReportShiftQueryVo {
    /**
     * å¼€å§‹æ—¶é—´  ->  20220101
     */
    private String startTime;
    /**
     * ç»“束时间  ->  20220101
     */
    private String endTime;
    /**
     * æ ‘类型    ->  1:车间层级   2:部门层级
     */
    private String typeTree;
    /**
     * å±‚级ID
     */
    private String parentId;
    /**
     * è®¾å¤‡Id
     */
    private String equipmentId;
    /**
     * ç­åˆ¶Id
     */
    private String shiftId;
    /**
     * ç­æ¬¡Id
     */
    private String shiftSubId;
    /**
     * è®¾å¤‡ids
     */
    private List<String> equipmentIdList;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java
@@ -9,13 +9,12 @@
@Data
public class MdcTorqueConfigVo {
    /*设备名称*/
    private String equipmentName;
    /*设备组*/
    private String equipmentIds;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date torqueDate;
    private float torqueValue;
    private Float torqueValue;
    private String notes;
}