| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询节点的历史列表(节点的上级节点”程序包名“因为存在多个版本,所以历史记录也需要根据不同版本程序包名进行查询) |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Transactional(readOnly = true) |
| | | public List<NcNodeVO> historyByNodeId(Long id) { |
| | | NcNode node = this.getById(id); |
| | | NcNode parentNode = this.getById(node.getParentId()); |
| | | return this.baseMapper.historyByParentIdAndName(node.getName(),parentNode); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取“程序包名”试切的最新版本 |
| | |
| | | } |
| | | } |
| | | |
| | | public int calculateVersionNumber(NcNode pkgNode) { |
| | | NcNode node = this.lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE).eq(NcNode::getDrawingNo,pkgNode.getDrawingNo()) |
| | | .eq(NcNode::getProcessNo,pkgNode.getProcessNo()).eq(NcNode::getProcessEdition,pkgNode.getProcessEdition()) |
| | | .eq(NcNode::getMachineGroupCode,pkgNode.getMachineGroupCode()).last("limit 1").one(); |
| | | |
| | | if(node != null && node.getVersionNumber()!=null){ |
| | | return node.getVersionNumber()+1; |
| | | }else{ |
| | | //以往没有,生成一个新的 |
| | | return 1; |
| | | } |
| | | } |
| | | /** |
| | | * 生成程序包名/程序名称 |
| | | * @param drawingNo 零组件号 |
| | |
| | | */ |
| | | public NcNode getLastCuredProgramWithoutProcessEdition(String drawingNo, String processNo, String machineCode) { |
| | | Machine machine = machineService.getByCode(machineCode); |
| | | List<Machine> sameGroupMachines = machineService.lambdaQuery().eq(Machine::getMachineGroupCode,machine.getMachineGroupCode()).list(); |
| | | List<String> machineCodesInGroup = sameGroupMachines.stream().map(Machine::getCode).toList(); |
| | | //List<Machine> sameGroupMachines = machineService.lambdaQuery().eq(Machine::getMachineGroupCode,machine.getMachineGroupCode()).list(); |
| | | //List<String> machineCodesInGroup = sameGroupMachines.stream().map(Machine::getCode).toList(); |
| | | List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE) |
| | | .eq(NcNode::getDrawingNo, drawingNo).eq(NcNode::getProcessNo, processNo) |
| | | .likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1) |
| | | .in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup) |
| | | .eq(NcNode::getMachineGroupCode,machine.getMachineGroupCode()) |
| | | //.in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup) |
| | | .eq(NcNode::getIsLastEdition,1).orderByDesc(NcNode::getCreateTime).list(); |
| | | |
| | | if(nodes.isEmpty()){ |
| | |
| | | * 根据上级节点id,移动下面的加工机床节点 |
| | | * @param parentId 上级节点id |
| | | */ |
| | | public void deleteMachineNodeByParentId(Long parentId) { |
| | | baseMapper.deleteMachineNodeByParentId(parentId); |
| | | } |
| | | /* |
| | | public void deleteMachineGroupNodeByParentId(Long parentId) { |
| | | baseMapper.deleteMachineGroupNodeByParentId(parentId); |
| | | }*/ |
| | | |
| | | /** |
| | | * 删除所偶非最新版本的数据(hodeHIs里面已经保存过) |
| | |
| | | public void deleteOldEditionNodeData() { |
| | | baseMapper.deleteOldEditionNodeData(); |
| | | } |
| | | |
| | | /** |
| | | * //更新已固化的,同名、不同机床组的程序为锁定状态 |
| | | * @param packageNode |
| | | */ |
| | | public void lockSameNameOtherMachineGroupProgramPackage(NcNode packageNode) { |
| | | lambdaUpdate().eq(NcNode::getDrawingNo,packageNode.getDrawingNo()) |
| | | .eq(NcNode::getProcessNo,packageNode.getProcessNo()) |
| | | .eq(NcNode::getName,packageNode.getName()) |
| | | .ne(NcNode::getMachineGroupCode,packageNode.getMachineGroupCode()) |
| | | .eq(NcNode::getIsCured,1) |
| | | .eq(NcNode::getIsLastEdition,1) |
| | | .set(NcNode::getIsLocked,NcNode.LOCKED) |
| | | .set(NcNode::getRemark,"回传固化同名程序锁定") |
| | | .update(); |
| | | } |
| | | } |