diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java index f47e535..664029d 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/controller/EmployeeRelationController.java @@ -2,7 +2,6 @@ package com.weaver.seconddev.jcl.organization.controller; import com.weaver.common.authority.annotation.WeaPermission; import com.weaver.seconddev.jcl.organization.service.EmployeeRelationService; -import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -10,11 +9,9 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; - import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import java.util.HashMap; -import java.util.List; import java.util.Map; @RestController @@ -27,29 +24,48 @@ public class EmployeeRelationController { private EmployeeRelationService employeeRelationService; /** - * 查询结果回写数据 + * 员工管理-根据姓名+手机号/姓名+邮箱/身份证号判断是否黑名单 + * @return + */ + @WeaPermission(publicPermission = true) + @Produces(MediaType.APPLICATION_JSON) + @GetMapping("/getStringValue") + public String getStringValue( + @RequestParam("userName") String userName){ + log.error("checkIsNotBlackList111.userName:{}"+userName); + log.info("checkIsNotBlackList222.userName:{}"+userName); + log.debug("checkIsNotBlackList333.userName:{}"+userName); + return userName; +} + + + /** + * 员工管理-根据姓名+手机号/姓名+邮箱/身份证号判断是否黑名单 * @return */ @WeaPermission(publicPermission = true) @Produces(MediaType.APPLICATION_JSON) - @GetMapping("/writeBackRecord") - public Map writeBackRecord( - @RequestParam("yearMonth") String yearMonth){ - log.error("writeBackRecord.yearMonth:"+yearMonth); + @GetMapping("/checkIsNotBlackList") + public Map checkIsNotBlackList( + @RequestParam("userName") String userName, + @RequestParam("mobile") String mobile, + @RequestParam("email") String email, + @RequestParam("identity") String identity){ + log.error("checkIsNotBlackList111.userName:{},mobile:{},email:{},identity:{}"+userName,mobile,email,identity); + log.info("checkIsNotBlackList222.userName:{},mobile:{},email:{},identity:{}"+userName,mobile,email,identity); + log.debug("checkIsNotBlackList333.userName:{},mobile:{},email:{},identity:{}"+userName,mobile,email,identity); Map actionMap = new HashMap<>(); try { - //查询干部绩效评定结果 - List> leaderPdInfo = employeeRelationService.queryLeaderPdByYear(yearMonth); - log.error("resultCalculAtion.leaderPdInfo:{}", leaderPdInfo); - //循环计算干部总分及等级 - if(CollectionUtils.isNotEmpty(leaderPdInfo)){ - for (Map map : leaderPdInfo) { - //将得分、等级回写到干部考核备案表 - employeeRelationService.updateLeaderDaInfo(map); - } + //查询判断 + boolean flag = employeeRelationService.checkIsNotBlackList(userName,mobile,email,identity); + log.error("checkIsNotBlackList.flag:{}", flag); + if(flag){ + actionMap.put("code","200"); + actionMap.put("msg","当前人员存在黑名单!"); + }else { + actionMap.put("code","400"); + actionMap.put("msg","不在黑名单!"); } - actionMap.put("code","200"); - actionMap.put("msg","接口调用成功!"); }catch(Exception e){ log.error("接口调用失败-e:{}",e); actionMap.put("code","201"); diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/UpdateFileYgddInfoAction.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/UpdateFileYgddInfoAction.java new file mode 100644 index 0000000..c31ac54 --- /dev/null +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/esb/UpdateFileYgddInfoAction.java @@ -0,0 +1,102 @@ +package com.weaver.seconddev.jcl.organization.esb; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.jcl.organization.util.DatabaseUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @use:归档更新人员调动数据 + * @date 2025年3月12日 + * @author xuxy + */ +@Service("updateEmployeeFileInfo_jcl") +public class UpdateFileYgddInfoAction implements EsbServerlessRpcRemoteInterface { + + @Autowired + private DatabaseUtils databaseUtils; + + private static final Logger log = LoggerFactory.getLogger(UpdateFileYgddInfoAction.class); + + @Override + public WeaResult> execute(Map params) { + Map rs =new HashMap<>(); + String requestId = String.valueOf(params.get("requestId").toString()); + //查询员工调动信息(归档节点前) + List> list = queryYgddInfo(requestId); + //遍历判断是否有当天零点的调动生效日期的人员,更新 + Map result = updateYgddInfo(list.get(0)); + log.error("UpdateFileYgddInfoAction.flowV3:"+result); + rs.put("flowV3",result); + return WeaResult.success(rs); + } + + public List> queryYgddInfo(String requestId) { + String sql=" SELECT * from uf_jcl_rydd where id = '" + requestId + "' and delete_type=0 and TENANT_KEY='t7n9jpeaoa' " ; + log.error("queryYgddInfo222.sql:{}",sql); + Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); + List> recordList = databaseUtils.getDataSourceList(rs); + log.error("queryYgddInfo222.recordList:{}",recordList); + return recordList; + } + + public Map updateYgddInfo(Map map) { + Map rs = new HashMap<>(); + String ddr = String.valueOf(map.get("ddr")); + String ddsxrq = String.valueOf(map.get("ddsxrq")); + String ddhgs = String.valueOf(map.get("ddhgs")); + String ddhbm = String.valueOf(map.get("ddhbm")); + String ddhgw = String.valueOf(map.get("ddhgw")); + String ddhzjsj = String.valueOf(map.get("ddhzjsj")); + //审批状态 + //String status = String.valueOf(map.get("flow_status")); + //判断调动生效日期是否为当天或者当天之前 + if (isTodayOrBefore(ddsxrq)) { + //更新数据到员工基础信息表 + String sql = "update eteams.employee set department = '" + ddhbm + "',POSITION = '" + ddhgw + "',SUPERIOR = '" + ddhzjsj + "'" + + " where id = '" + ddr + "' and TENANT_KEY = 't7n9jpeaoa' and delete_type=0 "; + log.error("UpdateYgddInfoAction222.sql:{}", sql); + rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); + log.error("UpdateYgddInfoAction222.rs:{}", rs); + } + return rs; + } + + public static boolean isTodayOrBefore(String dateStr) { + // 定义日期格式 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + // 解析日期字符串 + try { + Date inputDate = dateFormat.parse(dateStr); + + // 获取当前日期和时间 + Calendar calendar = Calendar.getInstance(); + Date today = calendar.getTime(); + + // 重置时间部分到当天的开始(00:00:00) + calendar.setTime(today); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + Date startOfDay = calendar.getTime(); + + // 比较日期 + //return !inputDate.after(today) || inputDate.equals(startOfDay); + // 或者更明确地写成: + return inputDate.before(today) || inputDate.equals(startOfDay); + } catch (ParseException e) { + // 如果解析失败,返回 false + e.printStackTrace(); + return false; + } + } + +} diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java index 5cee0d3..989bfbd 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/EmployeeRelationService.java @@ -5,7 +5,7 @@ import java.util.Map; public interface EmployeeRelationService { - List> queryLeaderPdByYear(String yearMonth); + boolean checkIsNotBlackList(String userName,String mobile,String email,String identity); void updateLeaderDaInfo(Map map); } diff --git a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java index 5027d94..475ad2b 100644 --- a/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java +++ b/jcl-hrmorganization/secondev-jcl-hrmorganization/src/main/java/com/weaver/seconddev/jcl/organization/service/impl/EmployeeRelationServiceImpl.java @@ -1,12 +1,13 @@ package com.weaver.seconddev.jcl.organization.service.impl; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.weaver.seconddev.jcl.organization.controller.EmployeeRelationController; import com.weaver.seconddev.jcl.organization.service.EmployeeRelationService; import com.weaver.seconddev.jcl.organization.util.DatabaseUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; - import java.util.List; import java.util.Map; @@ -19,13 +20,31 @@ public class EmployeeRelationServiceImpl implements EmployeeRelationService { @Override - public List> queryLeaderPdByYear(String yearMonth) { - String sql="select a.khny,b.* from uf_gbkhpd a left join uf_gbkhpd_mxb1 b on a.id = b.form_data_id where a.khny = '" + yearMonth + "' and a.IS_DELETE = 0 and a.delete_type = 0 and a.TENANT_KEY = 'tscemvfpqg' " ; - log.error("queryLeaderPdByYear.sql:{}",sql); + public boolean checkIsNotBlackList(String userName, String mobile, String email, String identity) { + boolean flag =false; + String sql=""; + if(StringUtils.isNotBlank(identity)){ + sql="select id from uf_jcl_ryhmd where zjhm = '" + identity + "' and IS_DELETE = 0 and delete_type = 0 and TENANT_KEY = 't7n9jpeaoa' " ; + log.error("queryLeaderPdByYear.sql:{}",sql); + }else{ + if(StringUtils.isNotBlank(userName)){ + if(StringUtils.isNotBlank(mobile)){ + sql="select id from uf_jcl_ryhmd where xm = '" + userName + "' and lxdh = '" + mobile + "' and IS_DELETE = 0 and delete_type = 0 and TENANT_KEY = 't7n9jpeaoa' " ; + log.error("queryLeaderPdByYear.sql:{}",sql); + }else { + sql="select id from uf_jcl_ryhmd where xm = '" + userName + "' and yx = '" + email + "' and IS_DELETE = 0 and delete_type = 0 and TENANT_KEY = 't7n9jpeaoa' " ; + log.error("queryLeaderPdByYear.sql:{}",sql); + } + } + } + Map rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql); List> recordList = databaseUtils.getDataSourceList(rs); log.error("queryLeaderPdByYear.recordList:{}",recordList); - return recordList; + if(CollectionUtils.isNotEmpty(recordList)){ + flag = true; + } + return flag; } @Override