qushaowei
2023-12-24 8240a4132c854b0150190bb415da43246e65e6db
Merge branch 'master' of http://117.34.109.166:18448/r/mdc_430 into develop
已添加1个文件
已修改19个文件
233 ■■■■ 文件已修改
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentAlarmAnalyzeController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentThresholdController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcAlarmListDto.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcAlarmTrendDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRunningSectionMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRunningSectionService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEquipmentAlarmAnalyzeService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDriveTypeParamConfigServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentAlarmAnalyzeServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentAlarmAnalyzeController.java
@@ -8,6 +8,7 @@
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.mdc.dto.MdcAlarmAnalyzeDto;
import org.jeecg.modules.mdc.dto.MdcAlarmListDto;
import org.jeecg.modules.mdc.dto.MdcAlarmTrendDto;
import org.jeecg.modules.mdc.service.MdcEquipmentAlarmAnalyzeService;
import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo;
@@ -51,4 +52,14 @@
        return Result.OK(result);
    }
    @AutoLog(value = "报警分析-二级列表")
    @ApiOperation(value = "报警分析-二级列表", notes = "报警分析-二级列表")
    @GetMapping("/equipmentAlarmList")
    public Result equipmentAlarmList(MdcAlarmAnalyzeQueryVo vo) {
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        List<MdcAlarmListDto> result = mdcEquipmentAlarmAnalyzeService.equipmentAlarmList(userId, vo);
        return Result.OK(result);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java
@@ -1,6 +1,5 @@
package org.jeecg.modules.mdc.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
@@ -11,7 +10,6 @@
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.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
import org.jeecg.modules.mdc.entity.MdcEquipment;
@@ -67,13 +65,13 @@
    @AutoLog(value = "设备表-分页列表查询")
    @ApiOperation(value = "设备表-分页列表查询", notes = "设备表-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<MdcEquipment>> queryPageList(MdcEquipment mdcEquipment,
    public Result<IPage<MdcEquipment>> queryPageList(MdcEquipmentVo mdcEquipment,
                                                     @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                     HttpServletRequest req) {
        QueryWrapper<MdcEquipment> queryWrapper = QueryGenerator.initQueryWrapper(mdcEquipment, req.getParameterMap());
        //QueryWrapper<MdcEquipment> queryWrapper = QueryGenerator.initQueryWrapper(mdcEquipment, req.getParameterMap());
        Page<MdcEquipment> page = new Page<MdcEquipment>(pageNo, pageSize);
        IPage<MdcEquipment> pageList = mdcEquipmentService.page(page, queryWrapper);
        IPage<MdcEquipment> pageList = mdcEquipmentService.pageList(page, mdcEquipment, req);
        //批量查询设备的所属部门和产线
        //step.1 å…ˆæ‹¿åˆ°å…¨éƒ¨çš„ equipmentIds
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentThresholdController.java
@@ -88,7 +88,6 @@
        String chineseName = mdcEquipmentThreshold.getChineseName();
        mdcEquipmentThreshold.setEnglishName(chineseName.substring(0, chineseName.indexOf("(")));
        mdcEquipmentThreshold.setChineseName(chineseName.substring(mdcEquipmentThreshold.getEnglishName().length() + 1, chineseName.length() - 1));
        mdcEquipmentThresholdService.save(mdcEquipmentThreshold);
        mdcEquipmentThresholdService.updateById(mdcEquipmentThreshold);
        return Result.OK("编辑成功!");
    }
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcAlarmListDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package org.jeecg.modules.mdc.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
 * @author Lius
 * @date 2023/12/14 10:27
 */
@Data
public class MdcAlarmListDto {
    private String equipmentId;
    private String equipmentName;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss ")
    private Date startTime;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    private Long duration;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcAlarmTrendDto.java
@@ -18,4 +18,5 @@
    List<MdcAlarmDto> dateCountList;
    List<MdcAlarmDto> equipmentCountList;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java
@@ -10,6 +10,7 @@
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.mdc.vo.MdcEquipmentDepVo;
import org.jeecg.modules.mdc.vo.MdcEquipmentProVo;
import org.jeecg.modules.mdc.vo.MdcEquipmentVo;
import org.jeecg.modules.mdc.vo.WorkshopEquipmentVo;
import java.util.List;
@@ -87,4 +88,9 @@
     * æ ¹æ®å¤§å±è½¦é—´id查询设备列表
     */
    IPage<MdcEquipment> getEquipmentByWorkshopId(Page<MdcEquipment> page, @Param("workshopEquipmentVo") WorkshopEquipmentVo workshopEquipmentVo);
    /**
     * åˆ†é¡µåˆ—表
     */
    IPage<MdcEquipment> pageList(Page<MdcEquipment> page, @Param("mdcEquipment") MdcEquipmentVo mdcEquipment);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRunningSectionMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.mdc.dto.MdcAlarmListDto;
import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection;
import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo;
@@ -70,4 +71,6 @@
     * æŸ¥è¯¢æ—¶é—´æ®µå†…运行数据
     */
    List<MdcEquipmentRunningSection> selectRunningData(@Param("equipmentId") String equipmentId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
    List<MdcAlarmListDto> selectAlarmList(@Param("vo") MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, @Param("startDate") String startDate, @Param("endDate") String endDate);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
@@ -210,5 +210,36 @@
        ORDER BY me.equipment_id
    </select>
    <!--分页列表-->
    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcEquipment">
        SELECT
            t1.*
        FROM
            mdc_equipment t1
            LEFT JOIN mdc_production_equipment t2 ON t1.id = t2.equipment_id
            LEFT JOIN mdc_production t3 ON t2.production_id = t3.id
        <where>
            <if test="mdcEquipment.equipmentId != null and mdcEquipment.equipmentId != '' ">
                AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{mdcEquipment.equipmentId}),'%')
            </if>
            <if test="mdcEquipment.equipmentName != null and mdcEquipment.equipmentName != '' ">
                AND t1.equipment_name LIKE CONCAT(CONCAT('%',#{mdcEquipment.equipmentName}),'%')
            </if>
            <if test="mdcEquipment.equipmentModel != null and mdcEquipment.equipmentModel != '' ">
                AND t1.equipment_name = #{mdcEquipment.equipmentModel}
            </if>
            <if test="mdcEquipment.equipmentType != null and mdcEquipment.equipmentType != '' ">
                AND t1.equipmentType = #{mdcEquipment.equipmentType}
            </if>
            <if test="mdcEquipment.driveType != null and mdcEquipment.driveType != '' ">
                AND t1.drive_type = #{mdcEquipment.driveType}
            </if>
            <if test="mdcEquipment.productionName != null and mdcEquipment.productionName != '' ">
                AND t3.production_name LIKE CONCAT(CONCAT('%',#{mdcEquipment.productionName}),'%')
            </if>
        </where>
        order by t1.sort_no
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml
@@ -139,5 +139,27 @@
            start_time
    </select>
    <!--查询报警号报警详细信息-->
    <select id="selectAlarmList" resultType="org.jeecg.modules.mdc.dto.MdcAlarmListDto">
        SELECT
            t1.equipment_id,
            t2.equipment_name,
            t1.start_time,
            t1.end_time,
            t1.duration
        FROM
            mdc_equipment_running_section t1 LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
        <where>
            AND t1.status = '22'
            AND t1.alarm = #{ vo.alarmCode }
            <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 ">
                AND t1.equipment_id IN
                <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
                    #{ id }
                </foreach>
            </if>
        </where>
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRunningSectionService.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.mdc.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.dto.MdcAlarmListDto;
import org.jeecg.modules.mdc.dto.MdcEquipmentRunningSectionDto;
import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection;
import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo;
@@ -82,4 +83,6 @@
     * æŸ¥è¯¢æ—¶é—´æ®µå†…运行数据
     */
    List<MdcEquipmentRunningSection> selectRunningData(String equipmentId, Date startDate, Date endDate);
    List<MdcAlarmListDto> selectAlarmList(MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, String startDate, String endDate);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java
@@ -12,6 +12,7 @@
import org.jeecg.modules.mdc.vo.MdcEquipmentVo;
import org.jeecg.modules.mdc.vo.WorkshopEquipmentVo;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@@ -170,4 +171,9 @@
    IPage<MdcEquipment> getEquipmentByWorkshopId(Page<MdcEquipment> page, WorkshopEquipmentVo workshopEquipmentVo);
    List<String> listEquipmentId(String equipmentType, List<String> equipmentIdList);
    /**
     * åˆ—表查询
     */
    IPage<MdcEquipment> pageList(Page<MdcEquipment> page, MdcEquipmentVo mdcEquipment, HttpServletRequest req);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEquipmentAlarmAnalyzeService.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.mdc.service;
import org.jeecg.modules.mdc.dto.MdcAlarmAnalyzeDto;
import org.jeecg.modules.mdc.dto.MdcAlarmListDto;
import org.jeecg.modules.mdc.dto.MdcAlarmTrendDto;
import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo;
@@ -28,4 +29,13 @@
     * @return
     */
    MdcAlarmTrendDto alarmTrend(String userId, MdcAlarmAnalyzeQueryVo vo);
    /**
     * äºŒçº§åˆ—表
     *
     * @param userId
     * @param vo
     * @return
     */
    List<MdcAlarmListDto> equipmentAlarmList(String userId, MdcAlarmAnalyzeQueryVo vo);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDriveTypeParamConfigServiceImpl.java
@@ -27,7 +27,7 @@
     */
    @Override
    public List<MdcDriveTypeParamConfig> getShowDriveParam(String driveType) {
        return lambdaQuery().eq(MdcDriveTypeParamConfig::getControlSystemType, driveType).eq(MdcDriveTypeParamConfig::getShowFlag, CommonConstant.YN_Y).list();
        return lambdaQuery().eq(MdcDriveTypeParamConfig::getControlSystemType, driveType).eq(MdcDriveTypeParamConfig::getShowFlag, CommonConstant.YN_Y).orderByAsc(MdcDriveTypeParamConfig::getSortNo).list();
    }
    /**
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentAlarmAnalyzeServiceImpl.java
@@ -3,6 +3,7 @@
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.mdc.dto.MdcAlarmAnalyzeDto;
import org.jeecg.modules.mdc.dto.MdcAlarmDto;
import org.jeecg.modules.mdc.dto.MdcAlarmListDto;
import org.jeecg.modules.mdc.dto.MdcAlarmTrendDto;
import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection;
import org.jeecg.modules.mdc.service.IMdcEquipmentRunningSectionService;
@@ -120,6 +121,8 @@
            List<MdcAlarmDto> equipmentCountList = new ArrayList<>();
            String startDate = DateUtils.format(DateUtils.toDate(vo.getStartDate(), DateUtils.STRDATE), DateUtils.STR_DATE) + " 00:00:00";
            String endDate = DateUtils.format(DateUtils.addDays(DateUtils.toDate(vo.getEndDate(), DateUtils.STRDATE), 1), DateUtils.STR_DATE) + " 00:00:00";
            /*List<MdcAlarmListDto> alarmList = mdcEquipmentRunningSectionService.selectAlarmList(vo, startDate, endDate);
            result.setAlarmList(alarmList);*/
            for (String equipmentId : result.getEquipmentList()) {
                MdcAlarmDto mdcAlarmDto = new MdcAlarmDto();
                mdcAlarmDto.setKey(equipmentId);
@@ -150,4 +153,39 @@
        result.setDateCountList(dateCountList);
        return result;
    }
    @Override
    public List<MdcAlarmListDto> equipmentAlarmList(String userId, MdcAlarmAnalyzeQueryVo vo) {
        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);
        }
        if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
            return null;
        }
        String startDate = DateUtils.format(DateUtils.toDate(vo.getStartDate(), DateUtils.STRDATE), DateUtils.STR_DATE) + " 00:00:00";
        String endDate = DateUtils.format(DateUtils.addDays(DateUtils.toDate(vo.getEndDate(), DateUtils.STRDATE), 1), DateUtils.STR_DATE) + " 00:00:00";
        return mdcEquipmentRunningSectionService.selectAlarmList(vo, startDate, endDate);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
@@ -5,6 +5,7 @@
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.modules.mdc.dto.EquipmentMachingDto;
import org.jeecg.modules.mdc.dto.MdcAlarmListDto;
import org.jeecg.modules.mdc.dto.MdcEquipmentRunningSectionDto;
import org.jeecg.modules.mdc.entity.*;
import org.jeecg.modules.mdc.mapper.MdcEquipmentRunningSectionMapper;
@@ -73,7 +74,7 @@
            for (MdcEquipmentRunningSection entity : running) {
                dto = new MdcEquipmentRunningSectionDto();
                BeanUtils.copyProperties(entity, dto);
                if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber()) && isTableExist) {
                if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber()) && isTableExist && !"ZUOLAN".equals(equip.getDrivetype())) {
                    List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipmentSequencenumber(tableName, entity.getStartTime(), entity.getEndTime());
                    if (esList != null && esList.size() > 1) {
                        dto.setSequenceNumber(esList.get(0).getSequencenumber());
@@ -691,6 +692,11 @@
        return this.baseMapper.selectRunningData(equipmentId, startDate, endDate);
    }
    @Override
    public List<MdcAlarmListDto> selectAlarmList(MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, String startDate, String endDate) {
        return this.baseMapper.selectAlarmList(mdcAlarmAnalyzeQueryVo, startDate, endDate);
    }
    private Map<String, List<MdcEquipmentRunningSectionDto>> logCharts(MdcEquipmentRunningSectionVo equipmentRunningSectionVo, String date) {
        Map<String, List<MdcEquipmentRunningSectionDto>> map = new HashMap<>();
        List<MdcEquipmentRunningSectionDto> normal = new ArrayList<>();
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -35,6 +35,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
@@ -685,4 +686,9 @@
        return list.stream().map(MdcEquipment::getEquipmentId).collect(Collectors.toList());
    }
    @Override
    public IPage<MdcEquipment> pageList(Page<MdcEquipment> page, MdcEquipmentVo mdcEquipment, HttpServletRequest req) {
        return this.baseMapper.pageList(page, mdcEquipment);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java
@@ -52,6 +52,7 @@
    @Transactional(rollbackFor = {Exception.class})
    public void runningProcessCount() {
        // èŽ·å–æ‰€æœ‰è®¾å¤‡
        //List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, "2240074"));
        List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list();
        List<MdcProcessCount> result = new ArrayList<>();
        for (MdcEquipment mdcEquipment : mdcEquipmentList) {
@@ -138,7 +139,7 @@
        }
        // èŽ·å–è®¾å¤‡ç­æ¬¡ä¿¡æ¯
        Map<String, List<MdcDeviceCalendarVo>> listMap = this.mdcDeviceCalendarMap(mdcEquipment.getEquipmentId(), stringDates);
        if (listMap.isEmpty()) {
        if (listMap == null || listMap.isEmpty()) {
            listMap = new HashMap<>();
        }
        List<MdcProcessCount> resultList = new ArrayList<>();
@@ -194,27 +195,32 @@
                                    mdcProcessCount.setStartTime(startDate);
                                }
                                if ("FANUC".equals(mdcEquipment.getDriveType())) {
                                    // æ³•兰克设备根据ProductCount字段判断
                                    String productCount = mdcEquipmentDtoList.get(0).get("ProductCount").toString();
                                    for (int i = 0; i < mdcEquipmentDtoList.size(); i++) {
                                        if (!productCount.equals(mdcEquipmentDtoList.get(i).get("ProductCount").toString())) {
                                            productCount = mdcEquipmentDtoList.get(i).get("ProductCount").toString();
                                            if (mdcEquipmentDtoList.get(i - 1).get("CollectTime") != null) {
                                                mdcProcessCount.setEndTime(DateUtils.toDate(mdcEquipmentDtoList.get(i - 1).get("CollectTime").toString(), DateUtils.STR_DATE_TIME));
                                                mdcProcessCount.setDuration(TimeFieldUtils.duration(mdcProcessCount.getStartTime(), mdcProcessCount.getEndTime()));
                                                mdcProcessCount.setSequenceNumber(mdcEquipmentDtoList.get(i - 1).get("Sequencenumber").toString());
                                                resultList.add(mdcProcessCount);
                                                if (TimeFieldUtils.duration(mdcProcessCount.getEndTime(), mdcEquipmentRunningSection.getEndTime()) > 60) {
                                                    //mdcProcessCount.setStartTime(mdcProcessCount.getEndTime());
                                                    startDate = mdcProcessCount.getEndTime();
                                                } else if (j + 1 < equipmentRunningSectionList.size()) {
                                                    //mdcProcessCount.setStartTime(equipmentRunningSectionList.get(j + 1).getStartTime());
                                                    startDate = equipmentRunningSectionList.get(j + 1).getStartTime();
                                                } else {
                                                    startDate = null;
                                    try {
                                        // æ³•兰克设备根据ProductCount字段判断
                                        String productCount = mdcEquipmentDtoList.get(0).get("ProductCount").toString();
                                        for (int i = 0; i < mdcEquipmentDtoList.size(); i++) {
                                            if (!productCount.equals(mdcEquipmentDtoList.get(i).get("ProductCount").toString())) {
                                                productCount = mdcEquipmentDtoList.get(i).get("ProductCount").toString();
                                                if (mdcEquipmentDtoList.get(i - 1).get("CollectTime") != null) {
                                                    mdcProcessCount.setEndTime(DateUtils.toDate(mdcEquipmentDtoList.get(i - 1).get("CollectTime").toString(), DateUtils.STR_DATE_TIME));
                                                    mdcProcessCount.setDuration(TimeFieldUtils.duration(mdcProcessCount.getStartTime(), mdcProcessCount.getEndTime()));
                                                    mdcProcessCount.setSequenceNumber(mdcEquipmentDtoList.get(i - 1).get("Sequencenumber").toString());
                                                    resultList.add(mdcProcessCount);
                                                    if (TimeFieldUtils.duration(mdcProcessCount.getEndTime(), mdcEquipmentRunningSection.getEndTime()) > 60) {
                                                        //mdcProcessCount.setStartTime(mdcProcessCount.getEndTime());
                                                        startDate = mdcProcessCount.getEndTime();
                                                    } else if (j + 1 < equipmentRunningSectionList.size()) {
                                                        //mdcProcessCount.setStartTime(equipmentRunningSectionList.get(j + 1).getStartTime());
                                                        startDate = equipmentRunningSectionList.get(j + 1).getStartTime();
                                                    } else {
                                                        startDate = null;
                                                    }
                                                }
                                            }
                                        }
                                    } catch (Exception e) {
                                        log.error("计算加工工件算法失败!设备编号:" + mdcEquipment.getEquipmentId(), e);
                                        //System.out.println("计算加工工件算法失败!设备编号:" + mdcEquipment.getEquipmentId());
                                    }
                                }
                            }
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentVo.java
@@ -12,4 +12,8 @@
    private String productionId;
    private String equipmentId;
    private String equipmentName;
    private String equipmentModel;
    private String equipmentType;
    private String driveType;
    private String productionName;
}
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -15,6 +15,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.aspect.annotation.PermissionData;
@@ -354,7 +355,7 @@
    /**
     * ä¿®æ”¹å¯†ç 
     */
    //@RequiresRoles({"admin"})
    @RequiresRoles({"admin"})
    @RequestMapping(value = "/changePassword", method = RequestMethod.PUT)
    public Result<?> changePassword(@RequestBody SysUser sysUser) {
        SysUser u = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, sysUser.getUsername()));
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -110,6 +110,8 @@
        sysUser.setSalt(salt);
        //设置密码更新时间
        sysUser.setPasswordTime(new Date());
        //管理员修改密码,设置用户首次登录
        //sysUser.setPasswordFlag();
        String password = sysUser.getPassword();
        String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt);
        sysUser.setPassword(passwordEncode);