diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/config/EbDbDataSourceConfigResp.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/config/EbDbDataSourceConfigResp.java new file mode 100644 index 0000000..6caa9ef --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/config/EbDbDataSourceConfigResp.java @@ -0,0 +1,69 @@ +package com.weaver.seconddev.sxjg.config; + +import com.zaxxer.hikari.HikariDataSource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; + +import javax.sql.DataSource; + +/** + * 数据库连接池,单例,二开服务(以后所有seconddev都放在这里) + * @author liuhao + */ +@Configuration +@Component +public class EbDbDataSourceConfigResp { + private static final Logger log = LoggerFactory.getLogger(EbDbDataSourceConfigResp.class); + + private static String url; + + private static String driverClassName; + + private static String username; + + private static String password; + private volatile static HikariDataSource dataSource; + + public static DataSource dbDataSource() { + if (dataSource ==null){ + synchronized (DataSource.class){ + if (dataSource == null){ + dataSource = new HikariDataSource(); + dataSource.setDriverClassName(driverClassName); + dataSource.setJdbcUrl(url); + dataSource.setUsername(username); + dataSource.setPassword(password); + // 连接池参数 + dataSource.setMaximumPoolSize(20); + dataSource.setPoolName("MyHikariCP12"); + dataSource.setConnectionTimeout(30000); + return dataSource; + } + } + } + return dataSource; + } + + @Value("${spring.datasource.urlebresp}") + public void setUrl(String url) { + EbDbDataSourceConfigResp.url = url; + } + + @Value("${spring.datasource.driver-class-name}") + public void setDriverClassName(String driverClassName) { + EbDbDataSourceConfigResp.driverClassName = driverClassName; + } + + @Value("${spring.datasource.username}") + public void setUsername(String username) { + EbDbDataSourceConfigResp.username = username; + } + + @Value("${spring.datasource.password}") + public void setPassword(String password) { + EbDbDataSourceConfigResp.password = password; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/controller/PayslipPageController.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/controller/PayslipPageController.java new file mode 100644 index 0000000..a9fdeb4 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/controller/PayslipPageController.java @@ -0,0 +1,48 @@ +package com.weaver.seconddev.sxjg.controller; +/** + * 工资条获取接口开发 + */ +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.authority.annotation.WeaPermission; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/papi/secondev/sxjg") +@Slf4j +public class PayslipPageController { + + @WeaPermission(publicPermission = true) + @PostMapping("/getPayslipageInfo") + public WeaResult> check( + @RequestParam("talentId") String talentId, + @RequestParam("userId") String userId, + @RequestParam("userName") String userName, + @RequestParam("resumeId") String resumeId, + @RequestParam("positionId") String positionId + ) throws Exception { + Map rs = new HashMap<>(); + JSONObject r1 = new JSONObject(); + JSONArray r2 = new JSONArray(); + JSONObject r3 = new JSONObject(); + r3.put("pk_psndoc","0001A2100000003FMWBU"); + r2.add(r3); + r1.put("data",r2); + + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/payslipSync/entry"; + String rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + return WeaResult.success(rs); + } +} \ No newline at end of file diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ApplyPositionToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ApplyPositionToNcc.java new file mode 100644 index 0000000..696e7dd --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ApplyPositionToNcc.java @@ -0,0 +1,1065 @@ +/** + * @use入职管理-待报道-同步nc入职人员基本信息 + * @author 刘浩 + */ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.eteams.file.client.file.FileData; +import com.weaver.file.ud.api.FileDownloadService; + +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.io.*; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("esb_applypositiontoncc_howe") +public class ApplyPositionToNcc implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(ApplyPositionToNcc.class); + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + + @Autowired + private FileDownloadService fileDownloadService; + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String rzid = (String) params.get("rzid");//姓名 + String name = (String) params.get("name");//姓名 + String idtype = (String) params.get("idtype");//证件类型 + String id = (String) params.get("id");//证件号码 + String pk_org = (String) params.get("pk_org");//所属组织 + String sex = (String) params.get("sex"); + String birthdate = (String) params.get("birthdate"); + String nativeplace = (String) params.get("nativeplace"); + String characterrpr = (String) params.get("characterrpr"); + String nationality = (String) params.get("nationality"); + String polity = (String) params.get("polity"); + String health = (String) params.get("health"); + String marital = (String) params.get("marital"); + String joinworkdate = (String) params.get("joinworkdate"); + String mobile = (String) params.get("mobile"); + String email = (String) params.get("email"); + String bloodtype = (String) params.get("bloodtype"); + String usedname = (String) params.get("usedname"); + String fileaddress = (String) params.get("fileaddress"); + String glbdef6 = (String) params.get("glbdef6"); +// String partyname = (String) params.get("partyname"); +// String partydate = (String) params.get("partydate"); +// String partyunit = (String) params.get("partyunit"); +// String partypsn = (String) params.get("partypsn"); +// String partyduedate = (String) params.get("partyduedate"); +// String glbdef1 = (String) params.get("glbdef1"); + String pk_org_work = (String) params.get("pk_org_work"); + String pk_psncl_work = (String) params.get("pk_psncl_work"); + String pk_dept_work = (String) params.get("pk_dept_work"); + String pk_post_work = (String) params.get("pk_post_work"); + String pk_postseries_work = (String) params.get("pk_postseries_work"); + String pk_job_work = (String) params.get("pk_job_work"); + String pk_jobgrade_work = (String) params.get("pk_jobgrade_work"); + String begindate_work = (String) params.get("begindate_work"); + String collectid = (String) params.get("collectid"); + String ygxs = (String)params.get("ygxs"); + String rdtrq = (String)params.get("rdtrq");//入党团日期 + + if (collectid == null || collectid.length() == 0) { + finresult.put("code",500); + finresult.put("msg","当前人员并未进行信息采集"); + return WeaResult.success(finresult); + } + JSONObject result = new JSONObject(); + JSONArray data = new JSONArray(); + JSONArray bd_psndoc = new JSONArray();//人员基本信息 + JSONObject bd_psndoc_obj = new JSONObject(); + JSONArray hi_psnorg = new JSONArray();//组织关系 + JSONObject hi_psnorg_obj = new JSONObject(); + JSONArray hi_psnjob = new JSONArray();//工作记录 + JSONObject hi_psnjob_obj = new JSONObject(); + + bd_psndoc_obj.put("name", name); + bd_psndoc_obj.put("idtype", idtype); + bd_psndoc_obj.put("id", id); + bd_psndoc_obj.put("pk_org", pk_org); + sex = "male".equals(sex) ? "1" : "2"; + bd_psndoc_obj.put("sex", sex); + bd_psndoc_obj.put("birthdate", data10str(birthdate)); + bd_psndoc_obj.put("nativeplace", nativeplace); + bd_psndoc_obj.put("characterrpr", characterrpr); + bd_psndoc_obj.put("nationality", nationality); + bd_psndoc_obj.put("polity", polity); + bd_psndoc_obj.put("health", health); + bd_psndoc_obj.put("marital", marital); + bd_psndoc_obj.put("joinworkdate", data10str(joinworkdate)); + bd_psndoc_obj.put("mobile", mobile); + bd_psndoc_obj.put("email", email); + bd_psndoc_obj.put("bloodtype", bloodtype); + bd_psndoc_obj.put("usedname", usedname); + bd_psndoc_obj.put("fileaddress", fileaddress); + bd_psndoc_obj.put("glbdef6", glbdef6); + bd_psndoc_obj.put("joinpolitydate",rdtrq); + bd_psndoc.add(bd_psndoc_obj); + + String sql = "select ncc_pk from ft_ncczjlx where ncc_name = '"+idtype+"'"; + Map srrr = jdbcTemplateresp.queryForMap(sql); + String idtypePk =(String) srrr.get("ncc_pk"); + hi_psnorg_obj.put("begindate", data10str(begindate_work)); + if(ygxs.contains("其他")) { + hi_psnorg_obj.put("indocflag", "Y"); + }else { + hi_psnorg_obj.put("indocflag", "N"); + } + hi_psnorg.add(hi_psnorg_obj); + + + hi_psnjob_obj.put("pk_org", pk_org_work); + hi_psnjob_obj.put("pk_psncl", pk_psncl_work); + hi_psnjob_obj.put("pk_dept", pk_dept_work); + hi_psnjob_obj.put("pk_post", pk_post_work); + hi_psnjob_obj.put("pk_postseries", pk_postseries_work); + hi_psnjob_obj.put("pk_job", pk_job_work); + hi_psnjob_obj.put("pk_jobgrade", pk_jobgrade_work); + hi_psnjob_obj.put("begindate", data10str(begindate_work)); + hi_psnjob.add(hi_psnjob_obj); + + JSONArray hi_psndoc_work = getWorkRecord(collectid); + JSONArray hi_psndoc_edu = getEduInfoRecord(collectid); + JSONArray hi_psndoc_family = getFamilyInfoRecord(collectid); + JSONArray hi_psndoc_linkman =getJjchatInfoRecord(collectid); + JSONArray hi_psndoc_title = getPsTitleInfoRecord(collectid); + JSONArray hi_psndoc_nationdyty = getNationdutInfoRecord(collectid); + JSONArray hi_psndoc_glbdef1 = getGlbdef1InfoRecord(collectid); + JSONArray hi_psndoc_part = getPartInfoRecord(collectid); + JSONArray hi_psndoc_enc =getEncInfoRecord(collectid); + JSONArray hi_psndoc_glbdef3 =getGlbdef3InfoRecord(collectid); + JSONArray hi_psndoc_glbdef2 =getGlbdef2InfoRecord(collectid); +// JSONArray hi_psndoc_partylog = new JSONArray(); +// JSONObject hi_psndoc_partylog_obj = new JSONObject(); +// hi_psndoc_partylog_obj.put("partyname",partyname); +// hi_psndoc_partylog_obj.put("partydate",data10str(partydate)); +// hi_psndoc_partylog_obj.put("partyunit",partyunit); +// hi_psndoc_partylog_obj.put("partypsn",partypsn); +// hi_psndoc_partylog_obj.put("partyduedate",data10str(partyduedate)); +// hi_psndoc_partylog_obj.put("glbdef1",glbdef1); +// hi_psndoc_partylog.add(hi_psndoc_partylog_obj); + + JSONObject x1 = new JSONObject(); + x1.put("bd_psndoc",bd_psndoc); + x1.put("hi_psnorg",hi_psnorg); + x1.put("hi_psnjob",hi_psnjob); + x1.put("hi_psndoc_work",hi_psndoc_work); + x1.put("hi_psndoc_edu",hi_psndoc_edu); + x1.put("hi_psndoc_family",hi_psndoc_family); + x1.put("hi_psndoc_linkman",hi_psndoc_linkman); + x1.put("hi_psndoc_title",hi_psndoc_title); + x1.put("hi_psndoc_nationdyty",hi_psndoc_nationdyty); + x1.put("hi_psndoc_glbdef1",hi_psndoc_glbdef1); +// x1.put("hi_psndoc_part",hi_psndoc_part); + x1.put("hi_psndoc_enc",hi_psndoc_enc); + x1.put("hi_psndoc_glbdef3",hi_psndoc_glbdef3); + x1.put("hi_psndoc_glbdef2",hi_psndoc_glbdef2); + x1.put("hi_psndoc_partylog",hi_psndoc_part); + data.add(x1); + result.put("data",data); + + try { + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrhi/openAPI/personnelSync/entry"; + String rs11 = nccApiUtil.doJsonPost(url,token,result.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + //传附件 + log.error("howec:::::::传附件"); + JSONObject jsonObject2 = new JSONObject(); + jsonObject2.put("id",id); + jsonObject2.put("idtype",idtypePk); + JSONArray r11 = getFjByCollectId(collectid); + if(r11.size() == 0) { + sql = "update uf_rcrt_entry_manage set entry_status = '1' where id = "+rzid; + jdbcTemplate.execute(sql); + return WeaResult.success(finresult); + } + jsonObject2.put("data",r11); + nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + token = nccApiUtil.getToken(); + url = nccApiUtil.getBaseUrl()+"nccloud/api/hrhi/openAPI/attachment/upload"; + rs11 = nccApiUtil.doJsonPost(url,token,jsonObject2.toJSONString()); + rs = new NccResultUtil(rs11); + if(rs.getResult()){ + //更新入职状态未已入职 + sql = "update uf_rcrt_entry_manage set entry_status = '1' where id = "+rzid; + jdbcTemplate.execute(sql); + return WeaResult.success(finresult); + }else { + //更新附件同步异常 + sql = "update uf_rcrt_entry_manage set fjtbsfyc = '2' where id = "+rzid; + jdbcTemplate.execute(sql); + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e){ + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + return WeaResult.success(finresult); + } + } + + //获取履历记录数组 表:uf_rcrt_ec_record + private JSONArray getWorkRecord(String collectid) { + JSONArray hi_psndoc_work = new JSONArray(); + + String sql = "select id,start_date,end_date,company,workdept,workjob,job_name,memo from uf_rcrt_ec_record where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_work_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null) { + rs1.put(key,""); + } + }); + String start_date = (String) rs1.get("start_date"); + String end_date = (String) rs1.get("end_date"); + String company = (String) rs1.get("company"); + String workdept = (String) rs1.get("workdept"); + String workjob = (String) rs1.get("workjob"); + String job_name = (String) rs1.get("job_name"); + String memo = (String) rs1.get("memo"); + hi_psndoc_work_obj.put("begindate", start_date); + hi_psndoc_work_obj.put("workcorp", company); + hi_psndoc_work_obj.put("enddate", end_date); + hi_psndoc_work_obj.put("workdept", workdept); + hi_psndoc_work_obj.put("workjob", workjob); + hi_psndoc_work_obj.put("workpost", job_name); + hi_psndoc_work_obj.put("memo", memo); + hi_psndoc_work.add(hi_psndoc_work_obj); + } + } + return hi_psndoc_work; + } + + //获取学历信息数组uf_rcrt_ec_edfcation + private JSONArray getEduInfoRecord(String collectid) { + JSONArray hi_psndoc_edu = new JSONArray(); + String sql = "select data_start,data_end,education,dnxl,school_name,emp_major,xz,xxfs,xw,xwsyrq,xwsydw,xlzsbh,xwzsbh,zgxl from uf_rcrt_ec_edfcation where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_edu_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!key.equals("zgxl"))) { + rs1.put(key,""); + } + }); + String data_start = (String) rs1.get("data_start"); + String data_end = (String) rs1.get("data_end"); + String education = (String) rs1.get("education"); + String dnxl = (String) rs1.get("dnxl"); + String school_name = (String) rs1.get("school_name"); + String emp_major = (String) rs1.get("emp_major"); + String xz = (String) rs1.get("xz"); + String xxfs = (String) rs1.get("xxfs"); + String xw = (String) rs1.get("xw"); + String xwsyrq = (String) rs1.get("xwsyrq"); + String xwsydw = (String) rs1.get("xwsydw"); + String xlzsbh = (String) rs1.get("xlzsbh"); + String xwzsbh = (String) rs1.get("xwzsbh"); + String zgxl = "N"; + if(rs1.get("zgxl") != null) { + long zgxl1 = (long) rs1.get("zgxl"); + zgxl = zgxl1 == 1l ? "Y" : "N"; + } + Listids = new ArrayList<>(); + ids.add(education); + ids.add(dnxl); + ids.add(xxfs); + ids.add(xw); + Map rsmap = getNameById(ids); + hi_psndoc_edu_obj.put("begindate",data_start); + hi_psndoc_edu_obj.put("education",rsmap.get(education)); + hi_psndoc_edu_obj.put("enddate",data_end); + hi_psndoc_edu_obj.put("school",school_name); + hi_psndoc_edu_obj.put("major",emp_major); + hi_psndoc_edu_obj.put("edusystem",xz); + hi_psndoc_edu_obj.put("studymode",rsmap.get(xxfs)); + hi_psndoc_edu_obj.put("pk_degree",rsmap.get(xw)); + hi_psndoc_edu_obj.put("degreedate",xwsyrq); + hi_psndoc_edu_obj.put("degreeunit",xwsydw); + hi_psndoc_edu_obj.put("educationctifcode",xlzsbh); + hi_psndoc_edu_obj.put("certifcode",xwzsbh); + hi_psndoc_edu_obj.put("lasteducation",zgxl); + hi_psndoc_edu_obj.put("glbdef1",rsmap.get(dnxl)); + hi_psndoc_edu.add(hi_psndoc_edu_obj); + } + } + return hi_psndoc_edu; + } + + //家庭信息数组uf_rcrt_ec_family + private JSONArray getFamilyInfoRecord(String collectid) { + JSONArray hi_psndoc_family = new JSONArray(); + String sql = "select ybrgx,jtcyxm,sfzh,csrq,gzdw,zw,lxdh,zzmm,xl from uf_rcrt_ec_family where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_family_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null) { + rs1.put(key,""); + } + }); + String ybrgx = (String) rs1.get("ybrgx"); + String jtcyxm = (String) rs1.get("jtcyxm"); + String sfzh = (String) rs1.get("sfzh"); + String csrq = (String) rs1.get("csrq"); + String gzdw = (String) rs1.get("gzdw"); + String zw = (String) rs1.get("zw"); + String lxdh = (String) rs1.get("lxdh"); + String zzmm = (String) rs1.get("zzmm"); + String xl = (String) rs1.get("xl"); + + Listids = new ArrayList<>(); + ids.add(ybrgx); + ids.add(zzmm); + ids.add(xl); + Map rsmap = getNameById(ids); + hi_psndoc_family_obj.put("mem_relation",rsmap.get(ybrgx)); + hi_psndoc_family_obj.put("mem_name",jtcyxm); + hi_psndoc_family_obj.put("mem_birthday",csrq); + hi_psndoc_family_obj.put("mem_corp",gzdw); + hi_psndoc_family_obj.put("mem_job",zw); + hi_psndoc_family_obj.put("relaphone",lxdh); + hi_psndoc_family_obj.put("politics",rsmap.get(zzmm)); + hi_psndoc_family_obj.put("glbdef1",rsmap.get(xl)); + hi_psndoc_family_obj.put("glbdef2",sfzh); + hi_psndoc_family.add(hi_psndoc_family_obj); + } + } + return hi_psndoc_family; + } + + //紧急联系人 uf_rcrt_ec_linkman + private JSONArray getJjchatInfoRecord(String collectid) { + JSONArray hi_psndoc_linkman = new JSONArray(); + String sql = "select linkman,mobile from uf_rcrt_ec_linkman where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_linkman_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null) { + rs1.put(key,""); + } + }); + String linkman = (String) rs1.get("linkman"); + String mobile = (String) rs1.get("mobile"); + hi_psndoc_linkman_obj.put("linkman",linkman); + hi_psndoc_linkman_obj.put("mobile",mobile); + hi_psndoc_linkman.add(hi_psndoc_linkman_obj); + } + } + return hi_psndoc_linkman; + } + + //hi_psndoc_title 职称信息 uf_rcrt_ec_title + private JSONArray getPsTitleInfoRecord(String collectid) { + JSONArray hi_psndoc_title = new JSONArray(); + String sql = "select hdzc,pdrq,zcdj,zymc,pdjg,zsbh,zgzc,fzsj,pzwh from uf_rcrt_ec_title where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_title_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"zgzc".equals(key))) { + rs1.put(key,""); + } + }); + String hdzc = (String) rs1.get("hdzc"); + String pdrq = (String) rs1.get("pdrq"); + String zcdj = (String) rs1.get("zcdj"); + String zymc = (String) rs1.get("zymc"); + String pdjg = (String) rs1.get("pdjg"); + String zsbh = (String) rs1.get("zsbh"); + String zgzc1 = "N"; + String fzsj = (String) rs1.get("fzsj"); + String pzwh = (String) rs1.get("pzwh"); + + if(rs1.get("zgzc")!=null) { + long zgzc = (long) rs1.get("zgzc"); + zgzc1 = zgzc == 0l ? "N":"Y"; + } + Listids = new ArrayList<>(); + ids.add(hdzc); + ids.add(zcdj); + Map rsmap = getNameById(ids); + hi_psndoc_title_obj.put("begindate",pdrq); + hi_psndoc_title_obj.put("pk_techposttitle",rsmap.get(hdzc)); + hi_psndoc_title_obj.put("titlerank",rsmap.get(zcdj)); + hi_psndoc_title_obj.put("assorg",pdjg); + hi_psndoc_title_obj.put("certifcode",zsbh); + hi_psndoc_title_obj.put("tiptop_flag",zgzc1); + hi_psndoc_title_obj.put("glbdef1",zymc); + hi_psndoc_title_obj.put("glbdef5",pzwh); + hi_psndoc_title_obj.put("glbdef2",fzsj); + hi_psndoc_title.add(hi_psndoc_title_obj); + } + } + return hi_psndoc_title; + } + + //hi_psndoc_nationdyty 获取职称资格 uf_rcrt_ec_nationdut + private JSONArray getNationdutInfoRecord(String collectid) { + JSONArray hi_psndoc_nationdyty = new JSONArray(); + String sql = "select zyzgdj,zygz,zsbh,pdjg,hdrq,zgzyzg from uf_rcrt_ec_nationdut where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_nationdyty_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"zgzyzg".equals(key))) { + rs1.put(key,""); + } + }); + String zyzgdj = (String) rs1.get("zyzgdj"); + String zygz = (String) rs1.get("zygz"); + String zsbh = (String) rs1.get("zsbh"); + String pdjg = (String) rs1.get("pdjg"); + String hdrq = (String) rs1.get("hdrq"); + String zgzyzg1 = "N"; + if(rs1.get("zgzyzg")!=null) { + long zgzyzg = (long) rs1.get("zgzyzg"); + zgzyzg1 = zgzyzg == 0l ? "N":"Y"; + } + Listids = new ArrayList<>(); + ids.add(zyzgdj); + ids.add(zygz); + Map rsmap = getNameById(ids); + hi_psndoc_nationdyty_obj.put("workdate",hdrq); + hi_psndoc_nationdyty_obj.put("certificatenum",zsbh); + hi_psndoc_nationdyty_obj.put("worklevel",rsmap.get(zyzgdj)); + hi_psndoc_nationdyty_obj.put("occuptype",rsmap.get(zygz)); + hi_psndoc_nationdyty_obj.put("workunitname",pdjg); + hi_psndoc_nationdyty_obj.put("istop",zgzyzg1); + hi_psndoc_nationdyty.add(hi_psndoc_nationdyty_obj); + } + } + return hi_psndoc_nationdyty; + } + + //hi_psndoc_glbdef1 获取职业资格注册 uf_rcrt_ec_zczyzg + private JSONArray getGlbdef1InfoRecord(String collectid) { + JSONArray hi_psndoc_glbdef1 = new JSONArray(); + String sql = "select zyzgmc,zyzgmcjzy,zyzgzsbh,zgzpzrq,zcbh,sfbqyzc,zgzjzrq,zxyzyjmc,zxyjzrq,zxezyjmc,zxejzrq,zxszyjmc,zxsjzrq,zxsizyjmc,zxsijzrq,zxwzyjmc,zxwjzrq,bz from uf_rcrt_ec_zczyzg where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_glbdef1_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String zyzgmc = (String) rs1.get("zyzgmc");//职业资格名称 + String zyzgmcjzy = (String) rs1.get("zyzgmcjzy");//职业资格名称及专业 + String zyzgzsbh = (String) rs1.get("zyzgzsbh");//职业资格证书编号 + String zgzpzrq = (String) rs1.get("zgzpzrq");//格证批准日期 + String zcbh = (String) rs1.get("zcbh");// 注册编号 + long sfbqyzc1 = 0l; + if(rs1.get("sfbqyzc") != null) { + sfbqyzc1 = (long) rs1.get("sfbqyzc");//是否本企业注册 + } + String zgzjzrq = (String) rs1.get("zgzjzrq");//资格证截止日期 + String zxyzyjmc = (String) rs1.get("zxyzyjmc");//增项一专业及名称 + String zxyjzrq = (String) rs1.get("zxyjzrq");//增项一截止日期 + String zxezyjmc = (String) rs1.get("zxezyjmc");//增项二专业及名称 + String zxejzrq = (String) rs1.get("zxejzrq");//增项二截止日期 + String zxszyjmc = (String) rs1.get("zxszyjmc");//增项三专业及名称 + String zxsjzrq = (String) rs1.get("zxsjzrq");//增项三截止日期 + String zxsizyjmc = (String) rs1.get("zxsizyjmc");// 增项四专业及名称 + String zxsijzrq = (String) rs1.get("zxsijzrq");//项四截止日期 + String zxwzyjmc = (String) rs1.get("zxwzyjmc");// 增项五专业及名称 + String zxwjzrq = (String) rs1.get("zxwjzrq");// 增项五截止日期 + String bz = (String) rs1.get("bz");//备注 + + Listids = new ArrayList<>(); + ids.add(zyzgmc); + ids.add(zyzgmcjzy); + ids.add(zxyzyjmc); + ids.add(zxezyjmc); + ids.add(zxszyjmc); + ids.add(zxsizyjmc); + ids.add(zxwzyjmc); + Map rsmap = getNameById(ids); + String sfbqyzc = sfbqyzc1 == 0l ? "N":"Y"; + hi_psndoc_glbdef1_obj.put("glbdef1",rsmap.get(zyzgmc));//职业资格名称 + hi_psndoc_glbdef1_obj.put("glbdef2",rsmap.get(zyzgmcjzy));//职业资格名称及专业 + hi_psndoc_glbdef1_obj.put("glbdef3",zyzgzsbh);//职业资格证书编号 + hi_psndoc_glbdef1_obj.put("glbdef4",zgzpzrq);//资格证批准日期 + hi_psndoc_glbdef1_obj.put("glbdef5",zcbh);//注册编号 + hi_psndoc_glbdef1_obj.put("glbdef6",sfbqyzc);//是否本企业注册 + hi_psndoc_glbdef1_obj.put("glbdef7",zgzjzrq);//注册证书有效时间 + hi_psndoc_glbdef1_obj.put("glbdef8",rsmap.get(zxyzyjmc));//增项一专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef9",zxyjzrq);//增项一截止日期 + hi_psndoc_glbdef1_obj.put("glbdef10",rsmap.get(zxezyjmc));//增项二专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef11",zxejzrq);//增项二截止日期 + hi_psndoc_glbdef1_obj.put("glbdef12",rsmap.get(zxszyjmc));//增项三专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef13",zxsjzrq);//增项三截止日期 + hi_psndoc_glbdef1_obj.put("glbdef14",rsmap.get(zxsizyjmc));//增项四专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef15",zxsijzrq);//增项四截止日期 + hi_psndoc_glbdef1_obj.put("glbdef16",rsmap.get(zxwzyjmc));//增项五专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef17",zxwjzrq);//增项五截止日期 + hi_psndoc_glbdef1_obj.put("glbdef19",bz);//备注 + + hi_psndoc_glbdef1.add(hi_psndoc_glbdef1_obj); + } + } + return hi_psndoc_glbdef1; + } + + //hi_psndoc_part 获取参加党派记 uf_rcrt_ec_partylog + private JSONArray getPartInfoRecord(String collectid) { + JSONArray hi_psndoc_part = new JSONArray(); + String sql = "select partyname,partydate,partyunit,partypsn,zzsj,bz from uf_rcrt_ec_partylog where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_part_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String partyname = (String) rs1.get("partyname"); + String partydate = (String) rs1.get("partydate"); + String partyunit = (String) rs1.get("partyunit"); + String partypsn = (String) rs1.get("partypsn"); + String zzsj = (String) rs1.get("zzsj"); + String bz = (String) rs1.get("bz"); + + Listids = new ArrayList<>(); + ids.add(partyname); + Map rsmap = getNameById(ids); + + hi_psndoc_part_obj.put("partyname",rsmap.get(partyname)); + hi_psndoc_part_obj.put("partydate",partydate); + hi_psndoc_part_obj.put("partyunit",partyunit); + hi_psndoc_part_obj.put("partypsn",partypsn); + hi_psndoc_part_obj.put("partyduedate",data10str(zzsj));//转正时间 + hi_psndoc_part_obj.put("glbdef1",bz);//备注 + + hi_psndoc_part.add(hi_psndoc_part_obj); + } + } + return hi_psndoc_part; + } + + //hi_psndoc_enc 获取奖励情况记录 uf_rcrt_ec_enc + private JSONArray getEncInfoRecord(String collectid) { + JSONArray hi_psndoc_enc = new JSONArray(); + String sql = "select jlrq,jllx,jljg,jlcs,jlsy,jllb from uf_rcrt_ec_enc where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_enc_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String jlrq = (String) rs1.get("jlrq"); + String jllx = (String) rs1.get("jllx"); + String jljg = (String) rs1.get("jljg"); + String jlcs = (String) rs1.get("jlcs"); + String jlsy = (String) rs1.get("jlsy"); + String jllb = (String) rs1.get("jllb"); + + Listids = new ArrayList<>(); + ids.add(jllb); + Map rsmap = getNameById(ids); + + hi_psndoc_enc_obj.put("encourdate",jlrq); + hi_psndoc_enc_obj.put("encourtype",jllx); + hi_psndoc_enc_obj.put("encourorg",jljg); + hi_psndoc_enc_obj.put("encourmeas",jlcs); + hi_psndoc_enc_obj.put("encourmatter",jlsy); + hi_psndoc_enc_obj.put("glbdef1",rsmap.get(jllb)); + + hi_psndoc_enc.add(hi_psndoc_enc_obj); + } + } + return hi_psndoc_enc; + } + + //hi_psndoc_glbdef3 安全生产考核证 uf_rcrt_ec_aqsckhz + private JSONArray getGlbdef3InfoRecord(String collectid) { + JSONArray hi_psndoc_glbdef3 = new JSONArray(); + String sql = "select aqsckhzmc,fzsj,zsbh,yxq,bz from uf_rcrt_ec_aqsckhz where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_glbdef3_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String aqsckhzmc = (String) rs1.get("aqsckhzmc"); + String fzsj = (String) rs1.get("fzsj"); + String zsbh = (String) rs1.get("zsbh"); + String yxq = (String) rs1.get("yxq"); + String bz = (String) rs1.get("bz"); + + Listids = new ArrayList<>(); + ids.add(aqsckhzmc); + Map rsmap = getNameById(ids); + + hi_psndoc_glbdef3_obj.put("glbdef1",rsmap.get(aqsckhzmc)); + hi_psndoc_glbdef3_obj.put("glbdef2",fzsj); + hi_psndoc_glbdef3_obj.put("glbdef3",yxq); + hi_psndoc_glbdef3_obj.put("glbdef4",zsbh); + hi_psndoc_glbdef3_obj.put("glbdef5",bz); + hi_psndoc_glbdef3.add(hi_psndoc_glbdef3_obj); + } + } + return hi_psndoc_glbdef3; + } + + //hi_psndoc_glbdef2 岗位证书 uf_rcrt_ec_gwzs + private JSONArray getGlbdef2InfoRecord(String collectid) { + JSONArray hi_psndoc_glbdef2 = new JSONArray(); + String sql = "select gwzsmc,zsbh,zsqdsj,zsfjsj,bz from uf_rcrt_ec_gwzs where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_glbdef2_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String gwzsmc = (String) rs1.get("gwzsmc"); + String zsbh = (String) rs1.get("zsbh"); + String zsqdsj = (String) rs1.get("zsqdsj"); + String zsfjsj = (String) rs1.get("zsfjsj"); + String bz = (String) rs1.get("bz"); + + Listids = new ArrayList<>(); + ids.add(gwzsmc); + Map rsmap = getNameById(ids); + + hi_psndoc_glbdef2_obj.put("glbdef1",rsmap.get(gwzsmc)); + hi_psndoc_glbdef2_obj.put("glbdef2",zsbh); + hi_psndoc_glbdef2_obj.put("glbdef3",zsqdsj); + hi_psndoc_glbdef2_obj.put("glbdef4",zsfjsj); + hi_psndoc_glbdef2_obj.put("glbdef5",bz); + hi_psndoc_glbdef2.add(hi_psndoc_glbdef2_obj); + } + } + return hi_psndoc_glbdef2; + } + + /** + * 根据id获取名称 + */ + private Map getNameById(List ids2) { + Listids = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(ids2)) { + for(String f : ids2) { + if(f.length()>0) { + ids.add(f); + } + } + } + Map result = new HashMap<>(); + String s1 = ids.stream().collect(Collectors.joining(",")); + for(int i = 0;i> rs = jdbcTemplateresp.queryForList(sql); + for(int x = 0;x map = rs.get(x); + BigDecimal id = (BigDecimal)map.get("id"); + String ncc_name = (String)map.get("ncc_name"); + result.put(id.toString(),ncc_name); + } + return result; + } + + private static String data10str(String s) { + if(s.length()>10 && s.contains("-")) { + String f = s.substring(0,10); + return f; + }else { + return s; + } + } + + private JSONArray getFjByCollectId(String collectid) { + JSONArray array1 = new JSONArray(); + String sql = "select dyxlxlzxwz,dexlxlzxwz,dsxlxlzxwz,dsixlxlzxwz,gwz,zcz,zyzgz,aqsckhz,jqmgzp,sfzzp from uf_rcrt_entry_collect where id = "+collectid; + Map map = jdbcTemplate.queryForMap(sql); + String dyxlxlzxwz = map.get("dyxlxlzxwz") == null ? "0" : (String)map.get("dyxlxlzxwz"); + String dexlxlzxwz = map.get("dexlxlzxwz") == null ? "0" : (String)map.get("dexlxlzxwz"); + String dsxlxlzxwz = map.get("dsxlxlzxwz") == null ? "0" : (String)map.get("dsxlxlzxwz"); + String dsixlxlzxwz = map.get("dsixlxlzxwz") == null ? "0" : (String)map.get("dsixlxlzxwz"); + String gwz = map.get("gwz") == null ? "0" : (String)map.get("gwz"); + String zcz = map.get("zcz") == null ? "0" : (String)map.get("zcz"); + String zyzgz = map.get("zyzgz") == null ? "0" : (String)map.get("zyzgz"); + String aqsckhz = map.get("aqsckhz") == null ? "0" : (String)map.get("aqsckhz"); + String sfzzp = map.get("sfzzp") == null ? "0" : (String)map.get("sfzzp"); + String jqmgzp = map.get("jqmgzp") == null ? "0" : (String)map.get("jqmgzp"); + List file1 = getDxDt(dyxlxlzxwz);//第一学历学历证学位证 + List file2 =getDxDt(dexlxlzxwz);//第二学历学历证学位证 + List file3 = getDxDt(dsxlxlzxwz);//第三学历学历证学位证 + List file4 = getDxDt(dsixlxlzxwz);//第四学历学历证学位证 + List file5 = getDxDt(gwz);//岗位证 + List file6 = getDxDt(zcz);//职称证 + List file7 = getDxDt(zyzgz);//执业资格证 + List file8 = getDxDt(aqsckhz);//安全生产考核证 + List file9 = getDxDt(sfzzp);//身份证 + List file10 = getDxDt(jqmgzp);//近期免冠照片 + if(CollectionUtil.isNotEmpty(file1)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第一学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file1) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + log.error("name::::::"+name1); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file2)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第二学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file2) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file3)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第三学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file3) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file4)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第四学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file4) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file5)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","岗位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file5) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file6)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","职称证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file6) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file7)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","执业资格证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file7) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file8)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","安全生产考核证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file8) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file9)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","身份证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file9) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file10)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","近期免冠照片"); + JSONArray json1 = new JSONArray(); + for(FileData f : file10) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + return array1; + } + + + + public byte[] getByteData(InputStream input) { + try { + return org.apache.commons.io.IOUtils.toByteArray(input); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + private List getDxDt(String id) { + List rs = new ArrayList<>(); + try { + if(!"0".equals(id)) { + String ids[] = id.split(","); + for(String s1 : ids) { + FileData file1 = fileDownloadService.downloadFile(Long.parseLong(s1)); + if(file1.getFileObj()!=null && file1.getInputStream()!=null) { + rs.add(file1); + } + } + + } + }catch (Exception e){ + e.printStackTrace(); + log.error("获取附件错误:"+e.getMessage()); + } + return rs; + } +} \ No newline at end of file diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ApplyPositionToNccQt.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ApplyPositionToNccQt.java new file mode 100644 index 0000000..41b65aa --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ApplyPositionToNccQt.java @@ -0,0 +1,1120 @@ +/** + * @use入职管理-待报道-同步nc入职人员基本信息--其他 + * @author 刘浩 + */ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.common.exception.BusinessException; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.eteams.file.client.file.FileData; +import com.weaver.file.ud.api.FileDownloadService; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.PropertiesConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.io.*; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("esb_applypositiontonccqt_howe") +public class ApplyPositionToNccQt implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(ApplyPositionToNccQt.class); + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + private String b1; + private String b2; + private String b3; + private String b4; + private String b5; + private String b6; + private String b7; + private String b8; + private String b9; + private String b10; + private String b11; + + public ApplyPositionToNccQt() { + PropertiesConfiguration p = null; + try { + p = new PropertiesConfiguration(); + p.setEncoding("utf-8"); + p.setFileName("config/nccconfig.properties"); + p.load(); + this.b1 = p.getString("sxjgncc.b1"); + this.b2 = p.getString("sxjgncc.b2"); + this.b3 = p.getString("sxjgncc.b3"); + this.b4 = p.getString("sxjgncc.b4"); + this.b5 = p.getString("sxjgncc.b5"); + this.b6 = p.getString("sxjgncc.b6"); + this.b7 = p.getString("sxjgncc.b7"); + this.b8 = p.getString("sxjgncc.b8"); + this.b9 = p.getString("sxjgncc.b9"); + this.b10 = p.getString("sxjgncc.b10"); + this.b11 = p.getString("sxjgncc.b11"); + }catch (ConfigurationException e) { + throw new BusinessException("获取sxjg.properties配置文件失败,", e); + } + } + @Autowired + private FileDownloadService fileDownloadService; + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String rzid = (String) params.get("rzid");//姓名 + String name = (String) params.get("name");//姓名 + String idtype = (String) params.get("idtype");//证件类型 + String id = (String) params.get("id");//证件号码 + String pk_org = (String) params.get("pk_org");//所属组织 + String sex = (String) params.get("sex"); + String birthdate = (String) params.get("birthdate"); + String nativeplace = (String) params.get("nativeplace"); + String characterrpr = (String) params.get("characterrpr"); + String nationality = (String) params.get("nationality"); + String polity = (String) params.get("polity"); + String health = (String) params.get("health"); + String marital = (String) params.get("marital"); + String joinworkdate = (String) params.get("joinworkdate"); + String mobile = (String) params.get("mobile"); + String email = (String) params.get("email"); + String bloodtype = (String) params.get("bloodtype"); + String usedname = (String) params.get("usedname"); + String fileaddress = (String) params.get("fileaddress"); + String glbdef6 = (String) params.get("glbdef6"); +// String partyname = (String) params.get("partyname"); +// String partydate = (String) params.get("partydate"); +// String partyunit = (String) params.get("partyunit"); +// String partypsn = (String) params.get("partypsn"); +// String partyduedate = (String) params.get("partyduedate"); +// String glbdef1 = (String) params.get("glbdef1"); + String pk_org_work = (String) params.get("pk_org_work"); + String pk_psncl_work = (String) params.get("pk_psncl_work"); + String pk_dept_work = (String) params.get("pk_dept_work"); + String pk_post_work = (String) params.get("pk_post_work"); + String pk_postseries_work = (String) params.get("pk_postseries_work"); + String pk_job_work = (String) params.get("pk_job_work"); + String pk_jobgrade_work = (String) params.get("pk_jobgrade_work"); + String begindate_work = (String) params.get("begindate_work"); + String collectid = (String) params.get("collectid"); + String ygxs = (String)params.get("ygxs"); + String rdtrq = (String)params.get("rdtrq");//入党团日期 + if (collectid == null || collectid.length() == 0) { + finresult.put("code",500); + finresult.put("msg","当前人员并未进行信息采集"); + return WeaResult.success(finresult); + } + + String sql = "select ncc_pk from ft_ncczjlx where ncc_name = '"+idtype+"'"; + Map srrr = jdbcTemplateresp.queryForMap(sql); + String idtypePk =(String) srrr.get("ncc_pk"); + + JSONObject result = new JSONObject(); + JSONArray data = new JSONArray(); + JSONArray bd_psndoc = new JSONArray();//人员基本信息 + JSONObject bd_psndoc_obj = new JSONObject(); + JSONArray hi_psnorg = new JSONArray();//组织关系 + JSONObject hi_psnorg_obj = new JSONObject(); + JSONArray hi_psnjob = new JSONArray();//工作记录 + JSONObject hi_psnjob_obj = new JSONObject(); + + bd_psndoc_obj.put("name", name); + bd_psndoc_obj.put("idtype", idtype); + bd_psndoc_obj.put("id", id); + bd_psndoc_obj.put("pk_org", pk_org); + sex = "male".equals(sex) ? "1" : "2"; + bd_psndoc_obj.put("sex", sex); + bd_psndoc_obj.put("birthdate", data10str(birthdate)); + bd_psndoc_obj.put("nativeplace", nativeplace); + bd_psndoc_obj.put("characterrpr", characterrpr); + bd_psndoc_obj.put("nationality", nationality); + bd_psndoc_obj.put("polity", polity); + bd_psndoc_obj.put("health", health); + bd_psndoc_obj.put("marital", marital); + bd_psndoc_obj.put("joinworkdate", data10str(joinworkdate)); + bd_psndoc_obj.put("mobile", mobile); + bd_psndoc_obj.put("email", email); + bd_psndoc_obj.put("bloodtype", bloodtype); + bd_psndoc_obj.put("usedname", usedname); + bd_psndoc_obj.put("fileaddress", fileaddress); + bd_psndoc_obj.put("glbdef6", glbdef6); + bd_psndoc_obj.put("joinpolitydate",rdtrq); + bd_psndoc.add(bd_psndoc_obj); + + hi_psnorg_obj.put("begindate", data10str(begindate_work)); + if(ygxs.contains("其他")) { + hi_psnorg_obj.put("indocflag", "Y"); + }else { + hi_psnorg_obj.put("indocflag", "N"); + } + hi_psnorg.add(hi_psnorg_obj); + + + hi_psnjob_obj.put("pk_org", pk_org_work); + hi_psnjob_obj.put("pk_psncl", pk_psncl_work); + hi_psnjob_obj.put("pk_dept", pk_dept_work); + hi_psnjob_obj.put("pk_post", pk_post_work); + hi_psnjob_obj.put("pk_postseries", pk_postseries_work); + hi_psnjob_obj.put("pk_job", pk_job_work); + hi_psnjob_obj.put("pk_jobgrade", pk_jobgrade_work); + hi_psnjob_obj.put("begindate", data10str(begindate_work)); + hi_psnjob.add(hi_psnjob_obj); + + JSONArray hi_psndoc_work = getWorkRecord(collectid); + JSONArray hi_psndoc_edu = getEduInfoRecord(collectid); + JSONArray hi_psndoc_family = getFamilyInfoRecord(collectid); + JSONArray hi_psndoc_linkman =getJjchatInfoRecord(collectid); + JSONArray hi_psndoc_title = getPsTitleInfoRecord(collectid); + JSONArray hi_psndoc_nationdyty = getNationdutInfoRecord(collectid); + JSONArray hi_psndoc_glbdef1 = getGlbdef1InfoRecord(collectid); + JSONArray hi_psndoc_part = getPartInfoRecord(collectid); + JSONArray hi_psndoc_enc =getEncInfoRecord(collectid); + JSONArray hi_psndoc_glbdef3 =getGlbdef3InfoRecord(collectid); + JSONArray hi_psndoc_glbdef2 =getGlbdef2InfoRecord(collectid); +// JSONArray hi_psndoc_partylog = new JSONArray(); +// JSONObject hi_psndoc_partylog_obj = new JSONObject(); +// hi_psndoc_partylog_obj.put("partyname",partyname); +// hi_psndoc_partylog_obj.put("partydate",data10str(partydate)); +// hi_psndoc_partylog_obj.put("partyunit",partyunit); +// hi_psndoc_partylog_obj.put("partypsn",partypsn); +// hi_psndoc_partylog_obj.put("partyduedate",data10str(partyduedate)); +// hi_psndoc_partylog_obj.put("glbdef1",glbdef1); +// hi_psndoc_partylog.add(hi_psndoc_partylog_obj); + + JSONObject x1 = new JSONObject(); + x1.put("bd_psndoc",bd_psndoc); + x1.put("hi_psnorg",hi_psnorg); + x1.put("hi_psnjob",hi_psnjob); + x1.put("hi_psndoc_work",hi_psndoc_work); + x1.put("hi_psndoc_edu",hi_psndoc_edu); + x1.put("hi_psndoc_family",hi_psndoc_family); + x1.put("hi_psndoc_linkman",hi_psndoc_linkman); + x1.put("hi_psndoc_title",hi_psndoc_title); + x1.put("hi_psndoc_nationdyty",hi_psndoc_nationdyty); + x1.put("hi_psndoc_glbdef1",hi_psndoc_glbdef1); + // x1.put("hi_psndoc_part",hi_psndoc_part); + x1.put("hi_psndoc_enc",hi_psndoc_enc); + x1.put("hi_psndoc_glbdef3",hi_psndoc_glbdef3); + x1.put("hi_psndoc_glbdef2",hi_psndoc_glbdef2); + x1.put("hi_psndoc_partylog",hi_psndoc_part); + data.add(x1); + result.put("data",data); + + try { + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrhi/openAPI/personnelSync/entry"; + String rs11 = nccApiUtil.doJsonPost(url,token,result.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + //传附件 + log.error("howec:::::::传附件"); + JSONObject jsonObject2 = new JSONObject(); + jsonObject2.put("id",id); + jsonObject2.put("idtype",idtypePk); + JSONArray r11 = getFjByCollectId(collectid); + jsonObject2.put("data",r11); + nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + token = nccApiUtil.getToken(); + url = nccApiUtil.getBaseUrl()+"nccloud/api/hrhi/openAPI/attachment/upload"; + rs11 = nccApiUtil.doJsonPost(url,token,jsonObject2.toJSONString()); + rs = new NccResultUtil(rs11); + if(rs.getResult()){ + //更新入职状态未已入职 + sql = "update uf_rcrt_entry_manage_qtry set entry_status = '1' where id = "+rzid; + jdbcTemplate.execute(sql); + return WeaResult.success(finresult); + }else { + //更新附件同步异常 + sql = "update uf_rcrt_entry_manage_qtry set fjtbsfyc = '2' where id = "+rzid; + jdbcTemplate.execute(sql); + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e){ + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + + //获取履历记录数组 表:b2 + private JSONArray getWorkRecord(String collectid) { + JSONArray hi_psndoc_work = new JSONArray(); + + String sql = "select id,start_date,end_date,company,workdept,workjob,job_name,memo from "+b2+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_work_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null) { + rs1.put(key,""); + } + }); + String start_date = (String) rs1.get("start_date"); + String end_date = (String) rs1.get("end_date"); + String company = (String) rs1.get("company"); + String workdept = (String) rs1.get("workdept"); + String workjob = (String) rs1.get("workjob"); + String job_name = (String) rs1.get("job_name"); + String memo = (String) rs1.get("memo"); + hi_psndoc_work_obj.put("begindate", start_date); + hi_psndoc_work_obj.put("workcorp", company); + hi_psndoc_work_obj.put("enddate", end_date); + hi_psndoc_work_obj.put("workdept", workdept); + hi_psndoc_work_obj.put("workjob", workjob); + hi_psndoc_work_obj.put("workpost", job_name); + hi_psndoc_work_obj.put("memo", memo); + hi_psndoc_work.add(hi_psndoc_work_obj); + } + } + return hi_psndoc_work; + } + + //获取学历信息数组b1 + private JSONArray getEduInfoRecord(String collectid) { + JSONArray hi_psndoc_edu = new JSONArray(); + String sql = "select data_start,data_end,education,dnxl,school_name,emp_major,xz,xxfs,xw,xwsyrq,xwsydw,xlzsbh,xwzsbh,zgxl from "+b1+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_edu_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!key.equals("zgxl"))) { + rs1.put(key,""); + } + }); + String data_start = (String) rs1.get("data_start"); + String data_end = (String) rs1.get("data_end"); + String education = (String) rs1.get("education"); + String dnxl = (String) rs1.get("dnxl"); + String school_name = (String) rs1.get("school_name"); + String emp_major = (String) rs1.get("emp_major"); + String xz = (String) rs1.get("xz"); + String xxfs = (String) rs1.get("xxfs"); + String xw = (String) rs1.get("xw"); + String xwsyrq = (String) rs1.get("xwsyrq"); + String xwsydw = (String) rs1.get("xwsydw"); + String xlzsbh = (String) rs1.get("xlzsbh"); + String xwzsbh = (String) rs1.get("xwzsbh"); + String zgxl = "N"; + if(rs1.get("zgxl") != null) { + long zgxl1 = (long) rs1.get("zgxl"); + zgxl = zgxl1 == 1l ? "Y" : "N"; + } + Listids = new ArrayList<>(); + ids.add(education); + ids.add(dnxl); + ids.add(xxfs); + ids.add(xw); + Map rsmap = getNameById(ids); + hi_psndoc_edu_obj.put("begindate",data_start); + hi_psndoc_edu_obj.put("education",rsmap.get(education)); + hi_psndoc_edu_obj.put("enddate",data_end); + hi_psndoc_edu_obj.put("school",school_name); + hi_psndoc_edu_obj.put("major",emp_major); + hi_psndoc_edu_obj.put("edusystem",xz); + hi_psndoc_edu_obj.put("studymode",rsmap.get(xxfs)); + hi_psndoc_edu_obj.put("pk_degree",rsmap.get(xw)); + hi_psndoc_edu_obj.put("degreedate",xwsyrq); + hi_psndoc_edu_obj.put("degreeunit",xwsydw); + hi_psndoc_edu_obj.put("educationctifcode",xlzsbh); + hi_psndoc_edu_obj.put("certifcode",xwzsbh); + hi_psndoc_edu_obj.put("lasteducation",zgxl); + hi_psndoc_edu_obj.put("glbdef1",rsmap.get(dnxl)); + hi_psndoc_edu.add(hi_psndoc_edu_obj); + } + } + return hi_psndoc_edu; + } + + //家庭信息数组b4 + private JSONArray getFamilyInfoRecord(String collectid) { + JSONArray hi_psndoc_family = new JSONArray(); + String sql = "select ybrgx,jtcyxm,sfzh,csrq,gzdw,zw,lxdh,zzmm,xl from "+b4+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_family_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null) { + rs1.put(key,""); + } + }); + String ybrgx = (String) rs1.get("ybrgx"); + String jtcyxm = (String) rs1.get("jtcyxm"); + String sfzh = (String) rs1.get("sfzh"); + String csrq = (String) rs1.get("csrq"); + String gzdw = (String) rs1.get("gzdw"); + String zw = (String) rs1.get("zw"); + String lxdh = (String) rs1.get("lxdh"); + String zzmm = (String) rs1.get("zzmm"); + String xl = (String) rs1.get("xl"); + + Listids = new ArrayList<>(); + ids.add(ybrgx); + ids.add(zzmm); + ids.add(xl); + Map rsmap = getNameById(ids); + hi_psndoc_family_obj.put("mem_relation",rsmap.get(ybrgx)); + hi_psndoc_family_obj.put("mem_name",jtcyxm); + hi_psndoc_family_obj.put("mem_birthday",csrq); + hi_psndoc_family_obj.put("mem_corp",gzdw); + hi_psndoc_family_obj.put("mem_job",zw); + hi_psndoc_family_obj.put("relaphone",lxdh); + hi_psndoc_family_obj.put("politics",rsmap.get(zzmm)); + hi_psndoc_family_obj.put("glbdef1",rsmap.get(xl)); + hi_psndoc_family_obj.put("glbdef2",sfzh); + hi_psndoc_family.add(hi_psndoc_family_obj); + } + } + return hi_psndoc_family; + } + + //紧急联系人 b3 + private JSONArray getJjchatInfoRecord(String collectid) { + JSONArray hi_psndoc_linkman = new JSONArray(); + String sql = "select linkman,mobile from "+b3+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_linkman_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null) { + rs1.put(key,""); + } + }); + String linkman = (String) rs1.get("linkman"); + String mobile = (String) rs1.get("mobile"); + hi_psndoc_linkman_obj.put("linkman",linkman); + hi_psndoc_linkman_obj.put("mobile",mobile); + hi_psndoc_linkman.add(hi_psndoc_linkman_obj); + } + } + return hi_psndoc_linkman; + } + + //hi_psndoc_title 职称信息 b5 + private JSONArray getPsTitleInfoRecord(String collectid) { + JSONArray hi_psndoc_title = new JSONArray(); + String sql = "select hdzc,pdrq,zcdj,zymc,pdjg,zsbh,zgzc,fzsj,pzwh from uf_rcrt_ec_title where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_title_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"zgzc".equals(key))) { + rs1.put(key,""); + } + }); + String hdzc = (String) rs1.get("hdzc"); + String pdrq = (String) rs1.get("pdrq"); + String zcdj = (String) rs1.get("zcdj"); + String zymc = (String) rs1.get("zymc"); + String pdjg = (String) rs1.get("pdjg"); + String zsbh = (String) rs1.get("zsbh"); + String zgzc1 = "N"; + String fzsj = (String) rs1.get("fzsj"); + String pzwh = (String) rs1.get("pzwh"); + if(rs1.get("zgzc")!=null) { + long zgzc = (long) rs1.get("zgzc"); + zgzc1 = zgzc == 0l ? "N":"Y"; + } + Listids = new ArrayList<>(); + ids.add(hdzc); + ids.add(zcdj); + Map rsmap = getNameById(ids); + hi_psndoc_title_obj.put("begindate",pdrq); + hi_psndoc_title_obj.put("pk_techposttitle",rsmap.get(hdzc)); + hi_psndoc_title_obj.put("titlerank",rsmap.get(zcdj)); + hi_psndoc_title_obj.put("assorg",pdjg); + hi_psndoc_title_obj.put("certifcode",zsbh); + hi_psndoc_title_obj.put("tiptop_flag",zgzc1); + hi_psndoc_title_obj.put("glbdef1",zymc); + hi_psndoc_title_obj.put("glbdef5",pzwh); + hi_psndoc_title_obj.put("glbdef2",fzsj); + hi_psndoc_title.add(hi_psndoc_title_obj); + } + } + return hi_psndoc_title; + } + + //hi_psndoc_nationdyty 获取职称资格 b6 + private JSONArray getNationdutInfoRecord(String collectid) { + JSONArray hi_psndoc_nationdyty = new JSONArray(); + String sql = "select zyzgdj,zygz,zsbh,pdjg,hdrq,zgzyzg from "+b6+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_nationdyty_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"zgzyzg".equals(key))) { + rs1.put(key,""); + } + }); + String zyzgdj = (String) rs1.get("zyzgdj"); + String zygz = (String) rs1.get("zygz"); + String zsbh = (String) rs1.get("zsbh"); + String pdjg = (String) rs1.get("pdjg"); + String hdrq = (String) rs1.get("hdrq"); + String zgzyzg1 = "N"; + if(rs1.get("zgzyzg")!=null) { + long zgzyzg = (long) rs1.get("zgzyzg"); + zgzyzg1 = zgzyzg == 0l ? "N":"Y"; + } + Listids = new ArrayList<>(); + ids.add(zyzgdj); + ids.add(zygz); + Map rsmap = getNameById(ids); + hi_psndoc_nationdyty_obj.put("workdate",hdrq); + hi_psndoc_nationdyty_obj.put("certificatenum",zsbh); + hi_psndoc_nationdyty_obj.put("worklevel",rsmap.get(zyzgdj)); + hi_psndoc_nationdyty_obj.put("occuptype",rsmap.get(zygz)); + hi_psndoc_nationdyty_obj.put("workunitname",pdjg); + hi_psndoc_nationdyty_obj.put("istop",zgzyzg1); + hi_psndoc_nationdyty.add(hi_psndoc_nationdyty_obj); + } + } + return hi_psndoc_nationdyty; + } + + //hi_psndoc_glbdef1 获取职业资格注册 b7 + private JSONArray getGlbdef1InfoRecord(String collectid) { + JSONArray hi_psndoc_glbdef1 = new JSONArray(); + String sql = "select zyzgmc,zyzgmcjzy,zyzgzsbh,zgzpzrq,zcbh,sfbqyzc,zgzjzrq,zxyzyjmc,zxyjzrq,zxezyjmc,zxejzrq,zxszyjmc,zxsjzrq,zxsizyjmc,zxsijzrq,zxwzyjmc,zxwjzrq,bz from "+b7+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_glbdef1_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String zyzgmc = (String) rs1.get("zyzgmc");//职业资格名称 + String zyzgmcjzy = (String) rs1.get("zyzgmcjzy");//职业资格名称及专业 + String zyzgzsbh = (String) rs1.get("zyzgzsbh");//职业资格证书编号 + String zgzpzrq = (String) rs1.get("zgzpzrq");//格证批准日期 + String zcbh = (String) rs1.get("zcbh");// 注册编号 + long sfbqyzc1 = 0l; + if(rs1.get("sfbqyzc") != null) { + sfbqyzc1 = (long) rs1.get("sfbqyzc");//是否本企业注册 + } + String zgzjzrq = (String) rs1.get("zgzjzrq");//资格证截止日期 + String zxyzyjmc = (String) rs1.get("zxyzyjmc");//增项一专业及名称 + String zxyjzrq = (String) rs1.get("zxyjzrq");//增项一截止日期 + String zxezyjmc = (String) rs1.get("zxezyjmc");//增项二专业及名称 + String zxejzrq = (String) rs1.get("zxejzrq");//增项二截止日期 + String zxszyjmc = (String) rs1.get("zxszyjmc");//增项三专业及名称 + String zxsjzrq = (String) rs1.get("zxsjzrq");//增项三截止日期 + String zxsizyjmc = (String) rs1.get("zxsizyjmc");// 增项四专业及名称 + String zxsijzrq = (String) rs1.get("zxsijzrq");//项四截止日期 + String zxwzyjmc = (String) rs1.get("zxwzyjmc");// 增项五专业及名称 + String zxwjzrq = (String) rs1.get("zxwjzrq");// 增项五截止日期 + String bz = (String) rs1.get("bz");//备注 + + Listids = new ArrayList<>(); + ids.add(zyzgmc); + ids.add(zyzgmcjzy); + ids.add(zxyzyjmc); + ids.add(zxezyjmc); + ids.add(zxszyjmc); + ids.add(zxsizyjmc); + ids.add(zxwzyjmc); + Map rsmap = getNameById(ids); + String sfbqyzc = sfbqyzc1 == 0l ? "N":"Y"; + hi_psndoc_glbdef1_obj.put("glbdef1",rsmap.get(zyzgmc));//职业资格名称 + hi_psndoc_glbdef1_obj.put("glbdef2",rsmap.get(zyzgmcjzy));//职业资格名称及专业 + hi_psndoc_glbdef1_obj.put("glbdef3",zyzgzsbh);//职业资格证书编号 + hi_psndoc_glbdef1_obj.put("glbdef4",zgzpzrq);//资格证批准日期 + hi_psndoc_glbdef1_obj.put("glbdef5",zcbh);//注册编号 + hi_psndoc_glbdef1_obj.put("glbdef6",sfbqyzc);//是否本企业注册 + hi_psndoc_glbdef1_obj.put("glbdef7",zgzjzrq);//注册证书有效时间 + hi_psndoc_glbdef1_obj.put("glbdef8",rsmap.get(zxyzyjmc));//增项一专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef9",zxyjzrq);//增项一截止日期 + hi_psndoc_glbdef1_obj.put("glbdef10",rsmap.get(zxezyjmc));//增项二专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef11",zxejzrq);//增项二截止日期 + hi_psndoc_glbdef1_obj.put("glbdef12",rsmap.get(zxszyjmc));//增项三专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef13",zxsjzrq);//增项三截止日期 + hi_psndoc_glbdef1_obj.put("glbdef14",rsmap.get(zxsizyjmc));//增项四专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef15",zxsijzrq);//增项四截止日期 + hi_psndoc_glbdef1_obj.put("glbdef16",rsmap.get(zxwzyjmc));//增项五专业及名称 + hi_psndoc_glbdef1_obj.put("glbdef17",zxwjzrq);//增项五截止日期 + hi_psndoc_glbdef1_obj.put("glbdef19",bz);//备注 + + hi_psndoc_glbdef1.add(hi_psndoc_glbdef1_obj); + } + } + return hi_psndoc_glbdef1; + } + + //hi_psndoc_part 获取参加党派记 b11 + private JSONArray getPartInfoRecord(String collectid) { + JSONArray hi_psndoc_part = new JSONArray(); + String sql = "select partyname,partydate,partyunit,partypsn,zzsj,bz from "+b11+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_part_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String partyname = (String) rs1.get("partyname"); + String partydate = (String) rs1.get("partydate"); + String partyunit = (String) rs1.get("partyunit"); + String partypsn = (String) rs1.get("partypsn"); + String zzsj = (String) rs1.get("zzsj"); + String bz = (String) rs1.get("bz"); + + Listids = new ArrayList<>(); + ids.add(partyname); + Map rsmap = getNameById(ids); + + hi_psndoc_part_obj.put("partyname",rsmap.get(partyname)); + hi_psndoc_part_obj.put("partydate",partydate); + hi_psndoc_part_obj.put("partyunit",partyunit); + hi_psndoc_part_obj.put("partypsn",partypsn); + hi_psndoc_part_obj.put("partyduedate",zzsj);//转正时间 + hi_psndoc_part_obj.put("glbdef1",bz);//备注 + + hi_psndoc_part.add(hi_psndoc_part_obj); + } + } + return hi_psndoc_part; + } + + //hi_psndoc_enc 获取奖励情况记录 b10 + private JSONArray getEncInfoRecord(String collectid) { + JSONArray hi_psndoc_enc = new JSONArray(); + String sql = "select jlrq,jllx,jljg,jlcs,jlsy,jllb from "+b10+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_enc_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String jlrq = (String) rs1.get("jlrq"); + String jllx = (String) rs1.get("jllx"); + String jljg = (String) rs1.get("jljg"); + String jlcs = (String) rs1.get("jlcs"); + String jlsy = (String) rs1.get("jlsy"); + String jllb = (String) rs1.get("jllb"); + + Listids = new ArrayList<>(); + ids.add(jllb); + Map rsmap = getNameById(ids); + + hi_psndoc_enc_obj.put("encourdate",jlrq); + hi_psndoc_enc_obj.put("encourtype",jllx); + hi_psndoc_enc_obj.put("encourorg",jljg); + hi_psndoc_enc_obj.put("encourmeas",jlcs); + hi_psndoc_enc_obj.put("encourmatter",jlsy); + hi_psndoc_enc_obj.put("glbdef1",rsmap.get(jllb)); + + hi_psndoc_enc.add(hi_psndoc_enc_obj); + } + } + return hi_psndoc_enc; + } + + //hi_psndoc_glbdef3 安全生产考核证 b9 + private JSONArray getGlbdef3InfoRecord(String collectid) { + JSONArray hi_psndoc_glbdef3 = new JSONArray(); + String sql = "select aqsckhzmc,fzsj,zsbh,yxq,bz from "+b9+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_glbdef3_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String aqsckhzmc = (String) rs1.get("aqsckhzmc"); + String fzsj = (String) rs1.get("fzsj"); + String zsbh = (String) rs1.get("zsbh"); + String yxq = (String) rs1.get("yxq"); + String bz = (String) rs1.get("bz"); + + Listids = new ArrayList<>(); + ids.add(aqsckhzmc); + Map rsmap = getNameById(ids); + + hi_psndoc_glbdef3_obj.put("glbdef1",rsmap.get(aqsckhzmc)); + hi_psndoc_glbdef3_obj.put("glbdef2",fzsj); + hi_psndoc_glbdef3_obj.put("glbdef3",yxq); + hi_psndoc_glbdef3_obj.put("glbdef4",zsbh); + hi_psndoc_glbdef3_obj.put("glbdef5",bz); + hi_psndoc_glbdef3.add(hi_psndoc_glbdef3_obj); + } + } + return hi_psndoc_glbdef3; + } + + //hi_psndoc_glbdef2 岗位证书 b8 + private JSONArray getGlbdef2InfoRecord(String collectid) { + JSONArray hi_psndoc_glbdef2 = new JSONArray(); + String sql = "select gwzsmc,zsbh,zsqdsj,zsfjsj,bz from "+b8+" where is_delete = '0' and form_data_id = '" + collectid + "'"; + List> rs = jdbcTemplate.queryForList(sql); + if (CollectionUtil.isNotEmpty(rs)) { + for (int i = 0; i < rs.size(); i++) { + JSONObject hi_psndoc_glbdef2_obj = new JSONObject(); + Map rs1 = rs.get(i); + rs1.forEach((key, value) -> { + if(value == null && (!"sfbqyzc".equals(key))) { + rs1.put(key,""); + } + }); + String gwzsmc = (String) rs1.get("gwzsmc"); + String zsbh = (String) rs1.get("zsbh"); + String zsqdsj = (String) rs1.get("zsqdsj"); + String zsfjsj = (String) rs1.get("zsfjsj"); + String bz = (String) rs1.get("bz"); + + Listids = new ArrayList<>(); + ids.add(gwzsmc); + Map rsmap = getNameById(ids); + + hi_psndoc_glbdef2_obj.put("glbdef1",rsmap.get(gwzsmc)); + hi_psndoc_glbdef2_obj.put("glbdef2",zsbh); + hi_psndoc_glbdef2_obj.put("glbdef3",zsqdsj); + hi_psndoc_glbdef2_obj.put("glbdef4",zsfjsj); + hi_psndoc_glbdef2_obj.put("glbdef5",bz); + hi_psndoc_glbdef2.add(hi_psndoc_glbdef2_obj); + } + } + return hi_psndoc_glbdef2; + } + + /** + * 根据id获取名称 + */ + private Map getNameById(List ids2) { + Listids = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(ids2)) { + for(String f : ids2) { + if(f.length()>0) { + ids.add(f); + } + } + } + Map result = new HashMap<>(); + String s1 = ids.stream().collect(Collectors.joining(",")); + for(int i = 0;i> rs = jdbcTemplateresp.queryForList(sql); + for(int x = 0;x map = rs.get(x); + BigDecimal id = (BigDecimal)map.get("id"); + String ncc_name = (String)map.get("ncc_name"); + result.put(id.toString(),ncc_name); + } + return result; + } + + private static String data10str(String s) { + if(s.length()>10 && s.contains("-")) { + String f = s.substring(0,10); + return f; + }else { + return s; + } + } + + private JSONArray getFjByCollectId(String collectid) { + JSONArray array1 = new JSONArray(); + String sql = "select dyxlxlzxwz,dexlxlzxwz,dsxlxlzxwz,dsixlxlzxwz,gwz,zcz,zyzgz,aqsckhz,jqmgzp,sfzzp from uf_rcrt_entry_collect_qtry where id = "+collectid; + Map map = jdbcTemplate.queryForMap(sql); + String dyxlxlzxwz = map.get("dyxlxlzxwz") == null ? "0" : (String)map.get("dyxlxlzxwz"); + String dexlxlzxwz = map.get("dexlxlzxwz") == null ? "0" : (String)map.get("dexlxlzxwz"); + String dsxlxlzxwz = map.get("dsxlxlzxwz") == null ? "0" : (String)map.get("dsxlxlzxwz"); + String dsixlxlzxwz = map.get("dsixlxlzxwz") == null ? "0" : (String)map.get("dsixlxlzxwz"); + String gwz = map.get("gwz") == null ? "0" : (String)map.get("gwz"); + String zcz = map.get("zcz") == null ? "0" : (String)map.get("zcz"); + String zyzgz = map.get("zyzgz") == null ? "0" : (String)map.get("zyzgz"); + String aqsckhz = map.get("aqsckhz") == null ? "0" : (String)map.get("aqsckhz"); + String sfzzp = map.get("sfzzp") == null ? "0" : (String)map.get("sfzzp"); + String jqmgzp = map.get("jqmgzp") == null ? "0" : (String)map.get("jqmgzp"); + List file1 = getDxDt(dyxlxlzxwz);//第一学历学历证学位证 + List file2 =getDxDt(dexlxlzxwz);//第二学历学历证学位证 + List file3 = getDxDt(dsxlxlzxwz);//第三学历学历证学位证 + List file4 = getDxDt(dsixlxlzxwz);//第四学历学历证学位证 + List file5 = getDxDt(gwz);//岗位证 + List file6 = getDxDt(zcz);//职称证 + List file7 = getDxDt(zyzgz);//执业资格证 + List file8 = getDxDt(aqsckhz);//安全生产考核证 + List file9 = getDxDt(sfzzp);//身份证 + List file10 = getDxDt(jqmgzp);//近期免冠照片 + if(CollectionUtil.isNotEmpty(file1)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第一学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file1) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + log.error("name::::::"+name1); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file2)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第二学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file2) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file3)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第三学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file3) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file4)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第四学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file4) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file5)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","岗位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file5) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file6)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","职称证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file6) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file7)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","执业资格证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file7) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file8)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","安全生产考核证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file8) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file9)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","身份证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file9) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file10)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","近期免冠照片"); + JSONArray json1 = new JSONArray(); + for(FileData f : file10) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + return array1; + } + + private byte[] getByteData(InputStream stream){ + byte[] binaryData; + try{ + // 创建字节数组输出流 + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + // 定义缓冲区大小(根据需要调整) + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = stream.read(buffer)) != -1) { + // 写入到字节数组输出流 + baos.write(buffer, 0, bytesRead); + } + // 获取转换后的二进制数据 + binaryData = baos.toByteArray(); + // 关闭输入流和输出流 + stream.close(); + baos.close(); + return binaryData; + } catch (Exception e) { + e.printStackTrace(); + log.error("下载输出文件流失败"); + } finally { + try { + if(stream != null){ + stream.close(); + } + } catch (Exception e) { + log.error("inputStream 关闭资源失败", e); + } + } + return null; + } + + private List getDxDt(String id) { + List rs = new ArrayList<>(); + try { + if(!"0".equals(id)) { + String ids[] = id.split(","); + for(String s1 : ids) { + log.error("11111111111111111"); + FileData file1 = fileDownloadService.downloadFile(Long.parseLong(s1)); + if(file1.getFileObj()!=null && file1.getInputStream()!=null) { + log.error("222222222222"); + rs.add(file1); + } + } + + } + }catch (Exception e){ + e.printStackTrace(); + log.error("获取附件错误:"+e.getMessage()); + } + return rs; + } +} \ No newline at end of file diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ErrorfjResendToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ErrorfjResendToNcc.java new file mode 100644 index 0000000..ffa86e4 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ErrorfjResendToNcc.java @@ -0,0 +1,417 @@ +/** + * @use附件重发 + * @author 刘浩 + */ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.eteams.file.client.file.FileData; +import com.weaver.file.ud.api.FileDownloadService; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service("esb_errorresend_howe") +public class ErrorfjResendToNcc implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(ErrorfjResendToNcc.class); + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + + @Autowired + private FileDownloadService fileDownloadService; + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String idtype = (String) params.get("idtype");//证件类型 + String id = (String) params.get("id");//证件号码 + String rzid = (String) params.get("rzid");//入职id + String collectid = (String) params.get("collectid"); + if (collectid == null || collectid.length() == 0) { + finresult.put("code",500); + finresult.put("msg","当前人员并未进行信息采集"); + return WeaResult.success(finresult); + } + String sql = "select ncc_pk from ft_ncczjlx where ncc_name = '"+idtype+"'"; + Map srrr = jdbcTemplateresp.queryForMap(sql); + String idtypePk =(String) srrr.get("ncc_pk"); + try { + //传附件 + log.error("howec:::::::传附件"); + JSONObject jsonObject2 = new JSONObject(); + jsonObject2.put("id",id); + jsonObject2.put("idtype",idtypePk); + JSONArray r11 = getFjByCollectId(collectid); + if(r11.size() == 0) { + return WeaResult.success(finresult); + } + jsonObject2.put("data",r11); + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrhi/openAPI/attachment/upload"; + String rs11 = nccApiUtil.doJsonPost(url,token,jsonObject2.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()){ + sql = "update uf_rcrt_entry_manage set fjtbsfyc = '0' where id = "+rzid; + jdbcTemplate.execute(sql); + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e){ + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getFjByCollectId(String collectid) { + JSONArray array1 = new JSONArray(); + String sql = "select dyxlxlzxwz,dexlxlzxwz,dsxlxlzxwz,dsixlxlzxwz,gwz,zcz,zyzgz,aqsckhz,jqmgzp,sfzzp from uf_rcrt_entry_collect where id = "+collectid; + Map map = jdbcTemplate.queryForMap(sql); + String dyxlxlzxwz = map.get("dyxlxlzxwz") == null ? "0" : (String)map.get("dyxlxlzxwz"); + String dexlxlzxwz = map.get("dexlxlzxwz") == null ? "0" : (String)map.get("dexlxlzxwz"); + String dsxlxlzxwz = map.get("dsxlxlzxwz") == null ? "0" : (String)map.get("dsxlxlzxwz"); + String dsixlxlzxwz = map.get("dsixlxlzxwz") == null ? "0" : (String)map.get("dsixlxlzxwz"); + String gwz = map.get("gwz") == null ? "0" : (String)map.get("gwz"); + String zcz = map.get("zcz") == null ? "0" : (String)map.get("zcz"); + String zyzgz = map.get("zyzgz") == null ? "0" : (String)map.get("zyzgz"); + String aqsckhz = map.get("aqsckhz") == null ? "0" : (String)map.get("aqsckhz"); + String sfzzp = map.get("sfzzp") == null ? "0" : (String)map.get("sfzzp"); + String jqmgzp = map.get("jqmgzp") == null ? "0" : (String)map.get("jqmgzp"); + List file1 = getDxDt(dyxlxlzxwz);//第一学历学历证学位证 + List file2 =getDxDt(dexlxlzxwz);//第二学历学历证学位证 + List file3 = getDxDt(dsxlxlzxwz);//第三学历学历证学位证 + List file4 = getDxDt(dsixlxlzxwz);//第四学历学历证学位证 + List file5 = getDxDt(gwz);//岗位证 + List file6 = getDxDt(zcz);//职称证 + List file7 = getDxDt(zyzgz);//执业资格证 + List file8 = getDxDt(aqsckhz);//安全生产考核证 + List file9 = getDxDt(sfzzp);//身份证 + List file10 = getDxDt(jqmgzp);//近期免冠照片 + if(CollectionUtil.isNotEmpty(file1)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第一学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file1) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + log.error("name::::::"+name1); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file2)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第二学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file2) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file3)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第三学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file3) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file4)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第四学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file4) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file5)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","岗位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file5) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file6)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","职称证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file6) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file7)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","执业资格证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file7) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file8)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","安全生产考核证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file8) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file9)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","身份证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file9) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file10)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","近期免冠照片"); + JSONArray json1 = new JSONArray(); + for(FileData f : file10) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + return array1; + } + + + + public byte[] getByteData(InputStream input) { + try { + return org.apache.commons.io.IOUtils.toByteArray(input); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + private List getDxDt(String id) { + List rs = new ArrayList<>(); + try { + if(!"0".equals(id)) { + String ids[] = id.split(","); + for(String s1 : ids) { + FileData file1 = fileDownloadService.downloadFile(Long.parseLong(s1)); + if(file1.getFileObj()!=null && file1.getInputStream()!=null) { + rs.add(file1); + } + } + + } + }catch (Exception e){ + e.printStackTrace(); + log.error("获取附件错误:"+e.getMessage()); + } + return rs; + } +} \ No newline at end of file diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ErrorfjResendToNccQt.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ErrorfjResendToNccQt.java new file mode 100644 index 0000000..96c7d99 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ErrorfjResendToNccQt.java @@ -0,0 +1,417 @@ +/** + * @use附件重发 ---其他入职 + * @author 刘浩 + */ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.eteams.file.client.file.FileData; +import com.weaver.file.ud.api.FileDownloadService; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service("esb_errorresendqt_howe") +public class ErrorfjResendToNccQt implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(ErrorfjResendToNccQt.class); + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + + @Autowired + private FileDownloadService fileDownloadService; + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String idtype = (String) params.get("idtype");//证件类型 + String id = (String) params.get("id");//证件号码 + String rzid = (String) params.get("rzid");//入职id + String collectid = (String) params.get("collectid"); + if (collectid == null || collectid.length() == 0) { + finresult.put("code",500); + finresult.put("msg","当前人员并未进行信息采集"); + return WeaResult.success(finresult); + } + String sql = "select ncc_pk from ft_ncczjlx where ncc_name = '"+idtype+"'"; + Map srrr = jdbcTemplateresp.queryForMap(sql); + String idtypePk =(String) srrr.get("ncc_pk"); + try { + //传附件 + log.error("howec:::::::传附件"); + JSONObject jsonObject2 = new JSONObject(); + jsonObject2.put("id",id); + jsonObject2.put("idtype",idtypePk); + JSONArray r11 = getFjByCollectId(collectid); + if(r11.size() == 0) { + return WeaResult.success(finresult); + } + jsonObject2.put("data",r11); + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrhi/openAPI/attachment/upload"; + String rs11 = nccApiUtil.doJsonPost(url,token,jsonObject2.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()){ + sql = "update uf_rcrt_entry_manage_qtry set fjtbsfyc = '0' where id = "+rzid; + jdbcTemplate.execute(sql); + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e){ + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getFjByCollectId(String collectid) { + JSONArray array1 = new JSONArray(); + String sql = "select dyxlxlzxwz,dexlxlzxwz,dsxlxlzxwz,dsixlxlzxwz,gwz,zcz,zyzgz,aqsckhz,jqmgzp,sfzzp from uf_rcrt_entry_collect_qtry where id = "+collectid; + Map map = jdbcTemplate.queryForMap(sql); + String dyxlxlzxwz = map.get("dyxlxlzxwz") == null ? "0" : (String)map.get("dyxlxlzxwz"); + String dexlxlzxwz = map.get("dexlxlzxwz") == null ? "0" : (String)map.get("dexlxlzxwz"); + String dsxlxlzxwz = map.get("dsxlxlzxwz") == null ? "0" : (String)map.get("dsxlxlzxwz"); + String dsixlxlzxwz = map.get("dsixlxlzxwz") == null ? "0" : (String)map.get("dsixlxlzxwz"); + String gwz = map.get("gwz") == null ? "0" : (String)map.get("gwz"); + String zcz = map.get("zcz") == null ? "0" : (String)map.get("zcz"); + String zyzgz = map.get("zyzgz") == null ? "0" : (String)map.get("zyzgz"); + String aqsckhz = map.get("aqsckhz") == null ? "0" : (String)map.get("aqsckhz"); + String sfzzp = map.get("sfzzp") == null ? "0" : (String)map.get("sfzzp"); + String jqmgzp = map.get("jqmgzp") == null ? "0" : (String)map.get("jqmgzp"); + List file1 = getDxDt(dyxlxlzxwz);//第一学历学历证学位证 + List file2 =getDxDt(dexlxlzxwz);//第二学历学历证学位证 + List file3 = getDxDt(dsxlxlzxwz);//第三学历学历证学位证 + List file4 = getDxDt(dsixlxlzxwz);//第四学历学历证学位证 + List file5 = getDxDt(gwz);//岗位证 + List file6 = getDxDt(zcz);//职称证 + List file7 = getDxDt(zyzgz);//执业资格证 + List file8 = getDxDt(aqsckhz);//安全生产考核证 + List file9 = getDxDt(sfzzp);//身份证 + List file10 = getDxDt(jqmgzp);//近期免冠照片 + if(CollectionUtil.isNotEmpty(file1)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第一学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file1) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + log.error("name::::::"+name1); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file2)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第二学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file2) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file3)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第三学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file3) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file4)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","第四学历学历证学位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file4) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file5)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","岗位证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file5) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file6)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","职称证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file6) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file7)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","执业资格证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file7) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file8)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","安全生产考核证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file8) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file9)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","身份证"); + JSONArray json1 = new JSONArray(); + for(FileData f : file9) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + if(CollectionUtil.isNotEmpty(file10)) { + JSONObject rs1 = new JSONObject(); + rs1.put("file_name","近期免冠照片"); + JSONArray json1 = new JSONArray(); + for(FileData f : file10) { + JSONObject r1 = new JSONObject(); + String filename = ""; + String name1 = f.getFileObj().getName(); + if(name1.contains(".")) { + filename = name1.split("\\.")[1]; + } + if(filename.length() > 0) { + r1.put("file_type",filename.toLowerCase()); + }else{ + r1.put("file_type",f.getFileObj().getType()); + } + log.error("howec:::::::::xxxxx21:"+f.getFileObj().getName()); + log.error("howec:::::::::xxxxx1:"+f.getFileObj().getType()); + log.error("howec:::::::::xxxxx2:"+f.getLoadUrl()); + InputStream stream1 = f.getInputStream(); + byte[] a = getByteData(stream1); + r1.put("filebytes",a); + json1.add(r1); + } + rs1.put("filebytes_array",json1); + array1.add(rs1); + } + return array1; + } + + + + public byte[] getByteData(InputStream input) { + try { + return org.apache.commons.io.IOUtils.toByteArray(input); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + private List getDxDt(String id) { + List rs = new ArrayList<>(); + try { + if(!"0".equals(id)) { + String ids[] = id.split(","); + for(String s1 : ids) { + FileData file1 = fileDownloadService.downloadFile(Long.parseLong(s1)); + if(file1.getFileObj()!=null && file1.getInputStream()!=null) { + rs.add(file1); + } + } + + } + }catch (Exception e){ + e.printStackTrace(); + log.error("获取附件错误:"+e.getMessage()); + } + return rs; + } +} \ No newline at end of file diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/FrCompanyApplyToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/FrCompanyApplyToNcc.java new file mode 100644 index 0000000..c780e09 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/FrCompanyApplyToNcc.java @@ -0,0 +1,142 @@ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 法人单位报道定调薪 + */ +@Service("esb_Frcompanyapply_howe") +public class FrCompanyApplyToNcc implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(FrCompanyApplyToNcc.class); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String pk_dept = (String) params.get("pk_dept"); + String pk_jobgrade = (String) params.get("pk_jobgrade"); + String jobglbdef1 = (String) params.get("jobglbdef1"); + String joinworkdate = (String) params.get("joinworkdate"); + String pk_org = (String) params.get("pk_org"); + String bsid = (String)params.get("bsid"); + String username = (String)params.get("username"); + String usercode = (String)params.get("usercode"); + String applyer = (String) params.get("applyer"); + String usedate = (String) params.get("usedate"); + String zryda = (String) params.get("zryda"); + try { + + //同步明细 + JSONObject r1 = new JSONObject(); + String state = "1"; + JSONArray array = getDataArray(bsid,username,usercode,usedate); + if(array == null || array.size() == 0) { + state = "0"; + } + if(zryda.equals("是")) { + if(array == null || array.size() == 0) { + return WeaResult.success(finresult); + } + state = "2"; + } + r1.put("pk_psndoc",applyer); + r1.put("state",state); + r1.put("pk_dept",pk_dept); + r1.put("pk_jobgrade",pk_jobgrade); + r1.put("jobglbdef1",jobglbdef1); + r1.put("joinworkdate",joinworkdate); + r1.put("pk_org",pk_org); + r1.put("data",array); + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrwa/customermanage/adjust/import"; + String rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e) { + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getDataArray(String bsid,String username,String usercode,String usedate) { + JSONArray jsonArray = new JSONArray(); + String sql = "select dataid from wfc_form_data wfd where requestid = "+bsid; + Map rs = jdbcTemplateresp.queryForMap(sql); + long dataid = (long)rs.get("dataid"); + sql = "select waitem,xzxmmc,pk_wa_crt,negotiation,wa_seclv,money,memo from ft_frdw_bddtx where FORM_DATA_ID = "+dataid+" and tbddzwh = '1'"; + log.error("howec::::::::3"+sql); + List> rs1 = jdbcTemplateresp.queryForList(sql); + if(CollectionUtil.isNotEmpty(rs1)) { + for(Map r : rs1) { + String xzxmmc = (String)r.get("xzxmmc");//薪资项目名称 + long negotiation = (long)r.get("negotiation");//谈判工资 + String xbdb = ""; + if(r.get("wa_seclv")!=null) { + long id1 = (long)r.get("wa_seclv"); + if(id1 != 0l) { + sql = "select levelname from uf_wa_prmlv where id = "+id1; + Map rso= jdbcTemplate.queryForMap(sql); + xbdb = (String)rso.get("levelname"); + } + } + String nmoney = ""; + if(r.get("waitem")!=null) { + nmoney = (String)r.get("waitem");//金额 + } + String memo=(String)r.get("memo");//备注 + //通过薪资标准表id获取薪资标准名称 + String pk_wa_crt_name = ""; + if(r.get("pk_wa_crt") != null) { + long pk_wa_crt = (long)r.get("pk_wa_crt");//薪资标准表 + sql = "select name from uf_wa_grade where id = "+pk_wa_crt; + Map rso= jdbcTemplate.queryForMap(sql); + pk_wa_crt_name = (String)rso.get("name"); + } + String negotiation_wage = negotiation == 0l ? "N" : "Y"; + JSONObject dataobj = new JSONObject(); + dataobj.put("negotiation_wage",negotiation_wage); + dataobj.put("begindate",usedate); + dataobj.put("wa_prmlv",xbdb);//薪资级别 +// dataobj.put("wa_seclv","");//薪档级别 + dataobj.put("nmoney",nmoney); + dataobj.put("waflag","Y"); + dataobj.put("pk_wa_item_showname",xzxmmc); + dataobj.put("pk_wa_grd_showname",pk_wa_crt_name); + dataobj.put("psnCode",usercode); + dataobj.put("psnName",username); + dataobj.put("vnote",memo); + jsonArray.add(dataobj); + } + } + return jsonArray; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PayslipPageQuery.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PayslipPageQuery.java new file mode 100644 index 0000000..c7dc161 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PayslipPageQuery.java @@ -0,0 +1,40 @@ +package com.weaver.seconddev.sxjg.esb; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.junit.Test; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * 工资条查询ncc + */ +@Service("payslippagequery_howe") +public class PayslipPageQuery implements EsbServerlessRpcRemoteInterface { + @Override + public WeaResult> execute(Map params) { + return null; + } + + @Test + public void Test() throws Exception { + JSONObject r1 = new JSONObject(); + JSONArray r2 = new JSONArray(); + JSONObject r3 = new JSONObject(); + r3.put("pk_psndoc","0001A2100000003FMWBU"); + r2.add(r3); + r1.put("data",r2); + + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/payslipSync/entry"; + String rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + System.out.println(rs11); + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonDdToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonDdToNcc.java new file mode 100644 index 0000000..da64b71 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonDdToNcc.java @@ -0,0 +1,174 @@ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 人员调动流程toncc + */ +@Service("esb_PersonDdToNcc_howe") +public class PersonDdToNcc implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(PersonDdToNcc.class); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String pk_org = (String) params.get("pk_org");//所属组织(调配后的组织) + String pk_psndoc = (String) params.get("pk_psndoc");//员工pk值 + String begindate = (String) params.get("begindate");//开始时间 + String pk_psncl = (String) params.get("pk_psncl");//人员类别 + if(pk_psncl.contains("_")) { + pk_psncl = pk_psncl.split("_")[1]; + } + String pk_dept = (String) params.get("pk_dept");//部门pk + String pk_post = (String) params.get("pk_post");//岗位 + String pk_postseries = (String) params.get("pk_postseries");//岗位序列 + String pk_job = (String) params.get("pk_job");//职务 + String pk_jobgrade = (String) params.get("pk_jobgrade");//职级 + String jobglbdef1 = (String) params.get("jobglbdef1");//职级开始时间 + String trnsreason = (String) params.get("trnsreason");//异动原因 + String memo = (String) params.get("memo");//备注 + String isSyncResume = (String) params.get("isSyncResume");//同步履历 + String isSyncPartTime = (String) params.get("isSyncPartTime");//结束兼职 + isSyncResume = "1".equals(isSyncResume) ? "Y" : "N"; + isSyncPartTime = "1".equals(isSyncPartTime) ? "Y" : "N"; + String bsid = (String)params.get("bsid"); + String username = (String)params.get("username"); + String usercode = (String)params.get("usercode"); + + + JSONObject jsonObject = new JSONObject(); + JSONArray jsonArray = new JSONArray(); + JSONObject obj1 = new JSONObject(); + obj1.put("pk_org",pk_org); + obj1.put("pk_psndoc",pk_psndoc); + obj1.put("begindate",begindate); + obj1.put("pk_psncl",pk_psncl); + obj1.put("pk_dept",pk_dept); + obj1.put("pk_post",pk_post); + obj1.put("pk_postseries",pk_postseries); + obj1.put("pk_job",pk_job); + obj1.put("pk_jobgrade",pk_jobgrade); + obj1.put("jobglbdef1",jobglbdef1); + obj1.put("trnsreason",trnsreason); + obj1.put("memo",memo); + obj1.put("isSyncResume",isSyncResume); + obj1.put("isSyncPartTime",isSyncPartTime); + jsonArray.add(obj1); + jsonObject.put("data",jsonArray); + try { + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/transfer/sync"; + String rs11 = nccApiUtil.doJsonPost(url,token,jsonObject.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + //同步明细 + JSONObject r1 = new JSONObject(); + String state = "2"; + r1.put("state",state); + r1.put("pk_org",pk_org); + JSONArray array = getDataArray(bsid,username,usercode); + if(array == null || array.size() == 0) { + return WeaResult.success(finresult); + } + r1.put("data",array); + nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + token = nccApiUtil.getToken(); + url = nccApiUtil.getBaseUrl()+"nccloud/api/hrwa/customermanage/adjust/import"; + rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + rs = new NccResultUtil(rs11); + if(rs.getResult()) { + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e){ + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getDataArray(String bsid,String username,String usercode) { + JSONArray jsonArray = new JSONArray(); + String sql = "select dataid from wfc_form_data wfd where requestid = "+bsid; + Map rs = jdbcTemplateresp.queryForMap(sql); + long dataid = (long)rs.get("dataid"); + sql = "select waitem,xzxmmc,pk_wa_crt,usedate,negotiation,wa_seclv,money,memo from hi_stapply_mxb2 where FORM_DATA_ID = "+dataid; + log.error("howec::::::::3"+sql); + List> rs1 = jdbcTemplateresp.queryForList(sql); + if(CollectionUtil.isNotEmpty(rs1)) { + for(Map r : rs1) { + String xzxmmc = (String)r.get("xzxmmc");//薪资项目名称 + String usedate = (String)r.get("usedate");//起薪日期 + long negotiation = (long)r.get("negotiation");//谈判工资 + String xbdb = ""; + if(r.get("wa_seclv")!=null) { + long id1 = (long)r.get("wa_seclv"); + if(id1 != 0l) { + sql = "select levelname from uf_wa_prmlv where id = "+id1; + Map rso= jdbcTemplate.queryForMap(sql); + xbdb = (String)rso.get("levelname"); + } + } + String nmoney = ""; + if(r.get("waitem")!=null) { + nmoney = (String)r.get("waitem");//金额 + } + String memo=(String)r.get("memo");//备注 + //通过薪资标准表id获取薪资标准名称 + String pk_wa_crt_name = ""; + if(r.get("pk_wa_crt") != null) { + long pk_wa_crt = (long)r.get("pk_wa_crt");//薪资标准表 + sql = "select name from uf_wa_grade where id = "+pk_wa_crt; + Map rso= jdbcTemplate.queryForMap(sql); + pk_wa_crt_name = (String)rso.get("name"); + } + String negotiation_wage = negotiation == 0l ? "N" : "Y"; + JSONObject dataobj = new JSONObject(); + dataobj.put("negotiation_wage",negotiation_wage); + dataobj.put("begindate",usedate); + dataobj.put("wa_prmlv",xbdb);//薪资级别 +// dataobj.put("wa_seclv","");//薪档级别 + dataobj.put("nmoney",nmoney); + dataobj.put("waflag","Y"); + dataobj.put("pk_wa_item_showname",xzxmmc); + dataobj.put("pk_wa_grd_showname",pk_wa_crt_name); + dataobj.put("psnCode",usercode); + dataobj.put("psnName",username); + dataobj.put("vnote",memo); + jsonArray.add(dataobj); + } + } + return jsonArray; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonJxToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonJxToNcc.java new file mode 100644 index 0000000..9ff57fa --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonJxToNcc.java @@ -0,0 +1,159 @@ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 人员见习流程toncc + */ +@Service("esb_PersonJxToNcc_howe") +public class PersonJxToNcc implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(PersonJxToNcc.class); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String pk_psndoc = (String) params.get("pk_psndoc");//人员主键 + String glbdef1 = (String) params.get("glbdef1");//是否见习 + String glbdef2 = (String) params.get("glbdef2");//见习期时长(月) + String glbdef3 = (String) params.get("glbdef3");//转正日期 + String bsid = (String)params.get("bsid"); + String username = (String)params.get("username"); + String usercode = (String)params.get("usercode"); + String pk_org = (String) params.get("pk_org"); + + glbdef1 = glbdef1.equals("0") ? "N" : "Y"; + glbdef3 = formatTime(glbdef3); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("pk_psndoc",pk_psndoc); + jsonObject.put("glbdef1",glbdef1); + jsonObject.put("glbdef2",glbdef2); + jsonObject.put("glbdef3",glbdef3); + JSONArray jsonArray = new JSONArray(); + jsonArray.add(jsonObject); + try { + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrhi/openAPI/userinf/internshipinf"; + String rs11 = nccApiUtil.doJsonPost(url,token,jsonArray.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + //同步明细 + JSONObject r1 = new JSONObject(); + String state = "2"; + r1.put("state",state); + r1.put("pk_org",pk_org); + JSONArray array = getDataArray(bsid,username,usercode); + if(array == null || array.size() == 0) { + return WeaResult.success(finresult); + } + r1.put("data",array); + nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + token = nccApiUtil.getToken(); + url = nccApiUtil.getBaseUrl()+"nccloud/api/hrwa/customermanage/adjust/import"; + rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + rs = new NccResultUtil(rs11); + if(rs.getResult()) { + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e){ + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getDataArray(String bsid, String username, String usercode) { + JSONArray jsonArray = new JSONArray(); + String sql = "select dataid from wfc_form_data wfd where requestid = "+bsid; + Map rs = jdbcTemplateresp.queryForMap(sql); + long dataid = (long)rs.get("dataid"); + sql = "select waitem,xzxmmc,pk_wa_crt,usedate,negotiation,wa_seclv,money,memo from hi_regapply_mxb1 where FORM_DATA_ID = "+dataid; + log.error("howec::::::::3"+sql); + List> rs1 = jdbcTemplateresp.queryForList(sql); + if(CollectionUtil.isNotEmpty(rs1)) { + for(Map r : rs1) { + String xzxmmc = (String)r.get("xzxmmc");//薪资项目名称 + String usedate = (String)r.get("usedate");//起薪日期 + long negotiation = (long)r.get("negotiation");//谈判工资 + String xbdb = ""; + if(r.get("wa_seclv")!=null) { + long id1 = (long)r.get("wa_seclv"); + if(id1 != 0l) { + sql = "select levelname from uf_wa_prmlv where id = "+id1; + Map rso= jdbcTemplate.queryForMap(sql); + xbdb = (String)rso.get("levelname"); + } + } + String nmoney = ""; + if(r.get("waitem")!=null) { + nmoney = (String)r.get("waitem");//金额 + } + String memo=(String)r.get("memo");//备注 + //通过薪资标准表id获取薪资标准名称 + String pk_wa_crt_name = ""; + if(r.get("pk_wa_crt") != null) { + long pk_wa_crt = (long)r.get("pk_wa_crt");//薪资标准表 + sql = "select name from uf_wa_grade where id = "+pk_wa_crt; + Map rso= jdbcTemplate.queryForMap(sql); + pk_wa_crt_name = (String)rso.get("name"); + } + String negotiation_wage = negotiation == 0l ? "N" : "Y"; + JSONObject dataobj = new JSONObject(); + dataobj.put("negotiation_wage",negotiation_wage); + dataobj.put("begindate",usedate); + dataobj.put("wa_prmlv",xbdb);//薪资级别 + dataobj.put("nmoney",nmoney); + dataobj.put("waflag","Y"); + dataobj.put("pk_wa_item_showname",xzxmmc); + dataobj.put("pk_wa_grd_showname",pk_wa_crt_name); + dataobj.put("psnCode",usercode); + dataobj.put("psnName",username); + dataobj.put("vnote",memo); + jsonArray.add(dataobj); + } + } + return jsonArray; + } + + private String formatTime(String s) { + if(s.length() == 0) { + return ""; + } + if(s.contains("-")) { + s = s.replaceAll("-",""); + return s; + } + return ""; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonLzToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonLzToNcc.java new file mode 100644 index 0000000..10914e5 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/PersonLzToNcc.java @@ -0,0 +1,82 @@ +package com.weaver.seconddev.sxjg.esb; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * 人员离职同步ncc + */ +@Service("esb_PersonLzToNcc_howe") +public class PersonLzToNcc implements EsbServerlessRpcRemoteInterface { + private static final Logger log = LoggerFactory.getLogger(PersonLzToNcc.class); + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String pk_psndoc = (String) params.get("pk_psndoc");//人员主键 + String pk_org = (String) params.get("pk_org");//所属组织(调配后的组织) + String begindate = (String) params.get("begindate");//开始时间 + String pk_psncl = (String) params.get("pk_psncl");//人员类别 + if(pk_psncl.contains("_")) { + pk_psncl = pk_psncl.split("_")[1]; + } + + String pk_dept = (String) params.get("pk_dept");//部门 + String pk_post = (String) params.get("pk_post");//岗位 + String pk_postseries = (String) params.get("pk_postseries");//岗位序列 + String pk_job = (String) params.get("pk_job");//职务 + String pk_jobgrade = (String) params.get("pk_jobgrade");//职级 + String jobglbdef1 = (String) params.get("jobglbdef1");//职级开始时间 + String trnsreason = (String) params.get("trnsreason");//异动原因 + String memo = (String) params.get("memo");//备注 + JSONArray array = new JSONArray(); + JSONObject rs = new JSONObject(); + rs.put("pk_psndoc",pk_psndoc); + rs.put("pk_org",pk_org); + rs.put("begindate",begindate); + rs.put("pk_psncl",pk_psncl); + rs.put("pk_dept",pk_dept); + rs.put("pk_post",pk_post); + rs.put("pk_postseries",pk_postseries); + rs.put("pk_job",pk_job); + rs.put("pk_jobgrade",pk_jobgrade); + rs.put("jobglbdef1",jobglbdef1); + rs.put("trnsreason",trnsreason); + rs.put("memo",memo); + array.add(rs); + JSONObject finalrs = new JSONObject(); + finalrs.put("data",array); + try { + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/dimissionSync/entry"; + String rs11 = nccApiUtil.doJsonPost(url,token,finalrs.toJSONString()); + NccResultUtil rs2 = new NccResultUtil(rs11); + if(rs2.getResult()) { + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs2.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e){ + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/SunCompanyDpToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/SunCompanyDpToNcc.java new file mode 100644 index 0000000..f05d61c --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/SunCompanyDpToNcc.java @@ -0,0 +1,160 @@ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.common.exception.BusinessException; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.PropertiesConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; +import sun.security.provider.Sun; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 子企业内部调配 + */ +@Service("esb_suncompanydp_howe") +public class SunCompanyDpToNcc implements EsbServerlessRpcRemoteInterface { + + public SunCompanyDpToNcc() { + PropertiesConfiguration p = null; + try { + p = new PropertiesConfiguration(); + p.setEncoding("utf-8"); + p.setFileName("config/nccconfig.properties"); + p.load(); + this.b12 = p.getString("sxjgncc.b12"); + }catch (ConfigurationException e) { + throw new BusinessException("获取sxjg.properties配置文件失败,", e); + } + } + private String b12; + private static final Logger log = LoggerFactory.getLogger(SunCompanyDpToNcc.class); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String pk_dept = (String) params.get("pk_dept"); + String pk_jobgrade = (String) params.get("pk_jobgrade"); + String jobglbdef1 = (String) params.get("jobglbdef1"); + String joinworkdate = (String) params.get("joinworkdate"); + String pk_org = (String) params.get("pk_org"); + String bsid = (String)params.get("bsid"); + String username = (String)params.get("username"); + String usercode = (String)params.get("usercode"); + String applyer = (String) params.get("applyer"); + String usedate = (String) params.get("usedate"); + String zryda = "否"; + try { + + //同步明细 + JSONObject r1 = new JSONObject(); + String state = "1"; + JSONArray array = getDataArray(bsid,username,usercode,usedate); + if(array == null || array.size() == 0) { + state = "0"; + } + if(zryda.equals("是")) { + if(array == null || array.size() == 0) { + return WeaResult.success(finresult); + } + state = "2"; + } + r1.put("pk_psndoc",applyer); + r1.put("state",state); + r1.put("pk_dept",pk_dept); + r1.put("pk_jobgrade",pk_jobgrade); + r1.put("jobglbdef1",jobglbdef1); + r1.put("joinworkdate",joinworkdate); + r1.put("pk_org",pk_org); + r1.put("data",array); + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrwa/customermanage/adjust/import"; + String rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e) { + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getDataArray(String bsid,String username,String usercode,String usedate) { + JSONArray jsonArray = new JSONArray(); + String sql = "select dataid from wfc_form_data wfd where requestid = "+bsid; + Map rs = jdbcTemplateresp.queryForMap(sql); + long dataid = (long)rs.get("dataid"); + sql = "select waitem,xzxmmc,pk_wa_crt,negotiation,wa_seclv,money,memo from "+b12+" where FORM_DATA_ID = "+dataid+" and tbddzwh = '1'"; + log.error("howec::::::::3"+sql); + List> rs1 = jdbcTemplateresp.queryForList(sql); + if(CollectionUtil.isNotEmpty(rs1)) { + for(Map r : rs1) { + String xzxmmc = (String)r.get("xzxmmc");//薪资项目名称 + long negotiation = (long)r.get("negotiation");//谈判工资 + String xbdb = ""; + if(r.get("wa_seclv")!=null) { + long id1 = (long)r.get("wa_seclv"); + if(id1 != 0l) { + sql = "select levelname from uf_wa_prmlv where id = "+id1; + Map rso= jdbcTemplate.queryForMap(sql); + xbdb = (String)rso.get("levelname"); + } + } + String nmoney = ""; + if(r.get("waitem")!=null) { + nmoney = (String)r.get("waitem");//金额 + } + String memo=(String)r.get("memo");//备注 + //通过薪资标准表id获取薪资标准名称 + String pk_wa_crt_name = ""; + if(r.get("pk_wa_crt") != null) { + long pk_wa_crt = (long)r.get("pk_wa_crt");//薪资标准表 + sql = "select name from uf_wa_grade where id = "+pk_wa_crt; + Map rso= jdbcTemplate.queryForMap(sql); + pk_wa_crt_name = (String)rso.get("name"); + } + String negotiation_wage = negotiation == 0l ? "N" : "Y"; + JSONObject dataobj = new JSONObject(); + dataobj.put("negotiation_wage",negotiation_wage); + dataobj.put("begindate",usedate); + dataobj.put("wa_prmlv",xbdb);//薪资级别 +// dataobj.put("wa_seclv","");//薪档级别 + dataobj.put("nmoney",nmoney); + dataobj.put("waflag","Y"); + dataobj.put("pk_wa_item_showname",xzxmmc); + dataobj.put("pk_wa_grd_showname",pk_wa_crt_name); + dataobj.put("psnCode",usercode); + dataobj.put("psnName",username); + dataobj.put("vnote",memo); + jsonArray.add(dataobj); + } + } + return jsonArray; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ZhiGongBdToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ZhiGongBdToNcc.java new file mode 100644 index 0000000..80321f6 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ZhiGongBdToNcc.java @@ -0,0 +1,159 @@ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.common.exception.BusinessException; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.PropertiesConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 子职工报到联系单-总部ncc + */ +@Service("esb_zhigongbd_howe") +public class ZhiGongBdToNcc implements EsbServerlessRpcRemoteInterface { + + public ZhiGongBdToNcc() { + PropertiesConfiguration p = null; + try { + p = new PropertiesConfiguration(); + p.setEncoding("utf-8"); + p.setFileName("config/nccconfig.properties"); + p.load(); + this.b13 = p.getString("sxjgncc.b13"); + }catch (ConfigurationException e) { + throw new BusinessException("获取sxjg.properties配置文件失败,", e); + } + } + private String b13; + private static final Logger log = LoggerFactory.getLogger(ZhiGongBdToNcc.class); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String pk_dept = (String) params.get("pk_dept"); + String pk_jobgrade = (String) params.get("pk_jobgrade"); + String jobglbdef1 = (String) params.get("jobglbdef1"); + String joinworkdate = (String) params.get("joinworkdate"); + String pk_org = (String) params.get("pk_org"); + String bsid = (String)params.get("bsid"); + String username = (String)params.get("username"); + String usercode = (String)params.get("usercode"); + String applyer = (String) params.get("applyer"); + String usedate = (String) params.get("usedate"); + String zryda = (String) params.get("zryda"); + try { + + //同步明细 + JSONObject r1 = new JSONObject(); + String state = "1"; + JSONArray array = getDataArray(bsid,username,usercode,usedate); + if(array == null || array.size() == 0) { + state = "0"; + } + if(zryda.equals("是")) { + if(array == null || array.size() == 0) { + return WeaResult.success(finresult); + } + state = "2"; + } + r1.put("pk_psndoc",applyer); + r1.put("state",state); + r1.put("pk_dept",pk_dept); + r1.put("pk_jobgrade",pk_jobgrade); + r1.put("jobglbdef1",jobglbdef1); + r1.put("joinworkdate",joinworkdate); + r1.put("pk_org",pk_org); + r1.put("data",array); + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrwa/customermanage/adjust/import"; + String rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e) { + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getDataArray(String bsid,String username,String usercode,String usedate) { + JSONArray jsonArray = new JSONArray(); + String sql = "select dataid from wfc_form_data wfd where requestid = "+bsid; + Map rs = jdbcTemplateresp.queryForMap(sql); + long dataid = (long)rs.get("dataid"); + sql = "select waitem,xzxmmc,pk_wa_crt,negotiation,wa_seclv,money,memo from "+b13+" where FORM_DATA_ID = "+dataid+" and tbddzwh = '1'"; + log.error("howec::::::::3"+sql); + List> rs1 = jdbcTemplateresp.queryForList(sql); + if(CollectionUtil.isNotEmpty(rs1)) { + for(Map r : rs1) { + String xzxmmc = (String)r.get("xzxmmc");//薪资项目名称 + long negotiation = (long)r.get("negotiation");//谈判工资 + String xbdb = ""; + if(r.get("wa_seclv")!=null) { + long id1 = (long)r.get("wa_seclv"); + if(id1 != 0l) { + sql = "select levelname from uf_wa_prmlv where id = "+id1; + Map rso= jdbcTemplate.queryForMap(sql); + xbdb = (String)rso.get("levelname"); + } + } + String nmoney = ""; + if(r.get("waitem")!=null) { + nmoney = (String)r.get("waitem");//金额 + } + String memo=(String)r.get("memo");//备注 + //通过薪资标准表id获取薪资标准名称 + String pk_wa_crt_name = ""; + if(r.get("pk_wa_crt") != null) { + long pk_wa_crt = (long)r.get("pk_wa_crt");//薪资标准表 + sql = "select name from uf_wa_grade where id = "+pk_wa_crt; + Map rso= jdbcTemplate.queryForMap(sql); + pk_wa_crt_name = (String)rso.get("name"); + } + String negotiation_wage = negotiation == 0l ? "N" : "Y"; + JSONObject dataobj = new JSONObject(); + dataobj.put("negotiation_wage",negotiation_wage); + dataobj.put("begindate",usedate); + dataobj.put("wa_prmlv",xbdb);//薪资级别 +// dataobj.put("wa_seclv","");//薪档级别 + dataobj.put("nmoney",nmoney); + dataobj.put("waflag","Y"); + dataobj.put("pk_wa_item_showname",xzxmmc); + dataobj.put("pk_wa_grd_showname",pk_wa_crt_name); + dataobj.put("psnCode",usercode); + dataobj.put("psnName",username); + dataobj.put("vnote",memo); + jsonArray.add(dataobj); + } + } + return jsonArray; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ZhiGongnbdpToNcc.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ZhiGongnbdpToNcc.java new file mode 100644 index 0000000..25bed31 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/esb/ZhiGongnbdpToNcc.java @@ -0,0 +1,159 @@ +package com.weaver.seconddev.sxjg.esb; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.common.exception.BusinessException; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfig; +import com.weaver.seconddev.sxjg.config.EbDbDataSourceConfigResp; +import com.weaver.seconddev.sxjg.util.NccApiUtil; +import com.weaver.seconddev.sxjg.util.NccResultUtil; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.PropertiesConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 子职工报到联系单-总部ncc + */ +@Service("esb_zhigongnbdp_howe") +public class ZhiGongnbdpToNcc implements EsbServerlessRpcRemoteInterface { + + public ZhiGongnbdpToNcc() { + PropertiesConfiguration p = null; + try { + p = new PropertiesConfiguration(); + p.setEncoding("utf-8"); + p.setFileName("config/nccconfig.properties"); + p.load(); + this.b14 = p.getString("sxjgncc.b14"); + }catch (ConfigurationException e) { + throw new BusinessException("获取sxjg.properties配置文件失败,", e); + } + } + private String b14; + private static final Logger log = LoggerFactory.getLogger(ZhiGongnbdpToNcc.class); + private JdbcTemplate jdbcTemplateresp = new JdbcTemplate(EbDbDataSourceConfigResp.dbDataSource()); + + private JdbcTemplate jdbcTemplate = new JdbcTemplate(EbDbDataSourceConfig.dbDataSource()); + @Override + public WeaResult> execute(Map params) { + Map finresult = new HashMap<>(); + finresult.put("code",200); + String pk_dept = (String) params.get("pk_dept"); + String pk_jobgrade = (String) params.get("pk_jobgrade"); + String jobglbdef1 = (String) params.get("jobglbdef1"); + String joinworkdate = (String) params.get("joinworkdate"); + String pk_org = (String) params.get("pk_org"); + String bsid = (String)params.get("bsid"); + String username = (String)params.get("username"); + String usercode = (String)params.get("usercode"); + String applyer = (String) params.get("applyer"); + String usedate = (String) params.get("usedate"); + String zryda = "否"; + try { + + //同步明细 + JSONObject r1 = new JSONObject(); + String state = "1"; + JSONArray array = getDataArray(bsid,username,usercode,usedate); + if(array == null || array.size() == 0) { + state = "0"; + } + if(zryda.equals("是")) { + if(array == null || array.size() == 0) { + return WeaResult.success(finresult); + } + state = "2"; + } + r1.put("pk_psndoc",applyer); + r1.put("state",state); + r1.put("pk_dept",pk_dept); + r1.put("pk_jobgrade",pk_jobgrade); + r1.put("jobglbdef1",jobglbdef1); + r1.put("joinworkdate",joinworkdate); + r1.put("pk_org",pk_org); + r1.put("data",array); + NccApiUtil nccApiUtil = new NccApiUtil(); + nccApiUtil.init(); + String token = nccApiUtil.getToken(); + String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrwa/customermanage/adjust/import"; + String rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString()); + NccResultUtil rs = new NccResultUtil(rs11); + if(rs.getResult()) { + return WeaResult.success(finresult); + }else { + finresult.put("code",500); + finresult.put("msg",rs.getDescription()); + return WeaResult.success(finresult); + } + }catch (Exception e) { + e.printStackTrace(); + finresult.put("code",500); + finresult.put("msg",e.getMessage()); + log.error("howec:::::::::1:"+e.getMessage()); + return WeaResult.success(finresult); + } + } + + private JSONArray getDataArray(String bsid,String username,String usercode,String usedate) { + JSONArray jsonArray = new JSONArray(); + String sql = "select dataid from wfc_form_data wfd where requestid = "+bsid; + Map rs = jdbcTemplateresp.queryForMap(sql); + long dataid = (long)rs.get("dataid"); + sql = "select waitem,xzxmmc,pk_wa_crt,negotiation,wa_seclv,money,memo from "+b14+" where FORM_DATA_ID = "+dataid+" and tbddzwh = '1'"; + log.error("howec::::::::3"+sql); + List> rs1 = jdbcTemplateresp.queryForList(sql); + if(CollectionUtil.isNotEmpty(rs1)) { + for(Map r : rs1) { + String xzxmmc = (String)r.get("xzxmmc");//薪资项目名称 + long negotiation = (long)r.get("negotiation");//谈判工资 + String xbdb = ""; + if(r.get("wa_seclv")!=null) { + long id1 = (long)r.get("wa_seclv"); + if(id1 != 0l) { + sql = "select levelname from uf_wa_prmlv where id = "+id1; + Map rso= jdbcTemplate.queryForMap(sql); + xbdb = (String)rso.get("levelname"); + } + } + String nmoney = ""; + if(r.get("waitem")!=null) { + nmoney = (String)r.get("waitem");//金额 + } + String memo=(String)r.get("memo");//备注 + //通过薪资标准表id获取薪资标准名称 + String pk_wa_crt_name = ""; + if(r.get("pk_wa_crt") != null) { + long pk_wa_crt = (long)r.get("pk_wa_crt");//薪资标准表 + sql = "select name from uf_wa_grade where id = "+pk_wa_crt; + Map rso= jdbcTemplate.queryForMap(sql); + pk_wa_crt_name = (String)rso.get("name"); + } + String negotiation_wage = negotiation == 0l ? "N" : "Y"; + JSONObject dataobj = new JSONObject(); + dataobj.put("negotiation_wage",negotiation_wage); + dataobj.put("begindate",usedate); + dataobj.put("wa_prmlv",xbdb);//薪资级别 +// dataobj.put("wa_seclv","");//薪档级别 + dataobj.put("nmoney",nmoney); + dataobj.put("waflag","Y"); + dataobj.put("pk_wa_item_showname",xzxmmc); + dataobj.put("pk_wa_grd_showname",pk_wa_crt_name); + dataobj.put("psnCode",usercode); + dataobj.put("psnName",username); + dataobj.put("vnote",memo); + jsonArray.add(dataobj); + } + } + return jsonArray; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/NccApiUtil.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/NccApiUtil.java new file mode 100644 index 0000000..6ec3f6c --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/NccApiUtil.java @@ -0,0 +1,359 @@ +package com.weaver.seconddev.sxjg.util; + +import com.alibaba.fastjson.JSONObject; +import com.weaver.ebuilder.common.exception.BusinessException; +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.spec.OAEPParameterSpec; +import javax.crypto.spec.PSource; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.nio.charset.Charset; +import java.security.*; +import java.security.spec.MGF1ParameterSpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.HashMap; +import java.util.Map; + +public class NccApiUtil { + + private static final Logger log = LoggerFactory.getLogger(NccApiUtil.class); + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + private String baseUrl; + // 访问的nccloud系统的账套编码,开发环境使用develop,生产环境需要使用用root账号登录,在“系统管理”节点查看账套编码(由陕西建工HR系统提供) + private String biz_center; + + public String getClient_id() { + return client_id; + } + + public void setClient_id(String client_id) { + this.client_id = client_id; + } + + //陕煤HR系统在陕西建工HR系统中应用注册当中的app_id + private String client_id; + //陕煤HR系统在陕西建工HR系统中应用注册当中的app_secret(由陕西建工HR系统提供) + private String client_secret; + //陕西建工HR系统中应用注册当中的(公钥)pubKey(由陕西建工HR系统提供) + private String pubKey; + + private String signature; + public void init() { + PropertiesConfiguration p = null; + try { + p = new PropertiesConfiguration(); + p.setEncoding("utf-8"); + p.setFileName("config/nccconfig.properties"); + p.load(); + this.baseUrl = p.getString("sxjgncc.url"); + this.biz_center = p.getString("sxjgncc.biz_center"); + this.client_id = p.getString("sxjgncc.client_id"); + this.client_secret = p.getString("sxjgncc.client_secret"); + this.pubKey = p.getString("sxjgncc.public_key"); + }catch (ConfigurationException e) { + throw new BusinessException("获取sxjg.properties配置文件失败,", e); + } + } + +// public static void main(String[] args) throws Exception { +// +// String url = "http://10.72.2.19:7000/"; +// // 账套编码,开发环境使用develop,生产环境需要使用用root账号登录,在“系统管理”节点查看账套编码(由陕西建工HR系统提供) +// String biz_center = "NCC0826"; +// // 第三方应用编码 暂定 webfw +// String client_id = "webfw"; +// // app_secret,用于请求加签 +// String client_secret = "0169ae6c2ac54591b324"; +// // 公钥,加解密使用 +// String public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnzizIsSZFLi/Z14ah/GztvQgRpdxAi5+u8dgXfXFQuOgC0r1a0d3Mol6BOYqTDqE7zHGl45iglRasZ0i87/DJ5PaDq5aP0hA5oTLaOSWg2Ux94sVPzBP3xd4Vpij57hIg2t11Uku8VqhuHPM4DY1nDZEzfJwIDSpkcrlLGQKoQaCVduZzNm6uZR0Q0EcGjhi3EeT2wgSVsxzaw3UHUO9cKh4Bf9Yb1cy+yvRj8SyOveCqtYbBWzuxXERESPKS6ftTbCqh7dkx2CqXsoPCo5a0Yobikz/6Bdw3qk0sEU4A04Y4hYZPslNzzqzY7snn5KsQRd2vcYKtsyOxTMuM5HoAQIDAQAB"; +// +// NccApiUtil test = new NccApiUtil(); +// test.init(url, biz_center, client_id, client_secret, public_key); +// String token = test.getToken(); +// System.out.println(token); +// } + + + + /** + * 获取设置的ncc用户token + * @return@ + * @throws Exception + */ + public String getToken() throws Exception { + Map paramMap = new HashMap(); + //获取token方式(固定为client_credentials) + paramMap.put("grant_type", "client_credentials"); + //陕煤HR系统在陕西建工HR系统中应用注册当中的app_id(由陕西建工HR系统提供) + paramMap.put("client_id", this.client_id); + //加密陕煤HR系统在陕西建工HR系统中应用注册当中的(公钥)pubKey和app_secret(由陕西建工HR系统提供) + String encode = URLEncoder.encode(pubEncrypt(this.pubKey, this.client_secret), "UTF-8");//需要写入报文头中 + paramMap.put("client_secret", encode); + // 账套编码,开发环境使用develop,生产环境需要使用用root账号登录,在“系统管理”节点查看账套编码(由陕西建工HR系统提供) + paramMap.put("biz_center", this.biz_center); + //请求加签,其算法getSHA256(client_id + client_secret + pubKey) + String sign = getSHA256(this.client_id + this.client_secret + this.pubKey, this.pubKey); + paramMap.put("signature", sign);//需要写入报文头中 + this.setSignature(sign); + //查询token的url + String url = this.baseUrl + "nccloud/opm/accesstoken"; + String mediaType = "application/x-www-form-urlencoded"; + String token = this.doPost(url, paramMap, mediaType, (Map)null, ""); + JSONObject rs = JSONObject.parseObject(token); + if(rs.getBoolean("success")) { + JSONObject jsonObject = rs.getJSONObject("data"); + String token1 = jsonObject.getString("access_token"); + return token1; + }else { + log.error("howec::::::::::::111:"+token); + throw new Exception("获取toaken失败!"); + } + } + + public String doJsonPost(String url, String accessToken, String json) { + log.error("NCC接口"+url+",推送报文:>>>>>>>>>>>>>>>>>>>>>>"+json); + CloseableHttpClient client = HttpClients.createDefault(); + HttpPost post = new HttpPost(url); + post.setHeader("Content-Type", "application/json;charset=utf-8"); + post.setHeader("access_token", accessToken); + post.setHeader("repeat_check","Y"); + post.setHeader("ucg_flag","Y"); + post.setHeader("signature",this.getSignature()); + post.setHeader("client_id",this.getClient_id()); + + String result=""; + try { + StringEntity s = new StringEntity(json,"UTF-8"); + s.setContentEncoding("utf-8"); + s.setContentType("application/json"); + post.setEntity(s); + // 发送请求 + HttpResponse httpResponse = client.execute(post); + // 获取响应输入流 + InputStream inStream = httpResponse.getEntity().getContent(); + BufferedReader reader = new BufferedReader(new InputStreamReader( + inStream,"utf-8")); + StringBuilder strber = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) + strber.append(line + "\n"); + inStream.close(); + result = strber.toString(); + log.error("NCC接口"+url+",返回值:>>>>>>>>>>>>>>>>>>>>>>"+result); + } catch (Exception e) { + log.error("NCC接口"+url+",返回值:>>>>>>>>>>>>>>>>>>>>>>"+e.getMessage()); + e.printStackTrace(); + } + return result; + } + + public static String pubEncrypt(String pubKey, String src) throws Exception { + String target = null; + ByteArrayOutputStream out = null; + + try { + Key key = getPublicKey(pubKey); + Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding"); + cipher.init(1, key, new OAEPParameterSpec("SHA-256", "MGF1", new MGF1ParameterSpec("SHA-256"), PSource.PSpecified.DEFAULT)); + byte[] data = src.getBytes(); + int inputLen = data.length; + out = new ByteArrayOutputStream(); + int offSet = 0; + + for(int i = 0; inputLen - offSet > 0; offSet = i * 117) { + byte[] cache; + if (inputLen - offSet > 117) { + cache = cipher.doFinal(data, offSet, 117); + } else { + cache = cipher.doFinal(data, offSet, inputLen - offSet); + } + + out.write(cache, 0, cache.length); + ++i; + } + + target = (new org.apache.commons.codec.binary.Base64()).encodeToString(out.toByteArray()); + } catch (NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException | NoSuchAlgorithmException var14) { + throw new Exception("加密失败", var14); + } finally { + if (out != null) { + out.close(); + } + + } + return target; + } + public static Key getPublicKey(String pubKey) throws Exception { + PublicKey key = null; + + try { + byte[] keyBytes = (new org.apache.commons.codec.binary.Base64()).decode(pubKey);; + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + key = keyFactory.generatePublic(x509KeySpec); + return key; + } catch (Exception var5) { + throw new Exception("无效的密钥 ", var5); + } + } + + public static String getSHA256(String str, String key) throws Exception { + byte[] salt = new byte[16]; + SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); + random.setSeed(key.getBytes()); + random.nextBytes(salt); + String salt_value = (new Base64()).encodeToString(salt); + return getSHA256(str + salt_value.replaceAll("\r|\n", "")); + } + private static String getSHA256(String str) throws Exception { + String encodestr = ""; + MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); + messageDigest.update(str.getBytes("UTF-8")); + encodestr = byte2Hex(messageDigest.digest()); + return encodestr; + } + private static String byte2Hex(byte[] bytes) { + StringBuffer stringBuffer = new StringBuffer(); + String temp = null; + + for(int i = 0; i < bytes.length; ++i) { + temp = Integer.toHexString(bytes[i] & 255); + if (temp.length() == 1) { + stringBuffer.append("0"); + } + + stringBuffer.append(temp); + } + + return stringBuffer.toString(); + } + + + + + /** + * 发送post请求 + * + * @param baseUrl + * @param paramMap + * @param mediaType + * @param headers + * @param json + * @return + */ + private static String doPost(String baseUrl, Map paramMap, String mediaType, Map headers, String json) { + + HttpURLConnection urlConnection = null; + InputStream in = null; + OutputStream out = null; + BufferedReader bufferedReader = null; + String result = null; + try { + StringBuffer sb = new StringBuffer(); + sb.append(baseUrl); + if (paramMap != null) { + sb.append("?"); + for (Map.Entry entry : paramMap.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + sb.append(key + "=" + value).append("&"); + } + baseUrl = sb.toString().substring(0, sb.toString().length() - 1); + } + + URL urlObj = new URL(baseUrl); + urlConnection = (HttpURLConnection) urlObj.openConnection(); + urlConnection.setConnectTimeout(50000); + urlConnection.setRequestMethod("POST"); + urlConnection.setDoOutput(true); + urlConnection.setDoInput(true); + urlConnection.setUseCaches(false); + urlConnection.addRequestProperty("content-type", mediaType); + if (headers != null) { + for (String key : headers.keySet()) { + urlConnection.addRequestProperty(key, headers.get(key)); + } + } + out = urlConnection.getOutputStream(); + out.write(json.getBytes("utf-8")); + out.flush(); + int resCode = urlConnection.getResponseCode(); + if (resCode == HttpURLConnection.HTTP_OK || resCode == HttpURLConnection.HTTP_CREATED || resCode == HttpURLConnection.HTTP_ACCEPTED) { + in = urlConnection.getInputStream(); + } else { + in = urlConnection.getErrorStream(); + } + bufferedReader = new BufferedReader(new InputStreamReader(in, "utf-8")); + StringBuffer temp = new StringBuffer(); + String line = bufferedReader.readLine(); + while (line != null) { + temp.append(line).append("\r\n"); + line = bufferedReader.readLine(); + } + String ecod = urlConnection.getContentEncoding(); + if (ecod == null) { + ecod = Charset.forName("utf-8").name(); + } + result = new String(temp.toString().getBytes("utf-8"), ecod); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (null != bufferedReader) { + try { + bufferedReader.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (null != out) { + try { + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (null != in) { + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + urlConnection.disconnect(); + } + return result; + } + + + public String getSignature() { + return signature; + } + + public void setSignature(String signature) { + this.signature = signature; + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/NccResultUtil.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/NccResultUtil.java new file mode 100644 index 0000000..cb26d22 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/NccResultUtil.java @@ -0,0 +1,40 @@ +package com.weaver.seconddev.sxjg.util; + +import com.alibaba.fastjson.JSONObject; + +public class NccResultUtil { + private Boolean result; + private String description; + + public NccResultUtil(String rs) { + JSONObject rs1 = JSONObject.parseObject(rs); + if(rs1.getBoolean("success")) { + if("1000000000".equals(rs1.getString("code"))) { + this.setResult(true); + }else { + this.setResult(false); + this.setDescription(rs1.getString("message")); + } + }else { + this.setResult(false); + this.setDescription(rs1.getString("message")); + } + } + + public Boolean getResult() { + return result; + } + + public void setResult(Boolean result) { + this.result = result; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/Test.java b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/Test.java new file mode 100644 index 0000000..d5b7434 --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/java/com/weaver/seconddev/sxjg/util/Test.java @@ -0,0 +1,96 @@ +package com.weaver.seconddev.sxjg.util; + +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Base64; + +import cn.com.infosec.netsign.agent.util.IOUtils; +import com.google.gson.Gson; +public class Test { + + public static void main(String[] args) throws Exception { + System.out.println(1); + InputStream inputStream = getInputStreamByUrl("http://10.73.4.5:20600/papi/file/local/download/897827c9a77c4199b629cc1d7b848b52?tenantKey=tl2qvzz346&response-expires=V2VkIERlYyAyNyAxNDo0NzozOSBDU1QgMjAyMw==&response-content-disposition=YXR0YWNobWVudDtmaWxlbmFtZT0i5paw5bu6IOaWh-acrOaWh-ahoyAoNCkudHh0Ig==&download=MA=="); + System.out.println("2222222222222222222222222222"); + byte[] fileBytesArray = null; + fileBytesArray = readBytesFromInputStream(inputStream); + System.out.println("3333333333333"); + String jsonResult = convertToJson("filename", fileBytesArray); + System.out.println(jsonResult); + } + + public static InputStream getInputStreamByUrl(String strUrl) { + System.out.println("11111111"); + HttpURLConnection conn = null; + try { + URL url = new URL(strUrl); + conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(20 * 1000); + final ByteArrayOutputStream output = new ByteArrayOutputStream(); + IOUtils.copy(conn.getInputStream(), output); + return new ByteArrayInputStream(output.toByteArray()); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (conn != null) { + conn.disconnect(); + } + } catch (Exception e) { + } + } + return null; + } + + + public static byte[] readBytesFromInputStream(InputStream input) { + System.out.println("111111111111111"); + try { + System.out.println("2222222222222222"); + return org.apache.commons.io.IOUtils.toByteArray(input); + } catch (IOException e) { + System.out.println("2222222"); + e.printStackTrace(); + } + return null; + } + + + + public static String convertToJson(String fileName, byte[] fileBytesArray) { + Gson gson = new Gson(); + String jsonResult = gson.toJson(new FileData(fileName, fileBytesArray)); + return jsonResult; + } + + static class FileData { + private String file_name; + private byte[] filebytes_array; + + public FileData(String file_name, byte[] filebytes_array) { + this.file_name = file_name; + this.filebytes_array = filebytes_array; + } + + public String getFile_name() { + return file_name; + } + + public void setFile_name(String file_name) { + this.file_name = file_name; + } + + public byte[] getFilebytes_array() { + return filebytes_array; + } + + public void setFilebytes_array(byte[] filebytes_array) { + this.filebytes_array = filebytes_array; + } + } +} diff --git a/陕建岗位申请规则校验(ecode服务)/src/main/resources/config/nccconfig.properties b/陕建岗位申请规则校验(ecode服务)/src/main/resources/config/nccconfig.properties new file mode 100644 index 0000000..cb6f74e --- /dev/null +++ b/陕建岗位申请规则校验(ecode服务)/src/main/resources/config/nccconfig.properties @@ -0,0 +1,40 @@ +#测试 +sxjgncc.url=http://10.72.2.28:7000/ +sxjgncc.biz_center=NCC0826 +sxjgncc.client_id=webfw +sxjgncc.client_secret=0169ae6c2ac54591b324 +sxjgncc.public_key=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnzizIsSZFLi/Z14ah/GztvQgRpdxAi5+u8dgXfXFQuOgC0r1a0d3Mol6BOYqTDqE7zHGl45iglRasZ0i87/DJ5PaDq5aP0hA5oTLaOSWg2Ux94sVPzBP3xd4Vpij57hIg2t11Uku8VqhuHPM4DY1nDZEzfJwIDSpkcrlLGQKoQaCVduZzNm6uZR0Q0EcGjhi3EeT2wgSVsxzaw3UHUO9cKh4Bf9Yb1cy+yvRj8SyOveCqtYbBWzuxXERESPKS6ftTbCqh7dkx2CqXsoPCo5a0Yobikz/6Bdw3qk0sEU4A04Y4hYZPslNzzqzY7snn5KsQRd2vcYKtsyOxTMuM5HoAQIDAQAB +sxjgncc.b1=uf_rcrt_entry1098 +sxjgncc.b2=uf_rcrt_entry1154 +sxjgncc.b3=uf_rcrt_entry1252 +sxjgncc.b4=uf_rcrt_entry1297 +sxjgncc.b5=uf_rcrt_entry1354 +sxjgncc.b6=uf_rcrt_entry1404 +sxjgncc.b7=uf_rcrt_entry1452 +sxjgncc.b8=uf_rcrt_entry1498 +sxjgncc.b9=uf_rcrt_entry1561 +sxjgncc.b10=uf_rcrt_entry1615 +sxjgncc.b11=uf_rcrt_entry1662 +#子企业内部调配报到联系单定薪表 +sxjgncc.b12=ft_zqynbdpbdl6098 +#职工报到联系单-总部定薪表 +sxjgncc.b13=ft_staff_bdlxd_t1 +#职工内部调配联系单-总部定薪表 +sxjgncc.b14=ft_staff_nbbdlxd_t1 +#生产 +#sxjgncc.url=http://10.71.2.46:6007/ +#sxjgncc.biz_center=NCC0826 +#sxjgncc.client_id=webfw +#sxjgncc.client_secret=0169ae6c2ac54591b324 +#sxjgncc.public_key=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnzizIsSZFLi/Z14ah/GztvQgRpdxAi5+u8dgXfXFQuOgC0r1a0d3Mol6BOYqTDqE7zHGl45iglRasZ0i87/DJ5PaDq5aP0hA5oTLaOSWg2Ux94sVPzBP3xd4Vpij57hIg2t11Uku8VqhuHPM4DY1nDZEzfJwIDSpkcrlLGQKoQaCVduZzNm6uZR0Q0EcGjhi3EeT2wgSVsxzaw3UHUO9cKh4Bf9Yb1cy+yvRj8SyOveCqtYbBWzuxXERESPKS6ftTbCqh7dkx2CqXsoPCo5a0Yobikz/6Bdw3qk0sEU4A04Y4hYZPslNzzqzY7snn5KsQRd2vcYKtsyOxTMuM5HoAQIDAQAB +#sxjgncc.b1=uf_rcrt_entry0210 +#sxjgncc.b2=uf_rcrt_entry0277 +#sxjgncc.b3=uf_rcrt_entry0430 +#sxjgncc.b4=uf_rcrt_entry0520 +#sxjgncc.b5=uf_rcrt_entry0594 +#sxjgncc.b6=uf_rcrt_entry0672 +#sxjgncc.b7=uf_rcrt_entry0745 +#sxjgncc.b8=uf_rcrt_entry0814 +#sxjgncc.b9=uf_rcrt_entry0880 +#sxjgncc.b10=uf_rcrt_entry0948 +#sxjgncc.b11=uf_rcrt_entry1024