Kaynağa Gözat

封装人员选择组件,离职功能添加审批交接以及福利结算

lizhenhao 2 yıl önce
ebeveyn
işleme
8b27ca1e25

+ 15 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/changes/dimission/domain/ChangesDimission.java

@@ -71,5 +71,20 @@ public class ChangesDimission extends BaseEntity {
      */
     private Date requestDate;
 
+    /**
+     * 审批交接人
+     */
+    private String handoverId;
+
+    /**
+     * 社保最后缴纳月
+     */
+    private String socialSecurityLast;
+
+    /**
+     * 公积金最后缴纳月
+     */
+    private String providentFundLast;
+
     private static final long serialVersionUID = 1L;
 }

+ 7 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/changes/dimission/mapper/xml/ChangesDimissionMapper.xml

@@ -28,6 +28,9 @@
             <result property="rosterBaseDTO.onboardingDate" column="rb_onboarding_date" jdbcType="TIMESTAMP"/>
             <result property="soName" column="so_name" jdbcType="VARCHAR"/>
             <result property="jpName" column="jp_name" jdbcType="VARCHAR"/>
+            <result column="handover_id" jdbcType="VARCHAR" property="handoverId" />
+            <result column="social_security_last" jdbcType="TIMESTAMP" property="socialSecurityLast" />
+            <result column="provident_fund_last" jdbcType="TIMESTAMP" property="providentFundLast" />
             <collection property="changesDimissionReaDTOList" ofType="com.jeeplus.test.changes.dimission.service.dto.ChangesDimissionReaDTO" column="id" select="getRea"></collection>
             <collection property="changesDimissionFilesDTOList" ofType="com.jeeplus.test.changes.dimission.service.dto.ChangesDimissionFilesDTO" column="id" select="getFiles"></collection>
     </resultMap>
@@ -49,7 +52,10 @@
         cd.handover_status,
         cd.status,
         cd.payroll_settlement_date,
-        cd.request_date
+        cd.request_date,
+        cd.handover_id,
+        cd.social_security_last,
+        cd.provident_fund_last
     </sql>
     <sql id="Rea_Column_List">
         cdr.id,

+ 17 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/changes/dimission/service/dto/ChangesDimissionDTO.java

@@ -74,6 +74,21 @@ public class ChangesDimissionDTO extends BaseDTO {
     private Date requestDate;
 
     /**
+     * 审批交接人
+     */
+    private String handoverId;
+
+    /**
+     * 社保最后缴纳月
+     */
+    private String socialSecurityLast;
+
+    /**
+     * 公积金最后缴纳月
+     */
+    private String providentFundLast;
+
+    /**
      * 离职原因详情
      */
     private List<ChangesDimissionReaDTO> changesDimissionReaDTOList;
@@ -103,5 +118,7 @@ public class ChangesDimissionDTO extends BaseDTO {
      */
     private List<ChangesDimissionFilesDTO> changesDimissionFilesDTOList;
 
+
+
     private static final long serialVersionUID = 1L;
 }

+ 17 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/roster/controller/RosterBaseController.java

@@ -9,10 +9,13 @@ import com.google.common.collect.Lists;
 import com.jeeplus.aop.logging.annotation.ApiLog;
 import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.sys.constant.enums.LogTypeEnum;
+import com.jeeplus.sys.domain.Office;
 import com.jeeplus.sys.domain.User;
+import com.jeeplus.sys.service.OfficeService;
 import com.jeeplus.sys.service.UserService;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.service.mapstruct.UserWrapper;
+import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.test.oss.service.OssService;
 import com.jeeplus.test.rank.domain.Rank;
 import com.jeeplus.test.rank.domain.RankRRs;
@@ -58,6 +61,9 @@ public class RosterBaseController {
     @Autowired
     private OssService ossService;
 
+    @Autowired
+    private OfficeService officeService;
+
     /**
      * 查询花名册列表
      * @param rosterBaseDTO
@@ -71,6 +77,17 @@ public class RosterBaseController {
     public ResponseEntity<IPage<RosterBaseDTO>> data(RosterBaseDTO rosterBaseDTO, Page<RosterBaseDTO> page) throws Exception {
         RosterBase rosterBase = RosterBaseWrapper.INSTANCE.toEntity(rosterBaseDTO);
         QueryWrapper<RosterBase> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( rosterBase, RosterBase.class );
+        if(ObjectUtil.isNotEmpty(rosterBaseDTO)){
+            if(StringUtils.isNotBlank(rosterBaseDTO.getCompanyId())){
+                List<Office> list = officeService.list(new QueryWrapper<Office>().lambda().like(Office::getParentIds, rosterBaseDTO.getCompanyId()).eq(Office::getDelFlag, '0'));
+                List<String> ids = list.stream().map(Office::getId).collect(Collectors.toList());
+                queryWrapper.in("so.id",ids);
+            }else if(StringUtils.isNotBlank(rosterBaseDTO.getOfficeId())){
+                List<Office> list = officeService.list(new QueryWrapper<Office>().lambda().eq(Office::getId, rosterBaseDTO.getOfficeId()).eq(Office::getDelFlag, '0'));
+                List<String> ids = list.stream().map(Office::getId).collect(Collectors.toList());
+                queryWrapper.in("so.id",ids);
+            }
+        }
         IPage<RosterBaseDTO> result = rosterBaseService.findList (page,queryWrapper);
         return ResponseEntity.ok (result);
     }

+ 4 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/roster/mapper/xml/RosterBaseMapper.xml

@@ -48,6 +48,7 @@
     <result column="wechat" jdbcType="VARCHAR" property="wechat" />
     <result column="email" jdbcType="VARCHAR" property="email" />
     <result column="headshot" jdbcType="VARCHAR" property="headshot" />
+    <result column="office_name" jdbcType="VARCHAR" property="officeName" />
     <association property="rosterContractDTO" javaType="com.jeeplus.test.roster.service.dto.RosterContractDTO" column="id" select="getContractDTO"></association>
     <association property="rosterLeadershipDTO" javaType="com.jeeplus.test.roster.service.dto.RosterLeadershipDTO" column="id" select="getLeadershipDTO"></association>
     <collection property="rosterBankCardsDTOList" ofType="com.jeeplus.test.roster.service.dto.RosterBankCardsDTO" column="id" select="getBankCardsList"></collection>
@@ -299,8 +300,10 @@
 
   <select id="findList" resultMap="BaseResultMap">
     select
-    <include refid="Base_Column_List"></include>
+    <include refid="Base_Column_List"></include>,
+    so.name office_name
     from roster_base rb
+    left join sys_office so on rb.office_id = so.id and so.del_flag = '0'
     ${ew.customSqlSegment}
   </select>
 

+ 10 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/roster/service/RosterBaseService.java

@@ -59,7 +59,16 @@ public class RosterBaseService extends ServiceImpl<RosterBaseMapper, RosterBase>
 
     public IPage<RosterBaseDTO> findList(Page<RosterBaseDTO> page, QueryWrapper<RosterBase> queryWrapper){
         queryWrapper.eq("rb.del_flag","0");
-        return rosterBaseMapper.findList(page,queryWrapper);
+        IPage<RosterBaseDTO> rosterBaseDTOIPage = rosterBaseMapper.findList(page, queryWrapper);
+        if(CollectionUtil.isNotEmpty(rosterBaseDTOIPage.getRecords())){
+            rosterBaseDTOIPage.getRecords().stream().forEach(item->{
+                if(StringUtils.isNotBlank(item.getHeadshot())){
+                    String fileTemporaryLookUrl = ossService.getFileTemporaryLookUrl(item.getHeadshot());
+                    item.setHeadshotLsUrl(fileTemporaryLookUrl);
+                }
+            });
+        }
+        return rosterBaseDTOIPage;
     }
 
     public RosterBaseDTO queryById(String id){

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/roster/service/dto/RosterBaseDTO.java

@@ -33,6 +33,11 @@ public class RosterBaseDTO extends BaseDTO {
     private String officeId;
 
     /**
+     * 公司id
+     */
+    private String companyId;
+
+    /**
      * 职位id
      */
     private String jobPositionId;
@@ -272,5 +277,10 @@ public class RosterBaseDTO extends BaseDTO {
      */
     private RosterLeadershipDTO rosterLeadershipDTO;
 
+    /**
+     * 所属部门
+     */
+    private String officeName;
+
     private static final long serialVersionUID = 1L;
 }