package org.springblade.mdm.program.service; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BizServiceImpl; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.mdm.basesetting.machine.MachineService; import org.springblade.mdm.basesetting.machine.entity.Machine; import org.springblade.mdm.program.entity.NcNode; import org.springblade.mdm.program.mapper.NcNodeMapper; import org.springblade.mdm.program.vo.NcNodeQueryVO; import org.springblade.mdm.program.vo.NcNodeVO; import org.springblade.system.feign.ISysClient; import org.springblade.system.pojo.entity.Dept; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; /** * 程序节点机构查询服务 * * @author yangys */ @Slf4j @Service @AllArgsConstructor public class NodeDeptQueryService{ private final MachineService machineService; private final ISysClient sysClient; /** *车间类型字典key */ private static final String WORKSHOP_DICT_KEY = "workShopDictKey"; /** * 车间类型默认值 */ private static final int DEF_WORKSHOP_DICT_VALUE = 4; @Transactional(readOnly = true) public String getWorkshopNameByMachineCode(String machineCode){ String workshopName = ""; try { Machine machine = machineService.getByCode(machineCode); if (machine != null) { int workShopDictValue = DEF_WORKSHOP_DICT_VALUE; R paramR = sysClient.getParamValue(WORKSHOP_DICT_KEY); if (paramR.isSuccess()) { workShopDictValue = Func.toInt(paramR.getData()); } R deptObj = sysClient.getDept(machine.getOwnerDept()); while (deptObj.isSuccess() && deptObj.getData().getDeptCategory() != workShopDictValue) { deptObj = sysClient.getDept(deptObj.getData().getParentId()); } if (deptObj.isSuccess()) { workshopName = deptObj.getData().getDeptName(); } } }catch (Exception e){ log.error("获取车间名称错误",e); } return workshopName; } }