From 1123d12eb51d23edcd4a39660ef8cd47802b931d Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期二, 30 一月 2024 11:06:32 +0800
Subject: [PATCH] change config

---
 src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java |   40 +++++++++++++++-----
 src/main/java/com/nanometer/smartlab/controller/UserMngController.java     |    8 ++--
 src/main/java/com/nanometer/smartlab/realm/ShiroDbRealm.java               |    1 
 src/main/webapp/WEB-INF/cq/cq.properties                                   |    2 
 pom.xml                                                                    |    4 +-
 src/main/java/com/nanometer/smartlab/util/ExcelUtils.java                  |    4 ++
 src/main/webapp/index.xhtml                                                |    2 
 src/main/webapp/WEB-INF/sin_ma/sin_ma.properties                           |   18 +++++++++
 8 files changed, 61 insertions(+), 18 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1ecb2c1..3e6290e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -345,7 +345,7 @@
     <dependency>
       <groupId>com.alibaba</groupId>
       <artifactId>fastjson</artifactId>
-      <version>1.2.75</version>
+      <version>2.0.17</version>
     </dependency>
     <dependency>
       <groupId>com.google.collections</groupId>
@@ -395,7 +395,7 @@
     <profile>
       <id>test</id>
       <properties>
-        <profile.active>gslab</profile.active>
+        <profile.active>sin_ma</profile.active>
       </properties>
       <activation>
         <activeByDefault>true</activeByDefault>
diff --git a/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java
index 4391eb5..09f5862 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java
@@ -178,12 +178,17 @@
 
         this.dangerousFlag = false;//二级审批标志
         this.adminApproveUserId = null;
+        Map<Integer,Integer> checkMap=new HashMap<>();
         for (OpeApply opeApply : this.selectedList) {
             if (!this.opeApplyService.isApplyPendingApproval(opeApply)) {
                 FacesUtils.warn("只有待审批状态的数据可以审批。");
                 return;
             }
-
+            String currentUserId = getUserId();
+            if(StringUtils.isNotBlank(opeApply.getBeforeApproveUserId())&&!opeApply.getApproveUserId().equalsIgnoreCase(currentUserId)){
+                FacesUtils.warn("提示您已审批完成,请等待二级审批者审批");
+                return;
+            }
 /*        	if (DangerousFlag.DANGEROUS == opeApply.getReagent().getDangerousFlag()) {
         	    if (!"15fc90a1f7bf43bda01313904b543195".equals(this.getUser().getRoleId())) {
                     dangerousFlag = true;
@@ -193,7 +198,6 @@
                 if(StringUtils.isBlank(opeApply.getBeforeApproveUserId())){
                     dangerousFlag = true;
                 }
-
             }else{//其他情形:管制品打开二级审批
                 String controlProducts = opeApply.getReagent().getControlProducts();
                 if (StringUtils.isNotBlank(controlProducts)) {
@@ -201,10 +205,20 @@
                     if (StringUtils.isNotBlank(baseMetaValue) &&StringUtils.isBlank(opeApply.getBeforeApproveUserId())) {
                         dangerousFlag = true;
                     }
+                    if(StringUtils.isNotBlank(baseMetaValue)) {
+                        checkMap.put(1, 1);
+                    }else{
+                        checkMap.put(0, 1);
+                    }
+                }else{
+                    checkMap.put(0,1);
                 }
             }
 
-
+        }
+        if(checkMap.size()>1){
+            FacesUtils.warn("不允许管制品和非管制品同时审批");
+            return;
         }
 
         this.memo = null;
@@ -220,14 +234,12 @@
                 return;
             }
 
-            if (this.dangerousFlag) {
-                if (this.adminApproveUserId == null || "".equalsIgnoreCase(this.adminApproveUserId)) {
-                    FacesUtils.warn("请选择系统管理员审批。");
-                    return;
-                }
+            if (this.dangerousFlag &&(this.adminApproveUserId == null || "".equalsIgnoreCase(this.adminApproveUserId))) {
+                   FacesUtils.warn("请选择系统管理员审批。");
+                   return;
             }
 
-
+            String currentUserId = getUserId();
             List<String> applyIds = new ArrayList<>();
             List<String> adminApplyIds = new ArrayList<>();
             List<String> firstUserIds = new ArrayList<>();
@@ -245,6 +257,10 @@
                     firstUserIds.add(opeApply.getApproveUserId());
                 } else {
                     applyIds.add(opeApply.getId());
+                }
+                if(StringUtils.isNotBlank(opeApply.getBeforeApproveUserId())&&!opeApply.getApproveUserId().equalsIgnoreCase(currentUserId)){
+                    FacesUtils.warn("提示您已审批完成,请等待二级审批者审批");
+                    return;
                 }
             }
             boolean result = this.opeApplyService.updateSelectedOpeApplyStatus(memo, applyIds, adminApproveUserId, adminApplyIds,firstUserIds);
@@ -269,10 +285,14 @@
                 FacesUtils.warn("请将拒绝理由输入在批注中。");
                 return;
             }
-
+            String currentUserId = getUserId();
             List<String> applyIds = new ArrayList<String>();
             for (OpeApply opeApply : this.selectedList) {
                 applyIds.add(opeApply.getId());
+                if(StringUtils.isNotBlank(opeApply.getBeforeApproveUserId())&&!opeApply.getApproveUserId().equalsIgnoreCase(currentUserId)){
+                    FacesUtils.warn("二级审批无权限");
+                    return;
+                }
             }
 
             this.opeApplyService.updateOpeApplyStatus(ApplyStatus.REFUSE, this.memo, applyIds);
diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index fbce822..d8dfaf3 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -8,14 +8,12 @@
 import com.nanometer.smartlab.entity.enumtype.SeeFlag;
 import com.nanometer.smartlab.entity.enumtype.ValidFlag;
 import com.nanometer.smartlab.entity.enumtype.Waster;
+import com.nanometer.smartlab.realm.ShiroDbRealm;
 import com.nanometer.smartlab.service.BaseMetaService;
 import com.nanometer.smartlab.service.BaseRoleService;
 import com.nanometer.smartlab.service.SysProjectService;
 import com.nanometer.smartlab.service.SysUserService;
-import com.nanometer.smartlab.util.Constants;
-import com.nanometer.smartlab.util.FacesUtils;
-import com.nanometer.smartlab.util.IDUtils;
-import com.nanometer.smartlab.util.MD5Utils;
+import com.nanometer.smartlab.util.*;
 import org.apache.log4j.Logger;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
@@ -546,6 +544,8 @@
                     sysUser.setPassword(MD5Utils.encode(sysUser.getPassword()));
                 }
                 this.sysUserService.updateSysUser(sysUser);
+                ShiroDbRealm shiroDbRealm= SpringUtil.getBean("authorizationRealm",ShiroDbRealm.class);
+                shiroDbRealm.removeUserCache(sysUser.getAccount());
 
                 FacesUtils.info("修改成功。");
                 RequestContext.getCurrentInstance().execute("PF('dialog').hide()");
diff --git a/src/main/java/com/nanometer/smartlab/realm/ShiroDbRealm.java b/src/main/java/com/nanometer/smartlab/realm/ShiroDbRealm.java
index 83ca292..dc83fb6 100644
--- a/src/main/java/com/nanometer/smartlab/realm/ShiroDbRealm.java
+++ b/src/main/java/com/nanometer/smartlab/realm/ShiroDbRealm.java
@@ -106,4 +106,5 @@
         principals.add(loginName, super.getName());
         super.clearCachedAuthenticationInfo(principals);
     }
+
 }
diff --git a/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java b/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java
index 4ba663e..c2cff47 100644
--- a/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java
+++ b/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java
@@ -19,6 +19,10 @@
 
 public class ExcelUtils {
 
+    static {
+        System.setProperty("java.awt.headless", "false");
+    }
+
     public static SXSSFWorkbook exportExcelNew(Map<String, String> map, List<Map> dataList, String name){
         SXSSFWorkbook sb = new SXSSFWorkbook(1000);
         Integer total = null;
diff --git a/src/main/webapp/WEB-INF/cq/cq.properties b/src/main/webapp/WEB-INF/cq/cq.properties
index 8a06e74..7d4165d 100644
--- a/src/main/webapp/WEB-INF/cq/cq.properties
+++ b/src/main/webapp/WEB-INF/cq/cq.properties
@@ -1,4 +1,4 @@
-jdbc.url=jdbc:mysql://192.168.30.107:3306/cq_smartlab?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;useSSL=false
+jdbc.url=jdbc:mysql://121.239.169.27:23306/cq_smartlab?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;useSSL=false
 #jdbc.url=jdbc:mysql://sinanoaq.com:23306/cq_smartlab?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;useSSL=false
 jdbc.username=root
 jdbc.password=NMS@uss20201!
diff --git a/src/main/webapp/WEB-INF/sin_ma/sin_ma.properties b/src/main/webapp/WEB-INF/sin_ma/sin_ma.properties
new file mode 100644
index 0000000..8e0f358
--- /dev/null
+++ b/src/main/webapp/WEB-INF/sin_ma/sin_ma.properties
@@ -0,0 +1,18 @@
+jdbc.url=jdbc\:mysql\://localhost\:33306/smartlb?useUnicode\=true&amp;characterEncoding\=utf-8&amp;autoReconnect\=true&amp;useSSL\=false
+jdbc.username=smartlb
+jdbc.password=kabAG6TmMhrmB7MJ
+
+institute.id = 2
+institute.name = \u4E2D\u56FD\u79D1\u5B66\u9662\u82CF\u5DDE\u7EB3\u7C73\u6280\u672F\u4E0E\u7EB3\u7C73\u4EFF\u751F\u7814\u7A76\u6240\u9A6C\u660C\u671F\u8BFE\u9898\u7EC4
+institute.logo = /resources/images/\u4E2D\u56FD\u79D1\u5B66\u9662\u82CF\u5DDE\u7EB3\u7C73\u6280\u672F\u4E0E\u7EB3\u7C73\u4EFF\u751F\u7814\u7A76\u6240logo.png
+institute.url  = http://sinanoaq.com
+institute.app.id =
+institute.app.secret = 
+alarm.url = http://sinanoaq.com/daping/sendWarnInfo.json
+reagent.detail.price.api =
+institute.copyright= Copyright\u00A92017 \u4E2D\u56FD\u79D1\u5B66\u9662\u82CF\u5DDE\u7EB3\u7C73\u6280\u672F\u4E0E\u7EB3\u7C73\u4EFF\u751F\u7814\u7A76\u6240\u00A0\u82CFICP\u590710220403\u53F7-6
+
+message.url= https://sinanoaq.com:8095/api/sendmessage
+personImgPath = /opt/file/smartlab/img/
+
+envTag = sin
\ No newline at end of file
diff --git a/src/main/webapp/index.xhtml b/src/main/webapp/index.xhtml
index c9e980c..a51c076 100644
--- a/src/main/webapp/index.xhtml
+++ b/src/main/webapp/index.xhtml
@@ -104,7 +104,7 @@
             <p:panelGrid styleClass="menu" columns="1">
                 <c:if test="#{menuController.menuList != null and menuController.menuList.size() > 0}">
                     <c:forEach items="#{menuController.menuList}" var="menu">
-                        <c:if test="#{menu.dispInMenuList}">
+                        <c:if test="#{menu.dispInMenuList and (menu.id ne 'system_link' or menuController.activeEnv eq 'gslab') }">
                             <c:if test="#{menu.subMenu != null and menu.subMenu.size() > 0}">
                                 <p:panelMenu style="border: none">
                                     <p:submenu label="#{menu.title}" rendered="#{menuController.isDispRootMenu(menu)}"

--
Gitblit v1.9.2