From 083df8d788c95c009a94378e620684eb5de2bd21 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 13 九月 2025 13:08:09 +0800
Subject: [PATCH] 注释问题修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/controller/RemindController.java | 2
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AbstractProcessor.java | 9
blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java | 3
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 2
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java | 3
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java | 29 --
blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailProperties.java | 14 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java | 22 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java | 36 +++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java | 78 +++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/ProcessorHelper.java | 4
blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java | 36 +++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileExcelVO.java | 4
blade-service/blade-mdm/pom.xml | 30 +++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProperties.java | 9
blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java | 32 +-
blade-service/blade-mdm/src/test/java/org/springblade/mdm/program/service/programannotation/AnnotationUtilTest.java | 15
/dev/null | 19 -
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java | 2
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java | 18 +
blade-service/blade-mdm/src/test/java/org/springblade/mdm/commons/service/InternalEmailServiceTest.java | 14 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/contants/ParamConstants.java | 13 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java | 3
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProcessor.java | 36 ---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/InternalEmailNotifyTask.java | 127 ++++++++++++
25 files changed, 426 insertions(+), 134 deletions(-)
diff --git a/blade-service/blade-mdm/pom.xml b/blade-service/blade-mdm/pom.xml
index 0d51ae1..d9edd29 100644
--- a/blade-service/blade-mdm/pom.xml
+++ b/blade-service/blade-mdm/pom.xml
@@ -108,6 +108,36 @@
<version>4.0.28</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>4.1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http</artifactId>
+ <version>4.1.3</version>
+ </dependency>
+
+
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-xjc</artifactId>
+ <version>4.0.5</version>
+ </dependency>
+ <!-- <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-core</artifactId>
+ <version>2.3.0.1</version>
+ </dependency>
+
+
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>4.0.5</version>
+ <scope>runtime</scope>
+ </dependency>-->
</dependencies>
<build>
<plugins>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/contants/ParamConstants.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/contants/ParamConstants.java
index ce6296b..a79a42d 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/contants/ParamConstants.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/contants/ParamConstants.java
@@ -33,4 +33,17 @@
* 閲嶅娲惧伐澶╂暟楠岃瘉闂撮殧澶╂暟
*/
public static String TASK_EXPIRE_DAYS = "taskExpireDays";
+ /**
+ * 閭欢閫氱煡寮�鍚爣蹇楋細1锛氬紑鍚紱0锛氬叧闂�
+ */
+ public static String EMAIL_NOTIFY_FLAG = "emailNotifyFlag";
+
+ /**
+ * 閭欢鎻愰啋鏍囧織 锛氬紑
+ */
+ public static String EMAIL_NOTIFY_FLAG_ON = "1";
+ /**
+ * 閭欢鎻愰啋鏍囧織 锛氬叧
+ */
+ public static String EMAIL_NOTIFY_FLAG_OFF = "1";
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/controller/RemindController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/controller/RemindController.java
index dc9e8b1..7368ac1 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/controller/RemindController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/controller/RemindController.java
@@ -44,7 +44,7 @@
public class RemindController {
@Autowired
- NcProgramApprovedService ncProgramApprovedService;
+ private NcProgramApprovedService ncProgramApprovedService;
@Autowired
private FlowBusinessService businessService;
@Autowired
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/EmailService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/EmailService.java
deleted file mode 100644
index cd781f3..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/EmailService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.springblade.mdm.commons.service;
-
-import jakarta.mail.MessagingException;
-import jakarta.mail.internet.MimeMessage;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.FileSystemResource;
-import org.springframework.mail.SimpleMailMessage;
-import org.springframework.mail.javamail.JavaMailSender;
-import org.springframework.mail.javamail.MimeMessageHelper;
-import org.springframework.stereotype.Service;
-
-import java.io.File;
-
-@Service
-@Slf4j
-public class EmailService {
-
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailProperties.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailProperties.java
new file mode 100644
index 0000000..521e2e2
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailProperties.java
@@ -0,0 +1,14 @@
+package org.springblade.mdm.commons.service;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConfigurationProperties(prefix = "mail-remind")
+@Data
+public class InternalEmailProperties {
+
+ private String senderAccount;
+ private String mailServiceAddr;
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java
new file mode 100644
index 0000000..b20aaed
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java
@@ -0,0 +1,36 @@
+package org.springblade.mdm.commons.service;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
+@Service
+@Slf4j
+public class InternalEmailService {
+ @Autowired
+ private InternalEmailProperties internalEmailProperties;
+
+ public void send(String fromid,String toids, String ccids, String bccids, String subject, String content, String[] paths) {
+ try {
+
+ // 鍒涘缓鍔ㄦ�佸鎴风宸ュ巶
+ JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
+
+ // 鍒涘缓瀹㈡埛绔�
+ //Client client = dcf.createClient("http://localhost:8080/services/EmailService?wsdl");
+ Object[] result;
+ try (Client client = dcf.createClient(internalEmailProperties.getMailServiceAddr())) {
+ // 璋冪敤鏂规硶
+ result = client.invoke("sendInternalMail", fromid, toids, ccids, bccids, subject, content, null);
+
+ // 澶勭悊鍝嶅簲
+ if (result != null && result.length > 0) {
+ System.out.println("鍝嶅簲: " + result[0]);
+ }
+ }
+ }catch(Exception e) {
+ log.error("鍐呴儴閭欢鍙戦�佸け璐�",e);
+ }
+ }
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java
index 4ba8b22..4bf3e0c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java
@@ -20,9 +20,6 @@
public class ParamService{
public static String NETWORK_TYPE= "networkType";
-
-
-
/**
* 瀹℃壒鐢ㄦ埛瑙掕壊鍒悕鍙傛暟key锛岄�楀彿鍒嗛殧
*/
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java
index c382b9f..818bd98 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java
@@ -22,6 +22,9 @@
import org.springblade.mdm.program.service.NcNodeService;
import org.springblade.mdm.program.service.NcProgramApprovedService;
import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.program.service.programannotation.AnnotationProperties;
+import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
+import org.springblade.mdm.program.service.programannotation.MachineAnnotationConfig;
import org.springblade.mdm.utils.EntityUtil;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.pojo.entity.DictBiz;
@@ -45,9 +48,8 @@
@Component("normalCureFinishDataHandler")
public class NormalCureFinishDataHandler implements FinishDataHandler {
@Autowired
- private NcProgramApprovedService approvedService;
- @Autowired
- private ApproveRecordService approveRecordService;
+ private MachineAnnotationConfig config;
+
@Autowired
private FlowProgramFileService flowProgramFileService;
@Autowired
@@ -209,8 +211,13 @@
byte[] bytes = IOUtils.toByteArray(ins);
ByteArrayInputStream byteInputStream = new ByteArrayInputStream(bytes);
- InputStream finishedStream = programAnnotationService.setGHAnnotation(byteInputStream,controlSystem,annoDicts);
-
+ //InputStream finishedStream = programAnnotationService.setGHAnnotation(byteInputStream,controlSystem,annoDicts);
+ List<DictBiz> annoDictList = programAnnotationService.getAnnotionDictList();
+ AnnotationProperties annoProps = config.getConfigMap().get(controlSystem);
+ if(annoProps == null){
+ annoProps = AnnotationProperties.getDefault();
+ }
+ InputStream finishedStream =AnnotationUtil.setAnnotationAndGetInputStream(byteInputStream, "GH", annoProps.getStatusLineIndex(), controlSystem, annoDictList);
try(finishedStream) {
finishedStream.reset();
BladeFile bfile = ossTemplate.putFile(flowProgramFile.getName(), finishedStream);
@@ -222,6 +229,7 @@
}
}
+
/**
* 璁$畻鏈夋晥鏈�
* @return
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
index 860ab08..580473d 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
@@ -36,7 +36,7 @@
/**
* 娴佺▼涓氬姟瀹炵幇绫�
*
- * @author Chill
+ * @author yangys
*/
@Service
@AllArgsConstructor
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
index 38b5d53..a3a297f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
@@ -8,6 +8,7 @@
import org.springblade.mdm.commons.service.ParamService;
import org.springblade.mdm.machinefile.entity.MachineFile;
import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.system.pojo.entity.DictBiz;
import org.springframework.beans.factory.annotation.Autowired;
@@ -185,7 +186,7 @@
}
bis.reset();
String statusLine = FileContentUtil.readLineAt(ins,ProgramAnnotationService.STATUS_LINE_INDEX);
- if(programAnnotationService.isAnnotation(statusLine,controlSystem,annotatiionList)){
+ if(AnnotationUtil.isAnnotation(statusLine,controlSystem,annotatiionList)){
String progStatusTxt = programAnnotationService.removeAnnotation(controlSystem,statusLine,annotatiionList);
if(ProgramAnnotationService.SQ.equals(progStatusTxt)){
programStatus = MachineFile.PROGRAM_STATUS_TRY;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileExcelVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileExcelVO.java
index bf8aca7..6b5d7ea 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileExcelVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileExcelVO.java
@@ -6,17 +6,17 @@
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
+import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.springblade.mdm.commons.vo.BaseVO;
import java.util.Date;
+@EqualsAndHashCode(callSuper = true)
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
-@Setter
-@Getter
public class MachineBackFileExcelVO extends BaseVO {
@ExcelProperty("鏂囦欢鍚嶇О")
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
index e34f27a..01f6c61 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
@@ -26,10 +26,7 @@
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.entity.NcProgramExchange;
import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
-import org.springblade.mdm.program.service.programannotation.AnnotationProcessor;
-import org.springblade.mdm.program.service.programannotation.DefaultProcessor;
-import org.springblade.mdm.program.service.programannotation.FanucProcessor;
-import org.springblade.mdm.program.service.programannotation.MachineAnnotationConfig;
+import org.springblade.mdm.program.service.programannotation.*;
import org.springblade.mdm.program.vo.DncSendBackData;
import org.springblade.mdm.program.vo.DncSendBackFile;
import org.springblade.mdm.program.vo.ProgramAnnotation;
@@ -71,8 +68,6 @@
private final ParamService paramService;
private final MachineAnnotationConfig machineAnnotationConfig;
- private final FanucProcessor fanucProcessor;
- private final DefaultProcessor defaultProcessor;
/**
* 鍋忕鍗曟枃浠舵湯灏剧殑妯″紡锛歅+鏁板瓧
*/
@@ -161,36 +156,30 @@
InputStream ins = zipFile.getInputStream(entry);
ByteArrayInputStream bais = new ByteArrayInputStream(IOUtils.toByteArray(ins));;
progData.setFileBackTime(DateUtil.fromInstant(entry.getLastModifiedTime().toInstant()));
- //machineAnnotationConfig.getConfigMap().get(machine.getcon)
- Pattern fanucPattern = Pattern.compile("^[oO]\\d{4}");
- String testLine = FileContentUtil.readLineAt(bais,2);//TODO,fanuc杩欒鏄笅鍙戣矾寰勶紝鍏朵粬鏈哄櫒鏄姸鎬�
+
+ AnnotationProperties defAnnoProperties =AnnotationProperties.getDefault();
+ statusLine = FileContentUtil.readLineAt(bais,defAnnoProperties.getStatusLineIndex());//鐘舵�佹敞閲婅
bais.reset();
- //boolean isFanuc = fanucPattern.matcher(testLine).matches();
- boolean isFanuc = !StringUtils.containsAny(testLine,"(SQ)","(GH)","(PL)");
- if(isFanuc){
- statusLine = FileContentUtil.readLineAt(bais,3);//fanuc鐨勭姸鎬佽绗�4琛�
- }else{
- statusLine = testLine;
- }
if(statusLine.contains("SQ")){
//璇曞垏
- programPackageNode = ncNodeService.getLastEditionTryingProgramPackage(packageName);//,processEdition
+ programPackageNode = ncNodeService.getLastEditionTryingProgramPackage(packageName);//TODO 杩橀渶鏍规嵁鏈哄簥缁勶紙濡備綍鑾峰彇锛熸牴鎹笅鍙戣矾寰勮幏鍙栨満搴婏紝杩涜�岃幏鍙栵級锛�,processEdition
}else if(statusLine.contains("GH")){
- //鍥哄寲
+ //TODO 鍥哄寲锛屾牴鏈笉闇�瑕佸洖浼狅紝搴旇鎻愮ず鎶ラ敊銆傛垨鑰呬笉杩涘叆鍒楄〃锛屾垨鍒楄〃涓笉鍙�夊垯鍏ュ簱
programPackageNode = ncNodeService.getLastEditionCuredProgramPackage(packageName);
}else if(statusLine.contains("PL")){
//鍋忕
programPackageNode =ncNodeService.getLastEditionDeviationProgramPackage(packageName);
}else{
- //鏌ヨ鏄惁杞﹀簥锛屾槸杞﹀簥鍙互鏀捐繃锛屾寜璇曞垏澶勭悊
+ //鏌ヨ鏄惁杞﹀簥/鐜板満缂栧埗锛屾槸杞﹀簥鍙互鏀捐繃锛屾寜璇曞垏澶勭悊锛�
+ //TODO 鐜板満缂栧埗鐨勭▼搴忥紝鎵撳寘鏃跺繀椤诲湪鏂囦欢涓鍔犱笅鍙戣矾寰勶紙鍔犲叆鍚庯級
programPackageNode = ncNodeService.getLastEditionTryingProgramPackage(packageName);
if(programPackageNode!=null){
Machine machine = machineService.getByCode(programPackageNode.getMachineCode());
String chechuangVal = paramService.turninngValue();
if(StringUtils.equals(machine.getMachineSpec(),chechuangVal)){
//杞﹀簥
- ProgramAnnotation pa = programAnnotationService.getProgramAnnotationFormat(machine.getControlSystem(),annotionDictList);
+ ProgramAnnotation pa = AnnotationUtil.getProgramAnnotationFormat(machine.getControlSystem(),annotionDictList);
statusLine = pa.addAnnotation(ProgramAnnotationService.SQ);
}
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
index 3d715fd..fdb8d11 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
@@ -7,6 +7,7 @@
import org.jetbrains.annotations.NotNull;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
+import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
import org.springblade.mdm.program.vo.ProgramAnnotation;
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.system.feign.IDictBizClient;
@@ -74,6 +75,7 @@
* @param annotationList 娉ㄩ噴娉ㄩ噴瀛楀吀椤瑰垪琛�
* @return
*/
+ /*
public boolean isAnnotation(String line,String systemDictVal,List<DictBiz> annotationList){
ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
@@ -86,7 +88,7 @@
public String generateAnnotation(String oriTest,String systemDictVal,List<DictBiz> annotationList) {
ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
return progAnnotation.addAnnotation(oriTest);
- }
+ }*/
/**
* 鎻愬彇娉ㄩ噴涓殑鏂囨湰
@@ -94,13 +96,13 @@
* @param text 娓呴櫎娉ㄩ噴鏍囪
* @return 娓呴櫎鍚庣殑鏂囨湰
*/
+
public String removeAnnotation(String systemDictVal,String text){
List<DictBiz> annoDicts = getAnnotionDictList();
return removeAnnotation(systemDictVal,text,annoDicts);
}
-
public String removeAnnotation(String systemDictVal,String text,List<DictBiz> annotatiionList){
- ProgramAnnotation panno = this.getProgramAnnotationFormat(systemDictVal,annotatiionList);
+ ProgramAnnotation panno = AnnotationUtil.getProgramAnnotationFormat(systemDictVal,annotatiionList);
return panno.cleanAnnotation(text);
}
/**
@@ -111,9 +113,10 @@
* @return 鍔犲ソ娉ㄩ噴鐨�
* @throws IOException
*/
+ /*
public InputStream setGHAnnotation(InputStream inputStream, String systemDictVal,List<DictBiz> annoDictList) throws IOException {
return setAnnotationAndGetInputStream(inputStream, systemDictVal, annoDictList, GH, STATUS_LINE_INDEX);
- }
+ }*/
/**
* 璁剧疆鍋忕鍗曟敞閲�
@@ -123,10 +126,12 @@
* @return 鍔犲ソ娉ㄩ噴鐨勮緭鍏ユ祦
* @throws IOException 璁块棶娴佸彲鑳芥姏鍑哄紓甯�
*/
+ /*
public InputStream setPldAnnotation(String deviation,InputStream inputStream,String systemDictVal,List<DictBiz> annoDictList) throws IOException {
return setAnnotationAndGetInputStream(inputStream, systemDictVal, annoDictList, deviation, STATUS_DEVIATION_INDEX);
}
-
+ */
+ /*
@NotNull
private InputStream setAnnotationAndGetInputStream(InputStream inputStream, String systemDictVal, List<DictBiz> annoDictList, String text, int lineIndex) throws IOException {
InputStream finishedStream;
@@ -149,6 +154,7 @@
return finishedStream;
}
+ */
/**
* 涓鸿緭鍏ユ祦璁剧疆鍙戦�佺洰褰�(绗簩琛�)鍜岀姸鎬侊紙绗笁琛岋級
@@ -159,6 +165,7 @@
* @return 鍔犲ソ鍙戦�佽矾寰勫拰鐘舵�佹枃鏈殑杈撳叆娴�
* @throws IOException
*/
+ /*
public InputStream setSendDirAndStatusAnnotation(String sendPath,String statusText,InputStream inputStream, String systemDictVal) throws IOException {
List<DictBiz> annoDicts = getAnnotionDictList();
@@ -192,7 +199,7 @@
}
return finishedStream;
- }
+ }*/
/**
* 瑙f瀽鍑烘満搴婄▼搴忔敞閲婄殑鏍煎紡
@@ -200,6 +207,7 @@
* @param annoDictList 閰嶇疆鐨勬敞閲婂瓧鍏告暟鎹�
* @return
*/
+ /*
ProgramAnnotation getProgramAnnotationFormat(String systemDictVal,List<DictBiz> annoDictList){
String begin;
String end;
@@ -224,7 +232,7 @@
programAnnotation.setBegin(begin);
programAnnotation.setEnd(end);
return programAnnotation;
- }
+ }*/
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AbstractProcessor.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AbstractProcessor.java
index 63abded..7e6ca99 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AbstractProcessor.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AbstractProcessor.java
@@ -5,7 +5,6 @@
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.system.pojo.entity.DictBiz;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -29,7 +28,7 @@
ByteArrayInputStream byteInputStream = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
//1鍔犲叆鍙戦�佽矾寰勭殑娉ㄩ噴
- String sendPathAnnotation = generateAnnotation(annoData.getSendPath(),getControlSystem(),annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
+ String sendPathAnnotation = AnnotationUtil.generateAnnotation(annoData.getSendPath(),getControlSystem(),annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
String sendDirLine = FileContentUtil.readLineAt(byteInputStream,annotationProperties.getSendPathLineIndex());//绗�2琛屾槸鍙戦�佽矾寰�
byteInputStream.reset();
@@ -37,7 +36,7 @@
byteInputStream.reset();
InputStream insAfterSetSendDir ;
- if(isAnnotation(sendDirLine,getControlSystem(),annoDicts)){
+ if(AnnotationUtil.isAnnotation(sendDirLine,getControlSystem(),annoDicts)){
insAfterSetSendDir = FileContentUtil.replaceAtLine(byteInputStream,annotationProperties.getSendPathLineIndex(),sendPathAnnotation);
}else{
insAfterSetSendDir = FileContentUtil.insertLine(byteInputStream,annotationProperties.getSendPathLineIndex(),sendPathAnnotation);
@@ -45,8 +44,8 @@
insAfterSetSendDir.reset();
//鍔犲叆鐘舵�佹敞閲婅
- String statusAnnotation = generateAnnotation(annoData.getProgramStatus(),getControlSystem(),annoDicts);//娉ㄩ噴鍚庣殑鐘舵�佹枃鏈�
- if(isAnnotation(statusLine,getControlSystem(),annoDicts)){
+ String statusAnnotation = AnnotationUtil.generateAnnotation(annoData.getProgramStatus(),getControlSystem(),annoDicts);//娉ㄩ噴鍚庣殑鐘舵�佹枃鏈�
+ if(AnnotationUtil.isAnnotation(statusLine,getControlSystem(),annoDicts)){
finishedStream = FileContentUtil.replaceAtLine(insAfterSetSendDir,annotationProperties.getStatusLineIndex(),statusAnnotation);
}else{
finishedStream = FileContentUtil.insertLine(insAfterSetSendDir,annotationProperties.getStatusLineIndex(),statusAnnotation);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProcessor.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProcessor.java
index 9042c89..2d5bf01 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProcessor.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProcessor.java
@@ -12,44 +12,8 @@
import java.util.Optional;
public interface AnnotationProcessor {
- static final String DEFAULT_ANNOTATION_SETTING = "(,)";
- default String generateAnnotation(String oriTest, String systemDictVal, List<DictBiz> annotationList) {
- ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
- return progAnnotation.addAnnotation(oriTest);
- }
- default boolean isAnnotation(String line,String systemDictVal,List<DictBiz> annotationList){
- ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
- line = StringUtils.trim(line);//鍘婚灏剧┖鏍�
- return progAnnotation.isAnnotation(line);
- }
-
- default ProgramAnnotation getProgramAnnotationFormat(String systemDictVal,List<DictBiz> annoDictList){
- String begin;
- String end;
-
- Optional<DictBiz> dictOpt = annoDictList.stream().filter(dict -> {return dict.getDictKey().equals(systemDictVal);}).findFirst();
- String annotationSetting = DEFAULT_ANNOTATION_SETTING;
- if(dictOpt.isPresent()) {
- annotationSetting = dictOpt.get().getRemark();
- }
- String[] arr = StringUtils.split(annotationSetting,",");
- if(arr.length == 2){
- begin = arr[0];
- end = arr[1];
- }else if(arr.length == 1){
- begin = arr[0];
- end = "";
- }else{
- throw new ServiceException("娉ㄩ噴鏍煎紡閰嶇疆閿欒锛屽簲璇ヤ负1鍒�2娈碉紝涓棿鐢ㄩ�楀彿鍒嗛殧");
- }
-
- ProgramAnnotation programAnnotation = new ProgramAnnotation();
- programAnnotation.setBegin(begin);
- programAnnotation.setEnd(end);
- return programAnnotation;
- }
void setControlSystem(String controlSystemDictVal);
void setAnnotationProperties(AnnotationProperties annotationProperties);
String getControlSystem();
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProperties.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProperties.java
index b162d0d..f576b20 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProperties.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationProperties.java
@@ -5,8 +5,17 @@
@Data
public class AnnotationProperties {
private String beanId;
+ private int programNameLineIndex;
private int sendPathLineIndex;
private int statusLineIndex;
private int deviationLineIndex;
+ public static AnnotationProperties getDefault(){
+ AnnotationProperties def = new AnnotationProperties();
+ def.setProgramNameLineIndex(1);
+ def.setSendPathLineIndex(2);
+ def.setStatusLineIndex(3);
+ def.setDeviationLineIndex(4);
+ return def;
+ }
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java
new file mode 100644
index 0000000..3dd859a
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java
@@ -0,0 +1,78 @@
+package org.springblade.mdm.program.service.programannotation;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.mdm.program.vo.ProgramAnnotation;
+import org.springblade.mdm.utils.FileContentUtil;
+import org.springblade.system.pojo.entity.DictBiz;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Optional;
+
+public class AnnotationUtil {
+ static String DEFAULT_ANNOTATION_SETTING = "(,)";
+
+ public static ProgramAnnotation getProgramAnnotationFormat(String systemDictVal, List<DictBiz> annoDictList){
+ String begin;
+ String end;
+
+ Optional<DictBiz> dictOpt = annoDictList.stream().filter(dict -> {return dict.getDictKey().equals(systemDictVal);}).findFirst();
+ String annotationSetting = DEFAULT_ANNOTATION_SETTING;
+ if(dictOpt.isPresent()) {
+ annotationSetting = dictOpt.get().getRemark();
+ }
+ String[] arr = StringUtils.split(annotationSetting,",");
+ if(arr.length == 2){
+ begin = arr[0];
+ end = arr[1];
+ }else if(arr.length == 1){
+ begin = arr[0];
+ end = "";
+ }else{
+ throw new ServiceException("娉ㄩ噴鏍煎紡閰嶇疆閿欒锛屽簲璇ヤ负1鍒�2娈碉紝涓棿鐢ㄩ�楀彿鍒嗛殧");
+ }
+
+ ProgramAnnotation programAnnotation = new ProgramAnnotation();
+ programAnnotation.setBegin(begin);
+ programAnnotation.setEnd(end);
+ return programAnnotation;
+ }
+
+ public static boolean isAnnotation(String line,String systemDictVal,List<DictBiz> annotationList){
+ ProgramAnnotation progAnnotation = AnnotationUtil.getProgramAnnotationFormat(systemDictVal,annotationList);
+
+ line = StringUtils.trim(line);//鍘婚灏剧┖鏍�
+ return progAnnotation.isAnnotation(line);
+ }
+
+ public static String generateAnnotation(String oriTest, String systemDictVal, List<DictBiz> annotationList) {
+ ProgramAnnotation progAnnotation = AnnotationUtil.getProgramAnnotationFormat(systemDictVal,annotationList);
+ return progAnnotation.addAnnotation(oriTest);
+ }
+
+ public static InputStream setAnnotationAndGetInputStream(InputStream inputStream, String text, int lineIndex, String systemDictVal, List<DictBiz> annoDictList) throws IOException {
+ InputStream finishedStream;
+ try(inputStream){
+ ByteArrayInputStream byteInputStream = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
+
+ String annoTxt = generateAnnotation(text,systemDictVal,annoDictList);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
+
+ String lineText = FileContentUtil.readLineAt(byteInputStream, lineIndex);
+ byteInputStream.reset();
+
+ if(isAnnotation(lineText,systemDictVal,annoDictList)){
+ finishedStream = FileContentUtil.replaceAtLine(byteInputStream, lineIndex,annoTxt);
+ }else{
+ finishedStream = FileContentUtil.insertLine(byteInputStream, lineIndex,annoTxt);
+ }
+ finishedStream.reset();
+ }
+
+ return finishedStream;
+ }
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java
index 1234ca2..eb2908a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/DefaultProcessor.java
@@ -1,8 +1,17 @@
package org.springblade.mdm.program.service.programannotation;
+import com.qiniu.util.IOUtils;
+import org.apache.commons.io.FilenameUtils;
import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.utils.FileContentUtil;
+import org.springblade.system.pojo.entity.DictBiz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
@Component("defaultProcessor")
@@ -11,17 +20,32 @@
@Autowired
private ProgramAnnotationService programAnnotationService;
private String controlSystem;
- private AnnotationProperties annotationPropreties;
+
+ @Override
+ public InputStream setAnnotation(AnnotationData annoData, InputStream inputStream) throws IOException {
+ List<DictBiz> annoDicts = programAnnotationService.getAnnotionDictList();
+ ByteArrayInputStream bais = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
+
+ String line = FileContentUtil.readLineAt(bais, annotationProperties.getProgramNameLineIndex());
+ bais.reset();
+ boolean isAnnotation = AnnotationUtil.isAnnotation(line,controlSystem,annoDicts);
+ InputStream insAfter;
+ //鍔犲叆绋嬪簭鍚嶆敞閲婅
+ String proNameLine = AnnotationUtil.generateAnnotation(FilenameUtils.removeExtension(annoData.getFilename()),getControlSystem(),annoDicts);
+ if(isAnnotation){
+ insAfter = FileContentUtil.replaceAtLine(bais, annotationProperties.getProgramNameLineIndex(),proNameLine);
+ }else{
+ insAfter = FileContentUtil.insertLine(bais, annotationProperties.getProgramNameLineIndex(),proNameLine);
+ }
+
+ return super.setAnnotation(annoData, insAfter);
+
+ }
@Override
public void setControlSystem(String controlSystemDictVal) {
this.controlSystem = controlSystemDictVal;
- }
-
- @Override
- public void setAnnotationProperties(AnnotationProperties annotationProperties) {
- this.annotationPropreties= annotationProperties;
}
@Override
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java
index 87467cb..7f1d4c8 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java
@@ -19,7 +19,6 @@
@Autowired
private ProgramAnnotationService programAnnotationService;
private String controlSystem;
- //AnnotationProperties annotationProperties;
private Pattern PATTERN = Pattern.compile("^[oO]\\d{4}");
private final int O_LINE = 1;
@Override
@@ -32,7 +31,7 @@
InputStream ins1;
if(oMatched){
List<DictBiz> annoDicts = programAnnotationService.getAnnotionDictList();
- String newline = line + generateAnnotation(FilenameUtils.removeExtension(annoData.getFilename()),getControlSystem(),annoDicts);
+ String newline = line + AnnotationUtil.generateAnnotation(FilenameUtils.removeExtension(annoData.getFilename()),getControlSystem(),annoDicts);
ins1 = FileContentUtil.replaceAtLine(bais,O_LINE,newline);
}else{
ins1 = bais;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/ProcessorHelper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/ProcessorHelper.java
index 117de48..a116518 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/ProcessorHelper.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/ProcessorHelper.java
@@ -12,10 +12,12 @@
AnnotationProcessor processor;
if(props != null){
processor = SpringUtil.getBean(props.getBeanId());
+ processor.setAnnotationProperties(props);
}else{
processor = SpringUtil.getBean(DefaultProcessor.class);
+ processor.setAnnotationProperties(AnnotationProperties.getDefault());
}
- processor.setAnnotationProperties(props);
+
return processor;
}
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java
index 8e1535f..1768964 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java
@@ -11,7 +11,7 @@
@Setter
@Getter
-@EqualsAndHashCode
+@EqualsAndHashCode(callSuper = false)
public class NcNodeVO extends BaseVO {
@Schema(description = "鑺傜偣鍚嶇О")
private String name;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/InternalEmailNotifyTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/InternalEmailNotifyTask.java
new file mode 100644
index 0000000..f21e5cf
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/InternalEmailNotifyTask.java
@@ -0,0 +1,127 @@
+package org.springblade.mdm.task;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.extern.slf4j.Slf4j;
+import org.flowable.engine.TaskService;
+import org.flowable.task.api.TaskQuery;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.producedivision.entity.MdmUser;
+import org.springblade.mdm.basesetting.producedivision.service.MdmUserService;
+import org.springblade.mdm.commons.contants.ParamConstants;
+import org.springblade.mdm.commons.service.InternalEmailProperties;
+import org.springblade.mdm.commons.service.InternalEmailService;
+import org.springblade.mdm.commons.service.ParamService;
+import org.springblade.mdm.program.service.NcProgramApprovedService;
+import org.springblade.mdm.program.vo.NcProgramExportDncPageVO;
+import org.springblade.mdm.program.vo.NcProgramExportDncQueryVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 鍐呴儴閭欢浠诲姟鎻愰啋瀹氭椂浠诲姟
+ */
+@Slf4j
+@Component
+@EnableScheduling
+public class InternalEmailNotifyTask {
+ @Autowired
+ private MdmUserService mdmUserService;
+ @Autowired
+ private ParamService paramService;
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private InternalEmailService internalEmailService;
+ @Autowired
+ private NcProgramApprovedService ncProgramApprovedService;
+ @Autowired
+ private InternalEmailProperties internalEmailProperties;
+ //@Value("${mail-remind.sender-account:xxx}")
+ //private String senderAccount;
+
+ @Scheduled(cron = "${task.cron.innernal_email_notify:0 0 9 * * ?}")
+ public void execute() {
+ String notifyFlag = paramService.getParamValue(ParamConstants.EMAIL_NOTIFY_FLAG,ParamConstants.EMAIL_NOTIFY_FLAG_OFF);
+
+ if("1".equals(notifyFlag)){
+ //鐘舵�佷负寮�鍚紝鎵ц閭欢閫氱煡
+ queryAllUserTodo();
+ }
+
+ }
+
+ void queryAllUserTodo(){
+ List<MdmUser> allUsers = mdmUserService.list();
+
+ for(MdmUser user : allUsers){
+ queryAndSendNotify(user);
+ }
+ }
+
+ /**
+ * 鏌ヨ鐢ㄦ埛todo骞跺彂閫侀�氱煡閭欢
+ * @param user
+ */
+ private void queryAndSendNotify(MdmUser user) {
+ long flowTodoCount = queryFlowTodo(user.getId());
+ long expTodoCount = queryExportTodo(user.getId());
+ if(flowTodoCount + expTodoCount > 0){
+ sendRemindEmail(flowTodoCount,expTodoCount,user.getAccount());
+ }
+
+ }
+
+ /**
+ * 鍙戦�佹彁閱掗偖浠�
+ * @param flowTodoCount
+ * @param expTodoCount
+ * @param userAccount
+ */
+ void sendRemindEmail(long flowTodoCount,long expTodoCount,String userAccount){
+ String content = buildMailConent(flowTodoCount,expTodoCount);
+ internalEmailService.send(this.internalEmailProperties.getSenderAccount(),userAccount,null,null,"MDM绋嬪簭绠$悊浠诲姟鎻愰啋",content,null);
+ }
+ String buildMailConent(long flowTodoCount,long expTodoCount){
+ String content= String.format("鎮ㄥ叡鏈�%s鏉′换鍔″緟澶勭悊",(flowTodoCount+expTodoCount));
+ if(flowTodoCount>0){
+ content += "锛�"+flowTodoCount+"鏉′负寰呭鎵规祦绋�";
+ }
+ if(flowTodoCount>0){
+ content += "锛�"+expTodoCount+"鏉′负寰呭鍑哄伐鎺х綉绋嬪簭";
+ }
+
+ return content+"銆�";
+ }
+
+ private long queryFlowTodo(long userId){
+ String userIdStr = "" + userId;
+
+ TaskQuery todoQuery = taskService.createTaskQuery().taskAssignee(userIdStr).active().includeProcessVariables();
+
+ return todoQuery.count();
+ }
+
+ private long queryExportTodo(long userId){
+
+ NcProgramExportDncQueryVO query = new NcProgramExportDncQueryVO();
+ query.setCurrent(1);
+ query.setSize(1);
+
+ List<String> userRoleAliasList = Func.toStrList(",", AuthUtil.getUserRole());//瑙掕壊鍒悕锛屽涓鑹查�楀彿鍒嗛殧
+ String managerRole = paramService.getProgramManagerRoleAlias();
+ if(!userRoleAliasList.contains(managerRole) && !AuthUtil.isAdministrator() && !AuthUtil.isAdmin()){
+ //闈炴暟鎺х鐞嗗憳瑙掕壊銆佺鐞嗗憳锛岄檺鍒舵湭鍙兘瀵煎嚭鑷繁鐨勭▼搴�
+ query.setUserId(userId);
+ }
+
+ IPage<NcProgramExportDncPageVO> pages = ncProgramApprovedService.exportDncPageQuery(query);
+ return pages.getTotal();
+
+ }
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
index 2b415e4..f76b704 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
@@ -3,17 +3,22 @@
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.mail.MessagingException;
+import jakarta.xml.soap.SOAPException;
+import jakarta.xml.ws.WebServiceContext;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.ws.commons.schema.XmlSchemaSerializer;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.basesetting.machine.entity.Machine;
-import org.springblade.mdm.commons.service.EmailService;
+import org.springblade.mdm.commons.service.InternalEmailService;
import org.springblade.mdm.flow.service.WIthdrawService;
import org.springblade.mdm.machinefile.entity.MachineFile;
import org.springblade.mdm.machinefile.service.MachineFileScanService;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.service.NcNodeService;
import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.task.InternalEmailNotifyTask;
import org.springblade.mdm.task.MachineFileScanTask;
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.system.feign.IDictBizClient;
@@ -23,6 +28,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.wsdl.WSDLException;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -44,11 +50,13 @@
@Autowired
private IDictBizClient bizDictClient;
@Autowired
- private EmailService mailService;
+ private InternalEmailService mailService;
@Autowired
private MachineFileScanService machineFileScanService;
@Autowired
private WIthdrawService withdrawService;
+ @Autowired
+ private InternalEmailNotifyTask notifyTask;
/**
* 鏂板
*/
@@ -88,21 +96,6 @@
return R.success();
}
- @GetMapping("/repalce-anno")
- @Operation(summary = "鏇挎崲娉ㄩ噴", description = "test鎵弿")
- public R<List<String>> repalceAnno() throws IOException {
- InputStream res;
- try(FileInputStream fis = new FileInputStream("d:/b.txt");) {
- res = programAnnotationService.setSendDirAndStatusAnnotation("D:/mysend", "PL", fis,"FANUC");
- }
- List<String> lines = null;
- if(res!=null) {
- try(res) {
- lines = IOUtils.readLines(res, "utf-8");
- }
- }
- return R.data(lines);
- }
@GetMapping("/dict-biz")
@Operation(summary = "biz", description = "test鎵弿")
@@ -129,4 +122,9 @@
machineFileScanService.scanMachineFile();
}
+ @GetMapping("/notify")
+ public void emailNotify(){
+ SOAPException s;
+ notifyTask.execute();
+ }
}
diff --git a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/commons/service/InternalEmailServiceTest.java b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/commons/service/InternalEmailServiceTest.java
new file mode 100644
index 0000000..155578b
--- /dev/null
+++ b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/commons/service/InternalEmailServiceTest.java
@@ -0,0 +1,14 @@
+package org.springblade.mdm.commons.service;
+
+import org.junit.jupiter.api.Test;
+
+public class InternalEmailServiceTest {
+
+ @Test
+ public void testSend(){
+ InternalEmailService service = new InternalEmailService();
+
+ service.send("from","to","cc","bcc","閭欢鎻愰啋","鎮ㄦ湁閭f潯浠诲姟瑕佸鐞�",new String[]{"Path1"});
+ }
+
+}
diff --git a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/program/service/ProgramAnnotationServiceTest.java b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/program/service/programannotation/AnnotationUtilTest.java
similarity index 63%
rename from blade-service/blade-mdm/src/test/java/org/springblade/mdm/program/service/ProgramAnnotationServiceTest.java
rename to blade-service/blade-mdm/src/test/java/org/springblade/mdm/program/service/programannotation/AnnotationUtilTest.java
index 44b3136..f1cc495 100644
--- a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/program/service/ProgramAnnotationServiceTest.java
+++ b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/program/service/programannotation/AnnotationUtilTest.java
@@ -1,13 +1,14 @@
-package org.springblade.mdm.program.service;
+package org.springblade.mdm.program.service.programannotation;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.springblade.mdm.program.service.ProgramAnnotationService;
import org.springblade.system.pojo.entity.DictBiz;
import java.util.Arrays;
import java.util.List;
-public class ProgramAnnotationServiceTest {
+public class AnnotationUtilTest {
@Test
public void testIsAnnotation(){
@@ -23,9 +24,9 @@
xmz.setRemark("*-,");
List<DictBiz> dictList = Arrays.asList(fanucDict, xmz);
- Assertions.assertTrue(s.isAnnotation("(abc)","FANUC", dictList));
- Assertions.assertFalse(s.isAnnotation("*-","FANUC",dictList));
- Assertions.assertTrue(s.isAnnotation("*-","XIMENZI", dictList));
+ Assertions.assertTrue(AnnotationUtil.isAnnotation("(abc)","FANUC", dictList));
+ Assertions.assertFalse(AnnotationUtil.isAnnotation("*-","FANUC",dictList));
+ Assertions.assertTrue(AnnotationUtil.isAnnotation("*-","XIMENZI", dictList));
}
@Test
@@ -42,8 +43,8 @@
xmz.setRemark("*-,");
List<DictBiz> dictList = Arrays.asList(fanucDict, xmz);
- Assertions.assertEquals("(A)",s.generateAnnotation("A","FANUC",dictList));
+ Assertions.assertEquals("(A)",AnnotationUtil.generateAnnotation("A","FANUC",dictList));
- Assertions.assertEquals("*-A",s.generateAnnotation("A","XIMENZI",dictList));
+ Assertions.assertEquals("*-A",AnnotationUtil.generateAnnotation("A","XIMENZI",dictList));
}
}
--
Gitblit v1.9.3