Merge remote-tracking branch 'origin/main'
This commit is contained in:
		
						commit
						b498335108
					
				|  | @ -2,12 +2,12 @@ | ||||||
|   <div class="root"> |   <div class="root"> | ||||||
|     <div class="header"> |     <div class="header"> | ||||||
|       <img src="@/assets/vue.svg" alt="Logo" height="33" width="33" /> |       <img src="@/assets/vue.svg" alt="Logo" height="33" width="33" /> | ||||||
|       <div class="logo-text">超级后台</div> |       <div class="logo-text">公安后台</div> | ||||||
|     </div> |     </div> | ||||||
|     <div class="container"> |     <div class="container"> | ||||||
|       <div class="left-banner"></div> |       <div class="left-banner"></div> | ||||||
|       <div class="login-card"> |       <div class="login-card"> | ||||||
|         <div class="title">欢迎来到超级后台</div> |         <div class="title">欢迎来到公安后台</div> | ||||||
|         <a-tabs class="account-tab" v-model:active-key="activeKey"> |         <a-tabs class="account-tab" v-model:active-key="activeKey"> | ||||||
|           <a-tab-pane :key="0" tab="账号登录"> |           <a-tab-pane :key="0" tab="账号登录"> | ||||||
|             <TelephoneLogin :account="account" :password="password" /> |             <TelephoneLogin :account="account" :password="password" /> | ||||||
|  |  | ||||||
|  | @ -96,6 +96,7 @@ const columns: TableProps['columns'] = [ | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     dataIndex: 'remark', |     dataIndex: 'remark', | ||||||
|  |     title: '备注', | ||||||
|     width: 120, |     width: 120, | ||||||
|     ellipsis: true, |     ellipsis: true, | ||||||
|   }, |   }, | ||||||
|  |  | ||||||
|  | @ -0,0 +1,25 @@ | ||||||
|  | package com.changhu.common.db.enums; | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.annotation.IEnum; | ||||||
|  | import com.changhu.common.db.BaseEnum; | ||||||
|  | import lombok.AllArgsConstructor; | ||||||
|  | import lombok.Getter; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @author 20252 | ||||||
|  |  * @createTime 2024/12/19 上午9:31 | ||||||
|  |  * @desc EducationLevel... | ||||||
|  |  */ | ||||||
|  | @Getter | ||||||
|  | @AllArgsConstructor | ||||||
|  | public enum EducationLevel implements BaseEnum<String>, IEnum<String> { | ||||||
|  |     PRIMARY_SCHOOL("primary_school", "小学"), | ||||||
|  |     JUNIOR_SCHOOL("junior_school", "初中"), | ||||||
|  |     HIGH_SCHOOL("high_school", "高中"), | ||||||
|  |     COLLEGE("college", "大专"), | ||||||
|  |     UNDERGRADUATE("undergraduate", "本科"), | ||||||
|  |     UNDERGRADUATE_MORE("undergraduate_more", "本科以上"), | ||||||
|  |     ; | ||||||
|  |     private final String value; | ||||||
|  |     private final String label; | ||||||
|  | } | ||||||
|  | @ -68,4 +68,11 @@ public class OpenController { | ||||||
|         return openApiService.securityUserRoster(id, type); |         return openApiService.securityUserRoster(id, type); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     @Operation(summary = "单位下的安保人员花名册") | ||||||
|  |     @GetMapping("/unitSecurityUserRoster") | ||||||
|  |     public List<SecurityUserRosterDTO> unitSecurityUserRoster(@Schema(description = "代码") @RequestParam String code, | ||||||
|  |                                                               @Schema(description = "等级") @RequestParam Integer level) { | ||||||
|  |         return openApiService.unitSecurityUserRoster(code, level); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -51,4 +51,9 @@ public interface OpenApiMapper { | ||||||
|      */ |      */ | ||||||
|     List<SecurityUserRosterDTO> securityUserRoster(@Param("id") Long id, |     List<SecurityUserRosterDTO> securityUserRoster(@Param("id") Long id, | ||||||
|                                                    @Param("type") EnterprisesUnitOrServiceProjectType type); |                                                    @Param("type") EnterprisesUnitOrServiceProjectType type); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 单位下的服务人员花名册 | ||||||
|  |      */ | ||||||
|  |     List<SecurityUserRosterDTO> unitSecurityUserRoster(String code, Integer level); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| package com.changhu.module.miniProgram.pojo.params; | package com.changhu.module.miniProgram.pojo.params; | ||||||
| 
 | 
 | ||||||
|  | import com.changhu.common.db.enums.EducationLevel; | ||||||
| import com.changhu.common.db.enums.Sex; | import com.changhu.common.db.enums.Sex; | ||||||
| import com.changhu.common.validator.annotation.IdCard; | import com.changhu.common.validator.annotation.IdCard; | ||||||
| import io.swagger.v3.oas.annotations.media.Schema; | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | @ -66,4 +67,8 @@ public class SecurityUserSaveOrUpdateParams { | ||||||
|     @Schema(description = "备注") |     @Schema(description = "备注") | ||||||
|     private String remark; |     private String remark; | ||||||
| 
 | 
 | ||||||
|  |     @NotNull(message = "文化程度为必选") | ||||||
|  |     @Schema(description = "文化程度") | ||||||
|  |     private EducationLevel educationLevel; | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ package com.changhu.module.miniProgram.pojo.vo; | ||||||
| 
 | 
 | ||||||
| import cn.hutool.core.util.DesensitizedUtil; | import cn.hutool.core.util.DesensitizedUtil; | ||||||
| import com.changhu.common.annotation.Desensitized; | import com.changhu.common.annotation.Desensitized; | ||||||
|  | import com.changhu.common.db.enums.EducationLevel; | ||||||
| import com.changhu.common.db.enums.Sex; | import com.changhu.common.db.enums.Sex; | ||||||
| import io.swagger.v3.oas.annotations.media.Schema; | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
|  | @ -63,6 +64,9 @@ public class ServiceProjectSecurityUserPagerVo { | ||||||
|     @Schema(description = "备注") |     @Schema(description = "备注") | ||||||
|     private String remark; |     private String remark; | ||||||
| 
 | 
 | ||||||
|  |     @Schema(description = "文化程度") | ||||||
|  |     private EducationLevel educationLevel; | ||||||
|  | 
 | ||||||
|     @Schema(description = "创建时间") |     @Schema(description = "创建时间") | ||||||
|     private LocalDateTime createTime; |     private LocalDateTime createTime; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| package com.changhu.pojo.dto; | package com.changhu.pojo.dto; | ||||||
| 
 | 
 | ||||||
| import cn.hutool.core.util.DesensitizedUtil; | import cn.hutool.core.util.DesensitizedUtil; | ||||||
|  | import com.alibaba.fastjson2.annotation.JSONField; | ||||||
| import com.changhu.common.annotation.Desensitized; | import com.changhu.common.annotation.Desensitized; | ||||||
|  | import com.changhu.common.db.enums.EducationLevel; | ||||||
| import com.changhu.common.db.enums.Sex; | import com.changhu.common.db.enums.Sex; | ||||||
|  | import com.changhu.support.fastjson2.serializer.MinioPrefixSerializer; | ||||||
| import io.swagger.v3.oas.annotations.media.Schema; | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
| 
 | 
 | ||||||
|  | @ -15,6 +18,9 @@ import lombok.Data; | ||||||
| public class SecurityUserRosterDTO { | public class SecurityUserRosterDTO { | ||||||
|     @Schema(description = "id") |     @Schema(description = "id") | ||||||
|     private Long snowFlakeId; |     private Long snowFlakeId; | ||||||
|  |     @Schema(description = "照片") | ||||||
|  |     @JSONField(serializeUsing = MinioPrefixSerializer.class) | ||||||
|  |     private String photo; | ||||||
|     @Schema(description = "名称") |     @Schema(description = "名称") | ||||||
|     private String name; |     private String name; | ||||||
|     @Schema(description = "性别") |     @Schema(description = "性别") | ||||||
|  | @ -33,4 +39,6 @@ public class SecurityUserRosterDTO { | ||||||
|     private String securityUnitName; |     private String securityUnitName; | ||||||
|     @Schema(description = "保安证号") |     @Schema(description = "保安证号") | ||||||
|     private String securityNumber; |     private String securityNumber; | ||||||
|  |     @Schema(description = "文化程度") | ||||||
|  |     private EducationLevel educationLevel; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| package com.changhu.pojo.entity; | package com.changhu.pojo.entity; | ||||||
| 
 | 
 | ||||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||||
|  | import com.changhu.common.db.enums.EducationLevel; | ||||||
| import com.changhu.common.db.enums.Sex; | import com.changhu.common.db.enums.Sex; | ||||||
| import com.changhu.support.mybatisplus.pojo.entity.BaseEntity; | import com.changhu.support.mybatisplus.pojo.entity.BaseEntity; | ||||||
| import lombok.AllArgsConstructor; | import lombok.AllArgsConstructor; | ||||||
|  | @ -99,5 +100,9 @@ public class SecurityUser extends BaseEntity implements Serializable { | ||||||
|      */ |      */ | ||||||
|     private String remark; |     private String remark; | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 文化程度 | ||||||
|  |      */ | ||||||
|  |     private EducationLevel educationLevel; | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -56,4 +56,9 @@ public interface OpenApiService { | ||||||
|      * @return 花名册 |      * @return 花名册 | ||||||
|      */ |      */ | ||||||
|     List<SecurityUserRosterDTO> securityUserRoster(Long id, EnterprisesUnitOrServiceProjectType type); |     List<SecurityUserRosterDTO> securityUserRoster(Long id, EnterprisesUnitOrServiceProjectType type); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 单位下的安保人员花名册 | ||||||
|  |      */ | ||||||
|  |     List<SecurityUserRosterDTO> unitSecurityUserRoster(String code, Integer level); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -123,4 +123,10 @@ public class OpenApiServiceImpl implements OpenApiService { | ||||||
|     public List<SecurityUserRosterDTO> securityUserRoster(Long id, EnterprisesUnitOrServiceProjectType type) { |     public List<SecurityUserRosterDTO> securityUserRoster(Long id, EnterprisesUnitOrServiceProjectType type) { | ||||||
|         return openApiMapper.securityUserRoster(id, type); |         return openApiMapper.securityUserRoster(id, type); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public List<SecurityUserRosterDTO> unitSecurityUserRoster(String code, Integer level) { | ||||||
|  |         return openApiMapper.unitSecurityUserRoster(code, level); | ||||||
|  | 
 | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -166,6 +166,7 @@ | ||||||
|         select su.snow_flake_id, |         select su.snow_flake_id, | ||||||
|                su.name, |                su.name, | ||||||
|                su.sex, |                su.sex, | ||||||
|  |                su.photo, | ||||||
|                TIMESTAMPDIFF(YEAR, su.date_of_birth, CURDATE()) AS 'age', |                TIMESTAMPDIFF(YEAR, su.date_of_birth, CURDATE()) AS 'age', | ||||||
|                su.id_card, |                su.id_card, | ||||||
|                su.telephone, |                su.telephone, | ||||||
|  | @ -190,4 +191,40 @@ | ||||||
|           </choose> |           </choose> | ||||||
|         order by su.create_time desc |         order by su.create_time desc | ||||||
|     </select> |     </select> | ||||||
|  |     <select id="unitSecurityUserRoster" resultType="com.changhu.pojo.dto.SecurityUserRosterDTO"> | ||||||
|  |         select su.snow_flake_id, | ||||||
|  |                su.name, | ||||||
|  |                su.sex, | ||||||
|  |                su.photo, | ||||||
|  |                TIMESTAMPDIFF(YEAR, su.date_of_birth, CURDATE()) AS 'age', | ||||||
|  |                su.id_card, | ||||||
|  |                su.telephone, | ||||||
|  |                eu.name                                          as 'enterprisesUnitName', | ||||||
|  |                suu.name                                         as 'securityUnitName', | ||||||
|  |                su.security_number | ||||||
|  |         from   enterprises_unit eu | ||||||
|  |                    LEFT JOIN service_project sp ON sp.enterprises_unit_id = eu.snow_flake_id AND sp.delete_flag = 0 | ||||||
|  |                    JOIN security_user su ON su.service_project_id = sp.snow_flake_id AND su.delete_flag = 0 | ||||||
|  |                    LEFT JOIN security_unit suu ON su.security_unit_id = suu.snow_flake_id AND suu.delete_flag = 0 | ||||||
|  |         where eu.delete_flag = 0 | ||||||
|  |         <choose> | ||||||
|  |             <when test="level==1"> | ||||||
|  |                 and eu.province = #{code} | ||||||
|  |             </when> | ||||||
|  |             <when test="level==2"> | ||||||
|  |                 and eu.city = #{code} | ||||||
|  |             </when> | ||||||
|  |             <when test="level==3"> | ||||||
|  |                 and eu.districts = #{code} | ||||||
|  |             </when> | ||||||
|  |             <when test="level==4"> | ||||||
|  |                 and eu.street = #{code} | ||||||
|  |             </when> | ||||||
|  |             <when test="level==5"> | ||||||
|  |                 and pu.code = #{code} | ||||||
|  |             </when> | ||||||
|  |             <otherwise>and eu.snow_flake_id = -1</otherwise> | ||||||
|  |         </choose> | ||||||
|  |         order by su.create_time desc | ||||||
|  |     </select> | ||||||
| </mapper> | </mapper> | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| VITE_APP_NAME=保安管理 | VITE_APP_NAME=超级管理 | ||||||
| VITE_APP_ENV=development | VITE_APP_ENV=development | ||||||
| VITE_APP_PORT=1000 | VITE_APP_PORT=1000 | ||||||
| VITE_DROP_CONSOLE=false | VITE_DROP_CONSOLE=false | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| VITE_APP_NAME=保安管理 | VITE_APP_NAME=超级管理 | ||||||
| VITE_APP_ENV=production | VITE_APP_ENV=production | ||||||
| VITE_APP_PORT=1001 | VITE_APP_PORT=1001 | ||||||
| VITE_DROP_CONSOLE=true | VITE_DROP_CONSOLE=true | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"/> |     <meta name="viewport" content="width=device-width, initial-scale=1.0"/> | ||||||
|     <script type="module" src="/src/assets/iconfont/iconfont.js"></script> |     <script type="module" src="/src/assets/iconfont/iconfont.js"></script> | ||||||
| 
 | 
 | ||||||
|     <title>保安管理</title> |     <title>超级管理</title> | ||||||
| </head> | </head> | ||||||
| <body> | <body> | ||||||
| <div id="app"></div> | <div id="app"></div> | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| { | { | ||||||
|   "name": "super_management", |   "name": "super_management", | ||||||
|   "appName": "保安管理", |   "appName": "超级管理后台", | ||||||
|   "private": true, |   "private": true, | ||||||
|   "version": "1.0.0", |   "version": "1.0.0", | ||||||
|   "type": "module", |   "type": "module", | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue