| | |
| | | /** |
| | | * BladeX Commercial License Agreement |
| | | * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. |
| | | * <p> |
| | | * Use of this software is governed by the Commercial License Agreement |
| | | * obtained after purchasing a license from BladeX. |
| | | * <p> |
| | | * 1. This software is for development use only under a valid license |
| | | * from BladeX. |
| | | * <p> |
| | | * 2. Redistribution of this software's source code to any third party |
| | | * without a commercial license is strictly prohibited. |
| | | * <p> |
| | | * 3. Licensees may copyright their own code but cannot use segments |
| | | * from this software for such purposes. Copyright of this software |
| | | * remains with BladeX. |
| | | * <p> |
| | | * Using this software signifies agreement to this License, and the software |
| | | * must not be used for illegal purposes. |
| | | * <p> |
| | | * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is |
| | | * not liable for any claims arising from secondary or illegal development. |
| | | * <p> |
| | | * Author: Chill Zhuang (bladejava@qq.com) |
| | | */ |
| | | |
| | | package org.springblade.mdm.program.service; |
| | | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.flowable.engine.*; |
| | | import org.springblade.core.tool.utils.FileUtil; |
| | | import org.springblade.mdm.program.vo.DncSendBackData; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.mdm.flow.service.CureFlowService; |
| | | import org.springblade.mdm.program.entity.NcNode; |
| | | import org.springblade.mdm.program.entity.NcProgramExchange; |
| | | import org.springblade.mdm.program.mapper.NcProgramExchangeMapper; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Service |
| | | @AllArgsConstructor |
| | | public class DncSendBackService { |
| | | |
| | | private static final String XML_NAME = "xml"; |
| | | private static final Integer INT_1024 = 1024; |
| | | |
| | | private final ObjectMapper objectMapper; |
| | | private final RepositoryService repositoryService; |
| | | private final RuntimeService runtimeService; |
| | | private final HistoryService historyService; |
| | | private final TaskService taskService; |
| | | private final ProcessEngine processEngine; |
| | | private final NcNodeService ncNodeService; |
| | | private final NcProgramService ncProgramService; |
| | | private final CureFlowService cureFlowService; |
| | | private final NcProgramExchangeMapper ncProgramExchangeMapper; |
| | | |
| | | |
| | | public List<DncSendBackData> dncSendBackUpload(MultipartFile file) { |
| | | List<DncSendBackData> list = new ArrayList<>(); |
| | | try { |
| | | String fileName = file.getOriginalFilename(); |
| | | InputStream fileInputStream = file.getInputStream(); |
| | | byte[] bytes = FileUtil.copyToByteArray(fileInputStream); |
| | | //TODO 解析为列表文件 |
| | | |
| | | DncSendBackData dt = new DncSendBackData(); |
| | | dt.setId(1L); |
| | | dt.setProgramName("test.nc"); |
| | | dt.setProgramNo("001"); |
| | | |
| | | list.add(dt); |
| | | |
| | | } catch (IOException e) { |
| | | log.error("上传dnc文件失败",e); |
| | | |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * 入库回传文件 |
| | | * 入库回传文件,并启动固化流程 |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | public void dncFileAccept(String ids) { |
| | | List<Long> idList = Func.toLongList(ids); |
| | | NcProgramExchange exchange; |
| | | //NcProgram program; |
| | | NcNode programNode; |
| | | |
| | | for (Long id : idList) { |
| | | exchange = ncProgramExchangeMapper.selectById(id); |
| | | exchange.setStatus(2);//已入库状态 |
| | | programNode = ncNodeService.getLastProgramNode(exchange.getName()); |
| | | |
| | | //如果是已经固化的则不需要启动流程 |
| | | //启动固化流程 |
| | | if(programNode.getIsCured() !=1) {//未固化的程序,启动固化流程 |
| | | cureFlowService.start(programNode.getId()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |