diff --git a/WebRoot/upload/405CEA72-F373-477A-B53F-D3816BAB0817.docx b/WebRoot/upload/405CEA72-F373-477A-B53F-D3816BAB0817.docx
new file mode 100644
index 00000000..7c09b3e3
Binary files /dev/null and b/WebRoot/upload/405CEA72-F373-477A-B53F-D3816BAB0817.docx differ
diff --git a/pom.xml b/pom.xml
index 44c13168..bc71c401 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,18 @@
aspose-pdf
22.7.1
+
+
+ org.seleniumhq.selenium
+ selenium-java
+ 4.25.0
+
+
+
+ io.github.bonigarcia
+ webdrivermanager
+ 5.9.2
+
diff --git a/src/main/java/Tools/DataEase/TestRead.java b/src/main/java/Tools/DataEase/TestRead.java
index b3188c94..e6e200e3 100644
--- a/src/main/java/Tools/DataEase/TestRead.java
+++ b/src/main/java/Tools/DataEase/TestRead.java
@@ -2,11 +2,47 @@ package Tools.DataEase;
+import org.openqa.selenium.By;
+import org.openqa.selenium.JavascriptExecutor;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.chrome.ChromeDriver;
+import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.support.ui.ExpectedConditions;
+import org.openqa.selenium.support.ui.WebDriverWait;
+
import java.io.IOException;
+import java.time.Duration;
public class TestRead {
public static void main(String[] args) throws IOException {
- String url = "http://www.wmarkj.com:27080/#/de-link/NtXhclS0";
+ String url = "http://10.10.14.203/#/de-link/NtXhclS0";
+ // 设置ChromeDriver的路径
+ //System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
+
+ // 初始化Chrome浏览器
+ WebDriver driver = new FirefoxDriver();
+ // 打开目标URL
+ driver.get(url);
+ // 显式等待,等待页面中特定元素加载完成(例如:等待一个特定的div加载完成)
+ //WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(600)); // 10秒超时时间
+ //WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("element-id")));
+
+ // 等待页面加载完成
+ new WebDriverWait(driver, Duration.ofSeconds(600)).until(webDriver ->
+ ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete")
+ );
+
+ // 获取渲染后的HTML内容
+ String renderedHtml = driver.getPageSource();
+ // 输出渲染后的HTML内容
+ renderedHtml= renderedHtml.replace("./assets","http://10.10.14.203/assets");
+ renderedHtml= renderedHtml.replace("./js/","http://10.10.14.203/js/");
+ renderedHtml= renderedHtml.replace("./dataease.svg","http://10.10.14.203/dataease.svg");
+ System.out.println(renderedHtml);
+ //href="./assets
+ // 关闭浏览器
+ driver.quit();
}
}
diff --git a/src/main/java/Tools/FillSubject.java b/src/main/java/Tools/FillSubject.java
index 0061ede0..50b84a78 100644
--- a/src/main/java/Tools/FillSubject.java
+++ b/src/main/java/Tools/FillSubject.java
@@ -348,7 +348,7 @@ public class FillSubject {
}
//是否需要进行专家相关的审核操作
- boolean ZhuanJiaCheck = gm.getZhuanJaiCheckStatus();
+ boolean ZhuanJiaCheck = gm.getZhuanJiaCheckStatus();
String subject_ids = "";
//4、修改为已扫描完成
for (Record record : list) {
diff --git a/src/main/java/com/dsideal/QingLong/Const/GtzzConst.java b/src/main/java/com/dsideal/QingLong/Const/GtzzConst.java
index a21252fd..8957b50f 100644
--- a/src/main/java/com/dsideal/QingLong/Const/GtzzConst.java
+++ b/src/main/java/com/dsideal/QingLong/Const/GtzzConst.java
@@ -24,10 +24,10 @@ public class GtzzConst {
一、初审专家分配
step_code=0201【初审专家分配】是进入本系统的第一个环节
- 1、全局变量 gm.getZhuanJaiCheckStatus()=1
+ 1、全局变量 gm.getZhuanJiaCheckStatus()=1
项目数据进入系统后,董建华老师手工分配初审专家,以便进行step_code=0202【技术方案上报】和step_code=0203【技术方案初审】
- 2、全局变量 gm.getZhuanJaiCheckStatus()=0
+ 2、全局变量 gm.getZhuanJiaCheckStatus()=0
项目数据进入系统时,在导数据的过程中(导数据的JAVA代码中实现),全局变量ZhuanJiaCheck=0则:
(1)将此项目加到默认的ys_id=1 【初审专家分配系统保留任务】 这个任务中去
gm.saveYsSubject(1, subject_ids);
@@ -40,22 +40,24 @@ public class GtzzConst {
二、技术方案上报 【学校的操作动作,为事件的激发动作】
step_code=0202
- 1、全局变量 gm.getZhuanJaiCheckStatus()=1
+ 1、全局变量 gm.getZhuanJiaCheckStatus()=1
因为已经分配完初审专家,所以转到step_code=0203,进行技术方案初审
- 2、全局变量 gm.getZhuanJaiCheckStatus()=0
+ 2、全局变量 gm.getZhuanJiaCheckStatus()=0
因为前面分配完初审专家,所以转入到step_code=0203,进行技术方案初审
此时,追加:模拟专家对此项目进行初审,通过,并且记录评审的回复为OK!
- gm.pass(String org_code='03', int progress_id=?, String message='OK', int radio_id=5)
+ if(gm.getZhuanJiaCheckStatus()==0){
+ gm.pass(String org_code='03', int progress_id=?, String message='OK', int radio_id=5)
+ }
--------------------------------------------------------------------------------
三、申请市级验收 【学校的操作动作,为事件的激发动作】
step_code=0305
- 1、全局变量 gm.getZhuanJaiCheckStatus()=1
+ 1、全局变量 gm.getZhuanJiaCheckStatus()=1
因为还没有分配市级验收专家,所以转到step_code=0306,进行市级验收专家分配
- 2、全局变量 gm.getZhuanJaiCheckStatus()=0
+ 2、全局变量 gm.getZhuanJiaCheckStatus()=0
因为还没有分配市级验收专家,所以需要:
(1)自动分配市级验收专家为默认专家黄海
gm.saveSubjectExpert(subject_id, GtzzConst.EXPERT_SHIJI, GtzzConst.DEFAULT_EXPERT, GtzzConst.DEFAULT_EXPERT);
diff --git a/src/main/java/com/dsideal/QingLong/Gtzz/Controller/GtzzController.java b/src/main/java/com/dsideal/QingLong/Gtzz/Controller/GtzzController.java
index 8ee38f6c..250bc44b 100644
--- a/src/main/java/com/dsideal/QingLong/Gtzz/Controller/GtzzController.java
+++ b/src/main/java/com/dsideal/QingLong/Gtzz/Controller/GtzzController.java
@@ -57,7 +57,7 @@ public class GtzzController extends Controller {
return;
}
String person_id = SessionKit.get(getRequest(), getResponse(), "person_id");
- String org_code =SessionKit.get(getRequest(), getResponse(),"org_code");
+ String org_code = SessionKit.get(getRequest(), getResponse(), "org_code");
Page list = gm.getToDoStepList(person_id, org_code, data_type, begin_date, end_date, step_code, is_current, keyword, page, limit);
renderJson(CommonUtil.renderJsonForLayUI(list));
}
@@ -142,7 +142,7 @@ public class GtzzController extends Controller {
//清除统计缓存
gm.delTjCache();
//当前单位代码
- String org_code = SessionKit.get(getRequest(), getResponse(),"org_code");
+ String org_code = SessionKit.get(getRequest(), getResponse(), "org_code");
//判断当前步骤是提交状态,还是处于待审核状态
Record r = gm.getProgressInfoById(progress_id);
String step_code = r.getStr("step_code");
@@ -186,10 +186,23 @@ public class GtzzController extends Controller {
} else { //1:申请步骤
kv = gm.passNext(org_code, progress_id, radio_id, message);
renderJson(kv);
+
+ //根据学校上报的进度id,查询出这是哪个项目,然后再次查询出这个项目的最新progress_id,就是上面passNext后新产生的
+ r = gm.getProgressInfoById(progress_id);
+ step_code = r.getStr("step_code");
+ if (step_code.equals("0202")) {
+ //找出最新的progress_id
+ int subject_id = r.getInt("subject_id");
+ int latestProgressId = gm.getLatestProgressIdBySubjectId(subject_id);
+ if (!gm.getZhuanJiaCheckStatus()) {
+ gm.pass("03", latestProgressId, "OK", 5);
+ }
+ }
return;
}
//是不是0304(项目单位验收结束),准备触发拷贝市级验收条目
if (step_code.equals("0304")) gm.copyYsItem(r.getInt("subject_id"));//复制吧
+
//返回
kv.set("success", true);
kv.set("message", "保存成功!");
@@ -571,7 +584,8 @@ public class GtzzController extends Controller {
//当前步骤是不是专家审核,专家审核还分两个阶段,每个阶段还细分为组长可以显示,组员不能显示
if (step_code.equals("0203") || step_code.equals("0307")) {
//判断当前登录人员是不是组长
- if (gm.checkZjMaster(subject_id, step_code, SessionKit.get(getRequest(), getResponse(), "person_id"))) r2.set("show_button", true);
+ if (gm.checkZjMaster(subject_id, step_code, SessionKit.get(getRequest(), getResponse(), "person_id")))
+ r2.set("show_button", true);
else r2.set("show_button", false);
} else r2.set("show_button", true);
} else r2.set("show_button", false);
@@ -639,7 +653,7 @@ public class GtzzController extends Controller {
renderJson(kv);
return;
}
- String org_code = SessionKit.get(getRequest(), getResponse(),"org_code");
+ String org_code = SessionKit.get(getRequest(), getResponse(), "org_code");
Page list = gm.getXmxcList(org_code, step_code, year, subject_type_id, keyword, page, limit);
renderJson(CommonUtil.renderJsonForLayUI(list));
}
@@ -688,7 +702,7 @@ public class GtzzController extends Controller {
//判断文件大小大于20mb则返回错误信息,并终止上传,删除上传文件
long size = picFile.getFile().length();
if (size > 1024 * 1024 * 20) {
- Map map = new HashMap<>();
+ Map map = new HashMap<>();
map.put("success", false);
map.put("message", "xls文件大小大于20MB,请检查是否正确!");
renderJson(map);
@@ -826,7 +840,8 @@ public class GtzzController extends Controller {
}
//org_code=="":全部
//org_code=="1":自己单位
- if (!StrKit.isBlank(org_code) && org_code.equals("1")) org_code = SessionKit.get(getRequest(), getResponse(),"org_code");
+ if (!StrKit.isBlank(org_code) && org_code.equals("1"))
+ org_code = SessionKit.get(getRequest(), getResponse(), "org_code");
Page p = gm.querySubject(keyword, subject_type_ids, begin_date, end_date, data_type, sbnd, step_code, is_current, org_code, page, limit);
renderJson(CommonUtil.renderJsonForLayUI(p));
}
@@ -845,7 +860,8 @@ public class GtzzController extends Controller {
}
//org_code=="":全部
//org_code=="1":自己单位
- if (!StrKit.isBlank(org_code) && org_code.equals("1")) org_code = SessionKit.get(getRequest(), getResponse(),"org_code");
+ if (!StrKit.isBlank(org_code) && org_code.equals("1"))
+ org_code = SessionKit.get(getRequest(), getResponse(), "org_code");
Page p = gm.queryFile(keyword, document_type_ids, subject_type_ids, begin_date, end_date, data_type, sbnd, org_code, page, limit);
renderJson(CommonUtil.renderJsonForLayUI(p));
}
@@ -897,9 +913,9 @@ public class GtzzController extends Controller {
int RoleId = gm.getSysRoleByPersonId(person_id);//四种角色中的哪一种?
String org_code = null;
if (RoleId == RoleConst.ZXX || RoleId == RoleConst.YEY || RoleId == RoleConst.ZY || RoleId == RoleConst.JFDW) {
- org_code = SessionKit.get(getRequest(), getResponse(),"org_code");
+ org_code = SessionKit.get(getRequest(), getResponse(), "org_code");
//项目进展(学校专用)
- List tjxmJz = gm.tjxmJz(SessionKit.get(getRequest(), getResponse(),"org_code"));
+ List tjxmJz = gm.tjxmJz(SessionKit.get(getRequest(), getResponse(), "org_code"));
kv.set("tjxmJz", tjxmJz);
} else {
//今年项目概览(市专用)
@@ -974,7 +990,7 @@ public class GtzzController extends Controller {
@Before({GET.class})
@IsLoginInterface({})
public void getJzList(int is_finish_flag, int page, int limit) {
- Page p = gm.getJzList(SessionKit.get(getRequest(), getResponse(),"org_code"), is_finish_flag, page, limit);
+ Page p = gm.getJzList(SessionKit.get(getRequest(), getResponse(), "org_code"), is_finish_flag, page, limit);
renderJson(CommonUtil.renderJsonForLayUI(p));
}
diff --git a/src/main/java/com/dsideal/QingLong/Gtzz/Model/GtzzModel.java b/src/main/java/com/dsideal/QingLong/Gtzz/Model/GtzzModel.java
index 0d3a59d1..b3d8cc5b 100644
--- a/src/main/java/com/dsideal/QingLong/Gtzz/Model/GtzzModel.java
+++ b/src/main/java/com/dsideal/QingLong/Gtzz/Model/GtzzModel.java
@@ -1911,7 +1911,7 @@ public class GtzzModel {
*
* @return
*/
- public boolean getZhuanJaiCheckStatus() {
+ public boolean getZhuanJiaCheckStatus() {
boolean ZhuanJiaCheck = false;
String install_area = GtzzConst.CHANGCHUAN;//长春市
//新增加的项目数据,需要根据全局变量ZhuanJiaCheck=1还是ZhuanJiaCheck=0,来决定是不是生成这个项目的评审专家和专家组组长
@@ -2919,5 +2919,15 @@ public class GtzzModel {
}
+ /**
+ * 功能:获取项目最新进度ID
+ * @param subject_id
+ * @return
+ */
+ public int getLatestProgressIdBySubjectId(int subject_id){
+ String sql="select max(progress_id) as progress_id from t_gtzz_progress where subject_id=?";
+ return Db.findFirst(sql, subject_id).getInt("progress_id");
+ }
+
}
\ No newline at end of file