浏览代码

入离职功能调整

wangqiang 1 年之前
父节点
当前提交
f96452542b
共有 16 个文件被更改,包括 122 次插入19 次删除
  1. 5 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/RoleApiFallbackFactory.java
  2. 8 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IRoleApi.java
  3. 1 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/service/dto/OfficeDTO.java
  4. 6 4
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/service/HandoverRecoveryService.java
  5. 8 6
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/service/HandoverService.java
  6. 3 0
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/registration/domain/DepartRegistration.java
  7. 1 0
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/registration/mapper/xml/DepartMapper.xml
  8. 5 3
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/service/EnrollmentRegistrationService.java
  9. 4 2
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/service/EnrollmentRiceCardService.java
  10. 57 3
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/practice/register/service/RegistrationService.java
  11. 1 0
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/practice/register/service/dto/RegistrationDto.java
  12. 5 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/RoleApiImpl.java
  13. 9 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/RoleMapper.java
  14. 2 1
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/OfficeMapper.xml
  15. 3 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/RoleMapper.xml
  16. 4 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/RoleService.java

+ 5 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/RoleApiFallbackFactory.java

@@ -27,6 +27,11 @@ public class RoleApiFallbackFactory implements FallbackFactory <IRoleApi> {
             }
 
             @Override
+            public RoleDTO getRoleDTOByName2(String name) {
+                return null;
+            }
+
+            @Override
             public RoleDTO getRoleDTOById(String id) {
                 return null;
             }

+ 8 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IRoleApi.java

@@ -16,6 +16,14 @@ public interface IRoleApi {
      */
     @GetMapping(value = "/feign/sys/role/getRoleDTOByName")
     RoleDTO getRoleDTOByName(@RequestParam(value = "name") String name);
+
+    /**
+     * 获取角色
+     *
+     * @return
+     */
+    @GetMapping(value = "/sys/role/getRoleDTOByName2")
+    RoleDTO getRoleDTOByName2(@RequestParam(value = "name") String name);
     /**
      * 获取角色
      *

+ 1 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/service/dto/OfficeDTO.java

@@ -27,6 +27,7 @@ public class OfficeDTO extends TreeDTO <OfficeDTO> {
      */
     private String isPublic;
 
+    private String tenantId;
     /**
      * 归属区域
      */

+ 6 - 4
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/service/HandoverRecoveryService.java

@@ -10,8 +10,10 @@ import com.jeeplus.human.depart.handover.domain.HandoverRecovery;
 import com.jeeplus.human.depart.handover.mapper.HandoverMapper;
 import com.jeeplus.human.depart.handover.mapper.HandoverRecoveryMapper;
 import com.jeeplus.human.enrollment.enrollmentRegistration.mapper.EnrollmentRegistrationMapper;
+import com.jeeplus.sys.feign.IPostApi;
 import com.jeeplus.sys.feign.IRoleApi;
 import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.PostDTO;
 import com.jeeplus.sys.service.dto.RoleDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import org.apache.commons.lang3.StringUtils;
@@ -106,9 +108,9 @@ public class HandoverRecoveryService extends ServiceImpl<HandoverRecoveryMapper,
             //根据用户id将在职状态改为离职
             Handover handover = handoverMapper.getById(report.getHandoverId());
             registrationMapper.updateByUserId(handover.getCreateById());
-            //发送通知给角色【考勤统计人】
-            RoleDTO roleInfo = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName("考勤统计人");
-            String userId = getAssignee(roleInfo.getId());
+            //发送通知给岗位【考勤统计人】
+            PostDTO postInfo = SpringUtil.getBean(IPostApi.class).getPostDTOByName("考勤统计人");
+            String userId = getAssignee(postInfo.getId());
 
             String uuid = UUID.randomUUID().toString();
             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
@@ -145,7 +147,7 @@ public class HandoverRecoveryService extends ServiceImpl<HandoverRecoveryMapper,
     }
 
     public String getAssignee(String roleId){
-        List<UserDTO> userDTOS = SpringUtil.getBean(IUserApi.class).findListByRoleId(roleId);
+        List<UserDTO> userDTOS = SpringUtil.getBean(IUserApi.class).findListFlowAbleByPostId(roleId);
         StringJoiner idJoiner = new StringJoiner(",");
         for (UserDTO user : userDTOS) {
             idJoiner.add(String.valueOf(user.getId()));

+ 8 - 6
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/service/HandoverService.java

@@ -8,8 +8,10 @@ import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.human.depart.handover.domain.*;
 import com.jeeplus.human.depart.handover.mapper.HandoverMapper;
 import com.jeeplus.human.enrollment.enrollmentRegistration.utils.HunamFreemarkerUtil;
+import com.jeeplus.sys.feign.IPostApi;
 import com.jeeplus.sys.feign.IRoleApi;
 import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.PostDTO;
 import com.jeeplus.sys.service.dto.RoleDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import freemarker.template.Configuration;
@@ -164,7 +166,7 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
             String computerBusinessId = computerId;
             String computerTitle = "电脑欠款回收";
             //根据角色查用户信息
-            RoleDTO computerRoleInfo = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName("电脑款项审查员");
+            PostDTO computerRoleInfo = SpringUtil.getBean(IPostApi.class).getPostDTOByName("电脑款项审查员");
             String computerAssignee = getAssignee(computerRoleInfo.getId());
 
             String computerRecordType = "";
@@ -192,7 +194,7 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
             String accountsBusinessId = accountsId;
             String accountsTitle = "应收账款检查";
             //根据角色查用户信息
-            RoleDTO accountsRoleInfo = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName("应收账款审查员");
+            PostDTO accountsRoleInfo = SpringUtil.getBean(IPostApi.class).getPostDTOByName("应收账款审查员");
 
             String accountsAssignee = getAssignee(accountsRoleInfo.getId());
 
@@ -220,7 +222,7 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
             String socialSecurityBusinessId = socialSecurityId;
             String socialSecurityTitle = "社保款项检查";
             //根据角色查用户信息
-            RoleDTO socialSecurityRoleInfo = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName("社保欠款审查员");
+            PostDTO socialSecurityRoleInfo = SpringUtil.getBean(IPostApi.class).getPostDTOByName("社保欠款审查员");
 
             String socialSecurityAssignee = getAssignee(socialSecurityRoleInfo.getId());
 
@@ -249,8 +251,8 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
             String handoverImprestBusinessId = handoverImprestId;
             String handoverImprestTitle = "备用金检查";
             //根据角色查用户信息
-            RoleDTO roleInfo = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName("备用金审查员");
-            String handoverImprestAssignee = getAssignee(roleInfo.getId());
+            PostDTO postInfo = SpringUtil.getBean(IPostApi.class).getPostDTOByName("备用金审查员");
+            String handoverImprestAssignee = getAssignee(postInfo.getId());
 
             String handoverImprestRecordType = "";
             Map<String, String> handoverImprestNewMap = pingMap(handoverImprestProcDefId, handoverImprestProcDefKey,
@@ -278,7 +280,7 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
 
 
     public String getAssignee(String roleId){
-        List<UserDTO> userDTOS = SpringUtil.getBean(IUserApi.class).findListByRoleId(roleId);
+        List<UserDTO> userDTOS = SpringUtil.getBean(IUserApi.class).findListFlowAbleByPostId(roleId);
         StringJoiner idJoiner = new StringJoiner(",");
         for (UserDTO user : userDTOS) {
             idJoiner.add(String.valueOf(user.getId()));

+ 3 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/registration/domain/DepartRegistration.java

@@ -46,4 +46,7 @@ public class DepartRegistration extends BaseEntity {
     private String handoverType;  //离职交接表状态
     @TableField(exist = false)
     private String handoverTaskId;  //离职交接表流程id
+
+    @TableField(exist = false)
+    private String mobile;
 }

+ 1 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/registration/mapper/xml/DepartMapper.xml

@@ -30,6 +30,7 @@
         d.ID_ AS task_id,
         e.ID_ AS handover_task_id,
         su.name as projectManagerName,
+        su.mobile as mobile,
         so.name as departmentName,
         dh.id as handoverId,
         dh.proc_ins_id as handoverProcInsId,

+ 5 - 3
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/service/EnrollmentRegistrationService.java

@@ -16,9 +16,11 @@ import com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentWage
 import com.jeeplus.human.enrollment.enrollmentRegistration.mapper.EnrollmentRegistrationMapper;
 import com.jeeplus.human.enrollment.enrollmentRegistration.mapper.EnrollmentSocialSecurityCardMapper;
 import com.jeeplus.sys.feign.IOfficeApi;
+import com.jeeplus.sys.feign.IPostApi;
 import com.jeeplus.sys.feign.IRoleApi;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.service.dto.OfficeDTO;
+import com.jeeplus.sys.service.dto.PostDTO;
 import com.jeeplus.sys.service.dto.RoleDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import org.apache.commons.lang3.StringUtils;
@@ -169,12 +171,12 @@ public class EnrollmentRegistrationService extends ServiceImpl<EnrollmentRegistr
                 }else if (office.getTenantDTO().getId().equals("10004")) {
                     officeName = "中审";
                 }
-                RoleDTO roleDTO = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName("门卡管理员");
-                List<UserDTO> listByRoleId = SpringUtil.getBean(IUserApi.class).findListByRoleId(roleDTO.getId());
+                PostDTO postDTO = SpringUtil.getBean(IPostApi.class).getPostDTOByName("门卡管理员");
+                List<UserDTO> listByPostId = SpringUtil.getBean(IUserApi.class).findListFlowAbleByPostId(postDTO.getId());
 
                 String randomCode = report.getName() + "你好!欢迎入职" + officeName + ",请尽快登录公司系统:" + "www.baidu.com"
                         + "完善个人信息(包括社保卡号与工资卡号)并修改初始密码,系统初始账号密码为:" + report.getName() +
-                        "/123456,人事部门已在为你办理门禁卡,办理成功后将由系统告知,在收到系统通知后,请及时到办公室"+ listByRoleId.get(0).getName() +"处领取门禁卡!"+
+                        "/123456,人事部门已在为你办理门禁卡,办理成功后将由系统告知,在收到系统通知后,请及时到办公室"+ listByPostId.get(0).getName() +"处领取门禁卡!"+
                         "注:工资卡需同时提供中信银行、招商银行卡号";
                 Map<String, Object> stringObjectMap = SpringUtil.getBean(IUserApi.class).sendRandomCodes(report.getMobilePhone(), randomCode);
                 String statusCode = (String) stringObjectMap.get("statusCode");

+ 4 - 2
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/service/EnrollmentRiceCardService.java

@@ -9,8 +9,10 @@ import com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentKeyC
 import com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentRegistration;
 import com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentRiceCard;
 import com.jeeplus.human.enrollment.enrollmentRegistration.mapper.EnrollmentRiceCardMapper;
+import com.jeeplus.sys.feign.IPostApi;
 import com.jeeplus.sys.feign.IRoleApi;
 import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.PostDTO;
 import com.jeeplus.sys.service.dto.RoleDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import org.apache.commons.lang3.StringUtils;
@@ -98,8 +100,8 @@ public class EnrollmentRiceCardService extends ServiceImpl<EnrollmentRiceCardMap
         if (report.getType().equals("5")){
             //发送短信
             EnrollmentRegistration registration = enrollmentRegistrationService.getById(report.getEnrollmentRegistrationId());
-            RoleDTO roleDTO = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName("考勤统计员");
-            List<UserDTO> listByRoleId = SpringUtil.getBean(IUserApi.class).findListByRoleId(roleDTO.getId());
+            PostDTO postDTO = SpringUtil.getBean(IPostApi.class).getPostDTOByName("考勤统计人");
+            List<UserDTO> listByRoleId = SpringUtil.getBean(IUserApi.class).findListFlowAbleByPostId(postDTO.getId());
             String randomCode = "员工:" + registration.getName() + "已办理入职!";
             Map<String, Object> stringObjectMap = SpringUtil.getBean(IUserApi.class).sendRandomCodes(listByRoleId.get(0).getMobile(), randomCode);
             String statusCode = (String) stringObjectMap.get("statusCode");

+ 57 - 3
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/practice/register/service/RegistrationService.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jeeplus.common.SecurityUtils;
 import com.jeeplus.common.TokenProvider;
 import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.human.practice.register.domain.Registration;
 import com.jeeplus.human.practice.register.domain.RegistrationExperience;
 import com.jeeplus.human.practice.register.domain.RegistrationFamilyMembers;
@@ -162,9 +163,9 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
                 //发送短信通知
                 String officeName = "";
                 OfficeDTO office = SpringUtil.getBean(IOfficeApi.class).getOfficeById(report.getPracticeOffice());
-                if (office.getTenantDTO().getId().equals("10003")){
+                if (office.getTenantId().equals("10003")){
                     officeName = "兴光会计";
-                }else if (office.getTenantDTO().getId().equals("10004")) {
+                }else if (office.getTenantId().equals("10004")) {
                     officeName = "中审";
                 }
 
@@ -233,7 +234,7 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
     @Transactional(rollbackFor = Exception.class)
     public Registration add(Registration reportData) throws Exception{
 
-//        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        String currentToken = TokenProvider.getCurrentToken();
 
         Registration report = new Registration();
         BeanUtils.copyProperties(reportData, report);
@@ -244,6 +245,9 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
         report.setUpdateById("1");
         report.setUpdateTime(new Date());
 
+        String uid = UUID.randomUUID().toString().replace("-", "");
+        report.setId(uid);
+
         //先删除家庭成员信息,在重新添加
         familyMembersMapper.deleteByRegisterId(report.getId());
         List<RegistrationFamilyMembers> familyMembers = reportData.getFamilyMembers();
@@ -281,11 +285,61 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
             }
         }
 
+
+
+        if (null == currentToken) {
+            //发起实习登记流程
+            Map map = SpringUtil.getBean(IFlowableApi.class).getByNameForFen("实习登记");
+            String procDefId = map.get("id")+"";
+
+            report.setProcessDefinitionId(procDefId);
+
+            Map<String ,Map<String,String >>  allMap = new HashMap<>();
+
+            String procDefKey = map.get("key")+"";
+            String businessTable = "human_resources_practice_registration";
+
+            String businessId = uid;
+            String title = "实习登记";
+
+            //获取实习信息审核员信息
+            RoleDTO roleDTO = SpringUtil.getBean(IRoleApi.class).getRoleDTOByName2("实习信息审核员");
+            String assignee = getAssignee(roleDTO.getId());
+            String recordType = "";
+
+            Map<String, String> newMap = pingMap(procDefId, procDefKey, businessTable, businessId, title, assignee, recordType);
+            allMap.put("底稿",newMap);
+            SpringUtil.getBean(IFlowableApi.class).startForFenNew(allMap);
+        }
         mapper.insert(report);
 
+
         return report;
     }
 
+    public Map<String,String> pingMap(String procDefId,String procDefKey,String businessTable,
+                                      String businessId,String title,String assignee,String recordType){
+        Map<String,String> map = new HashMap();
+        map.put("procDefId", procDefId);
+        map.put("procDefKey", procDefKey);
+        map.put("businessTable", businessTable);
+        map.put("businessId", businessId);
+        map.put("title", title);
+        map.put("assignee", assignee);
+        map.put("recordType", recordType);
+        return map;
+    }
+
+    public String getAssignee(String roleId){
+        List<UserDTO> userDTOS = SpringUtil.getBean(IUserApi.class).findListByRoleId(roleId);
+        StringJoiner idJoiner = new StringJoiner(",");
+        for (UserDTO user : userDTOS) {
+            idJoiner.add(String.valueOf(user.getId()));
+        }
+
+        return idJoiner.toString();
+    }
+
     /**
      * 根据实习生的用户id修改实习状态
      * @param createById

+ 1 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/practice/register/service/dto/RegistrationDto.java

@@ -17,6 +17,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 @Data
 public class RegistrationDto extends BaseDTO {
 
+    private String createById;
     private String name;                //姓名
     private String sex;                 //性别
     private String idCard;              //身份证号码

+ 5 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/RoleApiImpl.java

@@ -21,6 +21,11 @@ public class RoleApiImpl implements IRoleApi {
     }
 
     @Override
+    public RoleDTO getRoleDTOByName2(String name) {
+        return roleService.getRoleByName2(name);
+    }
+
+    @Override
     public RoleDTO getRoleDTOById(String id) {
         return RoleWrapper.INSTANCE.toDTO ( roleService.lambdaQuery ( ).eq ( Role::getTenantId, TenantUtils.getTenantId ( ) ).eq ( Role::getId, id ).one ( ) );
     }

+ 9 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/RoleMapper.java

@@ -3,8 +3,10 @@
  */
 package com.jeeplus.sys.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.sys.domain.Role;
+import com.jeeplus.sys.service.dto.RoleDTO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -55,4 +57,11 @@ public interface RoleMapper extends BaseMapper <Role> {
 
     int insertRoleDataRule(@Param("roleId") String roleId, @Param("dataRuleId") String dataRuleId);
 
+    /**
+     * 扫码登录用
+     * @param name
+     * @return
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    RoleDTO getRoleByName2(@Param("name") String name);
 }

+ 2 - 1
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/OfficeMapper.xml

@@ -28,7 +28,8 @@
         a.remarks as "remarks",
         a.del_flag as "delFlag",
         a.is_public as "isPublic",
-        a.administrator as "administrator"
+        a.administrator as "administrator",
+        a.tenant_id
     </sql>
 
     <select id="getSecondLevelData" resultType="com.jeeplus.sys.service.dto.OfficeDTO">

+ 3 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/RoleMapper.xml

@@ -26,6 +26,9 @@
         WHERE a.id = #{id}
           AND (SELECT count(*) FROM sys_menu b WHERE b.parent_id = rm.menu_id AND b.del_flag = 0) = 0
     </select>
+    <select id="getRoleByName2" resultType="com.jeeplus.sys.service.dto.RoleDTO">
+        select id from sys_role where name = #{name}
+    </select>
 
     <!--维护角色与菜单权限关系-->
     <delete id="deleteRoleMenu">

+ 4 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/RoleService.java

@@ -163,4 +163,8 @@ public class RoleService extends ServiceImpl <RoleMapper, Role> {
         return userDTO;
     }
 
+    public RoleDTO getRoleByName2(String name) {
+        RoleDTO roleDTO = baseMapper.getRoleByName2(name);
+        return roleDTO;
+    }
 }