Commit af9a45bd authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/MVP1.7.8' into MVP1.7.8

parents a736e392 3f4e1eef
......@@ -26,7 +26,7 @@ public class EmployeeRegistrationPre extends BaseEntity {
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "主键ID")
private String id;
private Integer id;
@Schema(description = "员工姓名")
private String employeeName;
......
......@@ -58,6 +58,14 @@ public class TRegistWarningEmployee extends BaseEntity {
@ExcelProperty("身份证")
@Schema(description = "身份证")
private String empIdcard;
/**
* 项目id
*/
@ExcelAttribute(name = "项目id", maxLength = 50)
@Length(max = 50, message = "项目id不能超过50个字符")
@ExcelProperty("项目id")
@Schema(description = "项目id")
private String deptId;
/**
* 联系方式
*/
......@@ -97,4 +105,7 @@ public class TRegistWarningEmployee extends BaseEntity {
@Schema(description = "短信回执内容")
private String message;
@Schema(description = "类型 1 待建档 2 带完整")
private String type;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hgw
* @Date 2022-10-21 09:50:08
* @Description 通用Vo
* @Version 1.0
*/
@Data
public class EmployeeInfoMsgVo implements Serializable {
private String deptId;
private String name;
private String card;
private String phone;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
......@@ -45,9 +46,10 @@ public class EmployeeRegistrationProjectListVo implements Serializable {
@ExcelProperty("手机号码")
private String empPhone;
@ExcelAttribute(name = "入职日期", isDate = true)
@ExcelAttribute(name = "入职日期")
@Schema(description = "入职日期")
@ExcelProperty("入职日期")
@DateTimeFormat("yyyy-MM-dd")
private Date joinLeaveDate;
@ExcelAttribute(name = "员工类型", isDataId = true, dataType = ExcelAttributeConstants.EMP_NATRUE)
......
......@@ -13,7 +13,7 @@ import java.io.Serializable;
@Data
public class SendMessageUpdateVo implements Serializable {
// 签名
private String id;
private Integer id;
//项目编码
private String deptNo;
}
......@@ -167,7 +167,7 @@ public class EmployeeRegistrationPreController {
@Operation(summary = "批量发送入职信息收集短信", description = "批量发送入职信息收集短信")
@SysLog("批量发送入职信息收集短信" )
@PostMapping("/batchSms")
public R batchSendMessage(@RequestBody List<SendMessageUpdateVo> vo,String type) {
public R batchSendMessage(@RequestBody List<SendMessageUpdateVo> vo,@RequestParam String type) {
return employeeRegistrationPreService.batchSendMessage(vo, type);
}
......@@ -184,4 +184,17 @@ public class EmployeeRegistrationPreController {
return R.ok(employeeRegistrationPreService.judgeIsSimple(empIdCard, deptId));
}
/**
* 查询身份信息
*
* @author huych
* @date 2025-03-13 16:55:32
**/
@Operation(summary = "查询身份信息")
@SysLog("查询身份信息")
@PostMapping("/getEmployeeInfo")
public R getEmployeeInfo(@RequestBody String id) {
return employeeRegistrationPreService.getEmployeeInfo(id);
}
}
......@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreInfoExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.MessageTempleteVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -49,6 +46,8 @@ public interface EmployeeRegistrationPreMapper extends BaseMapper<EmployeeRegist
MessageTempleteVo selectTempleteVo(@Param("id") String id);
EmployeeInfoMsgVo getEmployeeArchivesInfo(@Param("id") String id);
/**
* @Description: 判断简档详档-优先从档案维护任务表
* @Author: hgw
......
......@@ -85,6 +85,10 @@ public interface EmployeeRegistrationPreService extends IService<EmployeeRegistr
void updatePreStatusToEnd(String deptNo, String empIdcard);
R getEmployeeInfo(String cardOrId);
/**
* @param empIdCard 身份证
* @param deptId 项目ID
......
......@@ -6,5 +6,5 @@ public interface ScheduleService {
void scheduleTask(EmployeeRegistrationPre record);
void executeTask(String aId);
void executeTask(Integer aId);
}
......@@ -219,8 +219,17 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
@Override
public Boolean saveRegistPreInfo(EmployeeRegistrationPreVo preVo) {
//判断是否存在入职确认信息
EmployeeRegistrationPre preExit = baseMapper.selectOne(Wrappers.<EmployeeRegistrationPre>query().lambda()
.eq(EmployeeRegistrationPre::getEmpIdcard, preVo.getEmpIdcard())
.eq(EmployeeRegistrationPre::getDeptNo, preVo.getDeptNo())
.last(CommonConstants.LAST_ONE_SQL));
EmployeeRegistrationPre pre = new EmployeeRegistrationPre();
if (Common.isNotNull(preExit)) {
pre.setId(pre.getId());
baseMapper.deleteById(pre);
}
BeanUtils.copyProperties(preVo,pre);
if (Common.isNotNull(preVo.getExpectedCollectionTime())) {
pre.setExpectedCollectionTime(LocalDateTimeUtils.dateToLocalDateTime(preVo.getExpectedCollectionTime()));
......@@ -333,7 +342,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
employeeRegistrationPre.setContractType(contractItemAfter);
}
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[4],
employeeRegistrationPre.getId(), "", comparePre, employeeRegistrationPre,user);
employeeRegistrationPre.getId().toString(), "", comparePre, employeeRegistrationPre,user);
} catch (Exception e) {
log.error("生成入职待确认信息修改操作日志异常", e);
}
......@@ -378,8 +387,6 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
public R batchSendMessage(List<SendMessageUpdateVo> voList,String type) {
//获取短信待发放和信息待填写的数据
RegistParamVo paramVo = new RegistParamVo();
List<TRegistWarningEmployee> smsEmployeeList = new ArrayList<>();
List<EmployeeRegistrationPre> updateList = new ArrayList<>();
List<RegistParamVo> params = new ArrayList<>();
List<String> phones = new ArrayList<>();
if (CommonConstants.ONE_STRING.equals(type)) {
......@@ -389,8 +396,6 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
.in(EmployeeRegistrationPre::getProcessStatus, CommonConstants.processStatus));
if (Common.isNotNull(updatePre)) {
paramVo.setName(updatePre.getEmployeeName());
paramVo.setLinkValue("additional.html#/quick-onboarding?" + "?empId=" + updatePre.getId());
params.add(paramVo);
phones.add(updatePre.getEmpPhone());
if (CommonConstants.ZERO_STRING.equals(updatePre.getProcessStatus())) {
updatePre.setProcessStatus(CommonConstants.ONE_STRING);
......@@ -399,10 +404,27 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
TRegistWarningEmployee smsEmployee = new TRegistWarningEmployee();
smsEmployee.setEmpName(updatePre.getEmployeeName());
smsEmployee.setEmpPhone(updatePre.getEmpPhone());
smsEmployee.setEmpIdcard(updatePre.getEmpIdcard());
smsEmployee.setSendDate(DateUtil.getCurrentDateTime());
smsEmployee.setSendMethod(CommonConstants.ONE_INT);
smsEmployeeList.add(smsEmployee);
updateList.add(updatePre);
smsEmployee.setWarningId(updatePre.getId().toString());
smsEmployee.setType(CommonConstants.ONE_STRING);
smsEmployee.setDeptId(CommonConstants.ONE_STRING);
employeeService.save(smsEmployee);
paramVo.setLink(smsEmployee.getId().toString());
params.add(paramVo);
AliSmsResult res = sendMessage(phones, params);
if (null != res && null != res.getBizId()) {
smsEmployee.setBizId(res.getBizId());
smsEmployee.setMessage(res.getMessage());
employeeService.updateById(smsEmployee);
this.updateById(updatePre);
return R.ok();
} else {
smsEmployee.setMessage("短信发送失败");
employeeService.updateById(smsEmployee);
return R.failed("短信发送失败");
}
}
}
} else {
......@@ -410,8 +432,6 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
TEmployeeInfo info = employeeInfoMapper.selectById(updateVo.getId());
if (Common.isNotNull(info)) {
paramVo.setName(info.getEmpName());
paramVo.setLinkValue("additional.html#/quick-onboarding?" + "?empId=" + info.getId());
params.add(paramVo);
phones.add(info.getEmpPhone());
//如果有入职待建档数据同步更新
EmployeeRegistrationPre registrationPre = baseMapper.selectOne(Wrappers.<EmployeeRegistrationPre>query().lambda()
......@@ -422,38 +442,34 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
if (Common.isNotNull(registrationPre)) {
registrationPre.setProcessStatus(CommonConstants.ONE_STRING);
}
updateList.add(registrationPre);
//生成短信发送的记录
TRegistWarningEmployee smsEmployee = new TRegistWarningEmployee();
smsEmployee.setEmpName(info.getEmpName());
smsEmployee.setEmpPhone(info.getEmpPhone());
smsEmployee.setSendDate(DateUtil.getCurrentDateTime());
smsEmployee.setSendMethod(CommonConstants.ONE_INT);
smsEmployeeList.add(smsEmployee);
}
}
}
//发送短信
if (!params.isEmpty()) {
AliSmsResult res = sendMessage(phones, params);
if (null != res && null != res.getBizId()) {
if (!updateList.isEmpty()) {
this.updateBatchById(updateList);
}
for (TRegistWarningEmployee employee : smsEmployeeList) {
employee.setBizId(res.getBizId());
employee.setMessage(res.getMessage());
}
employeeService.saveBatch(smsEmployeeList);
return R.ok();
} else {
for (TRegistWarningEmployee employee : smsEmployeeList) {
employee.setMessage("短信发送失败");
smsEmployee.setEmpIdcard(info.getEmpIdcard());
smsEmployee.setWarningId(info.getId());
smsEmployee.setType(CommonConstants.TWO_STRING);
employeeService.save(smsEmployee);
paramVo.setLink(smsEmployee.getId().toString());
params.add(paramVo);
AliSmsResult res = sendMessage(phones, params);
if (null != res && null != res.getBizId()) {
smsEmployee.setBizId(res.getBizId());
smsEmployee.setMessage(res.getMessage());
employeeService.updateById(smsEmployee);
this.updateById(registrationPre);
return R.ok();
} else {
smsEmployee.setMessage("短信发送失败");
employeeService.updateById(smsEmployee);
return R.failed("短信发送失败");
}
}
employeeService.saveBatch(smsEmployeeList);
}
}
return R.failed();
return R.ok();
}
@Override
......@@ -469,6 +485,13 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
}
}
@Override
public R getEmployeeInfo(String id) {
//获取人员档案id
EmployeeInfoMsgVo msgInfoVo = baseMapper.getEmployeeArchivesInfo(id);
return R.ok(msgInfoVo);
}
/**
* @Description: 获取前端客服的所有项目权限
* @Author: huych
......@@ -490,7 +513,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
if (null != deptNos && !deptNos.isEmpty()) {
searchVo.setDeptNoList(deptNos);
} else {
searchVo.setId(CommonConstants.ONE_STRING_NEGATE);
searchVo.setId(CommonConstants.ONE_INT_NEGATE);
}
}
}
......
......@@ -36,7 +36,7 @@ public class ScheduleServiceImpl implements ScheduleService {
// 执行发送短信操作(事务内处理)
@Override
public void executeTask(String aId) {
public void executeTask(Integer aId) {
transactionTemplate.execute(status -> {
List<SendMessageUpdateVo> voList = new ArrayList<>();
SendMessageUpdateVo updateVo = new SendMessageUpdateVo();
......
......@@ -1003,7 +1003,7 @@ public class TCompleteMonitorServiceImpl extends ServiceImpl<TCompleteMonitorMap
if (null != deptNos && !deptNos.isEmpty()) {
searchVo.setDeptNoList(deptNos);
} else {
searchVo.setId(CommonConstants.ONE_STRING_NEGATE);
searchVo.setId(CommonConstants.ONE_INT_NEGATE);
}
}
}
......
......@@ -75,6 +75,13 @@
<result property="templeteCode" column="model_code"/>
</resultMap>
<resultMap id="getEmployeeInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeInfoMsgVo">
<result property="deptId" column="deptId"/>
<result property="name" column="name"/>
<result property="card" column="card"/>
<result property="phone" column="phone"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.employee_name,
......@@ -282,4 +289,14 @@
from t_employee_project a where a.DELETE_FLAG = '0' and a.PROJECT_STATUS = 0 and a.emp_idcard = #{empIdCard} and a.dept_id = #{deptId}
</select>
<select id="getEmployeeArchivesInfo" resultMap="getEmployeeInfoMap">
SELECT
a.emp_idcard as card,
a.emp_phone as phone,
a.dept_id as deptId,
a.emp_name as name
from t_regist_warning_employee a
where a.id = #{id}
</select>
</mapper>
......@@ -169,7 +169,8 @@
a.DEPT_NAME as dept_name,
a.DEPT_NO as dept_no,
a.CONTRACT_TYPE as contract_type,
a.UNCOMPLETE_TYPE as type,
if(ifnull(CONTRACT_TYPE,-1) != -1 and ifnull(WORKING_HOURS,-1) != -1
and ifnull(POST,-1) != -1 and ifnull(ENJOIN_DATE,-1) != -1 and ifnull(TRY_PERIOD,-1) != -1,'基本信息','合同信息') as type,
'1' as process_status,
a.ENJOIN_DATE as join_leave_date,
a.PROJECT_SOURCE as data_source,
......@@ -209,7 +210,8 @@
a.DEPT_NAME as dept_name,
a.DEPT_NO as dept_no,
a.CONTRACT_TYPE as contract_type,
if(a.UNCOMPLETE_TYPE = '1','基本信息',if(a.UNCOMPLETE_TYPE = '2','合同信息','基本信息、合同信息')) as type,
if(ifnull(CONTRACT_TYPE,-1) != -1 and ifnull(WORKING_HOURS,-1) != -1
and ifnull(POST,-1) != -1 and ifnull(ENJOIN_DATE,-1) != -1 and ifnull(TRY_PERIOD,-1) != -1,'基本信息','合同信息') as type,
'待完善' as process_status,
DATE_FORMAT(a.ENJOIN_DATE, '%Y-%m-%d') as join_leave_date,
CASE WHEN a.PROJECT_SOURCE='1' THEN "社保/公积金"
......
......@@ -14,6 +14,7 @@
<result property="bizId" column="biz_id"/>
<result property="sendMethod" column="send_method"/>
<result property="message" column="message"/>
<result property="type" column="type"/>
<result property="createBy" column="create_by"/>
<result property="createName" column="create_name"/>
<result property="createTime" column="create_time"/>
......
......@@ -11,5 +11,5 @@ import lombok.Data;
@Data
public class RegistParamVo {
private String name;
private String linkValue;
private String link;
}
......@@ -24,8 +24,8 @@ import java.util.Map;
@Slf4j
public class YiFuSmsUtil {
private static final String ACCESS_KEY_ID = "LTAIDh9goA3jgpun";
private static final String ACCESS_KEY_SECRET = "eN8EHPAZxglNfcUCMhAT02cy93omLa";
private static final String ACCESS_KEY_ID = "LTAI5t7p866qHr6p1Kuog7b1";
private static final String ACCESS_KEY_SECRET = "tMxJt1TWtHZr9bOpe1hk7PHRg0xrmf";
private static final String ERROR_INFO = "调取阿里云服务异常";
private static final String REGIONID = "cn-hangzhou";
private static final String SYS_DOMAIN = "dysmsapi.aliyuncs.com";
......
......@@ -301,11 +301,11 @@
a.emp_phone,
a.position,
a.join_leave_date,
if(a.process_status= '0','已接收',if(a.process_status= '1','待处理',if(a.process_status= '2','已处理','拒绝入职'))) process_status,
'待处理' process_status,
a.registor_username,
a.create_time,
a.customer_username_new,
a.data_source
if(a.data_source = '1','客户端','客服端') data_source
FROM employee_registration a
<where>
1=1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment