Sfoglia il codice sorgente

个人信息页调整和入职登记功能调整

huangguoce 2 settimane fa
parent
commit
e73d490cc2

+ 12 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/controller/EnrollmentRegistrationController.java

@@ -340,6 +340,18 @@ public class EnrollmentRegistrationController {
         return service.findByUserId(userId);
     }
 
+    /**
+     * 根据人员id查询是否有对应信息
+     * @param userId
+     * @return
+     */
+    @ApiOperation(value = "根据用户id查询对应信息")
+    @GetMapping("/findInfoByUserId")
+    public ResponseEntity<EnrollmentRegistration> findInfoByUserId(@RequestParam String userId) throws Exception{
+        EnrollmentRegistration dto = service.findInfoByUserId(userId);
+        return ResponseEntity.ok(dto);
+    }
+
     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();

+ 3 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/mapper/EnrollmentRegistrationMapper.java

@@ -36,6 +36,9 @@ public interface EnrollmentRegistrationMapper extends BaseMapper<EnrollmentRegis
     @InterceptorIgnore(tenantLine = "true")
     EnrollmentRegistration getById(@Param("id") String id);
 
+    @InterceptorIgnore(tenantLine = "true")
+    EnrollmentRegistration getInfoByUserId(@Param("userId") String userId);
+
     void updateStatusById(@Param("id") String id, @Param("type") String type);
 
     void removeById(@Param("id") String id);

+ 25 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/mapper/xml/EnrollmentRegistrationMapper.xml

@@ -119,6 +119,28 @@
         left join human_resources_enrollment_wage_card c on a.id = c.enrollment_registration_id and c.del_flag = '0'
         where a.id = #{id} and a.del_flag = '0'
     </select>
+    <select id="getInfoByUserId"
+            resultType="com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentRegistration">
+        select
+        <include refid="Base_Column_List"></include>,
+        b.social_security_number,
+        b.social_security_bank_number,
+        b.social_security_picture_front,
+        b.social_security_picture_opposite as socialSecurityPictureOpposite,
+        c.zx_bank_card_number as zxBankCardNumber,
+        c.zx_account_holder as zxAccountHolder,
+        c.account_holder_front as accountHolderFront,
+        c.account_holder_opposite as accountHolderOpposite,
+        c.gs_bank_card_number as gsBankCardNumber,
+        c.gs_account_holder as gsAccountHolder,
+        c.gs_account_holder_front as gsAccountHolderFront,
+        c.gs_account_holder_opposite as gsAccountHolderOpposite,
+        c.id as wageCardId
+        from human_resources_enrollment_registration a
+        left join human_resources_enrollment_social_security_card b on a.id = b.enrollment_registration_id and b.del_flag = '0'
+        left join human_resources_enrollment_wage_card c on a.id = c.enrollment_registration_id and c.del_flag = '0'
+        where a.user_id = #{userId} and a.del_flag = '0'
+    </select>
     <select id="getFormalUserInfo"
             resultType="com.jeeplus.human.enrollment.enrollmentRegistration.domain.EnrollmentRegistration">
         SELECT
@@ -155,6 +177,9 @@
         FROM `human_resources_enrollment_registration`  a
         WHERE a.user_id = #{userId} and a.del_flag = '0'
     </select>
+
+
+
     <delete id="delByUserId">
         UPDATE human_resources_enrollment_registration SET del_flag = '1'
 		WHERE user_id = #{id}

+ 67 - 4
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/enrollment/enrollmentRegistration/service/EnrollmentRegistrationService.java

@@ -5,8 +5,10 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dingtalk.api.response.OapiV2DepartmentListsubResponse;
@@ -634,6 +636,33 @@ public class EnrollmentRegistrationService extends ServiceImpl<EnrollmentRegistr
         return integer;
     }
 
+    public EnrollmentRegistration findInfoByUserId(String id) throws Exception {
+        // 查询基础信息表
+        EnrollmentRegistration info = mapper.getInfoByUserId(id);
+        //根据用户查询岗位和角色信息
+        if (ObjectUtil.isNotEmpty(info)) {
+            UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getById(info.getUserId());
+            ArrayList<String> roles = new ArrayList<>();
+            ArrayList<String> posts = new ArrayList<>();
+            if (userDTO != null) {
+                if (CollectionUtil.isNotEmpty(userDTO.getRoleDTOList())) {
+                    for (RoleDTO roleDTO : userDTO.getRoleDTOList()) {
+                        roles.add(roleDTO.getId());
+                    }
+                }
+                if (CollectionUtil.isNotEmpty(userDTO.getPostDTOList())) {
+                    for (PostDTO postDTO : userDTO.getPostDTOList()) {
+                        posts.add(postDTO.getId());
+                    }
+                }
+            }
+            info.setRoleIdList(roles);
+            info.setPostIdList(posts);
+        }
+
+        return info;
+    }
+
     public void updateStatusById(EnrollmentRegistration dto) {
         EnrollmentRegistration registration = mapper.getById(dto.getId());
         mapper.updateStatusById(dto.getId(), dto.getType());
@@ -754,6 +783,10 @@ public class EnrollmentRegistrationService extends ServiceImpl<EnrollmentRegistr
         mapper.updateById(report);
 
         if (StringUtils.isNotBlank(report.getSocialSecurityNumber())) {
+            LambdaQueryWrapper<EnrollmentSocialSecurityCard> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.eq(EnrollmentSocialSecurityCard::getEnrollmentRegistrationId, report.getId())
+                    .eq(EnrollmentSocialSecurityCard::getDelFlag, "0"); // 加上有效标志条件(如果有)
+            EnrollmentSocialSecurityCard existing = securityCardService.getOne(queryWrapper);
             EnrollmentSocialSecurityCard securityCard = new EnrollmentSocialSecurityCard();
             String amountId = SnowFlake.getId();
             securityCard.setId(amountId);
@@ -766,13 +799,38 @@ public class EnrollmentRegistrationService extends ServiceImpl<EnrollmentRegistr
             securityCard.setSocialSecurityPictureFront(report.getSocialSecurityPictureFront());
             securityCard.setSocialSecurityPictureOpposite(report.getSocialSecurityPictureOpposite());
             securityCard.setEnrollmentRegistrationId(report.getId());
-
-            socialSecurityCardMapper.insert(securityCard);
+            if (existing != null) {
+                securityCard.setId(existing.getId());
+                securityCardService.updateById(securityCard);
+            } else {
+                // 不存在,走 insert
+                securityCardService.save(securityCard);
+            }
+            //socialSecurityCardMapper.insert(securityCard);
         }
 
         /**
          * 修改工资卡信息
          */
+        //EnrollmentWageCard wageCard = new EnrollmentWageCard();
+        //wageCard.setEnrollmentRegistrationId(report.getId());
+        //wageCard.setId(report.getWageCardId());
+        //wageCard.setAccountHolderFront(report.getAccountHolderFront());
+        //wageCard.setAccountHolderOpposite(report.getAccountHolderOpposite());
+        //wageCard.setZxAccountHolder(report.getZxAccountHolder());
+        //wageCard.setGsAccountHolder(report.getGsAccountHolder());
+        //wageCard.setGsAccountHolderFront(report.getGsAccountHolderFront());
+        //wageCard.setGsAccountHolderOpposite(report.getGsAccountHolderOpposite());
+        //wageCard.setZxBankCardNumber(report.getZxBankCardNumber());
+        //wageCard.setGsBankCardNumber(report.getGsBankCardNumber());
+        //wageCardService.saveOrUpdate(wageCard);
+
+
+        //// 先根据 reg_id 查找是否已存在
+        LambdaQueryWrapper<EnrollmentWageCard> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(EnrollmentWageCard::getEnrollmentRegistrationId, report.getId())
+                .eq(EnrollmentWageCard::getDelFlag, "0"); // 加上有效标志条件(如果有)
+        EnrollmentWageCard existing = wageCardService.getOne(queryWrapper);
         EnrollmentWageCard wageCard = new EnrollmentWageCard();
         wageCard.setEnrollmentRegistrationId(report.getId());
         wageCard.setId(report.getWageCardId());
@@ -784,8 +842,13 @@ public class EnrollmentRegistrationService extends ServiceImpl<EnrollmentRegistr
         wageCard.setGsAccountHolderOpposite(report.getGsAccountHolderOpposite());
         wageCard.setZxBankCardNumber(report.getZxBankCardNumber());
         wageCard.setGsBankCardNumber(report.getGsBankCardNumber());
-        wageCardService.saveOrUpdate(wageCard);
-
+        if (existing != null) {
+            wageCard.setId(existing.getId());
+            wageCardService.updateById(wageCard);
+        } else {
+            // 不存在,走 insert
+            wageCardService.save(wageCard);
+        }
 
         /**
          * 修改用户信息