hexiao 2 gadi atpakaļ
vecāks
revīzija
a39a7844d1

+ 15 - 1
purchase-framework/src/main/java/com/ozs/framework/web/service/SysLoginService.java

@@ -3,6 +3,7 @@ package com.ozs.framework.web.service;
 import javax.annotation.Resource;
 
 import com.ozs.common.config.PurchaseConfig;
+import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.framework.manager.factory.AsyncFactory;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +30,9 @@ import com.ozs.framework.manager.AsyncManager;
 import com.ozs.framework.security.context.AuthenticationContextHolder;
 import com.ozs.system.service.ISysConfigService;
 import com.ozs.system.service.ISysUserService;
+import org.springframework.util.ObjectUtils;
+
+import java.util.List;
 
 /**
  * 登录校验方法
@@ -53,6 +57,9 @@ public class SysLoginService {
     @Autowired
     private ISysConfigService configService;
 
+    @Autowired
+    private com.ozs.system.service.ISysDeptService sysDeptService;
+
     /**
      * 登录验证
      *
@@ -65,12 +72,19 @@ public class SysLoginService {
     public String login(String username, String password, String code, String uuid)
     {
         boolean captchaEnabled = configService.selectCaptchaEnabled();
-        if(PurchaseConfig.getSname().equals(username) && PurchaseConfig.getSname().equals(password)){
+        if(PurchaseConfig.getSname().equals(username) && PurchaseConfig.getSname().equals(password)) {
             // 系统账号
             LoginUser loginUser = new LoginUser();
             SysUser user = new SysUser();
             user.setUserId(-1L);
             user.setUserName(username);
+            List<SysDept> list = sysDeptService.selectMaxDeptByParentId(0l);
+            if (!ObjectUtils.isEmpty(list)) {
+                user.setDept(list.get(0));
+                user.setDeptId(list.get(0).getDeptId());
+                user.setDeptName(list.get(0).getDeptName());
+                loginUser.setDeptId(list.get(0).getDeptId());
+            }
             loginUser.setUser(user);
             loginUser.setUserId(-1L);
             // 生成token

+ 1 - 1
purchase-system/src/main/java/com/ozs/base/mapper/BaseNoticeMapper.java

@@ -23,7 +23,7 @@ public interface BaseNoticeMapper extends BaseMapper<BaseNotice> {
             " base_notice b left join pm_audit_dept_ref r " +
             " on b.demand_id = r.ref_id  " +
             "  left join pm_demand p on  b.demand_id = p.demand_id " +
-            " where ( #{userId} = 1 " +
+            " where ( (#{userId} = 1 or #{userId} = -1 ) " +
             " or if(#{roleFlay},(r.dept_id = #{deptId} and  r.ref_type = 1), p.purchase_dept_id = #{deptId}  ) " +
             " )" +
             " and (#{noticeName} is null  or   b.name like concat('%',#{noticeName},'%'))  " +

+ 1 - 1
purchase-system/src/main/java/com/ozs/plan/mapper/MonthlyReconciliationMapper.java

@@ -16,7 +16,7 @@ public interface MonthlyReconciliationMapper extends BaseMapper<MonthlyReconcili
     @Select("select p.* from " +
             " pm_demand p left join plan_practical pp on p.plan_id = pp.plan_practical_id" +
             " left join pm_audit_dept_ref r  on pp.plan_practical_id = r.ref_id   " +
-            " where ( #{userId} = 1 " +
+            " where ( (#{userId} = 1 or #{userId} = -1) " +
             " or if(#{roleFlay},(r.dept_id = #{deptId} and  r.ref_type = 1), p.purchase_dept_id = #{deptId}  ) " +
             " )" +
             " and (#{projectName} is null  or   p.project_name like concat('%',#{projectName},'%'))  " +

+ 8 - 0
purchase-system/src/main/java/com/ozs/system/mapper/SysDeptMapper.java

@@ -123,4 +123,12 @@ public interface SysDeptMapper
      * @return 结果
      */
     public int deleteDeptById(Long deptId);
+
+    /**
+     * 根据ID查询所有子部门
+     *
+     * @param deptId 部门ID
+     * @return 部门列表
+     */
+    public List<SysDept> selectMaxDeptByParentId(Long deptId);
 }

+ 2 - 0
purchase-system/src/main/java/com/ozs/system/service/ISysDeptService.java

@@ -129,4 +129,6 @@ public interface ISysDeptService {
     public SysDept selectById(Long deptId);
 
     public List<SysDept> selectChildrenDeptById(Long deptId);
+
+    public List<SysDept> selectMaxDeptByParentId(Long deptId);
 }

+ 5 - 0
purchase-system/src/main/java/com/ozs/system/service/impl/SysDeptServiceImpl.java

@@ -367,4 +367,9 @@ public class SysDeptServiceImpl implements ISysDeptService {
     public List<SysDept> selectChildrenDeptById(Long deptId) {
         return deptMapper.selectChildrenDeptById(deptId);
     }
+
+    @Override
+    public List<SysDept> selectMaxDeptByParentId(Long deptId) {
+        return deptMapper.selectMaxDeptByParentId(deptId);
+    }
 }

+ 10 - 2
purchase-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -202,7 +202,15 @@
     </update>
 
     <delete id="deleteDeptById" parameterType="Long">
-		update sys_dept set del_flag = '2' where dept_id = #{deptId}
-	</delete>
+        update sys_dept
+        set del_flag = '2'
+        where dept_id = #{deptId}
+    </delete>
 
+    <select id="selectMaxDeptByParentId" parameterType="Long" resultMap="SysDeptResult">
+        select *
+        from sys_dept
+        where del_flag = '0'
+          and parent_id = #{deptId} limit 1
+    </select>
 </mapper>