| | |
| | | |
| | | import org.json.JSONArray; |
| | | import org.json.JSONObject; |
| | | import org.springblade.common.utils.DesensitizedUtil; |
| | | import org.springblade.common.utils.InvestigateUtil; |
| | | import org.springblade.modules.experience.entity.Experience; |
| | | import org.springblade.modules.experience.service.IExperienceService; |
| | | import org.springblade.modules.system.entity.Dept; |
| | | import org.springblade.modules.system.entity.User; |
| | | import org.springblade.modules.system.service.IDeptService; |
| | | import org.springblade.modules.system.service.IUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | |
| | | @Autowired |
| | | private IUserService userService; |
| | | |
| | | @Autowired |
| | | private IDeptService iDeptService; |
| | | |
| | | @Autowired |
| | | private IExperienceService experienceService; |
| | | |
| | | /** |
| | | * FTP |
| | | * @param s sql语句 |
| | | */ |
| | | @Async |
| | | public void FTP(String s) { |
| | | FtpUtil.sqlFileUpload(s); |
| | | } |
| | | |
| | | /** |
| | | * FTP 审查结果推送 |
| | | * @param s sql语句 |
| | | */ |
| | | @Async |
| | | public void FTP1(String s) { |
| | | //为防止外网尚未更新完成,休眠2秒发送第一次 |
| | | try { |
| | | Thread.sleep(2); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | FtpUtil.sqlFileUpload(s); |
| | | FTP2(s); |
| | | } |
| | | |
| | | /** |
| | | * FTP 审查结果推送 |
| | | * @param s sql语句 |
| | | */ |
| | | @Async |
| | | public void FTP2(String s) { |
| | | //休眠30s,再次发送一次 |
| | | try { |
| | | Thread.sleep(30); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | FtpUtil.sqlFileUpload(s); |
| | | } |
| | | |
| | |
| | | */ |
| | | @Async |
| | | public void checkUserExamineByCardNo(User user0){ |
| | | User byId = userService.getById(user0.getId()); |
| | | //如果是保安员 |
| | | if (user0.getRoleId().equals("1412226235153731586")){ |
| | | //读取身份证号 |
| | | String cardid = user0.getCardid(); |
| | | //创建用户对象 |
| | | User user = new User(); |
| | | user.setId(user.getId()); |
| | | user.setId(user0.getId()); |
| | | //远程调用接口 |
| | | String body = InvestigateUtil.httpGetOne(user0.getCardid()); |
| | | System.out.println("user0 = " + user0.getCardid()); |
| | | JSONObject jsonObject = new JSONObject(body); |
| | | Object data = jsonObject.get("data"); |
| | | JSONObject jsonData = new JSONObject(data.toString()); |
| | | JSONArray res = jsonData.getJSONArray("res"); |
| | | //设置审核时间 |
| | | user.setAuditTime(new Date()); |
| | | //如果有结果返回 |
| | | if (res.length() == 0) { |
| | | //没有数据正常 |
| | | user.setExaminationType("0"); |
| | |
| | | ) { |
| | | user.setExaminationMx(res.getJSONObject(i).get("zdrylbjh").toString()); |
| | | //更新用户数据 |
| | | userService.updateById(user); |
| | | // userService.updateById(user); |
| | | break; |
| | | } |
| | | if (res.getJSONObject(i).get("zdryxlmc").toString() != null |
| | |
| | | ) { |
| | | user.setExaminationMx(res.getJSONObject(i).get("zdryxlmc").toString()); |
| | | //更新用户数据 |
| | | userService.updateById(user); |
| | | // userService.updateById(user); |
| | | break; |
| | | } |
| | | if (res.getJSONObject(i).get("ztrylx").toString() != null |
| | |
| | | ) { |
| | | user.setExaminationMx(res.getJSONObject(i).get("ztrylx").toString()); |
| | | //更新用户数据 |
| | | userService.updateById(user); |
| | | // userService.updateById(user); |
| | | break; |
| | | } |
| | | count++; |
| | |
| | | if (count==res.length()){ |
| | | //更新用户数据,设为正常 |
| | | user.setExaminationType("0"); |
| | | userService.updateById(user); |
| | | // userService.updateById(user); |
| | | } |
| | | } |
| | | } |
| | | //更新用户数据 |
| | | userService.updateById(user); |
| | | //同时更新外网用户信息 |
| | | String s1 = "update blade_user set examination_type = " + user.getExaminationType() + |
| | | ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" + |
| | | " where id = " + "'" + user.getId() + "'"; |
| | | FTP1(s1); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 异步新增用户从业记录 |
| | | * @param user |
| | | */ |
| | | @Async |
| | | public void insertExperience(User user) { |
| | | //根据公司名查询单位 |
| | | Dept dept = iDeptService.getById(user.getDeptId()); |
| | | Experience experience = new Experience(); |
| | | experience.setCompanyname(dept.getDeptName()); |
| | | //新增 |
| | | if (null != user.getRtime()) { |
| | | experience.setEntrytime(user.getRtime()); |
| | | } else { |
| | | experience.setEntrytime(new Date()); |
| | | } |
| | | experience.setDeparturetime(new Date()); |
| | | experience.setName(user.getRealName()); |
| | | if (null != user.getReasonForLeav() && !user.getReasonForLeav().equals("")) { |
| | | experience.setLeaving(user.getReasonForLeav()); |
| | | } |
| | | experience.setCardid(user.getCardid()); |
| | | experience.setSecurityid(user.getId().toString()); |
| | | //新增 |
| | | experienceService.save(experience); |
| | | |
| | | // 身份证号脱敏 |
| | | String cardid = DesensitizedUtil.desensitizedIdNumberBy4(user.getCardid()); |
| | | //内网同步 |
| | | String s = "insert into sys_experience(id,name,entryTime,departureTime,leaving,cardId,companyname,securityId) " + |
| | | "values(" + "'" + experience.getId() + "'" + |
| | | "," + "'" + experience.getName() + "'" + |
| | | "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" + |
| | | "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'" + |
| | | "," + "'" + experience.getLeaving() + "'" + |
| | | "," + "'" + cardid + "'" + |
| | | "," + "'" + experience.getCompanyname() + "'" + |
| | | "," + "'" + experience.getSecurityid() + "'" |
| | | + ")"; |
| | | //向外网推送 |
| | | FTP(s); |
| | | } |
| | | } |