From ec1d61de19f0fe6c3efc781e5d7a6af2ed65ae5d Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期二, 10 六月 2025 10:51:49 +0800 Subject: [PATCH] DNC 文档导入、回传文档、解析文档、取消原有设备 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocRelativeController.java | 3 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/GuideCardBatchServiceImpl.java | 2 lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/IAssignFileStreamService.java | 8 - lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java | 17 +++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/DocInfoMapper.xml | 1 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java | 9 + lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/CutterServiceImpl.java | 13 ++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/controller/AssignFileStreamController.java | 10 -- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupServiceImpl.java | 23 +--- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java | 123 +++++++++++++++++++----- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java | 8 - lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/impl/AssignFileStreamServiceImpl.java | 81 +-------------- 12 files changed, 151 insertions(+), 147 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocRelativeController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocRelativeController.java index 8b77545..177f4b2 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocRelativeController.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocRelativeController.java @@ -5,7 +5,6 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.modules.dnc.entity.DeviceInfo; import org.jeecg.modules.dnc.entity.DocRelative; import org.jeecg.modules.dnc.response.CommonCode; import org.jeecg.modules.dnc.response.QueryListResponseResult; @@ -30,7 +29,7 @@ @ApiOperation(value = "璁惧鍏宠仈鏂囨。琛�-鍒犻櫎璁惧涓嬬殑鏂囨。鎺ュ彛", notes = "璁惧鍏宠仈鏂囨。琛�-鍒犻櫎璁惧涓嬬殑鏂囨。鎺ュ彛") @DeleteMapping("/delete/device/{docId}/{deviceId}") public ResponseResult deleteDocByDeviceId(@PathVariable("docId") String docId, @PathVariable("deviceId") String deviceId) { - boolean b = relativeService.deleteDocByAttr(docId, 4, deviceId); + boolean b = relativeService.deleteDocByAttr(docId, 7, deviceId); if(b) return new ResponseResult(CommonCode.SUCCESS); return new ResponseResult(CommonCode.FAIL); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/DocInfoMapper.xml b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/DocInfoMapper.xml index 751da89..f725e8d 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/DocInfoMapper.xml +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/DocInfoMapper.xml @@ -66,6 +66,7 @@ ,u.doc_status ,u.publish_file_id ,u.publish_version + ,u.doc_dispatch_status ,u.description ,u.CREATE_TIME ,u.create_by diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java index 6696d49..01cd044 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java @@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.FileNotFoundException; import java.util.List; public interface IDocInfoService extends IService<DocInfo> { @@ -47,6 +48,22 @@ */ boolean addDocInfoRec(String pathFile,File fileRec); + /** + * 瑙f瀽NC鏂囨。閫氱敤鏂规硶 + * @param pathFile,fileRec + * @return + */ + boolean addDocInfoAnalysisNcService(String pathFile,File fileRec) throws FileNotFoundException; + + /** + * 鏂囨。瑙f瀽 + * @param equipmentId + * @param fileRec + * @param fileNameSuffix + * @param fileNameNew + * @param filePath + * @return + */ boolean addDocInfoRecService(String equipmentId,File fileRec,String fileNameSuffix,String fileNameNew,String filePath ); /** * 鍏ュ簱鎿嶄綔 鏂囨。瀵瑰簲鏂囦欢鍗囩増 diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/CutterServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/CutterServiceImpl.java index 07d23d7..2d1c271 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/CutterServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/CutterServiceImpl.java @@ -182,7 +182,18 @@ List<Cutter> cutterList = extractToolAfterM6(docInfo,list); // 淇濆瓨鍒�鍏� if (!cutterList.isEmpty()) { - this.saveBatch(cutterList); + List<Cutter> newCutterList = new ArrayList<>(); + //楠岃瘉鍒�鍏锋槸鍚﹀凡缁忓瓨鍦� + cutterList.forEach(item -> { + List<Cutter> otherCuttersWithSameNo = checkCutterNo(item); + if (otherCuttersWithSameNo == null || otherCuttersWithSameNo.isEmpty()) { + newCutterList.add(item); + } + }); + if (newCutterList.isEmpty()) { + return Result.error("鏈彂鐜板垁鍏风殑鍙傛暟淇℃伅娉ㄩ噴锛屾棤娉曟彁鍙栧垁鍏蜂俊鎭�"); + } + this.saveBatch(newCutterList); //TODO鍙戦�佸垁鍏风鐞嗘暟鎹� return Result.OK("鎻愬彇鍒�鍏蜂俊鎭垚鍔�"); }else { diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupServiceImpl.java index 539911d..b6cf3d5 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupServiceImpl.java @@ -1,27 +1,21 @@ package org.jeecg.modules.dnc.service.impl; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.shiro.SecurityUtils; -import org.jeecg.common.system.vo.LoginUser; +import org.apache.commons.lang3.StringUtils; import org.jeecg.modules.dnc.dto.DeviceGroupExt; - +import org.jeecg.modules.dnc.entity.DeviceGroup; +import org.jeecg.modules.dnc.entity.DeviceGroupPermission; +import org.jeecg.modules.dnc.entity.DevicePermissionStream; import org.jeecg.modules.dnc.exception.ExceptionCast; import org.jeecg.modules.dnc.mapper.DeviceGroupMapper; import org.jeecg.modules.dnc.response.CommonCode; import org.jeecg.modules.dnc.response.DeviceGroupCode; -import org.jeecg.modules.dnc.response.UcenterCode; - -import org.jeecg.modules.dnc.service.*; -import org.jeecg.modules.dnc.ucenter.Department; +import org.jeecg.modules.dnc.service.IDeviceGroupPermissionService; +import org.jeecg.modules.dnc.service.IDeviceGroupService; +import org.jeecg.modules.dnc.service.IDevicePermissionStreamService; import org.jeecg.modules.dnc.utils.ValidateUtil; -import org.jeecg.modules.dnc.entity.*; import org.jeecg.modules.system.entity.SysUser; -import org.jeecg.modules.dnc.utils.file.FileUtilS; -import org.apache.commons.lang3.StringUtils; - import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -36,9 +30,6 @@ private IDeviceGroupPermissionService groupPermissionService; @Autowired private IDevicePermissionStreamService devicePermissionStreamService; - @Autowired - @Lazy - private IDeviceInfoService deviceInfoService; // 鏌ヨ鎵�浠ョ埗鑺傜偣 diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java index d6de4b9..f31c8d0 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java @@ -16,6 +16,8 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.dnc.entity.*; import org.jeecg.modules.dnc.exception.ExceptionCast; +import org.jeecg.modules.dnc.ext.NcTxtFilePathInfo; +import org.jeecg.modules.dnc.listener.FileMonitorConfig; import org.jeecg.modules.dnc.mapper.DocInfoMapper; import org.jeecg.modules.dnc.request.DocInfoQueryRequest; import org.jeecg.modules.dnc.request.DocInfoUploadRequest; @@ -27,7 +29,9 @@ import org.jeecg.modules.dncFlow.entity.DispatchFile; import org.jeecg.modules.dncFlow.service.IDispatchFileService; import org.jeecg.modules.mdc.entity.MdcEquipment; +import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.system.entity.SysParams; +import org.jeecg.modules.system.service.IMdcProductionService; import org.jeecg.modules.system.service.ISysParamsService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -39,13 +43,22 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Scanner; import java.util.stream.Collectors; @Service public class DocInfoServiceImpl extends ServiceImpl<DocInfoMapper, DocInfo> implements IDocInfoService { + @Autowired + private FileMonitorConfig config; + @Autowired + private IMdcEquipmentService iMdcEquipmentService; + @Autowired + private IMdcProductionService iMdcProductionService; @Autowired private IDocClassificationService docClassificationService; @Autowired @@ -55,11 +68,6 @@ @Autowired @Lazy private IDocRelativeService docRelativeService; - @Autowired - @Lazy - private IDeviceInfoService deviceInfoService; - @Autowired - private IDeviceGroupService deviceGroupService; @Autowired private IDispatchFileService dispatchFileService; @Autowired @@ -134,28 +142,28 @@ docInfo.setPublishVersion(docFile.getDocVersion()); docInfo.setPublishFileId(docFile.getFileId()); //COPY - DeviceInfo deviceInfo= deviceInfoService.getById(uploadRequest.getAttributionId()); - if (deviceInfo != null) { - List<String> strings = deviceGroupService.findListParentTreeAll(deviceInfo.getGroupId()); + MdcEquipment mdcEquipment= iMdcEquipmentService.getById(uploadRequest.getAttributionId()); + if (mdcEquipment != null) { + List<String> strings = iMdcProductionService.findListParentTreeAll(mdcEquipment.getId()); boolean copyFileNc = false; if (strings != null && !strings.isEmpty()) { String path = org.apache.commons.lang3.StringUtils.join(strings.toArray(), "/"); copyFileNc = FileUtilS.copyFile(fileUploadResult.getFilePath()+"/" + fileUploadResult.getFileEncodeName(), - path+ "/" + deviceInfo.getDeviceNo() ,fileNameAll); + path+ "/" + mdcEquipment.getEquipmentId() ,fileNameAll); if (!copyFileNc) { ExceptionCast.cast(ActivitiCode.ACT_FILE_ERROR); } else { - FileUtilS.deleteZipFromToSend(path + "/"+ deviceInfo.getDeviceNo(), + FileUtilS.deleteZipFromToSend(path + "/"+ mdcEquipment.getEquipmentId(), docFile.getFileName(),docFile.getFileSuffix()); } } else { copyFileNc =FileUtilS.copyFile(fileUploadResult.getFilePath()+"/" + fileUploadResult.getFileEncodeName(), - deviceInfo.getDeviceNo() ,fileNameAll); + mdcEquipment.getEquipmentId() ,fileNameAll); if (!copyFileNc) { ExceptionCast.cast(ActivitiCode.ACT_FILE_ERROR); } else { - FileUtilS.deleteZipFromToSend(fileUploadResult.getFilePath()+"/" + fileUploadResult.getFileEncodeName() + "/"+ deviceInfo.getDeviceNo(), + FileUtilS.deleteZipFromToSend(fileUploadResult.getFilePath()+"/" + fileUploadResult.getFileEncodeName() + "/"+ mdcEquipment.getEquipmentId(), docFile.getFileName(),docFile.getFileSuffix()); } @@ -212,8 +220,8 @@ if (StringUtils.isEmpty(deviceNo)) { return false; } - DeviceInfo deviceInfo = deviceInfoService.getByDeviceNo(deviceNo); - if (deviceInfo == null) { + MdcEquipment mdcEquipment = iMdcEquipmentService.findEquipmentNameByEquipmentId(deviceNo); + if (mdcEquipment == null) { return false; } String fileName = FileUtilS.getFilenameNonSuffix(file.getOriginalFilename()); @@ -222,7 +230,7 @@ if(fileUploadResult == null) { return false; } - DocInfo en = findByAttrAndDocName(fileName, 4, deviceInfo.getDeviceId()); + DocInfo en = findByAttrAndDocName(fileName, 7, mdcEquipment.getId()); if(en != null) { return false; } @@ -235,9 +243,9 @@ docInfo.setDocStatus(1); docInfo.setSyncStatus(2); DocRelative docRelative = new DocRelative(); - docRelative.setAttributionId(deviceInfo.getDeviceId()); + docRelative.setAttributionId(mdcEquipment.getId()); docRelative.setDocId(docInfo.getDocId()); - docRelative.setAttributionType(4); + docRelative.setAttributionType(7); docRelative.setClassificationId(docClass.getClassificationId()); boolean b = docRelativeService.save(docRelative); if(!b) { @@ -260,6 +268,72 @@ return saveBool; } + /** + * 瑙f瀽NC鏂囨。閫氱敤鏂规硶 + * @param pathFile,fileRec + * @return + */ + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean addDocInfoAnalysisNcService(String pathFile,File file) throws FileNotFoundException { + String line; + int count = 0; + String loFilePath = config.getPaths().get(0)+"/" + file.getName(); + FileInputStream fis = new FileInputStream(loFilePath); + NcTxtFilePathInfo result = new NcTxtFilePathInfo(); + Scanner sc = new Scanner(fis, "UTF-8"); + while (count < 8 && sc.hasNext()) { + line = sc.nextLine(); + if (count ==0) { + result.setFileTxtName(line.trim()); + } else if (count ==1) { + result.setFileNcName(line.trim()); + }else if (count ==2) { + result.setOrigFileName(line.trim()); + }else if (count ==3) { + result.setOrigFileSuffix(line.trim()); + }else if (count ==4) { + result.setFilePath(line.trim()); + }else if (count ==5) { + result.setEquipmentId(line.trim()); + }else if (count ==6) { + result.setFileAddOrDelete(Integer.valueOf(line.trim())); + }else if (count == 7) { + result.setFileSize(line.trim()); + } + count++; + } + sc.close(); + if (result.getFileAddOrDelete() != null ) { + if ( result.getFileAddOrDelete()==1) { + String path = config.getPaths().get(0) +"/" + result.getFileNcName()+ ".NC"; + if (org.apache.commons.lang3.StringUtils.isNotBlank(result.getFileNcName()) && + result.getFileNcName().equals("null")) { + //鏂囦欢寰呭鐞� + //澶囦唤鏁版嵁 + FileUtilS.deleteFileNewRec(loFilePath); + } + File ncFile = new File(path); + //宸茬粡瀛樺湪鏂囦欢闇�瑕佸浠� + String size = String.valueOf(ncFile.length()); + if (!size.equals(result.getFileSize())) { + return false; + } + boolean bool = this.addDocInfoRecService(result.getEquipmentId(), + ncFile,result.getOrigFileSuffix(), + FileUtilS.getFilenameNonSuffix(result.getOrigFileName()) + ,result.getFilePath()); + if (bool) { + FileUtilS.deleteFileNewRec(path); + FileUtilS.deleteFileNewRec(loFilePath); + }else { + return false; + } + } + } + return true; + } + @Override @Transactional(rollbackFor = {Exception.class}) public boolean addDocInfoRecService(String equipmentId,File fileRec,String fileNameSuffix,String fileNameNew,String filePath ) { @@ -272,12 +346,11 @@ ExceptionCast.cast(DocumentCode.DOC_CLASS_ERROR); } //鏍规嵁璁惧缂栧彿鏌ヨ鏁版嵁 - String deviceNo = equipmentId; - if (StringUtils.isEmpty(deviceNo)) { + if (StringUtils.isEmpty(equipmentId)) { return false; } - DeviceInfo deviceInfo = deviceInfoService.getByDeviceNo(deviceNo); - if (deviceInfo == null) { + MdcEquipment mdcEquipment = iMdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId); + if (mdcEquipment == null) { return false; } String fileName = FileUtilS.getFilenameNonSuffix(file.getOriginalFilename()); @@ -286,7 +359,7 @@ if(fileUploadResult == null) { return false; } - DocInfo en = findByAttrAndDocName(fileName, 4, deviceInfo.getDeviceId()); + DocInfo en = findByAttrAndDocName(fileName, 7, mdcEquipment.getId()); if(en != null) { return false; } @@ -299,9 +372,9 @@ docInfo.setDocStatus(1); docInfo.setSyncStatus(2); DocRelative docRelative = new DocRelative(); - docRelative.setAttributionId(deviceInfo.getDeviceId()); + docRelative.setAttributionId(mdcEquipment.getId()); docRelative.setDocId(docInfo.getDocId()); - docRelative.setAttributionType(4); + docRelative.setAttributionType(7); docRelative.setClassificationId(docClass.getClassificationId()); boolean b = docRelativeService.save(docRelative); if(!b) { @@ -678,7 +751,7 @@ public boolean deleteByDeviceId(String deviceId) { if(!ValidateUtil.validateString(deviceId)) ExceptionCast.cast(CommonCode.INVALID_PARAM); - Integer attrType = 4; + Integer attrType = 7; /*boolean b = docFileService.deleteByDocAttr(attrType, deviceId); if(!b) ExceptionCast.cast(CommonCode.FAIL); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java index 0661d61..768e547 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java @@ -11,8 +11,6 @@ import org.jeecg.modules.dnc.mapper.DocInfoMapper; import org.jeecg.modules.dnc.mapper.DocRelativeMapper; import org.jeecg.modules.dnc.response.CommonCode; -import org.jeecg.modules.dnc.service.IDeviceGroupService; -import org.jeecg.modules.dnc.service.IDeviceInfoService; import org.jeecg.modules.dnc.service.IDocRelativeService; import org.jeecg.modules.dnc.utils.ValidateUtil; import org.jeecg.modules.dnc.utils.date.DateUtil; @@ -31,12 +29,6 @@ @Autowired private DocInfoMapper docInfoMapper; - @Autowired - private IDeviceInfoService deviceInfoService; - @Autowired - private IDeviceGroupService deviceGroupService; -// @Value("${securedoc.localFilePath}") -// private String localFilePath; @Autowired private IMdcEquipmentService iMdcEquipmentService; @Autowired diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/GuideCardBatchServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/GuideCardBatchServiceImpl.java index 1061927..183133e 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/GuideCardBatchServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/GuideCardBatchServiceImpl.java @@ -83,7 +83,7 @@ } // 鎷兼帴瀹屾暣缂栧彿 - return yearSuffix + code + user.getUsername() + serialSuffix; + return yearSuffix+"-"+ code+"-"+ user.getUsername()+"-"+ serialSuffix; } /** diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java index f033e30..82587b2 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java @@ -19,6 +19,8 @@ import org.jeecg.modules.dnc.response.*; import org.jeecg.modules.dnc.service.*; import org.jeecg.modules.dnc.utils.ValidateUtil; +import org.jeecg.modules.mdc.entity.MdcEquipment; +import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; import org.springframework.beans.factory.annotation.Autowired; @@ -39,8 +41,7 @@ @Autowired private IProcessSpecVersionService processSpecVersionService; @Autowired - @Lazy - private IDeviceInfoService deviceInfoService; + private IMdcEquipmentService mdcEquipmentService; @Autowired private IPermissionStreamNewService permissionStreamNewService; @Autowired @@ -259,8 +260,8 @@ public List<ProcessStream> validateDeviceProcessInfo(String pnCode, String deviceNo) { if(!ValidateUtil.validateString(pnCode) || !ValidateUtil.validateString(deviceNo)) ExceptionCast.cast(CommonCode.INVALID_PARAM); - DeviceInfo deviceInfo = deviceInfoService.getByDeviceNo(deviceNo); - if(deviceInfo == null) + MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(deviceNo); + if(mdcEquipment == null) ExceptionCast.cast(DeviceCode.DEVICE_NOT_EXIST); PermissionStream stream = componentInfoService.validateComponentOrPartsPnCode(pnCode); if(stream == null) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/controller/AssignFileStreamController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/controller/AssignFileStreamController.java index 5b8d49b..26ae973 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/controller/AssignFileStreamController.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/controller/AssignFileStreamController.java @@ -88,16 +88,6 @@ return new DataResponseResult<>(CommonCode.SUCCESS, b); } - @AutoLog(value = "DNC鎸囨淳璁惧娴佺▼鎿嶄綔-鎵爜浼犺緭绋嬪簭 涓嶇粡杩囧鎵� 鏂囦欢瀛樺湪閲囩敤瑕嗙洊") - @ApiOperation(value = "DNC鎸囨淳璁惧娴佺▼鎿嶄綔-鎵爜浼犺緭绋嬪簭 涓嶇粡杩囧鎵� 鏂囦欢瀛樺湪閲囩敤瑕嗙洊", notes = "DNC鎸囨淳璁惧娴佺▼鎿嶄綔-鎵爜浼犺緭绋嬪簭 涓嶇粡杩囧鎵� 鏂囦欢瀛樺湪閲囩敤瑕嗙洊") - @PostMapping("/transfer/doc") - public ResponseResult transferDocFile(String pnCode, String deviceNo) { - boolean b = assignFileStreamService.transferDocFile(pnCode, deviceNo); - if(b) - return new ResponseResult(CommonCode.SUCCESS); - return new ResponseResult(CommonCode.FAIL); - } - @GetMapping(value = "/selectVoById") public Result<AssignFileStream> selectVoById(@RequestParam(name="id") String id){ return Result.OK(assignFileStreamService.getAssignFileStreamDetail(id)); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/IAssignFileStreamService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/IAssignFileStreamService.java index 28cb20d..dc0ef87 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/IAssignFileStreamService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/IAssignFileStreamService.java @@ -84,12 +84,4 @@ * @return */ Boolean getFlowableEnable(); - - /** - * 鎵爜浼犺緭绋嬪簭 涓嶇粡杩囧鎵� 鏂囦欢瀛樺湪閲囩敤瑕嗙洊 - * @param pnCode - * @param deviceNo - * @return - */ - boolean transferDocFile(String pnCode, String deviceNo); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/impl/AssignFileStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/impl/AssignFileStreamServiceImpl.java index a287e73..70ab35e 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/impl/AssignFileStreamServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dncFlow/service/impl/AssignFileStreamServiceImpl.java @@ -25,7 +25,6 @@ import org.jeecg.modules.dnc.utils.date.DateUtil; import org.jeecg.modules.dnc.utils.file.FileUtilS; import org.jeecg.modules.dncFlow.entity.AssignFileStream; -import org.jeecg.modules.dncFlow.entity.ToEquipmentTask; import org.jeecg.modules.dncFlow.ext.AssignFileStreamExt; import org.jeecg.modules.dncFlow.mapper.AssignFileStreamMapper; import org.jeecg.modules.dncFlow.request.ApproveBatchRequest; @@ -33,7 +32,6 @@ import org.jeecg.modules.dncFlow.request.AssignFileStreamQueryRequest; import org.jeecg.modules.dncFlow.request.TaskRequest; import org.jeecg.modules.dncFlow.service.IAssignFileStreamService; -import org.jeecg.modules.dncFlow.service.IToEquipmentTaskService; import org.jeecg.modules.dncFlow.vo.AssignFlowTaskVo; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; @@ -73,13 +71,7 @@ @Autowired private IDocInfoService docInfoService; @Autowired - private IProcessStreamService processStreamService; - @Autowired private IDocClassificationService classificationService; - @Autowired - private IToEquipmentTaskService equipmentTaskService; - @Autowired - private IDeviceInfoService deviceInfoService; @Autowired private IDocFileService docFileService; @Autowired @@ -107,11 +99,9 @@ @Autowired private IDncPassLogService dncPassLogService; @Value("${deploy.deployType}") - //宸ユ帶缃�/娑夊瘑缃戦儴缃� 0涓哄伐鎺х綉 1涓烘秹瀵嗙綉 - private String deployType; + private String deployType; //宸ユ帶缃�/娑夊瘑缃戦儴缃� 0涓哄伐鎺х綉 1涓烘秹瀵嗙綉 @Value("${deploy.secretFolder}") - //娑夊瘑缃戜紶杈搉c鏂囦欢澶� - private String secretFolder; + private String secretFolder; //娑夊瘑缃戜紶杈搉c鏂囦欢澶� @Override @Transactional(rollbackFor = {Exception.class}) @@ -138,7 +128,6 @@ */ public String getDeviceSpecialChar(String deviceId, String fileId){ //鏇挎崲涓簃dc璁惧琛� -// DeviceInfo deviceInfo = deviceInfoService.getById(deviceId); MdcEquipment mdcEquipment = iMdcEquipmentService.getById(deviceId); if(mdcEquipment == null) ExceptionCast.cast(ActivitiCode.ACT_ASSIGN_DEVICE_NONE); @@ -232,6 +221,9 @@ //鏉冮檺鏍¢獙 validateParams(stream); DocInfo docInfo = getDocInfo(stream); + //淇敼鍘熸湁鐘舵�� + docInfo.setDocDispatchStatus(4); + docInfoService.updateById(docInfo); MdcEquipment mdcEquipment = getMdcEquipment(stream); DocFile docFile = getDocFile(stream); DocInfo deviceDoc = docInfoService.getByDocAttrAndDocId(stream.getDocId(), 7, stream.getDeviceId()); @@ -344,6 +336,9 @@ DocFile docFile = docFileService.getById(en.getFileId()); if(docFile == null) ExceptionCast.cast(ActivitiCode.ACT_FILE_ERROR); + //淇敼鍘熸湁鐘舵�� + docInfo.setDocDispatchStatus(4); + docInfoService.updateById(docInfo); DocInfo deviceDoc = docInfoService.getByDocAttrAndDocId(en.getDocId(),7, en.getDeviceId()); if(deviceDoc != null) { // 鍒犻櫎 澶囦唤 瑕嗙洊 鍘熸湁鐨� @@ -487,64 +482,6 @@ return false; } - @Override - @Transactional(rollbackFor = {Exception.class}) - public boolean transferDocFile(String pnCode, String deviceNo) { - List<ProcessStream> streams = processStreamService.validateDeviceProcessInfo(pnCode, deviceNo); - DeviceInfo deviceInfo = deviceInfoService.getByDeviceNo(deviceNo); - if(deviceInfo == null) - ExceptionCast.cast(DeviceCode.DEVICE_NOT_EXIST); - //鍒犻櫎鍘熸潵璁惧涓嬬殑鎵�鏈夋枃妗� - docRelativeService.deleteByDocAttr(7, deviceInfo.getDeviceId()); - List<DocInfo> docInfoList = docInfoService.getByProcessIds(streams); - if(docInfoList == null || docInfoList.isEmpty()) - ExceptionCast.cast(DocumentCode.DOC_NOT_EXIST); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = user.getId(); - if(!ValidateUtil.validateString(userId)) - ExceptionCast.cast(UcenterCode.UCENTER_ACCOUNT_NOT_EXIST); - for(DocInfo docInfo : docInfoList) { - DocFile docFile = docFileService.getById(docInfo.getPublishFileId()); - if(docFile == null) - ExceptionCast.cast(ActivitiCode.ACT_FILE_ERROR); - //鎻掑叆鏂囨。鍒拌澶囧彂閫佹枃妗� - DocClassification classification = classificationService.getByCode(SEND_CODE); - if(classification == null) - ExceptionCast.cast(DocumentCode.DOC_CLASS_ERROR); - DocRelative docRelative = new DocRelative(); - docRelative.setDocId(docInfo.getDocId()); - docRelative.setClassificationId(classification.getClassificationId()); - docRelative.setAttributionType(7); - docRelative.setAttributionId(deviceInfo.getDeviceId()); - boolean b = docRelativeService.save(docRelative); - if(!b) - ExceptionCast.cast(ActivitiCode.ACT_APPROVE_ERROR); - //鎻掑叆鏂囦欢浼犺緭浠诲姟琛� - ToEquipmentTask equipmentTask = new ToEquipmentTask(); - //涓嶈兘鐩存帴浠巇oc涓嬁fileId 鍜寁ersion 鍙兘浼氬瓨鍦ㄦ枌鏇� - //equipmentTask.setFileId(docInfo.getPublishFileId()); - //equipmentTask.setDocVersion(docInfo.getPublishVersion()); - equipmentTask.setDocId(docInfo.getDocId()); - equipmentTask.setSyncFlag(1); - equipmentTask.setDeviceNo(deviceInfo.getDeviceNo()); - equipmentTask.setDeviceId(deviceInfo.getDeviceId()); - equipmentTask.setDepartId(deviceInfo.getDepartId()); - //鏂囦欢鐩稿叧淇℃伅 - equipmentTask.setFileId(docFile.getFileId()); - equipmentTask.setDocVersion(docFile.getDocVersion()); - equipmentTask.setFileName(docInfo.getDocName()); - equipmentTask.setFileEncodeName(docFile.getFileEncodeName()); - equipmentTask.setFilePath(docFile.getFilePath()); - equipmentTask.setFileSuffix(docFile.getFileSuffix()); - equipmentTask.setFileSize(docFile.getFileSize()); - b = equipmentTaskService.save(equipmentTask); - if(!b) { - ExceptionCast.cast(ActivitiCode.ACT_APPROVE_ERROR); - } - } - return synchronizedFlagService.updateFlag(1); - } - //浼犲弬楠岃瘉 private void validateParams(AssignFileStream stream) { if (stream == null) { @@ -575,7 +512,7 @@ //鑾峰彇鏂囦欢 private void handleExistingDeviceDoc(DocFile docFile, MdcEquipment mdcEquipment, String deviceId) { - List<String> strings = iMdcProductionService.findListParentTreeAll(mdcEquipment.getEquipmentId()); + List<String> strings = iMdcProductionService.findListParentTreeAll(mdcEquipment.getId()); if (strings != null && !strings.isEmpty()) { String path = StringUtils.join(strings.toArray(), "/"); boolean copyFileNc = FileUtilS.copyFileNcToBak(path + "/" + mdcEquipment.getEquipmentId(), -- Gitblit v1.9.3