yangys
2024-05-08 dc40d10f7d8227d8b8216584ed19e4d41c57f0cd
smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/MachineServiceImpl.java
@@ -1,19 +1,8 @@
package com.qianwen.smartman.modules.cps.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.write.merge.AbstractMergeStrategy;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import java.lang.invoke.SerializedLambda;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -25,10 +14,31 @@
import java.util.UUID;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import com.alibaba.excel.write.merge.AbstractMergeStrategy;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.qianwen.core.cache.utils.CacheUtil;
import com.qianwen.core.excel.util.ExcelUtil;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.base.BaseServiceImpl;
import com.qianwen.core.mp.support.Condition;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.oss.model.BladeFile;
import com.qianwen.core.secure.utils.AuthUtil;
import com.qianwen.core.tool.utils.DateUtil;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.common.cache.DictCache;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.cache.cps.WorkstationCache;
import com.qianwen.smartman.common.cache.cps.WorkstationOfMachineCache;
import com.qianwen.smartman.common.constant.CommonConstant;
@@ -42,16 +52,6 @@
import com.qianwen.smartman.common.enums.WcsDataTypeEnums;
import com.qianwen.smartman.common.utils.ListUtils;
import com.qianwen.smartman.common.utils.MessageUtils;
import com.qianwen.core.cache.utils.CacheUtil;
import com.qianwen.core.excel.util.ExcelUtil;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.base.BaseServiceImpl;
import com.qianwen.core.mp.support.Condition;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.oss.model.BladeFile;
import com.qianwen.core.secure.utils.AuthUtil;
import com.qianwen.core.tool.utils.DateUtil;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.modules.cps.convert.MachineConvert;
import com.qianwen.smartman.modules.cps.convert.WorkstationWcsConvert;
import com.qianwen.smartman.modules.cps.dto.DeviceMaintainInDTO;
@@ -98,14 +98,10 @@
import com.qianwen.smartman.modules.tpm.enums.MetaTypeEnum;
import com.qianwen.smartman.modules.tpm.enums.RepairRecordEnum;
import com.qianwen.smartman.modules.tpm.service.IMaintainPlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import cn.hutool.core.util.StrUtil;
@Service
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/MachineServiceImpl.class */
public class MachineServiceImpl extends BaseServiceImpl<MachineMapper, Machine> implements IMachineService {
    private static final Logger log = LoggerFactory.getLogger(MachineServiceImpl.class);
    private static final Pattern NUMBER = Pattern.compile("[1-9]\\d*.\\d*|0\\.\\d*[1-9]\\d*");
@@ -135,7 +131,7 @@
    private IEmployeeService employeeService;
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public MachineVO insert(MachineVO machineVO) {
        checkMachine(machineVO.id, machineVO.getMachineCode());
@@ -148,7 +144,7 @@
        return MachineConvert.INSTANCE.convert(machine);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public Boolean changeCollectSwitch(Long workstationId, Integer collectSwitch) {
        ((MachineMapper) this.baseMapper).changeCollectSwitch(workstationId, collectSwitch, AuthUtil.getTenantId());
        if (0 == collectSwitch.intValue()) {
@@ -160,7 +156,7 @@
        return true;
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public List<WorkstationWcsDTO> getWorkstationWcsByMachineId(Long machineId, String paramName) {
       List<WorkstationOfMachine> workstationOfMachineList = this.workstationOfMachineService.list(Wrappers.<WorkstationOfMachine>lambdaQuery().eq(WorkstationOfMachine::getMachineId, machineId));
       
@@ -171,7 +167,7 @@
        return WorkstationWcsConvert.INSTANCE.convertToDTOList(workstationWcsList);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public Boolean updateBrand(Long id, String brand) {
        Machine machine = (Machine) getById(id);
        machine.setBrand(brand);
@@ -183,7 +179,7 @@
        return Boolean.valueOf(updateById);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public MachineDetailVO detailMachine(Long id) {
        MachineDetailVO machineDetailVO = ((MachineMapper) this.baseMapper).selectMachineDetail(id);
        if (Func.isNotEmpty(machineDetailVO)) {
@@ -216,7 +212,7 @@
        return machineDetailVO;
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Machine createMachine(MachineSubmitVO machineSubmitVO) {
        String pinCode = machineSubmitVO.getPinCode();
@@ -282,14 +278,14 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public IPage<MachineListVO> pageMachine(MachineSelectVO machineSelectVO, Query query) {
        String machineName = machineSelectVO.getMachineName();
        String machineCode = machineSelectVO.getMachineCode();
        Long machineTypeId = machineSelectVO.getMachineTypeId();
        Long groupId = machineSelectVO.getGroupId();
        Integer status = machineSelectVO.getStatus();
        IPage<MachineListVO> page = ((MachineMapper) this.baseMapper).pageMachine(Condition.getPage(query), machineName, machineCode, machineTypeId, groupId, CommonGroupConstant.ALL_MACHINE_ID, status == null ? CommonConstant.ENABLE : status);
        IPage<MachineListVO> page = this.baseMapper.pageMachine(Condition.getPage(query), machineName, machineCode, machineTypeId, groupId, CommonGroupConstant.ALL_MACHINE_ID, status == null ? CommonConstant.ENABLE : status);
        List<MachineListVO> records = page.getRecords();
        List<MachineListVO> collect = records.stream().peek(c -> {
            c.setMachineUseStatusName(DictCache.getValue(DictEnum.MACHINE_USE_STATUS.getName(), c.getMachineUseStatus()));
@@ -298,7 +294,7 @@
        return page;
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean updateMachine(MachineUpdateVO vo) {
        Long id = vo.getId();
@@ -340,7 +336,7 @@
        return Boolean.valueOf(updateById);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void renewMachineRepairStatus(Long machineId, Integer maintenanceStatus) {
       Machine machine = (Machine)getOne(new QueryWrapper<Machine>().lambda().eq(Machine::getId, machineId));
     
@@ -350,7 +346,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void updateMachineRepairPriority(Long deviceId, List<RepairRecord> toBeConfirmedRecordList, List<RepairApply> inMaintenanceApplyList, List<RepairApply> toBeRepairedApplyList) {
        if (Func.isNotEmpty(toBeConfirmedRecordList)) {
            renewMachineRepairStatus(deviceId, Integer.valueOf(DeviceRepairStatusEnum.TO_BE_CONFIRM.getType()));
@@ -363,7 +359,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void renewMachineRepairTime(Long deviceId) {
        Machine machine = (Machine) getById(deviceId);
        if (machine != null) {
@@ -372,7 +368,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void createRepairApplyUpdateMachine(Long deviceId, Integer maintenanceStatus) {
        Machine machine = (Machine) getById(deviceId);
        if (machine != null) {
@@ -385,7 +381,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void implementRepairApply(Long deviceId, Integer maintenanceStatus) {
        Machine machine = (Machine) getById(deviceId);
        if (Func.isNull(machine.getRepairStatus())) {
@@ -396,10 +392,10 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void updateDeviceMaintainStatus(Long deviceId, Integer status, Long planId, LocalDateTime nextMaintainTime) {
        List<MaintainPlan> checkList = checkExistPlanStatus(deviceId, null);
        List<MaintainPlan> checkTimeList = (List) checkList.stream().sorted(Comparator.comparing((v0) -> {
        List<MaintainPlan> checkTimeList = checkList.stream().sorted(Comparator.comparing((v0) -> {
            return v0.getMaintainDate();
        })).collect(Collectors.toList());
        DeviceMaintainInDTO deviceMaintainInDTO = new DeviceMaintainInDTO();
@@ -417,7 +413,7 @@
        updateDeviceMaintain(deviceMaintainInDTO);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void updateDeviceMaintain(DeviceMaintainInDTO deviceMaintainInDTO) {
        Machine one = (Machine) getById(deviceMaintainInDTO.getDeviceId());
        if (one == null) {
@@ -429,10 +425,10 @@
        updateById(one);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public void updateDeviceMaintainStatus(Long deviceId, Long planId, LocalDateTime lastMaintainTime) {
        List<MaintainPlan> checkList = checkExistPlanStatus(deviceId, null);
        List<MaintainPlan> checkTimeList = (List) checkList.stream().sorted(Comparator.comparing((v0) -> {
        List<MaintainPlan> checkTimeList =  checkList.stream().sorted(Comparator.comparing((v0) -> {
            return v0.getMaintainDate();
        })).collect(Collectors.toList());
        DeviceMaintainInDTO deviceMaintainInDTO = new DeviceMaintainInDTO();
@@ -453,20 +449,20 @@
        updateDeviceMaintain(deviceMaintainInDTO);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public List<DeviceSimpleDTO> deviceListByDeviceTypeId(Long deviceTypeId) {
        return ((MachineMapper) this.baseMapper).deviceListByDeviceTypeId(deviceTypeId);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public List<DeviceSimpleDTO> deviceListByDeviceIdList(List<Long> deviceIdList) {
        return ((MachineMapper) this.baseMapper).deviceListByDeviceIdList(deviceIdList);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public BladeFile exportMachine(MachineSelectVO vo) {
        List<MachineDetailVO> vos = ((MachineMapper) this.baseMapper).listMachineDetail(vo.getMachineName(), vo.getMachineCode(), vo.getMachineTypeId(), vo.getGroupId(), CommonGroupConstant.ALL_MACHINE_ID, vo.getStatus());
        List<MachineDetailVO> list = (List) vos.stream().peek(c -> {
        List<MachineDetailVO> list = vos.stream().peek(c -> {
            c.setMachineLifeStatusName(DictCache.getValue(DictEnum.MACHINE_LIFE_STATUS.getName(), c.getMachineLifeStatus()));
            c.setManagementClassName(DictCache.getValue(DictEnum.MACHINE_MANAGEMENT_CLASS, c.getManagementClass()));
            c.setMachineUseStatusName(DictCache.getValue(DictEnum.MACHINE_USE_STATUS.getName(), c.getMachineUseStatus()));
@@ -477,7 +473,7 @@
        return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public BladeFile importMachine(MultipartFile file) {
        List<MachineImport> rawData = ExcelUtil.read(file, 0, 2, MachineImport.class);
@@ -679,7 +675,7 @@
        });
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean delete(IdsVO vo, Integer type) {
        if (StatusType.REMOVE.getType().equals(type)) {
@@ -697,7 +693,7 @@
        return Boolean.valueOf(changeStatus(Func.toLongList(vo.getIds()), CommonConstant.DEACTIVATE));
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public List<HmiDeviceVO> getHmiWorkstation(String machineId) {
        List<HmiDeviceVO> hmiDeviceVOList = new ArrayList<>();
        Machine machine = (Machine) getById(machineId);
@@ -729,12 +725,12 @@
        return hmiDeviceVOList;
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public List<MachineExtDTO> getMachineByWorkStation(List<Long> workstationIds) {
        return ((MachineMapper) this.baseMapper).getMachineByWorkStation(workstationIds);
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public String queryDateTypeState(Long workstationId) {
        return ((MachineMapper) this.baseMapper).queryDateTypeState(WcsDataTypeEnums.WcsDataType.STATE.getCode(), workstationId);
    }
@@ -919,7 +915,7 @@
        return false;
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public MachineDetailVO detailByCode(String machineCode) {
        MachineDetailVO machineDetailVO = ((MachineMapper) this.baseMapper).selectMachineDetailByCode(machineCode);
        if (Func.isNotEmpty(machineDetailVO)) {
@@ -943,7 +939,7 @@
        return machineDetailVO;
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public IPage<MachineListVO> pageMachineByParam(MachineSelectVO machineSelectVO, Query query) {
        IPage<MachineListVO> page = ((MachineMapper) this.baseMapper).pageMachineByParam(Condition.getPage(query), machineSelectVO);
        List<MachineListVO> records = page.getRecords();
@@ -954,12 +950,12 @@
        return page;
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public List<MachineVO> listNoBand() {
        return ((MachineMapper) this.baseMapper).listNoBand();
    }
    @Override // org.springblade.modules.cps.service.IMachineService
    @Override
    public List<MachineVO> listHaveBand() {
        return ((MachineMapper) this.baseMapper).listHaveBand();
    }