From ccbcb9487250f063dc7c4e72cfa18228dca8dac8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 30 六月 2025 12:05:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                      |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java         |    5 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java                  |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                    |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyDocumentsServiceImpl.java |  137 +++++++++++++++++++---------------
 admin/src/views/system/user.vue                                                                               |   18 ++++
 h5/pages/staff/snapshot.vue                                                                                   |   13 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                    |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CompanyDocumentsMapper.java               |    3 
 9 files changed, 115 insertions(+), 69 deletions(-)

diff --git a/admin/src/views/system/user.vue b/admin/src/views/system/user.vue
index 0c7edf7..1e69dc9 100644
--- a/admin/src/views/system/user.vue
+++ b/admin/src/views/system/user.vue
@@ -14,6 +14,11 @@
       <el-form-item label="缁勭粐" prop="companyName">
         <el-input v-model="searchForm.companyName" v-trim placeholder="璇疯緭鍏ョ粍缁�" @keypress.enter.native="search"/>
       </el-form-item>
+      <el-form-item label="瑙掕壊" prop="roleId">
+        <el-select v-model="searchForm.roleId" placeholder="璇烽�夋嫨瑙掕壊" @change="search">
+          <el-option :label="item.name" :value="item.id" v-for="(item, index) in rolesList" :key="index"></el-option>
+        </el-select>
+      </el-form-item>
 <!--            <el-form-item label="鎵�灞為儴闂�" prop="rootDeptId">-->
 <!--        <DepartmentSelect v-model="searchForm.rootDeptId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" clearable/>-->
 <!--      </el-form-item>-->
@@ -122,7 +127,7 @@
 import ResetPwdWindow from '@/components/system/user/ResetPwdWindow'
 import DepartmentSelect from '@/components/common/DepartmentSelect'
 import PositionSelect from '@/components/common/PositionSelect'
-
+import { fetchAll as fetchAllRoles, fetchAll } from '@/api/system/role'
 export default {
   name: 'SystemUser',
   extends: BaseTable,
@@ -136,8 +141,10 @@
         rootDeptId: null, // 閮ㄩ棬ID
         positionId: null, // 宀椾綅ID
         companyName: null, // 浼佷笟鍚嶇О
+        roleId: null, // 瑙掕壊
         mobile: '' // 鎵嬫満鍙风爜
-      }
+      },
+      rolesList: []
     }
   },
   created () {
@@ -151,6 +158,13 @@
       }]
     })
     this.search()
+    fetchAllRoles()
+      .then(records => {
+        this.rolesList = records
+      })
+      .catch(e => {
+        this.$tip.apiFailed(e)
+      })
   }
 }
 </script>
diff --git a/h5/pages/staff/snapshot.vue b/h5/pages/staff/snapshot.vue
index 32bfe7d..4b9f690 100644
--- a/h5/pages/staff/snapshot.vue
+++ b/h5/pages/staff/snapshot.vue
@@ -13,6 +13,19 @@
 					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
 				</view>
 			</view>
+			
+			<view class="line">
+				<view class="label">
+					<text>*</text>
+					<text>妫�鏌ョ被鍨�</text>
+				</view>
+				<view class="value" @click="openArea">
+					<text class="mr6"
+						:style="{ color: param.areaName ? '#000000' : '#999999' }">{{ param.areaName ? param.areaName : "璇烽�夋嫨" }}</text>
+					<u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+				</view>
+			</view>
+			
 			<view class="line">
 				<view class="label">
 					<text>*</text>
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 965101e..2ae528e 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -105,12 +105,15 @@
     public static final String FTP_PORT ="FTP_PORT" ;
     public static final String FTP_USERNAME ="FTP_USERNAME" ;
     public static final String FTP_PWD ="FTP_PWD" ;
+    public static final String COMPANY_DOCUMENTS ="COMPANY_DOCUMENTS" ;
+
     public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ;
     public static final String FTP_LOCAL_RESOURCE_PATH ="FTP_LOCAL_RESOURCE_PATH" ;
     public static final String ERP_ORGLIST_URL ="ERP_ORGLIST_URL" ;
     public static final String ERP_USERLIST_URL ="ERP_USERLIST_URL" ;
     public static final String ERP_APPROVE_URL ="ERP_APPROVE_URL" ;
     public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ;
+
     public static final String ERP ="ERP" ;
     public static final Integer THREE =3 ;
     public static final Integer FOUR =4 ;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
index d4504ec..eb2fc5e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
@@ -231,6 +231,7 @@
 //                        fileJSON.put("folder", folder);
                         fileJSON.put("url", prefixPath+fileName);
                         fileJSON.put("imgaddr", fName);
+                        fileJSON.put("fileSize", file.getSize());
                         fileJSON.put("imgname", fileName);
                         fileJSON.put("originname", originname);
                         context.put("data",fileJSON);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index 61c123d..ba8352e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -296,7 +296,7 @@
         String kqgzt = "attendance_workstand";//鑰冨嫟绠$悊
         String kqdbcl = "process_apply";//鑰冨嫟浠e姙澶勭悊
         String stxf = "010320"; //椋熷爞
-        String hqzx = "002656"; //鍚庡嫟涓績
+        String hqzx = "0e0bca3c-4b0f-47d7-abea-f69a7a9893f2"; //鍚庡嫟涓績
     }
 
     /**
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index 0fc2d30..246722c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1206,8 +1206,6 @@
 //            return "https://10.50.250.253:443/xauthplus-plugin/thirdLogin?type=third&service=https://10.50.250.253:443/cems/config/generalCard&token="+token;
         }else if(Constants.equalsInteger(type,7)){
             menuId = HKConstants.MenuPageId.hqzx;
-            componentId = "";
-//            return "https://10.50.250.253:443/portal/ui/index?menuId=002656&token="+token;
         }
         log.info("銆愭捣搴疯幏鍙栧伐浣滃彴鑿滃崟鍏嶅瘑鐧婚檰璋冩暣鍦板潃銆�================寮�濮�====menuId:"+menuId+"==token:"+token);
         try {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CompanyDocumentsMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CompanyDocumentsMapper.java
index 6034e25..d653b0c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CompanyDocumentsMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CompanyDocumentsMapper.java
@@ -2,11 +2,12 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.CompanyDocuments;
+import com.github.yulichang.base.MPJBaseMapper;
 
 /**
  * @author 姹熻箘韫�
  * @date 2025/06/27 16:01
  */
-public interface CompanyDocumentsMapper extends BaseMapper<CompanyDocuments> {
+public interface CompanyDocumentsMapper extends MPJBaseMapper<CompanyDocuments> {
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index 7ca81c5..c2d2f93 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -157,13 +157,14 @@
         Utils.MP.blankToNull(pageWrap.getModel());
         queryWrapper.lambda().eq(Category::getIsdeleted,Constants.ZERO)
                 .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
-                .isNull(Category::getParentId);
+                .isNull(Category::getParentId)
+                .orderByDesc(Category::getSortnum);
         PageData<Category> categoryPageData = PageData.from(categoryMapper.selectPage(page, queryWrapper));
         //鏌ヨ鎵�鏈変簩绾ф暟鎹�
         List<Category> categoryList = categoryMapper.selectList(
                 new QueryWrapper<Category>().lambda()
                         .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
-                        .eq(Category::getIsdeleted,Constants.ZERO).isNotNull(Category::getParentId));
+                        .eq(Category::getIsdeleted,Constants.ZERO).isNotNull(Category::getParentId).orderByDesc(Category::getSortnum));
 
         for (Category category:categoryPageData.getRecords()) {
             category.setChildCategoryList(
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyDocumentsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyDocumentsServiceImpl.java
index 33712c1..a153bd7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyDocumentsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyDocumentsServiceImpl.java
@@ -1,8 +1,15 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.CompanyDocumentsMapper;
+import com.doumee.dao.business.model.Category;
+import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.CompanyDocuments;
+import com.doumee.dao.business.model.Member;
 import com.doumee.service.business.CompanyDocumentsService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -11,11 +18,16 @@
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 闅愭偅鍖哄煙閰嶇疆绫诲瀷淇℃伅琛⊿ervice瀹炵幇
@@ -28,21 +40,42 @@
     @Autowired
     private CompanyDocumentsMapper companyDocumentsMapper;
 
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
     @Override
     public Integer create(CompanyDocuments companyDocuments) {
+        if(Objects.isNull(companyDocuments)
+                || Objects.isNull(companyDocuments.getCompanyId())
+                || Objects.isNull(companyDocuments.getCategoryId())
+                || StringUtils.isBlank(companyDocuments.getName())
+                || StringUtils.isBlank(companyDocuments.getFileurl())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        companyDocuments.setId(null);
+        companyDocuments.setCreateDate(new Date());
+        companyDocuments.setCreator(companyDocuments.getLoginUserInfo().getId());
+        companyDocuments.setIsdeleted(Constants.ZERO);
+        companyDocuments.setStatus(Constants.ZERO);
         companyDocumentsMapper.insert(companyDocuments);
         return companyDocuments.getId();
     }
 
     @Override
     public void deleteById(Integer id, LoginUserInfo user) {
-        companyDocumentsMapper.deleteById(id);
+        UpdateWrapper<CompanyDocuments> deleteWrapper = new UpdateWrapper<>();
+        deleteWrapper.lambda().set(CompanyDocuments::getIsdeleted,Constants.ONE)
+                .eq(CompanyDocuments::getId,id)
+                .set(CompanyDocuments::getEditDate,new Date())
+                .set(CompanyDocuments::getEditor,user.getId());
+        companyDocumentsMapper.update(deleteWrapper);
     }
 
     @Override
     public void delete(CompanyDocuments companyDocuments) {
         UpdateWrapper<CompanyDocuments> deleteWrapper = new UpdateWrapper<>(companyDocuments);
-        companyDocumentsMapper.delete(deleteWrapper);
+        companyDocumentsMapper.update(deleteWrapper);
     }
 
     @Override
@@ -55,6 +88,18 @@
 
     @Override
     public void updateById(CompanyDocuments companyDocuments) {
+        if(Objects.isNull(companyDocuments)
+                || Objects.isNull(companyDocuments.getId())
+                || Objects.isNull(companyDocuments.getCompanyId())
+                || Objects.isNull(companyDocuments.getCategoryId())
+                || StringUtils.isBlank(companyDocuments.getName())
+                || StringUtils.isBlank(companyDocuments.getFileurl())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        companyDocuments.setId(null);
+        companyDocuments.setEditDate(new Date());
+        companyDocuments.setEditor(companyDocuments.getLoginUserInfo().getId());
         companyDocumentsMapper.updateById(companyDocuments);
     }
 
@@ -70,7 +115,16 @@
 
     @Override
     public CompanyDocuments findById(Integer id) {
-        return companyDocumentsMapper.selectById(id);
+        CompanyDocuments companyDocuments = companyDocumentsMapper.selectById(id);
+        if(Objects.isNull(companyDocuments)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(StringUtils.isNotBlank(companyDocuments.getFileurl())){
+            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.COMPANY_DOCUMENTS).getCode();
+            companyDocuments.setFileurlFull(path + companyDocuments.getFileurl());
+        }
+        return companyDocuments;
     }
 
     @Override
@@ -88,66 +142,27 @@
     @Override
     public PageData<CompanyDocuments> findPage(PageWrap<CompanyDocuments> pageWrap) {
         IPage<CompanyDocuments> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<CompanyDocuments> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<CompanyDocuments> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getId, pageWrap.getModel().getId());
+        CompanyDocuments queryModel = pageWrap.getModel();
+        queryWrapper.selectAll(CompanyDocuments.class)
+                .selectAs(Company::getName,CompanyDocuments::getCompanyName)
+                .selectAs(Category::getName,CompanyDocuments::getCategoryName)
+                .leftJoin(Company.class,Company::getId,CompanyDocuments::getCompanyId)
+                .leftJoin(Category.class,Category::getId,CompanyDocuments::getCategoryId)
+                .eq(CompanyDocuments::getIsdeleted,Constants.ZERO)
+                .like(Objects.nonNull(queryModel)&&StringUtils.isNotBlank(queryModel.getName()),CompanyDocuments::getName,queryModel.getName())
+                .eq(Objects.nonNull(queryModel)&&Objects.nonNull(queryModel.getCategoryId()),CompanyDocuments::getCategoryId,queryModel.getCategoryId())
+                .eq(Objects.nonNull(queryModel)&&Objects.nonNull(queryModel.getCompanyId()),CompanyDocuments::getCompanyId,queryModel.getCompanyId())
+                .orderByDesc(CompanyDocuments::getSortnum)
+                .orderByDesc(CompanyDocuments::getCreateDate);
+        IPage<CompanyDocuments> iPage = companyDocumentsMapper.selectJoinPage(page, CompanyDocuments.class,queryWrapper);
+        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                +systemDictDataBiz.queryByCode(Constants.FTP,Constants.COMPANY_DOCUMENTS).getCode();
+        for (CompanyDocuments companyDocuments:iPage.getRecords()) {
+            companyDocuments.setFileurlFull(path + companyDocuments.getFileurl());
         }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(CompanyDocuments::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(CompanyDocuments::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(CompanyDocuments::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(CompanyDocuments::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getName, pageWrap.getModel().getName());
-        }
-        if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getRemark, pageWrap.getModel().getRemark());
-        }
-        if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getStatus, pageWrap.getModel().getStatus());
-        }
-        if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getSortnum, pageWrap.getModel().getSortnum());
-        }
-        if (pageWrap.getModel().getFileurl() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getFileurl, pageWrap.getModel().getFileurl());
-        }
-        if (pageWrap.getModel().getFileName() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getFileName, pageWrap.getModel().getFileName());
-        }
-        if (pageWrap.getModel().getFileSize() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getFileSize, pageWrap.getModel().getFileSize());
-        }
-        if (pageWrap.getModel().getCategoryId() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getCategoryId, pageWrap.getModel().getCategoryId());
-        }
-        if (pageWrap.getModel().getCompanyId() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getCompanyId, pageWrap.getModel().getCompanyId());
-        }
-        if (pageWrap.getModel().getContent() != null) {
-            queryWrapper.lambda().eq(CompanyDocuments::getContent, pageWrap.getModel().getContent());
-        }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
-        return PageData.from(companyDocumentsMapper.selectPage(page, queryWrapper));
+        return PageData.from(iPage);
     }
 
     @Override

--
Gitblit v1.9.3