From 9816dbe4688f3d06f3aaa6c2c73a33d14b2f1e70 Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Mon, 11 Aug 2025 09:51:36 +0800 Subject: [PATCH] =?UTF-8?q?#chabaodao-4#=20e=E7=AD=BE=E5=AE=9D=E5=8F=91?= =?UTF-8?q?=E8=B5=B7=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chapanda/beisen/constant/Constants.java | 43 +++ .../chapanda/beisen/dao/FormFieldDao.java | 60 ---- .../beisen/dao/HrmAssessment360Dao.java | 87 +++++ .../chapanda/beisen/dao/HrmAssessmentDao.java | 26 ++ .../beisen/dao/HrmBeisenPositionDao.java | 114 +++++++ .../beisen/esb/Esb2BeisenAssessCronJob.java | 34 ++ .../esb/Esb2BeisenAssessment360Action.java | 154 +++++++++ .../Esb2BeisenAssessment360FullCronJob.java | 47 +++ .../esb/Esb2BeisenCreateBlackListAction.java | 23 +- .../esb/Esb2BeisenJobRequirementAction.java | 88 +++-- .../Esb2BeisenJobRequirementCreateAction.java | 226 ++++++++++++ ...sb2BeisenJobRequirementUnRelateAction.java | 51 +++ .../esb/Esb2BeisenPositionFullCronJob.java | 284 +++++++++++++++ .../esb/Esb2BeisenPositionTimeCronJob.java | 277 +++++++++++++++ .../beisen/util/BeisenQueryDeptIdUtil.java | 85 +++++ .../beisen/util/BeisenQueryUseridUtil.java | 135 ++++++++ .../util/Esb2BeiSenAssessment360Util.java | 171 ++++++++++ .../beisen/util/Esb2BeiSenPositionUtil.java | 112 ++++++ .../beisen/util/Esb2BeisenAssessUtil.java | 150 ++++++++ .../util/Esb2BeisenUnRelateRequestUtil.java | 62 ++++ .../util/JobRequirement2BeisenUtil.java | 322 ++++++++++-------- .../Request2CostControlController.java | 2 +- .../controller/RequestInfoController.java | 2 +- .../cost/dao/ConvertStaffCodeDao.java | 2 +- .../chapanda/esign/constant/Constants.java | 5 + ...Esb2EsignCreateRequest4OrganizeAction.java | 85 +++++ .../Esb2EsignCreateRequest4PartiesAction.java | 78 +++++ .../esb/Esb2EsignCreateRequestAction.java | 19 +- .../esign/esb/Esb2EsignCreateUserAction.java | 6 +- .../esb/Esb2EsignQueryPreviewUrlAction.java | 13 +- .../esign/esb/Esb2EsignSyncTemplateCron.java | 2 +- .../service/impl/SealTemplateServiceImpl.java | 13 +- .../Esb2EsignApplyRequest4OrgainzeUtil.java | 190 +++++++++++ .../esign/util/Esb2EsignApplyRequestUtil.java | 20 +- .../esign/util/Esb2EsignCreateUserUtil.java | 78 ++--- .../Esb2EsignTemplateSealPostionUtil.java | 169 +++++++-- .../feishu/dao/WorkflowDegreeLevelDao.java | 2 +- .../esb/Esb2FeishuBotCreateTodoAction.java | 6 +- .../esb/Esb2FeishuCalendarsEventsAction.java | 2 +- ...sb2FeishuCreateCalendarsTimeoffAction.java | 2 +- .../esb/Esb2FeishuSendDeleteAction.java | 4 +- .../feishu/esb/Esb2FeishuSendDoneAction.java | 4 +- .../esb/Esb2FeishuSendFinishAction.java | 4 +- .../feishu/esb/Esb2FeishuSendTodoAction.java | 4 +- .../esb/Esb2QunjieCreateSealApplyAction.java | 4 +- .../Esb2QunjieEconomicCompensationAction.java | 8 +- .../Esb2QunjieEconomicCompensationUtil.java | 13 +- 47 files changed, 2937 insertions(+), 351 deletions(-) create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessment360Dao.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmBeisenPositionDao.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessCronJob.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360Action.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360FullCronJob.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementCreateAction.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementUnRelateAction.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionFullCronJob.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionTimeCronJob.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryDeptIdUtil.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryUseridUtil.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/Esb2BeiSenAssessment360Util.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/Esb2BeiSenPositionUtil.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/Esb2BeisenAssessUtil.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/Esb2BeisenUnRelateRequestUtil.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4OrganizeAction.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4PartiesAction.java create mode 100644 secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignApplyRequest4OrgainzeUtil.java diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/constant/Constants.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/constant/Constants.java index 5d32192..97d93a8 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/constant/Constants.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/constant/Constants.java @@ -31,5 +31,48 @@ public class Constants { public static String assessmentFilterUrl = "/PerformanceCloudOpen/api/v5/Assessment/GetAssessmentsByFilters"; + public static String beishenAssessHost = "http://api.beisenapp.com"; + + public static String tenantId = "431582"; + public static String queryAssessUrl = "/Assess/"+Constants.tenantId+"/activity/testee/result/email"; + + public static String beisenAccount = "jiekou@test-chabaidao.com"; + + public static String consumerKey = "594581d3d5444778a168bb511deb70f7"; // AppKey + + public static String consumerSecret = "6bdef18164794475ac38233c2af4ba01"; // AppSecret + + public static String accessToken = "ae32056b4f6d45199ab036e817dfd98f"; // Token + + public static String tokenSecret = "2e99b9da11cf4ce591a063457a23d5ed"; // Secret + + public static String oauthSignatureMethod = "HMAC-SHA1"; + + public static String oauthVersion = "1.0"; + + public static String format = "json"; + + public static String nyyqzdm = "extnianlingyaoqiu_431582_2032843164"; + + //职位(新) + public static String zwzd = "extzhiweixin_431582_698711961"; + public static String unRelateRequirementUrl = "/RecruitV6/api/v1/Requirement/OperateRequirementBeforeCheck"; + + public static String positionUrl = "/TenantBaseExternal/api/v5/Position/GetByTimeWindow"; + + public static String beisenPostionTable = "uf_bs_gw"; + + public static String hrmPostionTable = "eteams.ft_1155455711525494797"; + + public static String queryUserIdByEmailUrl = "/TenantBaseExternal/api/v5/Employee/GetUserIDByEmail"; + + public static String queryUserIdByCodeUrl = "/TenantBaseExternal/api/v5/Employee/GetUserIDsByJobNumbers"; + + public static String queryDeptIdByCodeUrl = "/TenantBaseExternal/api/v5/Organization/GetOrganizationInfoByCodes"; + + + public static String query360AssessmentUrl = "/I360API/api/opencustom/getpersonelscoredataapi"; + + public static String assessment360Table = "uf_cpjg"; } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/FormFieldDao.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/FormFieldDao.java index 7c8b294..a9d4647 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/FormFieldDao.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/FormFieldDao.java @@ -132,64 +132,4 @@ public class FormFieldDao { return fieldMap; } - /*** - * - * @return - */ - public Map queryDepartmentList(){ - String groupId = "weaver-ebuilder-form-service"; - String sourceType = "LOGIC"; - Map dataMap = new HashMap(); - try{ - - String dataSql =" select code,id from eteams.department and tenant_key=? and delete_type=0" ; - log.error("queryDepartmentList--dataSql:" + dataSql); - List paramList = new ArrayList<>(100); - paramList.add(Constants.TENANT_KEY); - - List sqlParamList = databaseUtils.querySqlParamEntity(paramList); - Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); - List> recordList = databaseUtils.getDataSourceList(result); - log.error("queryDepartmentList:"+recordList.size()); - for(Map recordMap : recordList ) { - String code = String.valueOf(recordMap.get("code")); - String id = String.valueOf(recordMap.get("id")); - dataMap.put(code,id); - } - }catch (Exception e){ - e.printStackTrace(); - log.error("queryDepartmentList:{} ", e); - } - return dataMap; - } - - - public String getGmvIdByCode(String code,String formTable,String dataKey){ - String groupId = "weaver-ebuilder-form-service"; - String sourceType = "LOGIC"; - Map dataMap = new HashMap(); - String dataId = ""; - try{ - - String dataSql =" select id from "+formTable+" and tenant_key=? and delete_type=0 and "+dataKey+"=?" ; - log.error("dataSql:{}", dataSql); - List paramList = new ArrayList<>(100); - paramList.add(Constants.TENANT_KEY); - paramList.add(code); - - List sqlParamList = databaseUtils.querySqlParamEntity(paramList); - Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); - List> recordList = databaseUtils.getDataSourceList(result); - log.error("queryDepartmentList:"+recordList.size()); - if(recordList.size()>0){ - dataId = String.valueOf(recordList.get(0).get("id")); - } - }catch (Exception e){ - e.printStackTrace(); - log.error("queryDepartmentList:{} ", e); - } - return dataId; - } - - } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessment360Dao.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessment360Dao.java new file mode 100644 index 0000000..5494d55 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessment360Dao.java @@ -0,0 +1,87 @@ +package com.weaver.seconddev.chapanda.beisen.dao; + +import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import com.weaver.seconddev.chapanda.beisen.util.DatabaseUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Component +public class HrmAssessment360Dao { + + private final static Logger log = LoggerFactory.getLogger(HrmAssessment360Dao.class); + + @Autowired + private DatabaseUtils databaseUtils; + + /** + * + * @return + */ + public String getAssessment360Data(String gh,String hdid,String wjid){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + String id = ""; + try{ + String dataSql =" select id from " +Constants.assessment360Table + + " where gh = ? " + + " and hdid = ? " + + " and wjid = ? " + + " and tenant_key=? \n" + + " and delete_type=0" ; + + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(gh); + paramList.add(hdid); + paramList.add(wjid); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:{}",recordList.size()); + if(recordList.size()>0){ + id = String.valueOf(recordList.get(0).get("id")); + } + }catch (Exception e){ + log.error("e:{}" , e); + } + return id; + } + + + public String queryEmployeeJobNumData(String jobNum){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + String employeeId = ""; + try{ + String dataSql =" select id from eteams.employee where job_num = ? and tenant_key=? and delete_type = 0" ; + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(jobNum); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:"+recordList.size()); + if(recordList.size() > 0){ + employeeId = String.valueOf(recordList.get(0).get("id")); + } + }catch (Exception e){ + log.error("e:{}" , e); + } + return employeeId; + } + + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessmentDao.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessmentDao.java index e24a8fa..b9f851d 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessmentDao.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessmentDao.java @@ -256,4 +256,30 @@ public class HrmAssessmentDao { return employeeMap; } + + public List> queryEmployeeEmail(){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + + List> recordList = new ArrayList>(); + try{ + + String dataSql =" select id,email from eteams.employee \n" + + " where tenant_key=? \n" + + " and delete_type=0 " ; + + List paramList = new ArrayList<>(100); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:{}",recordList.size()); + }catch (Exception e){ + log.error("e:{}" ,e); + } + return recordList; + } + + } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmBeisenPositionDao.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmBeisenPositionDao.java new file mode 100644 index 0000000..9c3469c --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmBeisenPositionDao.java @@ -0,0 +1,114 @@ +package com.weaver.seconddev.chapanda.beisen.dao; + +import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import com.weaver.seconddev.chapanda.beisen.util.DatabaseUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Component +public class HrmBeisenPositionDao { + + private final static Logger log = LoggerFactory.getLogger(HrmBeisenPositionDao.class); + + @Autowired + private DatabaseUtils databaseUtils; + + /** + * + * @return + */ + public String getPositionIdByGwId(String gwid){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + String id = ""; + try{ + String dataSql =" select id from " +Constants.beisenPostionTable + + " where bs_gwid = ? " + + " and tenant_key = ? \n" + + " and delete_type=0" ; + + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(gwid); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:{}",recordList.size()); + if(recordList.size()>0){ + id = String.valueOf(recordList.get(0).get("id")); + } + }catch (Exception e){ + log.error("e:{}" , e); + } + return id; + } + + + public Map updateHrmPositionByBensen(String code,String objectId,String oIdOrganization){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map result = new HashMap(); + try{ + String dataSql =" update " +Constants.hrmPostionTable + " set oid=?,odeptid=? "+ + " where code = ? " + + " and tenant_key = ? \n" + + " and delete_type=0" ; + + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(objectId); + paramList.add(oIdOrganization); + paramList.add(code); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + result = databaseUtils.executeForUpdate(sourceType, groupId, dataSql, sqlParamList); + + }catch (Exception e){ + log.error("e:{}" , e); + } + return result; + } + + + public String getBeisenPositionIdByHrmPositionId(String gwid){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + String id = ""; + try{ + String dataSql =" select id from " +Constants.beisenPostionTable + + " where bs_gwid = ? " + + " and tenant_key = ? \n" + + " and delete_type=0" ; + + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(gwid); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:{}",recordList.size()); + if(recordList.size()>0){ + id = String.valueOf(recordList.get(0).get("id")); + } + }catch (Exception e){ + log.error("e:{}" , e); + } + return id; + } + + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessCronJob.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessCronJob.java new file mode 100644 index 0000000..b30ba00 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessCronJob.java @@ -0,0 +1,34 @@ +package com.weaver.seconddev.chapanda.beisen.esb; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.beisen.util.Esb2BeisenAssessUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.Map; + +@Service("Esb2BeisenAssessCronJob") +public class Esb2BeisenAssessCronJob implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2BeisenAssessCronJob.class); + + @Autowired + Esb2BeisenAssessUtil esb2BeisenAssessUtil; + + @Override + public WeaResult> execute(Map params) { + + String emails = String.valueOf(params.get("emails")); + log.error("emails:{}",emails); + esb2BeisenAssessUtil.queryAssessData(emails); + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("msg","同步成功"); + return WeaResult.success(actionMap); + } + + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360Action.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360Action.java new file mode 100644 index 0000000..8f39e49 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360Action.java @@ -0,0 +1,154 @@ +package com.weaver.seconddev.chapanda.beisen.esb; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.common.hrm.util.HrmCommonUtil; +import com.weaver.ebuilder.form.client.entity.data.EBDataChangeResult; +import com.weaver.ebuilder.form.client.entity.data.EBDataReqDetailDto; +import com.weaver.ebuilder.form.client.entity.data.EBDataReqDto; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import com.weaver.seconddev.chapanda.beisen.dao.FormFieldDao; +import com.weaver.seconddev.chapanda.beisen.dao.HrmAssessment360Dao; +import com.weaver.seconddev.chapanda.beisen.util.EbuilderOperateUtils; +import com.weaver.seconddev.chapanda.beisen.util.Esb2BeiSenAssessment360Util; +import com.weaver.teams.domain.user.SimpleEmployee; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service("Esb2BeisenAssessment360Action") +public class Esb2BeisenAssessment360Action implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2BeisenAssessment360Action.class); + + @Autowired + FormFieldDao formFieldDao; + + @Autowired + EbuilderOperateUtils ebuilderOperateUtils; + + @Autowired + Esb2BeiSenAssessment360Util esb2BeiSenAssessment360Util; + + @Autowired + private HrmCommonUtil hrmCommonUtil; + + @Autowired + HrmAssessment360Dao hrmAssessment360Dao; + + @Override + public WeaResult> execute(Map params) { + + List ebList = new ArrayList(); + + List fieldList = new ArrayList(); + fieldList.add("ryid"); + fieldList.add("gsyx"); + fieldList.add("gh"); + fieldList.add("hdid"); + fieldList.add("hdmc"); + fieldList.add("wjid"); + fieldList.add("wjmc"); + fieldList.add("zzjg"); + fieldList.add("cjsj"); + fieldList.add("wcsj"); + + log.error("Esb2BeisenAssessment360Action"); + + String employeeid = String.valueOf(params.get("employeeid")); + log.error("employeeid:{}",employeeid); + if(StringUtils.isNotBlank(employeeid)){ + Long employeeId = Long.valueOf(employeeid); + log.error("employeeId:{}",employeeId); + SimpleEmployee createByEmployee = hrmCommonUtil.getSimpleEmployee(employeeId); + String email = createByEmployee.getEmail(); + log.error("email:{}",email); + JSONArray assessmentArray = esb2BeiSenAssessment360Util.convertAssessmentData(email); + log.error("assessmentArray:{}",assessmentArray.size()); + + Map fieldMap = formFieldDao.queryFromTableField(Constants.assessment360Table,fieldList); + log.error("fieldMap:{}",fieldMap.size()); + + List addDatas = new ArrayList(); + for(int i=0;i mainData = new ArrayList(); + for(int n=0;n recordMap = formFieldDao.queryTableFormId(Constants.assessment360Table); + String formId = recordMap.get("id").toString(); + String appId = recordMap.get("app_id").toString(); + log.error("formId:{}",formId); + log.error("appId:{}",appId); + if(StringUtils.isNotBlank(formId) && StringUtils.isNotBlank(appId)){ + if(addDatas.size() > 0){ + EBDataChangeResult addEbDataChangeResult = ebuilderOperateUtils.bacthInsertDbForm(addDatas,formId,appId); + boolean isTrue = addEbDataChangeResult.getStatus(); + log.error("message:{}",addEbDataChangeResult.getMessage()); + log.error("isTrue1:{}",isTrue); + if(isTrue){ + ebList.addAll(addEbDataChangeResult.getDataIds()); + } + } + } + } + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("msg","同步成功"); + actionMap.put("ebList",ebList.size()); + return WeaResult.success(actionMap); + } + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360FullCronJob.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360FullCronJob.java new file mode 100644 index 0000000..925e7b7 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenAssessment360FullCronJob.java @@ -0,0 +1,47 @@ +package com.weaver.seconddev.chapanda.beisen.esb; + +import com.alibaba.fastjson.JSONArray; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.beisen.dao.FormFieldDao; +import com.weaver.seconddev.chapanda.beisen.dao.HrmBeisenPositionDao; +import com.weaver.seconddev.chapanda.beisen.util.EbuilderOperateUtils; +import com.weaver.seconddev.chapanda.beisen.util.Esb2BeiSenAssessment360Util; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.Map; + +@Service("Esb2BeisenAssessment360FullCronJob") +public class Esb2BeisenAssessment360FullCronJob implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2BeisenAssessment360FullCronJob.class); + + @Autowired + FormFieldDao formFieldDao; + + @Autowired + HrmBeisenPositionDao hrmBeisenPositionDao; + + @Autowired + EbuilderOperateUtils ebuilderOperateUtils; + + @Autowired + Esb2BeiSenAssessment360Util esb2BeiSenAssessment360Util; + @Override + public WeaResult> execute(Map params) { + + JSONArray assessmentArray = new JSONArray(); + + esb2BeiSenAssessment360Util.queryAssessment360Data(); + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("msg","同步成功"); + return WeaResult.success(actionMap); + } + + + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenCreateBlackListAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenCreateBlackListAction.java index a385db8..58cdf53 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenCreateBlackListAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenCreateBlackListAction.java @@ -3,10 +3,7 @@ package com.weaver.seconddev.chapanda.beisen.esb; import com.weaver.common.base.entity.result.WeaResult; import com.weaver.common.hrm.util.HrmCommonUtil; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; -import com.weaver.seconddev.chapanda.beisen.entity.BeisenStaffDto; -import com.weaver.seconddev.chapanda.beisen.util.BeisenStaffInfoByStaffCodeUtil; -import com.weaver.seconddev.chapanda.beisen.util.BlackList2BeiSenUtil; -import com.weaver.seconddev.chapanda.beisen.util.Token2BeiSenUtil; +import com.weaver.seconddev.chapanda.beisen.util.*; import com.weaver.teams.domain.user.SimpleEmployee; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -29,8 +26,12 @@ public class Esb2BeisenCreateBlackListAction implements EsbServerlessRpcRemoteIn @Autowired private HrmCommonUtil hrmCommonUtil; +// @Autowired +// BeisenStaffInfoByStaffCodeUtil beisenStaffInfoByStaffCodeUtil; + + @Autowired - BeisenStaffInfoByStaffCodeUtil beisenStaffInfoByStaffCodeUtil; + BeisenQueryUseridUtil beisenQueryUseridUtil; @Override public WeaResult> execute(Map params) { @@ -41,7 +42,7 @@ public class Esb2BeisenCreateBlackListAction implements EsbServerlessRpcRemoteIn String userIdStr = String.valueOf(params.get("userid")); log.error("userIdStr:{}",userIdStr); if(StringUtils.isNotBlank(userIdStr)){ - userId = Long.parseLong(userIdStr); + userId = Long.valueOf(userIdStr); } } @@ -59,15 +60,19 @@ public class Esb2BeisenCreateBlackListAction implements EsbServerlessRpcRemoteIn log.error("staffemail:{}",staffemail); int beisenUserId = -1; String jobNum = ""; - if(userId >0){ + if(userId.longValue() >0){ SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(userId); jobNum = simpleEmployee.getJobNum(); } log.error("jobNum:{}",jobNum); if(StringUtils.isNotBlank(jobNum)){ - BeisenStaffDto beisenStaffDto = beisenStaffInfoByStaffCodeUtil.getBeisenStaffInfoByStaffCode(jobNum); - beisenUserId = beisenStaffDto.getUserId(); + + String beisenUser = beisenQueryUseridUtil.queryBeisenUserIdByJobNum(jobNum); + if(StringUtils.isNotBlank(beisenUser)){ + beisenUserId = Integer.valueOf(beisenUser); + } +// BeisenStaffDto beisenStaffDto = beisenStaffInfoByStaffCodeUtil.getBeisenStaffInfoByStaffCode(jobNum); } log.error("beisenUserId:{}",beisenUserId); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementAction.java index 3dd14d2..91d57bc 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementAction.java @@ -43,14 +43,17 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt @Autowired BeisenStaffInfoByStaffCodeUtil beisenStaffInfoByStaffCodeUtil ; - @Autowired - BeisenDeptInfoByOriginalIdUtil beisenDeptInfoByOriginalIdUtil; @Autowired private HrmCommonUtil hrmCommonUtil; @Autowired private HrmDepartmentDao hrmDepartmentDao; + @Autowired + BeisenQueryUseridUtil beisenQueryUseridUtil; + + @Autowired + BeisenQueryDeptIdUtil beisenQueryDeptIdUtil; @Override public WeaResult> execute(Map params) { log.error("Esb2BeisenJobRequirementAction start"); @@ -78,6 +81,8 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt String originalId = String.valueOf(params.get("originalId")); + String nlyq = String.valueOf(params.get("nlyq")); + log.error("requirementStatus:" + requirementStatus); log.error("originalId:" + originalId); log.error("requirementType:" + requirementType); @@ -92,6 +97,7 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt log.error("kind:" + kind); log.error("isSecrecy:" + isSecrecy); log.error("form_data_id:" + form_data_id); + log.error("nlyq:" + nlyq); String createBy = String.valueOf(params.get("createBy")); String dutyUserId = String.valueOf(params.get("dutyUserId")); @@ -99,23 +105,9 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt log.error("dutyUserId:" + dutyUserId); - int beisenUserId = -1; - if(StringUtils.isNotBlank(createBy)){ - String jobnum = ""; - SimpleEmployee createByEmployee = hrmCommonUtil.getSimpleEmployee(Long.valueOf(createBy)); - if(createByEmployee !=null && createByEmployee.getId() > 0){ - jobnum = createByEmployee.getJobNum(); - } - log.error("jobnum:" + jobnum); - if(StringUtils.isNotBlank(jobnum)){ - BeisenStaffDto beisenStaffDto = beisenStaffInfoByStaffCodeUtil.getBeisenStaffInfoByStaffCode(jobnum); - if(beisenStaffDto !=null){ - beisenUserId = beisenStaffDto.getUserId(); - } - log.error("beisenUserId:" + beisenUserId); - } - } + String zpgw = String.valueOf(params.get("zpgw")); + String zwmc = String.valueOf(params.get("zwmc")); String createByEmail = hrmDepartmentDao.queryEmailByEmployeeId(dutyUserId); log.error("createByEmail:" + createByEmail); String dutyUserEmail = hrmDepartmentDao.queryEmailByEmployeeId(dutyUserId); @@ -127,18 +119,58 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt } log.error("originalCode:" + originalCode); - int orgId = -1; - if(StringUtils.isNotBlank(originalCode)){ - BeisenDepartmentDto beisenDepartmentDto = beisenDeptInfoByOriginalIdUtil.getBeisenDeptDataByOriginalId(originalId); - log.error("beisenDepartmentDto:{}",beisenDepartmentDto.toString()); - orgId = beisenDepartmentDto.getOrgId(); + int beisenCreateUserId = -1; + if(StringUtils.isNotBlank(createBy)){ + String jobnum = ""; + SimpleEmployee createByEmployee = hrmCommonUtil.getSimpleEmployee(Long.valueOf(createBy)); + if(createByEmployee !=null && createByEmployee.getId() > 0){ + jobnum = createByEmployee.getJobNum(); + } + log.error("jobnum:" + jobnum); + if(StringUtils.isNotBlank(jobnum)){ + String userid = beisenQueryUseridUtil.queryBeisenUserIdByJobNum(jobnum); + if(StringUtils.isNotBlank(userid)){ + beisenCreateUserId = Integer.valueOf(userid); + } + log.error("beisenCreateUserId:" + beisenCreateUserId); + } } - String token = token2BeiSenUtil.getToken(); - log.error("token:" + token); + int beisenDutyUserId = -1; + if(StringUtils.isNotBlank(dutyUserId)){ + String jobnum = ""; + SimpleEmployee createByEmployee = hrmCommonUtil.getSimpleEmployee(Long.valueOf(dutyUserId)); + if(createByEmployee !=null && createByEmployee.getId() > 0){ + jobnum = createByEmployee.getJobNum(); + } + log.error("jobnum:" + jobnum); + if(StringUtils.isNotBlank(jobnum)){ + String userid = beisenQueryUseridUtil.queryBeisenUserIdByJobNum(jobnum); + if(StringUtils.isNotBlank(userid)){ + beisenDutyUserId = Integer.valueOf(userid); + } + log.error("beisenDutyUserId:" + beisenDutyUserId); + } + } + + int orgId = -1; + if(StringUtils.isNotBlank(originalCode)){ +// BeisenDepartmentDto beisenDepartmentDto = beisenDeptInfoByOriginalIdUtil.getBeisenDeptDataByOriginalId(originalId); +// log.error("beisenDepartmentDto:{}",beisenDepartmentDto.toString()); + String deptid = beisenQueryDeptIdUtil.queryBeisenDeptIdByCode(originalCode); + if(StringUtils.isNotBlank(deptid)){ + orgId = Integer.valueOf(deptid); + } +// orgId = beisenDepartmentDto.getOrgId(); + } + + String xqmc = (String) params.get("xqmc"); + String gzzz = String.valueOf(params.get("gzzz")); + String rzzg = String.valueOf(params.get("rzzg ")); + log.error("orgId:" + orgId); - String dataId = jobRequirement2BeisenUtil.sendJobRequirement(token,requirementStatus,requirementType, - requestname,beisenUserId, + String dataId = jobRequirement2BeisenUtil.sendJobRequirement(requirementStatus,requirementType, + requestname,beisenCreateUserId, createDate,requirementCount, arivalTime, createByEmail, @@ -150,7 +182,7 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt workExperience, kind, isSecrecy, - originalCode); + originalCode,nlyq,zpgw,zwmc,beisenDutyUserId,xqmc,gzzz,rzzg); log.error("dataId:" + dataId); // if(StringUtils.isNotBlank(dataId)){ diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementCreateAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementCreateAction.java new file mode 100644 index 0000000..70a0658 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementCreateAction.java @@ -0,0 +1,226 @@ +package com.weaver.seconddev.chapanda.beisen.esb; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.common.hrm.util.HrmCommonUtil; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.beisen.dao.HrmDepartmentDao; +import com.weaver.seconddev.chapanda.beisen.entity.BeisenDepartmentDto; +import com.weaver.seconddev.chapanda.beisen.entity.BeisenStaffDto; +import com.weaver.seconddev.chapanda.beisen.util.*; +import com.weaver.teams.domain.user.SimpleEmployee; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/*** + * @author: shil + * @date: 2025/8/7 + * @description: 招聘需求创建 + */ +@Service("Esb2BeisenJobRequirementCreateAction") +public class Esb2BeisenJobRequirementCreateAction implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2BeisenJobRequirementCreateAction.class); + + @Autowired + JobRequirement2BeisenUtil jobRequirement2BeisenUtil; + + @Autowired + private HrmCommonUtil hrmCommonUtil; + + @Autowired + private HrmDepartmentDao hrmDepartmentDao; + + @Autowired + BeisenQueryUseridUtil beisenQueryUseridUtil; + + @Autowired + BeisenQueryDeptIdUtil beisenQueryDeptIdUtil; + + @Override + public WeaResult> execute(Map params) { + log.error("Esb2BeisenJobRequirementAction start"); + + int requirementStatus = converInteger(params,"requirementStatus"); + String form_data_id = (String) params.get("form_data_id"); + int requirementType = converInteger(params,"requirementType"); + + String requestname = (String) params.get("requestname"); + String createDate = (String) params.get("createDate"); + String xqmc = (String) params.get("xqmc"); + + int requirementCount = converInteger(params,"requirementCount") ; + String arivalTime = (String) params.get("arivalTime"); + + int salaryType = converInteger(params,"salaryType"); + int category = converInteger(params,"category"); + String educationInfo = (String) params.get("educationInfo"); + String workExperience = (String) params.get("workExperience"); + int kind = converInteger(params,"kind"); + boolean isSecrecy = false; + String isSecrecyStr = (String) params.get("isSecrecy"); + if("1".equals(isSecrecyStr)){ + isSecrecy = true; + } + + String originalId = String.valueOf(params.get("originalId")); + + String nlyq = String.valueOf(params.get("nlyq")); + + String zpgw = String.valueOf(params.get("zpgw")); + String zwmc = String.valueOf(params.get("zwmc")); + + log.error("requirementStatus:" + requirementStatus); + log.error("originalId:" + originalId); + log.error("requirementType:" + requirementType); + log.error("requestname:" + requestname); + log.error("createDate:" + createDate); + log.error("requirementCount:" + requirementCount); + log.error("arivalTime:" + arivalTime); + log.error("salaryType:" + salaryType); + log.error("category:" + category); + log.error("educationInfo:" + educationInfo); + log.error("workExperience:" + workExperience); + log.error("kind:" + kind); + log.error("isSecrecy:" + isSecrecy); + log.error("form_data_id:{}" , form_data_id); + log.error("nlyq:{}" , nlyq); + log.error("zpgw:{}" , zpgw); + + String createBy = String.valueOf(params.get("createBy")); + String dutyUserId = String.valueOf(params.get("dutyUserId")); + log.error("createBy:" + createBy); + log.error("dutyUserId:" + dutyUserId); + + int beisenCreateUserId = -1; + if(StringUtils.isNotBlank(createBy)){ + String jobnum = ""; + SimpleEmployee createByEmployee = hrmCommonUtil.getSimpleEmployee(Long.valueOf(createBy)); + if(createByEmployee !=null && createByEmployee.getId() > 0){ + jobnum = createByEmployee.getJobNum(); + } + log.error("jobnum:" + jobnum); + if(StringUtils.isNotBlank(jobnum)){ + String userid = beisenQueryUseridUtil.queryBeisenUserIdByJobNum(jobnum); + if(StringUtils.isNotBlank(userid)){ + beisenCreateUserId = Integer.valueOf(userid); + } + log.error("beisenCreateUserId:" + beisenCreateUserId); + } + } + + int beisenDutyUserId = -1; + if(StringUtils.isNotBlank(dutyUserId)){ + String jobnum = ""; + SimpleEmployee createByEmployee = hrmCommonUtil.getSimpleEmployee(Long.valueOf(dutyUserId)); + if(createByEmployee !=null && createByEmployee.getId() > 0){ + jobnum = createByEmployee.getJobNum(); + } + log.error("jobnum:" + jobnum); + if(StringUtils.isNotBlank(jobnum)){ + String userid = beisenQueryUseridUtil.queryBeisenUserIdByJobNum(jobnum); + if(StringUtils.isNotBlank(userid)){ + beisenDutyUserId = Integer.valueOf(userid); + } + log.error("beisenDutyUserId:" + beisenDutyUserId); + } + } + + String createByEmail = hrmDepartmentDao.queryEmailByEmployeeId(dutyUserId); + log.error("createByEmail:" + createByEmail); + String dutyUserEmail = hrmDepartmentDao.queryEmailByEmployeeId(dutyUserId); + log.error("dutyUserEmail:" + dutyUserEmail); + + String originalCode = ""; + if(StringUtils.isNotBlank(originalId)){ + originalCode = hrmDepartmentDao.getDepartmentCodeById(originalId); + } + log.error("originalCode:" + originalCode); + + int orgId = -1; + if(StringUtils.isNotBlank(originalCode)){ +// BeisenDepartmentDto beisenDepartmentDto = beisenDeptInfoByOriginalIdUtil.getBeisenDeptDataByOriginalId(originalId); +// log.error("beisenDepartmentDto:{}",beisenDepartmentDto.toString()); + String deptid = beisenQueryDeptIdUtil.queryBeisenDeptIdByCode(originalCode); + if(StringUtils.isNotBlank(deptid)){ + orgId = Integer.valueOf(deptid); + } +// orgId = beisenDepartmentDto.getOrgId(); + } + + String gzzz = String.valueOf(params.get("gzzz")); + String rzzg = String.valueOf(params.get("rzzg ")); + + log.error("orgId:" + orgId); + String dataId = jobRequirement2BeisenUtil.sendJobRequirement(requirementStatus,requirementType, + requestname,beisenCreateUserId, + createDate,requirementCount, + arivalTime, + createByEmail, + dutyUserEmail, + orgId, + salaryType, + category, + educationInfo, + workExperience, + kind, + isSecrecy, + originalCode, + nlyq, + zpgw, + zwmc, + beisenDutyUserId, + xqmc, + gzzz, + rzzg); + + + log.error("dataId:" + dataId); +// if(StringUtils.isNotBlank(dataId)){ +// String sourceType = ""; +// String groupId = ""; +// +// String dataSql =" update uf_zpxqgl set bszxid = ? " + +// " where form_data_id = ?\n" + +// " and tenant_key=? \n" + +// " and delete_type=0 \n" ; +// +// log.error("dataSql:" + dataSql); +// List paramList = new ArrayList<>(100); +// +// paramList.add(form_data_id); +// paramList.add(Constants.TENANT_KEY); +// List sqlParamList = databaseUtils.querySqlParamEntity(paramList); +// result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); +// } + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("msg","创建招聘需求成功"); + actionMap.put("dataId",dataId); + actionMap.put("form_data_id",form_data_id); + return WeaResult.success(actionMap); + } + + + /*** + * 转换为int + * @param params + * @param key + * @return + */ + public int converInteger(Map params,String key){ + int value = -1; + try{ + String requirementStatusStr = (String) params.get(key); + value = Integer.valueOf(requirementStatusStr); + }catch (Exception e){ + log.error("key:{},e:{}",key,e.getMessage()); + } + return value; + } +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementUnRelateAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementUnRelateAction.java new file mode 100644 index 0000000..f21f757 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenJobRequirementUnRelateAction.java @@ -0,0 +1,51 @@ +package com.weaver.seconddev.chapanda.beisen.esb; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.beisen.util.*; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.Map; + +@Service("Esb2BeisenJobRequirementUnRelateAction") +public class Esb2BeisenJobRequirementUnRelateAction implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2BeisenJobRequirementUnRelateAction.class); + + @Autowired + Esb2BeisenUnRelateRequestUtil esb2BeisenUnRelateRequestUtil; + + @Override + public WeaResult> execute(Map params) { + + String form_data_id = String.valueOf(params.get("form_data_id")); + String requirementId = String.valueOf(params.get("requirementId")); + + if(StringUtils.isBlank(requirementId)){ + return WeaResult.fail(500,"招聘需求信息获取为空"); + } + + log.error("requirementId:" + requirementId); + String code = esb2BeisenUnRelateRequestUtil.unRelateJobRequirement(requirementId); + log.error("code:" + code); + if(StringUtils.isBlank(code)){ + return WeaResult.fail(500,"取消招聘需求失败"); + } + + if(!"200".equals(code)){ + return WeaResult.fail(500,"取消招聘需求失败"); + } + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("msg","取消招聘需求成功"); + actionMap.put("datacode",code); + actionMap.put("form_data_id",form_data_id); + + return WeaResult.success(actionMap); + } + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionFullCronJob.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionFullCronJob.java new file mode 100644 index 0000000..ee56307 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionFullCronJob.java @@ -0,0 +1,284 @@ +package com.weaver.seconddev.chapanda.beisen.esb; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.form.client.entity.data.EBDataChangeResult; +import com.weaver.ebuilder.form.client.entity.data.EBDataReqDetailDto; +import com.weaver.ebuilder.form.client.entity.data.EBDataReqDto; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import com.weaver.seconddev.chapanda.beisen.dao.FormFieldDao; +import com.weaver.seconddev.chapanda.beisen.dao.HrmBeisenPositionDao; +import com.weaver.seconddev.chapanda.beisen.util.EbuilderOperateUtils; +import com.weaver.seconddev.chapanda.beisen.util.Esb2BeiSenPositionUtil; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service("Esb2BeisenPositionFullCronJob") +public class Esb2BeisenPositionFullCronJob implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2BeisenPositionFullCronJob.class); + + @Autowired + Esb2BeiSenPositionUtil esb2BeiSenPositionUtil; + + @Autowired + FormFieldDao formFieldDao; + + @Autowired + HrmBeisenPositionDao hrmBeisenPositionDao; + + @Autowired + EbuilderOperateUtils ebuilderOperateUtils; + @Override + public WeaResult> execute(Map params) { + + log.error("Esb2BeisenPositionFullCronJob"); + List ebList = new ArrayList(); + + JSONArray positionArray = new JSONArray(); + + String startDate = String.valueOf(params.get("startDate")); + String endDate = String.valueOf(params.get("endDate")); + int capacity = 100; + int total = 0; + String scrollId = ""; + JSONArray firstArray = new JSONArray(); + String msg = esb2BeiSenPositionUtil.queryPositionByDate(startDate, endDate,capacity); + if(StringUtils.isNotBlank(msg)){ + JSONObject msgJson = JSONObject.parseObject(msg); + if(msgJson.containsKey("total")){ + total = msgJson.getInteger("total"); + } + if(msgJson.containsKey("data")){ + firstArray = msgJson.getJSONArray("data"); + } + + if(msgJson.containsKey("scrollId")){ + scrollId = msgJson.getString("scrollId"); + } + } + + log.error("total:{}",total); + log.error("firstArray:{}",firstArray.size()); + log.error("scrollId:{}",scrollId); + + if(total <= capacity){ + positionArray = firstArray; + }else{ + if(firstArray.size() > 0){ + positionArray.addAll(firstArray); + } + int pageCount = (int)Math.floor(total / capacity*1.0); + log.error("pageCount:{}",pageCount); + int count = 0; + while(StringUtils.isNotBlank(scrollId) && !"null".equals(scrollId)){ + String positionData = esb2BeiSenPositionUtil.queryPositionByscrollId(startDate, endDate,scrollId,capacity); + if(StringUtils.isNotBlank(positionData)){ + JSONObject msgJson = JSONObject.parseObject(positionData); + + if(msgJson.containsKey("data")){ + JSONArray itemArray = msgJson.getJSONArray("data"); + log.error("itemArray:{}",itemArray.size()); + if(itemArray.size() > 0){ + positionArray.addAll(itemArray); + }else{ + scrollId = ""; + } + } + + if(msgJson.containsKey("scrollId")){ + scrollId = msgJson.getString("scrollId"); + }else{ + scrollId = ""; + } + }else{ + scrollId = ""; + } + + log.error("scrollId:{}",scrollId); + log.error("count:{}",count); + + count++; + if(count > (pageCount+5)){ + break; + } + } + } + log.error("positionArray:{}",positionArray.size()); + + List fieldList = new ArrayList(); + fieldList.add("bs_gwid"); + fieldList.add("bs_gwmc"); + fieldList.add("bs_gwbm"); + + if(positionArray.size() > 0){ + updateHrmPosition(positionArray); + doSavePositionData(positionArray); + } + + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("msg","同步成功"); + return WeaResult.success(actionMap); + } + + + public JSONArray convertPositionList(JSONArray positionArray){ + JSONArray dataArray = new JSONArray(); + + for(int i=0;i doSavePositionData(JSONArray positionArray){ + List ebList = new ArrayList(); + + List fieldList = new ArrayList(); + fieldList.add("bs_gwid"); + fieldList.add("bs_gwmc"); + fieldList.add("bs_gwbm"); + + if(positionArray.size() > 0){ + JSONArray dataArray = convertPositionList(positionArray); + log.error("dataArray:"+dataArray.size()); + Map fieldMap = formFieldDao.queryFromTableField(Constants.beisenPostionTable,fieldList); + List addDatas = new ArrayList(); + List updateDatas = new ArrayList(); + for(int i=0;i mainData = new ArrayList(); + mainData.add(new EBDataReqDetailDto("id", ufId)); + for(int n=0;n mainData = new ArrayList(); + for(int n=0;n recordMap = formFieldDao.queryTableFormId(Constants.beisenPostionTable); + String formId = recordMap.get("id").toString(); + String appId = recordMap.get("app_id").toString(); + log.error("formId:{}",formId); + log.error("appId:{}",appId); + if(StringUtils.isNotBlank(formId) && StringUtils.isNotBlank(appId)){ + if(addDatas.size() > 0){ + EBDataChangeResult addEbDataChangeResult = ebuilderOperateUtils.bacthInsertDbForm(addDatas,formId,appId); + boolean isTrue = addEbDataChangeResult.getStatus(); + log.error("message:{}",addEbDataChangeResult.getMessage()); + log.error("isTrue1:{}",isTrue); + if(isTrue){ + ebList.addAll(addEbDataChangeResult.getDataIds()); + } + } + + if(updateDatas.size() > 0){ + + EBDataChangeResult updateEbDataChangeResult = ebuilderOperateUtils.bacthEditEbForm(updateDatas,formId,appId); + boolean isTrue = updateEbDataChangeResult.getStatus(); + log.error("isTrue2:{}",isTrue); + log.error("message2:{}",updateEbDataChangeResult.getMessage()); + if(isTrue){ + ebList.addAll(updateEbDataChangeResult.getDataIds()); + } + } + } + } + return ebList; + } + + + public Map updateHrmPosition(JSONArray positionArray){ + Map resultMap = new HashMap(); + int failCount = 0; + int successCount = 0; + int total = positionArray.size() ; + if(positionArray.size() > 0){ + for(int i=0;i result = hrmBeisenPositionDao.updateHrmPositionByBensen(code,objectId,oIdOrganization); + if (result.containsKey("code")) { + code = String.valueOf(result.get("code")); + log.error("code:" + code); + if ("200".equals(code)) { + successCount++; + }else{ + failCount++; + } + } + } + } + } + + resultMap.put("failCount",String.valueOf(failCount)); + resultMap.put("successCount",String.valueOf(successCount)); + resultMap.put("total",String.valueOf(total)); + return resultMap; + } + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionTimeCronJob.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionTimeCronJob.java new file mode 100644 index 0000000..cd8edf4 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPositionTimeCronJob.java @@ -0,0 +1,277 @@ +package com.weaver.seconddev.chapanda.beisen.esb; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.ebuilder.form.client.entity.data.EBDataChangeResult; +import com.weaver.ebuilder.form.client.entity.data.EBDataReqDetailDto; +import com.weaver.ebuilder.form.client.entity.data.EBDataReqDto; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import com.weaver.seconddev.chapanda.beisen.dao.FormFieldDao; +import com.weaver.seconddev.chapanda.beisen.dao.HrmBeisenPositionDao; +import com.weaver.seconddev.chapanda.beisen.util.EbuilderOperateUtils; +import com.weaver.seconddev.chapanda.beisen.util.Esb2BeiSenPositionUtil; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service("Esb2BeisenPositionTimeCronJob") +public class Esb2BeisenPositionTimeCronJob implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2BeisenPositionTimeCronJob.class); + + @Autowired + Esb2BeiSenPositionUtil esb2BeiSenPositionUtil; + + @Autowired + FormFieldDao formFieldDao; + + @Autowired + HrmBeisenPositionDao hrmBeisenPositionDao; + + @Autowired + EbuilderOperateUtils ebuilderOperateUtils; + @Override + public WeaResult> execute(Map params) { + JSONArray positionArray = new JSONArray(); + List ebList = new ArrayList(); + + // 获取当前日期 + LocalDate today = LocalDate.now(); + // 获取当前日期的前一周 + LocalDate lastWeek = today.minusWeeks(1); + + String startDate = lastWeek.toString(); + String endDate = today.toString(); + + log.error("startDate:{}",startDate); + log.error("endDate:{}",endDate); + + int capacity = 100; + int total = 0; + String scrollId = ""; + JSONArray firstArray = new JSONArray(); + String msg = esb2BeiSenPositionUtil.queryPositionByDate(startDate, endDate,capacity); + if(StringUtils.isNotBlank(msg)){ + JSONObject msgJson = JSONObject.parseObject(msg); + if(msgJson.containsKey("total")){ + total = msgJson.getInteger("total"); + } + if(msgJson.containsKey("data")){ + firstArray = msgJson.getJSONArray("data"); + } + + if(msgJson.containsKey("scrollId")){ + scrollId = msgJson.getString("scrollId"); + } + } + + if(total <= capacity){ + positionArray = firstArray; + }else{ + if(firstArray.size() > 0){ + positionArray.addAll(firstArray); + } + int pageCount = (int)Math.floor(total / capacity*1.0); + int count = 0; + while(StringUtils.isNotBlank(scrollId) && !"null".equals(scrollId)){ + String positionData = esb2BeiSenPositionUtil.queryPositionByscrollId(startDate, endDate,scrollId,capacity); + if(StringUtils.isNotBlank(positionData)){ + JSONObject msgJson = JSONObject.parseObject(positionData); + + if(msgJson.containsKey("data")){ + JSONArray itemArray = msgJson.getJSONArray("data"); + if(itemArray.size() > 0){ + positionArray.add(itemArray); + } + } + if(msgJson.containsKey("scrollId")){ + scrollId = msgJson.getString("scrollId"); + }else{ + scrollId = ""; + } + }else{ + scrollId = ""; + } + count++; + if(count > (pageCount+5)){ + break; + } + } + } + log.error("positionArray:{}",positionArray.size()); + + if(positionArray.size() > 0){ + updateHrmPosition(positionArray); + doSavePositionData(positionArray); + } + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("msg","同步成功"); + actionMap.put("total",ebList.size()); + return WeaResult.success(actionMap); + } + + + public JSONArray convertPositionList(JSONArray positionArray){ + JSONArray dataArray = new JSONArray(); + for(int i=0;i doSavePositionData(JSONArray positionArray){ + List ebList = new ArrayList(); + + List fieldList = new ArrayList(); + fieldList.add("bs_gwid"); + fieldList.add("bs_gwmc"); + fieldList.add("bs_gwbm"); + + if(positionArray.size() > 0){ + JSONArray dataArray = convertPositionList(positionArray); + log.error("dataArray:"+dataArray.size()); + Map fieldMap = formFieldDao.queryFromTableField(Constants.beisenPostionTable,fieldList); + List addDatas = new ArrayList(); + List updateDatas = new ArrayList(); + for(int i=0;i mainData = new ArrayList(); + mainData.add(new EBDataReqDetailDto("id", ufId)); + for(int n=0;n mainData = new ArrayList(); + for(int n=0;n recordMap = formFieldDao.queryTableFormId(Constants.beisenPostionTable); + String formId = recordMap.get("id").toString(); + String appId = recordMap.get("app_id").toString(); + log.error("formId:{}",formId); + log.error("appId:{}",appId); + if(StringUtils.isNotBlank(formId) && StringUtils.isNotBlank(appId)){ + if(addDatas.size() > 0){ + EBDataChangeResult addEbDataChangeResult = ebuilderOperateUtils.bacthInsertDbForm(addDatas,formId,appId); + boolean isTrue = addEbDataChangeResult.getStatus(); + log.error("message:{}",addEbDataChangeResult.getMessage()); + log.error("isTrue1:{}",isTrue); + if(isTrue){ + ebList.addAll(addEbDataChangeResult.getDataIds()); + } + } + + if(updateDatas.size() > 0){ + + EBDataChangeResult updateEbDataChangeResult = ebuilderOperateUtils.bacthEditEbForm(updateDatas,formId,appId); + boolean isTrue = updateEbDataChangeResult.getStatus(); + log.error("isTrue2:{}",isTrue); + log.error("message2:{}",updateEbDataChangeResult.getMessage()); + if(isTrue){ + ebList.addAll(updateEbDataChangeResult.getDataIds()); + } + } + } + } + return ebList; + } + + + public Map updateHrmPosition(JSONArray positionArray){ + Map resultMap = new HashMap(); + int failCount = 0; + int successCount = 0; + int total = positionArray.size() ; + if(positionArray.size() > 0){ + for(int i=0;i result = hrmBeisenPositionDao.updateHrmPositionByBensen(code,objectId,oIdOrganization); + if (result.containsKey("code")) { + code = String.valueOf(result.get("code")); + log.error("code:" + code); + if ("200".equals(code)) { + successCount++; + }else{ + failCount++; + } + } + } + } + } + + resultMap.put("failCount",String.valueOf(failCount)); + resultMap.put("successCount",String.valueOf(successCount)); + resultMap.put("total",String.valueOf(total)); + return resultMap; + } +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryDeptIdUtil.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryDeptIdUtil.java new file mode 100644 index 0000000..ed0b20d --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryDeptIdUtil.java @@ -0,0 +1,85 @@ +package com.weaver.seconddev.chapanda.beisen.util; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import okhttp3.*; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; + + +@Component +public class BeisenQueryDeptIdUtil { + private final static Logger log = LoggerFactory.getLogger(BeisenQueryDeptIdUtil.class); + + @Autowired + Token2BeiSenUtil token2BeiSenUtil ; + + public String queryBeisenDeptIdByCode(String code){ + String deptid = ""; + if(StringUtils.isNotEmpty(code)) { + String token = token2BeiSenUtil.getToken(); + if (StringUtils.isNotBlank(token)) { + deptid = queryDeptIdByCode(token, code); + } + } + return deptid; + } + + /*** + * + * @param token + * @param deptcode + * @return + */ + private String queryDeptIdByCode(String token,String deptcode){ + String deptid = ""; + OkHttpClient client = new OkHttpClient().newBuilder() + .build(); + MediaType mediaType = MediaType.parse("application/json"); + + RequestBody body = RequestBody.create(mediaType, "{\"codes\":[\""+deptcode+"\"]}"); + + try { + Request request = new Request.Builder() + .url(Constants.beishenHost+Constants.queryDeptIdByCodeUrl) + .method("POST", body) + .addHeader("Authorization", "Bearer "+token) + .addHeader("Content-Type", "application/json") + .build(); + Response response = client.newCall(request).execute(); + + int code = response.code(); + String msg = response.body().string(); + log.error("code:{}",code); + log.error("msg:{}",msg); + if(code == 200) { + if(StringUtils.isNotBlank(msg)){ + JSONObject bodyJson = JSONObject.parseObject(msg); + if(bodyJson.containsKey("data")){ + JSONArray dataArray = bodyJson.getJSONArray("data"); + if(dataArray.size() > 0){ + JSONObject itemJson = dataArray.getJSONObject(0); + if(itemJson.containsKey("oId")){ + deptid = itemJson.getString("oId"); + } + } + } + } + } + } catch (IOException e) { + log.error("e:{}",e); + } + log.error("deptid:{}",deptid); + return deptid; + } + + + + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryUseridUtil.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryUseridUtil.java new file mode 100644 index 0000000..6252b12 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/BeisenQueryUseridUtil.java @@ -0,0 +1,135 @@ +package com.weaver.seconddev.chapanda.beisen.util; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import okhttp3.*; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; + + +@Component +public class BeisenQueryUseridUtil { + private final static Logger log = LoggerFactory.getLogger(BeisenQueryUseridUtil.class); + + @Autowired + Token2BeiSenUtil token2BeiSenUtil ; + + public String queryBeisenUserIdByEmail(String email){ + String userid = ""; + if(StringUtils.isNotEmpty(email)) { + String token = token2BeiSenUtil.getToken(); + if (StringUtils.isNotBlank(token)) { + userid = queryUserIdByEmail(token, email); + } + } + return userid; + } + + + public String queryBeisenUserIdByJobNum(String jobNum){ + String userid = ""; + if(StringUtils.isNotEmpty(jobNum)) { + String token = token2BeiSenUtil.getToken(); + if (StringUtils.isNotBlank(token)) { + userid = queryUserIdByJobNum(token, jobNum); + } + } + return userid; + } + + /*** + * + * @param token + * @param email + * @return + */ + private String queryUserIdByEmail(String token,String email){ + String userid = ""; + OkHttpClient client = new OkHttpClient().newBuilder() + .build(); + MediaType mediaType = MediaType.parse("application/json"); + JSONObject dataJson = new JSONObject(); + dataJson.put("email",email); + RequestBody body = RequestBody.create(mediaType, dataJson.toJSONString()); + try { + Request request = new Request.Builder() + .url(Constants.beishenHost+Constants.queryUserIdByEmailUrl) + .method("POST", body) + .addHeader("Authorization", "Bearer "+token) + .addHeader("Content-Type", "application/json") + .build(); + Response response = client.newCall(request).execute(); + + int code = response.code(); + String msg = response.body().string(); + log.error("code:{}",code); + log.error("msg:{}",msg); + if(code == 200) { + if(StringUtils.isNotBlank(msg)){ + JSONObject bodyJson = JSONObject.parseObject(msg); + if(bodyJson.containsKey("data")){ + userid = bodyJson.getString("data"); + } + } + } + } catch (IOException e) { + log.error("e:{}",e); + } + log.error("userid:{}",userid); + return userid; + } + + /*** + * + * @param token + * @param jobNum + * @return + */ + private String queryUserIdByJobNum(String token,String jobNum){ + String userid = ""; + OkHttpClient client = new OkHttpClient().newBuilder() + .build(); + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, "{\n \"jobNumbers\":[\""+jobNum+"\"]\n}"); + + try { + Request request = new Request.Builder() + .url(Constants.beishenHost+Constants.queryUserIdByCodeUrl) + .method("POST", body) + .addHeader("Authorization", "Bearer "+token) + .addHeader("Content-Type", "application/json") + .build(); + Response response = client.newCall(request).execute(); + + int code = response.code(); + log.error("code:{}",code); + String msg = response.body().string(); + if(code == 200) { + if(StringUtils.isNotBlank(msg)){ + JSONObject bodyJson = JSONObject.parseObject(msg); + if(bodyJson.containsKey("data")){ + JSONArray dataArray = bodyJson.getJSONArray("data"); + if(dataArray.size() > 0){ + JSONObject itemJson = dataArray.getJSONObject(0); + if(itemJson.containsKey("userId")){ + userid = itemJson.getString("userId"); + } + } + } + } + } + } catch (IOException e) { + log.error("e:{}",e); + } + log.error("userid:{}",userid); + return userid; + } + + +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/Esb2BeiSenAssessment360Util.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/Esb2BeiSenAssessment360Util.java new file mode 100644 index 0000000..f41f524 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/util/Esb2BeiSenAssessment360Util.java @@ -0,0 +1,171 @@ +package com.weaver.seconddev.chapanda.beisen.util; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.seconddev.chapanda.beisen.constant.Constants; +import com.weaver.seconddev.chapanda.beisen.dao.HrmAssessmentDao; +import okhttp3.*; +import org.apache.commons.lang3.StringUtils; +import org.apache.flink.shaded.zookeeper3.org.apache.zookeeper.server.quorum.SyncedLearnerTracker; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + + +@Component +public class Esb2BeiSenAssessment360Util { + private final static Logger log = LoggerFactory.getLogger(Esb2BeiSenAssessment360Util.class); + + @Autowired + Token2BeiSenUtil token2BeiSenUtil ; + + @Autowired + HrmAssessmentDao hrmAssessmentDao; + /*** + * + * @return + */ + public JSONArray queryAssessment360Data(){ + JSONArray assessmentArray = new JSONArray(); + + List> emailList = hrmAssessmentDao.queryEmployeeEmail(); + for(int i=0;i emailMap = emailList.get(i); + String email = emailMap.get("email").toString(); + if(StringUtils.isNotBlank(email)){ + JSONArray dataArray = convertAssessmentData(email); + assessmentArray.addAll(dataArray); + } + } + return assessmentArray; + } + + + public JSONArray convertAssessmentData(String email){ + JSONArray assessmentArray = new JSONArray(); + if(StringUtils.isNotBlank(email)){ + String token = token2BeiSenUtil.getToken(); + log.error("token:{}",token); + if(StringUtils.isNotBlank(token)){ + JSONObject bodyJson = new JSONObject(); + bodyJson.put("email",email); + log.error("bodyJson:{}",bodyJson.toJSONString()); + String msg = doHttpPost(token,bodyJson.toJSONString()); + if(StringUtils.isNotBlank(msg)){ + JSONObject msgJson = JSONObject.parseObject(msg); + if(msgJson.containsKey("data")){ + JSONObject dataJson = msgJson.getJSONObject("data"); + + String personnelStaffCode = ""; + String personnelMail = ""; + String personnelName = ""; + if(dataJson.containsKey("personInfo")){ + JSONObject personInfoJson = dataJson.getJSONObject("personInfo"); + if(personInfoJson.containsKey("personnelName")){ + personnelName = personInfoJson.getString("personnelName"); + } + if(personInfoJson.containsKey("personnelMail")){ + personnelMail = personInfoJson.getString("personnelMail"); + } + if(personInfoJson.containsKey("personnelStaffCode")){ + personnelStaffCode = personInfoJson.getString("personnelStaffCode"); + } + } + + log.error("personnelStaffCode:{}",personnelStaffCode); + log.error("personnelMail:{}",personnelMail); + + if(dataJson.containsKey("activityList")){ + JSONArray activityListArray = dataJson.getJSONArray("activityList"); + for (int i = 0; i < activityListArray.size(); i++) { + JSONObject activityJson = activityListArray.getJSONObject(i); + String activityID = ""; + if(activityJson.containsKey("activityID")){ + activityID = activityJson.getString("activityID"); + } + String activityName = ""; + if(activityJson.containsKey("activityName")){ + activityName = activityJson.getString("activityName"); + } + String createTime = ""; + if(activityJson.containsKey("createTime")){ + createTime = activityJson.getString("createTime"); + } + JSONArray questionnaireInfoList = new JSONArray(); + if(activityJson.containsKey("questionnaireInfoList")){ + questionnaireInfoList = activityJson.getJSONArray("questionnaireInfoList"); + } + + log.error("activityID:{}",personnelMail); + log.error("createTime:{}",createTime); + log.error("questionnaireInfoList:{}",questionnaireInfoList.size()); + + for(int n=0;n -1){ - bodyJson.put("requirementStatus",requirementStatus); - } + String token = token2BeiSenUtil.getToken(); + if(StringUtils.isNotBlank(token)){ - /*** - * 需求类型 - * 1 新增 - * 2 顶替 - * 3 储备 - */ - if(requirementType > -1){ - bodyJson.put("requirementType",requirementType); - } - - - bodyJson.put("name",requestname); - - if(beisenCreateBy > -1){ - bodyJson.put("createBy",beisenCreateBy); - } - - if(!createDate.contains("T")){ - createDate = createDate+"T00:00:00"; - } - bodyJson.put("createDate",createDate); - - if(!arivalTime.contains("T")){ - arivalTime = arivalTime+"T00:00:00"; - } - bodyJson.put("arivalTime",arivalTime); - - bodyJson.put("dutyUserEmail",dutyUserEmail); - bodyJson.put("createByEmail",createByEmail); - - if(beisenDepartmentId > -1){ - bodyJson.put("departmentId",beisenDepartmentId); - }else{ - if(StringUtils.isNotBlank(originalCode)){ - bodyJson.put("orgCode",originalCode); + JSONObject bodyJson = new JSONObject(); + /*** + * 需求状态 + * 10 草稿 + * 20 审批中 + * 30 审批未通过 + * 40 进行中 + * 50 已关闭 + * 60 已完成 + * 70 已暂停 + * 80 审批已终止 + * + */ + if(requirementStatus > -1){ + bodyJson.put("requirementStatus",requirementStatus); } - } - /** - * 需求人数 - */ - if(requirementCount > -1){ - bodyJson.put("requirementCount",requirementCount); - } + /*** + * 需求类型 + * 1 新增 + * 2 顶替 + * 3 储备 + */ + if(requirementType > -1){ + bodyJson.put("requirementType",requirementType); + } + + + bodyJson.put("name",xqmc); + log.error("beisenCreateBy:{}",beisenCreateBy); + if(beisenCreateBy > -1){ + bodyJson.put("createBy",beisenCreateBy); + } + + if(!createDate.contains("T")){ + createDate = createDate+"T00:00:00"; + } + bodyJson.put("createDate",createDate); + + if(!arivalTime.contains("T")){ + arivalTime = arivalTime+"T00:00:00"; + } + bodyJson.put("arivalTime",arivalTime); + + bodyJson.put("dutyUserEmail",dutyUserEmail); + bodyJson.put("createByEmail",createByEmail); + + if(beisenDepartmentId > -1){ + bodyJson.put("departmentId",beisenDepartmentId); + }else{ + if(StringUtils.isNotBlank(originalCode)){ + bodyJson.put("orgCode",originalCode); + } + } + + /** + * 需求人数 + */ + if(requirementCount > -1){ + bodyJson.put("requirementCount",requirementCount); + } // if(salaryType >-1){ // bodyJson.put("salaryType",salaryType); // } +// bodyJson.put("PositionIdCoreHR","d948d6ce-70cc-4265-975c-fea732759676"); - /*** - * 招聘类别 - * 1 社会招聘 - * 2 校园招聘 - * 3 实习生招聘 - */ + /*** + * 招聘类别 + * 1 社会招聘 + * 2 校园招聘 + * 3 实习生招聘 + */ - if(category > -1){ - bodyJson.put("category",category); + if(category > -1){ + bodyJson.put("category",category); + } + + + /*** + * 学历要求 + * 9 小学 + * 8 初中 + * 3 高中 + * 4 中技(中专/技校/职高) + * 5 大专 + * 1 本科 + * 2 硕士研究生 + * 6 MBA + * 7 博士研究生 + * 10 大专及以上 + * 11 本科及以上 + * 12 不限 + */ + bodyJson.put("educationInfo",educationInfo); + /*** + * 工作经验 + * 在读学生 + * 应届毕业生 + * 99 在读学生 + * 98 应届毕业生 + * 1 1年 + * 2 2年 + * 3 3年 + * 4 4年 + * 5 5年 + * 6 6年 + * 7 7年 + * 8 8年 + * 9 9年 + * 10 10年及以上 + */ + bodyJson.put("workExperience",workExperience); + + /*** + * 工作性质 + * 1 全职 + * 2 兼职 + * 3 实习 + * 4 其他 + */ + + if(kind > -1){ + bodyJson.put("kind",kind); + } + if(StringUtils.isNotBlank(nlyq)){ + JSONObject customProperties = new JSONObject(); + customProperties.put(Constants.nyyqzdm,nlyq); + customProperties.put(Constants.zwzd,zwmc); + bodyJson.put("customProperties",customProperties); + } + log.error("beisenDutyUserId:{}",beisenDutyUserId); + if(beisenDutyUserId>-1){ + bodyJson.put("dutyUser",beisenDutyUserId); + } + + if(StringUtils.isNotBlank(gzzz)){ + bodyJson.put("jobDescription",gzzz); + } + + if(StringUtils.isNotBlank(rzzg)){ + bodyJson.put("qualification",rzzg); + } + + + + bodyJson.put("isSecrecy",isSecrecy); + log.error("bodyJson:{}",bodyJson.toJSONString()); + data = doHttpPost(token,bodyJson.toJSONString()); } + return data; + } - - /*** - * 学历要求 - * 9 小学 - * 8 初中 - * 3 高中 - * 4 中技(中专/技校/职高) - * 5 大专 - * 1 本科 - * 2 硕士研究生 - * 6 MBA - * 7 博士研究生 - * 10 大专及以上 - * 11 本科及以上 - * 12 不限 - */ - bodyJson.put("educationInfo",educationInfo); - /*** - * 工作经验 - * 在读学生 - * 应届毕业生 - * 99 在读学生 - * 98 应届毕业生 - * 1 1年 - * 2 2年 - * 3 3年 - * 4 4年 - * 5 5年 - * 6 6年 - * 7 7年 - * 8 8年 - * 9 9年 - * 10 10年及以上 - */ - bodyJson.put("workExperience",workExperience); - - /*** - * 工作性质 - * 1 全职 - * 2 兼职 - * 3 实习 - * 4 其他 - */ - - if(kind > -1){ - bodyJson.put("kind",kind); - } - - bodyJson.put("isSecrecy",isSecrecy); - - log.error("bodyJson:{}",bodyJson.toJSONString()); - - RequestBody body = RequestBody.create(mediaType, bodyJson.toJSONString()); - -// RequestBody body = RequestBody.create(mediaType, "{\n \"requirementStatus\":50,\n \"requirementType\":3,\n \"name\":\"测试招聘需求接口\",\n \"departmentId\":2335561,\n \"createBy\":402189433,\n \"createDate\":\"2025-07-01T10:05:45\",\n \"arivalTime\":\"2025-08-01T10:00:00\",\n \"dutyUserEmail\":\"yemintest@chabaidao.com\",\n \"createByEmail\":\"yemintest@chabaidao.com\"\n}"); - + public String doHttpPost(String token,String bodyJson){ + String data = ""; + OkHttpClient client = new OkHttpClient().newBuilder() + .build(); + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, bodyJson); try { Request request = new Request.Builder() .url(Constants.beishenHost+Constants.jobRequirementUrl) @@ -198,11 +230,9 @@ public class JobRequirement2BeisenUtil { } } } - }else{ - log.error("bodyData:"+bodyData); } } catch (IOException e) { - throw new RuntimeException(e); + log.error("e:{}",e); } return data; } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/Request2CostControlController.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/Request2CostControlController.java index fda9e0b..2a65e92 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/Request2CostControlController.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/Request2CostControlController.java @@ -88,7 +88,7 @@ public class Request2CostControlController { if(StringUtils.isNotBlank(staffcode)){ String workflowId = String.valueOf(params.get("workflowId")); if(StringUtils.isNotBlank(workflowId)){ - Long workflowid = Long.parseLong(workflowId); + Long workflowid = Long.valueOf(workflowId); Long employeeId = convertStaffCodeService.convEmployeeIdByCode(staffcode); if(employeeId > 0){ dataMap = request2CostControlService.queryRequestByWorkflowType(params,workflowid,page_no,pageSize,employeeId); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/RequestInfoController.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/RequestInfoController.java index b224863..b0b90b2 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/RequestInfoController.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/controller/RequestInfoController.java @@ -89,7 +89,7 @@ public class RequestInfoController { if(StringUtils.isNotBlank(staffcode)){ String workflowId = String.valueOf(params.get("workflowId")); if(StringUtils.isNotBlank(workflowId)){ - Long workflowid = Long.parseLong(workflowId); + Long workflowid = Long.valueOf(workflowId); Long employeeId = convertStaffCodeService.convEmployeeIdByCode(staffcode); if(employeeId > 0){ dataMap = request2CostControlService.queryRequestByWorkflowType(params,workflowid,page_no,pageSize,employeeId); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/dao/ConvertStaffCodeDao.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/dao/ConvertStaffCodeDao.java index 89278f4..faba74c 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/dao/ConvertStaffCodeDao.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/cost/dao/ConvertStaffCodeDao.java @@ -84,7 +84,7 @@ public class ConvertStaffCodeDao { List> recordList = databaseUtils.getDataSourceList(result); log.error("recordList:"+recordList.size()); if(!recordList.isEmpty()){ - employeeId = Long.parseLong(String.valueOf(recordList.get(0).get("id"))); + employeeId = Long.valueOf(String.valueOf(recordList.get(0).get("id"))); } } }catch (Exception e){ diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/constant/Constants.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/constant/Constants.java index 9fd487e..cff805b 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/constant/Constants.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/constant/Constants.java @@ -61,6 +61,11 @@ public class Constants { public static String partyAaccountType = "1"; + public static String externalpersonUrl = "/V1/accounts/outerAccounts/simpleCreate"; + + + public static String signFlowsUrl = "/V1/signFlows/create"; + } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4OrganizeAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4OrganizeAction.java new file mode 100644 index 0000000..ec3497f --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4OrganizeAction.java @@ -0,0 +1,85 @@ +package com.weaver.seconddev.chapanda.esign.esb; + +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.esign.util.Esb2EsignApplyRequest4OrgainzeUtil; +import com.weaver.seconddev.chapanda.esign.util.Esb2EsignPreviewUrlUtil; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +@Service("Esb2EsignCreateRequest4OrganizeAction") +public class Esb2EsignCreateRequest4OrganizeAction implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2EsignCreateRequest4OrganizeAction.class); + @Autowired + Esb2EsignApplyRequest4OrgainzeUtil esb2EsignApplyRequest4OrgainzeUtil; + + @Autowired + private Esb2EsignPreviewUrlUtil esb2EsignPreviewUrlUtil; + + @Override + public WeaResult> execute(Map params) { + + String requestid = String.valueOf(params.get("requestid")); + String requestname = String.valueOf(params.get("requestname")); + String sealId = String.valueOf(params.get("sealId")); + String docFilekey = String.valueOf(params.get("docFilekey")); + String docName = String.valueOf(params.get("docName")); + String creditCode = String.valueOf(params.get("creditCode")); + String qsrJobNum = String.valueOf(params.get("qsrJobNum")); + + log.error("requestid:{}",requestid); + log.error("requestname:{}",requestname); + log.error("sealId:{}",sealId); + log.error("docFilekey:{}",docFilekey); + log.error("docName:{}",docName); + log.error("creditCode:{}",creditCode); + log.error("qsrJobNum:{}",qsrJobNum); + + String signFlowId = ""; + String signUrls = ""; + String accountIds = ""; + String uniqueIds = ""; + String fileKeys = ""; + String templateId = String.valueOf(params.get("templateId")); + if(StringUtils.isNotBlank(templateId)){ + JSONObject dataJson = esb2EsignApplyRequest4OrgainzeUtil.applyRequest(requestid,requestname,templateId,sealId,docFilekey,docName,creditCode,qsrJobNum); + signFlowId = dataJson.getString("signFlowId"); + signUrls = dataJson.getString("signUrls"); + accountIds = dataJson.getString("accountIds"); + uniqueIds = dataJson.getString("uniqueIds"); + fileKeys = dataJson.getString("fileKeys"); + + log.error("signFlowId:{}",signFlowId); + log.error("signUrls:{}",signUrls); + log.error("accountIds:{}",accountIds); + log.error("uniqueIds:{}",uniqueIds); + log.error("fileKeys:{}",fileKeys); + } + + if(StringUtils.isBlank(fileKeys)){ + return WeaResult.fail(500,"用印申请失败"); + } + + String preViewUrl = ""; + if(StringUtils.isNotBlank(fileKeys)){ + preViewUrl = esb2EsignPreviewUrlUtil.queryPreviewUrl(fileKeys); + } + log.error("preViewUrl:{}",preViewUrl); + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("signFlowId",signFlowId); + actionMap.put("accountIds",accountIds); + actionMap.put("signUrls",signUrls); + actionMap.put("uniqueIds",uniqueIds); + actionMap.put("fileKeys",fileKeys); + return WeaResult.success(actionMap); + } +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4PartiesAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4PartiesAction.java new file mode 100644 index 0000000..b9a01ad --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequest4PartiesAction.java @@ -0,0 +1,78 @@ +package com.weaver.seconddev.chapanda.esign.esb; + +import com.alibaba.fastjson.JSONObject; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.seconddev.chapanda.esign.util.Esb2EsignApplyRequestUtil; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.Map; + +@Service("Esb2EsignCreateRequest4PartiesAction") +public class Esb2EsignCreateRequest4PartiesAction implements EsbServerlessRpcRemoteInterface { + private final static Logger log = LoggerFactory.getLogger(Esb2EsignCreateRequest4PartiesAction.class); + + @Autowired + Esb2EsignApplyRequestUtil esb2EsignApplyRequestUtil; + + @Override + public WeaResult> execute(Map params) { + + String requestid = String.valueOf(params.get("requestid")); + String requestname = String.valueOf(params.get("requestname")); + String sealId = String.valueOf(params.get("sealId")); + String docFilekey = String.valueOf(params.get("docFilekey")); + String docName = String.valueOf(params.get("docName")); + String creditCode = String.valueOf(params.get("creditCode")); + + String employeeMobile = String.valueOf(params.get("employeeMobile")); + String qsrJobNum = String.valueOf(params.get("qsrJobNum")); + + log.error("requestid:{}",requestid); + log.error("requestname:{}",requestname); + log.error("sealId:{}",sealId); + log.error("docFilekey:{}",docFilekey); + log.error("docName:{}",docName); + log.error("creditCode:{}",creditCode); + log.error("employeeMobile:{}",employeeMobile); + log.error("qsrJobNum:{}",qsrJobNum); + + String signFlowId = ""; + String signUrls = ""; + String accountIds = ""; + String uniqueIds = ""; + String fileKeys = ""; + String templateId = String.valueOf(params.get("templateId")); + if(StringUtils.isNotBlank(templateId)){ + JSONObject dataJson = esb2EsignApplyRequestUtil.applyRequest(requestid,requestname,employeeMobile,templateId,sealId,docFilekey,docName,creditCode,qsrJobNum); + signFlowId = dataJson.getString("signFlowId"); + signUrls = dataJson.getString("signUrls"); + accountIds = dataJson.getString("accountIds"); + uniqueIds = dataJson.getString("uniqueIds"); + fileKeys = dataJson.getString("fileKeys"); + + log.error("signFlowId:{}",signFlowId); + log.error("signUrls:{}",signUrls); + log.error("accountIds:{}",accountIds); + log.error("uniqueIds:{}",uniqueIds); + log.error("fileKeys:{}",fileKeys); + } + + if(StringUtils.isBlank(fileKeys)){ + return WeaResult.fail(500,"用印申请失败"); + } + + Map actionMap = new HashMap(); + actionMap.put("code",200); + actionMap.put("signFlowId",signFlowId); + actionMap.put("accountIds",accountIds); + actionMap.put("signUrls",signUrls); + actionMap.put("uniqueIds",uniqueIds); + actionMap.put(" ",fileKeys); + return WeaResult.success(actionMap); + } +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequestAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequestAction.java index 2c61b42..261be97 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequestAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateRequestAction.java @@ -4,12 +4,12 @@ import com.alibaba.fastjson.JSONObject; import com.weaver.common.base.entity.result.WeaResult; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; import com.weaver.seconddev.chapanda.esign.util.Esb2EsignApplyRequestUtil; -import com.weaver.seconddev.chapanda.esign.util.Esb2EsignUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + import java.util.HashMap; import java.util.Map; @@ -33,6 +33,15 @@ public class Esb2EsignCreateRequestAction implements EsbServerlessRpcRemoteInter String employeeMobile = String.valueOf(params.get("employeeMobile")); String qsrJobNum = String.valueOf(params.get("qsrJobNum")); + log.error("requestid:{}",requestid); + log.error("requestname:{}",requestname); + log.error("sealId:{}",sealId); + log.error("docFilekey:{}",docFilekey); + log.error("docName:{}",docName); + log.error("creditCode:{}",creditCode); + log.error("employeeMobile:{}",employeeMobile); + log.error("qsrJobNum:{}",qsrJobNum); + String signFlowId = ""; String signUrls = ""; String accountIds = ""; @@ -46,6 +55,12 @@ public class Esb2EsignCreateRequestAction implements EsbServerlessRpcRemoteInter accountIds = dataJson.getString("accountIds"); uniqueIds = dataJson.getString("uniqueIds"); fileKeys = dataJson.getString("fileKeys"); + + log.error("signFlowId:{}",signFlowId); + log.error("signUrls:{}",signUrls); + log.error("accountIds:{}",accountIds); + log.error("uniqueIds:{}",uniqueIds); + log.error("fileKeys:{}",fileKeys); } if(StringUtils.isBlank(fileKeys)){ @@ -58,7 +73,7 @@ public class Esb2EsignCreateRequestAction implements EsbServerlessRpcRemoteInter actionMap.put("accountIds",accountIds); actionMap.put("signUrls",signUrls); actionMap.put("uniqueIds",uniqueIds); - actionMap.put("fileKeys",fileKeys); + actionMap.put(" ",fileKeys); return WeaResult.success(actionMap); } } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateUserAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateUserAction.java index d7f270f..cfc0912 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateUserAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignCreateUserAction.java @@ -32,13 +32,11 @@ public class Esb2EsignCreateUserAction implements EsbServerlessRpcRemoteInterfac } String esignAccountId = ""; - String usermobile = ""; String uniqueId = ""; if(StringUtils.isNotBlank(mobile) && StringUtils.isNotBlank(name)){ Map dataMap = esb2EsignCreateUserUtil.createUser(name,mobile); esignAccountId = String.valueOf(dataMap.get("esignAccountId")); - usermobile = String.valueOf(dataMap.get("mobile")); - uniqueId = String.valueOf(dataMap.get("mobile")); + uniqueId = String.valueOf(dataMap.get("uniqueId")); } if(StringUtils.isBlank(esignAccountId)){ @@ -48,7 +46,7 @@ public class Esb2EsignCreateUserAction implements EsbServerlessRpcRemoteInterfac Map actionMap = new HashMap(); actionMap.put("code",200); actionMap.put("esignAccountId",esignAccountId); - actionMap.put("mobile",usermobile); + actionMap.put("mobile",mobile); actionMap.put("uniqueId",uniqueId); return WeaResult.success(actionMap); } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignQueryPreviewUrlAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignQueryPreviewUrlAction.java index a2b51e1..f0315e9 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignQueryPreviewUrlAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignQueryPreviewUrlAction.java @@ -1,16 +1,13 @@ package com.weaver.seconddev.chapanda.esign.esb; -import com.alibaba.fastjson.JSONObject; import com.weaver.common.base.entity.result.WeaResult; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; import com.weaver.seconddev.chapanda.esign.service.SealTemplateService; -import com.weaver.seconddev.chapanda.esign.util.Esb2EsignUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -19,8 +16,6 @@ import java.util.Map; public class Esb2EsignQueryPreviewUrlAction implements EsbServerlessRpcRemoteInterface { private final static Logger log = LoggerFactory.getLogger(Esb2EsignQueryPreviewUrlAction.class); - @Autowired - Esb2EsignUtil esb2EsignUtil; @Autowired SealTemplateService sealTemplateService; @@ -37,12 +32,18 @@ public class Esb2EsignQueryPreviewUrlAction implements EsbServerlessRpcRemoteInt Map dataMap = new HashMap(); String templateId = String.valueOf(params.get("templateId")); + String form_data_id = String.valueOf(params.get("form_data_id")); if(StringUtils.isNotBlank(templateId)){ dataMap = sealTemplateService.queryPreviewUrl(templateId,params); } + String fileKey = String.valueOf(dataMap.get("filekey")); + String preViewUrl = String.valueOf(dataMap.get("previewurl")); + Map actionMap = new HashMap(); actionMap.put("code",200); - actionMap.put("data",dataMap); + actionMap.put("filekey",fileKey); + actionMap.put("previewurl",preViewUrl); + actionMap.put("form_data_id",form_data_id); return WeaResult.success(actionMap); } } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignSyncTemplateCron.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignSyncTemplateCron.java index 34d9f05..9fdb07f 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignSyncTemplateCron.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/esb/Esb2EsignSyncTemplateCron.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.Map; /** - * 同步电子印章模板数据 + * 同步电子印章模板数据, 含有明细表字段 */ @Service("Esb2EsignSyncTemplateCron") public class Esb2EsignSyncTemplateCron implements EsbServerlessRpcRemoteInterface { diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/service/impl/SealTemplateServiceImpl.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/service/impl/SealTemplateServiceImpl.java index 43eb1dc..e883a7a 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/service/impl/SealTemplateServiceImpl.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/service/impl/SealTemplateServiceImpl.java @@ -51,8 +51,12 @@ public class SealTemplateServiceImpl implements SealTemplateService { Map dataMap = new HashMap(); List> templateFieldList = sealTemplateDao.queryTemplateFieldByTemplateId(templateId); log.error("templateFieldList:{}",templateFieldList.size()); - - SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(1151285259738521602L); + String employee_id = String.valueOf(paraMap.get("employee_id")); + Long employeeId = 0L; + if(StringUtils.isNotBlank(employee_id)){ + employeeId = Long.valueOf(employee_id); + } + SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId); log.error("simpleEmployee:{}",simpleEmployee.getUsername()); JSONObject bodyJson = new JSONObject(); String fileKey = ""; @@ -70,10 +74,13 @@ public class SealTemplateServiceImpl implements SealTemplateService { log.error("zdz:{}",zdz); JSONObject formJson = converFieldValue(paraMap,simpleEmployee,zdlx,zdz,zdm); + formArray.add(formJson); } + + bodyJson.put("templateFormValues",formArray); bodyJson.put("templateId",templateId); log.error("bodyJson:{}",bodyJson.toJSONString()); @@ -91,7 +98,7 @@ public class SealTemplateServiceImpl implements SealTemplateService { } dataMap.put("bodyData",bodyJson.toJSONString()); - dataMap.put("fileKey",fileKey); + dataMap.put("filekey",fileKey); dataMap.put("previewurl",preViewUrl); return dataMap; diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignApplyRequest4OrgainzeUtil.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignApplyRequest4OrgainzeUtil.java new file mode 100644 index 0000000..e0d3ff0 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignApplyRequest4OrgainzeUtil.java @@ -0,0 +1,190 @@ +package com.weaver.seconddev.chapanda.esign.util; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weaver.seconddev.chapanda.esign.constant.Constants; +import okhttp3.*; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; + +@Component +public class Esb2EsignApplyRequest4OrgainzeUtil { + private final static Logger log = LoggerFactory.getLogger(Esb2EsignApplyRequest4OrgainzeUtil.class); + @Autowired + Esb2EsignTemplateSealPostionUtil esb2EsignTemplateSealPostionUtil; + public JSONObject applyRequest(String requestid,String requestname,String templateId,String sealId,String docFilekey,String docName,String creditCode,String qsrJobNum){ + + JSONArray signDocs = new JSONArray(); + JSONObject signDoc = new JSONObject(); + signDoc.put("docFilekey",docFilekey); + signDoc.put("docName",docName); + signDoc.put("docOrder",1); + signDocs.add(signDoc); + + JSONArray signers = appendSignersParty(templateId,sealId,docFilekey,creditCode,qsrJobNum); + log.error("signers:{}",signers.toJSONString()); + JSONObject bodyJson = new JSONObject(); + bodyJson.put("bizNo",requestid); + bodyJson.put("initiatorUniqueId","admin"); + bodyJson.put("qrDocSwitcher",Constants.qrDocSwitcher); + bodyJson.put("signDocs",signDocs); + bodyJson.put("signFileFormat",Constants.signFileFormat); + bodyJson.put("signers",signers); + bodyJson.put("subject",requestname); + + String xTimevaleSignature = encryptionHmacSHA256(bodyJson.toJSONString()); + log.error("xTimevaleSignature:"+xTimevaleSignature); + + JSONObject returnJson = new JSONObject(); + String msg = doHttpPost(xTimevaleSignature,bodyJson.toJSONString()); + if(StringUtils.isNotBlank(msg)){ + returnJson = convertData(msg); + } + return returnJson; + } + + + /** + * + * @param xTimevaleSignature + * @param bodyData + * @return + */ + public String doHttpPost(String xTimevaleSignature,String bodyData){ + log.error("bodyData:{}",bodyData); + String msg = ""; + OkHttpClient client = new OkHttpClient().newBuilder() + .build(); + MediaType mediaType = MediaType.parse("application/json"); + RequestBody body = RequestBody.create(mediaType, bodyData); + try { + Request request = new Request.Builder() + .url(Constants.eSignHost+Constants.signFlowsUrl) + .method("POST", body) + .addHeader("x-timevale-project-id", Constants.xTimevaleProjectId) + .addHeader("x-timevale-signature", xTimevaleSignature) + .addHeader("Content-Type", "application/json") + .build(); + Response response = client.newCall(request).execute(); + int code = response.code(); + log.error("code:"+code); + msg = response.body().string(); + log.error("msg:"+msg); + } catch (IOException e) { + log.error("e:"+e.getMessage()); + throw new RuntimeException(e); + } + return msg; + } + + /*** + * + * @param bodyData + * @return + */ + public String encryptionHmacSHA256(String bodyData){ + String encryptionData = ""; +// String secretKey = "7f067a08f5c675137e6e72aa298e2c07"; + // 要签名的数据 +// JSONObject dataObject = new JSONObject(); +// dataObject.put("templateId","JMHT-ZXSJ"); +// String data = "{\"templateId\":\"JMHT-ZXSJ\"}" ; + try { + // 初始化Mac对象 + Mac sha256Hmac = Mac.getInstance("HmacSHA256"); + SecretKeySpec secretKeySpec = new SecretKeySpec(Constants.secretKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); + sha256Hmac.init(secretKeySpec); + byte[] result = sha256Hmac.doFinal(bodyData.getBytes(StandardCharsets.UTF_8)); + encryptionData = Hex.encodeHexString(result); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + }catch (InvalidKeyException e) { + throw new RuntimeException(e); + } + return encryptionData; + } + + + public JSONArray appendSignersParty(String templateId,String sealId,String docFilekey,String creditCode,String qsrJobNum){ + JSONArray signers = new JSONArray(); + JSONObject detailJson = esb2EsignTemplateSealPostionUtil.getTemplateFormData4Orgainze(templateId,sealId,docFilekey); + log.error("detailJson:{}",detailJson.toJSONString()); + + JSONObject partyAJson = new JSONObject(); + partyAJson.put("authorizationOrganizeNo",creditCode); + partyAJson.put("uniqueId",qsrJobNum); + partyAJson.put("accountType",Constants.partyAaccountType); + partyAJson.put("autoSign","true"); + partyAJson.put("signOrder","1"); + + if(detailJson.containsKey("partyA")){ + JSONArray partyA = detailJson.getJSONArray("partyA"); + partyAJson.put("signDocDetails",partyA); + } + + log.error("partyAJson:{}",partyAJson.toJSONString()); + signers.add(partyAJson); + return signers; + } + + + public JSONObject convertData(String msg){ + JSONObject dataObject = new JSONObject(); + + JSONObject bodyJson = JSONObject.parseObject(msg); + if(bodyJson.containsKey("errCode")){ + String errCode = bodyJson.getString("errCode"); + if("0".equals(errCode)){ + JSONObject dataJson = bodyJson.getJSONObject("data"); + if(dataJson.containsKey("signFlowId")){ + String signFlowId = dataJson.getString("signFlowId"); + dataObject.put("signFlowId",signFlowId); + + String signUrls = ""; + String uniqueIds = ""; + String accountIds = ""; + + if(dataJson.containsKey("signUrls")){ + String signUrlsStr = dataJson.getString("signUrls"); + if(!"[]".equals(signUrlsStr)){ + JSONArray signUrlsArray = dataJson.getJSONArray("signUrls"); + for(int i=0;i createUser(String name,String mobile){ Map dataMap = new HashMap(); @@ -31,7 +30,6 @@ public class Esb2EsignCreateUserUtil { bodyJson.put("contactsMobile",mobile); bodyJson.put("name",name); bodyJson.put("loginMobile",mobile); - bodyJson.put("uniqueId",mobile); String xTimevaleSignature = encryptionHmacSHA256(bodyJson.toJSONString()); log.error("xTimevaleSignature:"+xTimevaleSignature); @@ -58,7 +56,7 @@ public class Esb2EsignCreateUserUtil { RequestBody body = RequestBody.create(mediaType, bodyData); try { Request request = new Request.Builder() - .url(Constants.eSignHost+Constants.previewUrl) + .url(Constants.eSignHost+Constants.externalpersonUrl) .method("POST", body) .addHeader("x-timevale-project-id", Constants.xTimevaleProjectId) .addHeader("x-timevale-signature", xTimevaleSignature) @@ -104,31 +102,31 @@ public class Esb2EsignCreateUserUtil { } - public JSONArray appendSignersParty(String employeeMobile,String templateId,String sealId,String docFilekey,String creditCode,String qsrJobNum){ - JSONArray signers = new JSONArray(); - JSONObject detailJson = esb2EsignTemplateSealPostionUtil.getTemplateFormData(templateId,sealId,docFilekey); - JSONObject partyA = detailJson.getJSONObject("partyA"); - JSONObject partyB = detailJson.getJSONObject("partyB"); - JSONObject partyBJson = new JSONObject(); - partyBJson.put("authorizationOrganizeNo",""); - partyBJson.put("uniqueId",employeeMobile); - partyBJson.put("accountType",Constants.partyBaccountType); - partyBJson.put("autoSign",Constants.autoSign); - partyBJson.put("signDocDetails",partyB); - partyBJson.put("signOrder","1"); - - JSONObject partyAJson = new JSONObject(); - partyAJson.put("authorizationOrganizeNo",creditCode); - partyAJson.put("uniqueId",qsrJobNum); - partyAJson.put("accountType",Constants.partyAaccountType); - partyAJson.put("autoSign",Constants.autoSign); - partyAJson.put("signDocDetails",partyA); - partyAJson.put("signOrder","2"); - - signers.add(partyBJson); - signers.add(partyAJson); - return signers; - } +// public JSONArray appendSignersParty(String employeeMobile,String templateId,String sealId,String docFilekey,String creditCode,String qsrJobNum){ +// JSONArray signers = new JSONArray(); +// JSONObject detailJson = esb2EsignTemplateSealPostionUtil.getTemplateFormData(templateId,sealId,docFilekey); +// JSONObject partyA = detailJson.getJSONObject("partyA"); +// JSONObject partyB = detailJson.getJSONObject("partyB"); +// JSONObject partyBJson = new JSONObject(); +// partyBJson.put("authorizationOrganizeNo",""); +// partyBJson.put("uniqueId",employeeMobile); +// partyBJson.put("accountType",Constants.partyBaccountType); +// partyBJson.put("autoSign",Constants.autoSign); +// partyBJson.put("signDocDetails",partyB); +// partyBJson.put("signOrder","1"); +// +// JSONObject partyAJson = new JSONObject(); +// partyAJson.put("authorizationOrganizeNo",creditCode); +// partyAJson.put("uniqueId",qsrJobNum); +// partyAJson.put("accountType",Constants.partyAaccountType); +// partyAJson.put("autoSign",Constants.autoSign); +// partyAJson.put("signDocDetails",partyA); +// partyAJson.put("signOrder","2"); +// +// signers.add(partyBJson); +// signers.add(partyAJson); +// return signers; +// } public Map convertData(String msg){ @@ -137,16 +135,20 @@ public class Esb2EsignCreateUserUtil { JSONObject bodyJson = JSONObject.parseObject(msg); if(bodyJson.containsKey("errCode")){ String errCode = bodyJson.getString("errCode"); + log.error("errCode:{}",errCode); if("0".equals(errCode)){ JSONObject dataJson = bodyJson.getJSONObject("data"); - if(dataJson.containsKey("signFlowId")){ - String accountId = dataJson.getString("accountId"); - String esignAccountId = dataJson.getString("esignAccountId"); - String uniqueId = dataJson.getString("uniqueId"); - dataMap.put("accountId",accountId); - dataMap.put("esignAccountId",esignAccountId); - dataMap.put("uniqueId",uniqueId); - } + String accountId = dataJson.getString("accountId"); + String esignAccountId = dataJson.getString("esignAccountId"); + String uniqueId = dataJson.getString("uniqueId"); + + log.error("accountId:{}",accountId); + log.error("esignAccountId:{}",esignAccountId); + log.error("uniqueId:{}",errCode); + + dataMap.put("accountId",accountId); + dataMap.put("esignAccountId",esignAccountId); + dataMap.put("uniqueId",uniqueId); } } return dataMap; diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignTemplateSealPostionUtil.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignTemplateSealPostionUtil.java index 507cf89..2c8e483 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignTemplateSealPostionUtil.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/esign/util/Esb2EsignTemplateSealPostionUtil.java @@ -68,24 +68,33 @@ public class Esb2EsignTemplateSealPostionUtil { String pageNo = positionsJson.getString("pageNo"); JSONArray signDateInfos = new JSONArray(); - JSONArray templateSignTimeInfosArray = positionsJson.getJSONArray("templateSignTimeInfos"); - for(int n=0;n 0){ + signPo.put("signDateInfos",signDateInfos); + } signPo.put("signIdentity","PERSON"); signPo.put("sealType","0"); - signPo.put("pageNo",pageNo); + signPo.put("signType",2); signPos.add(signPo); } @@ -221,4 +238,106 @@ public class Esb2EsignTemplateSealPostionUtil { + public JSONObject getTemplateFormData4Orgainze(String templateId,String sealId,String docFilekey){ + + JSONObject detailJson = new JSONObject(); + + JSONObject partyA = new JSONObject(); + + JSONObject bodyJson = new JSONObject(); + bodyJson.put("templateId", templateId); + + String xTimevaleSignature = encryptionHmacSHA256(bodyJson.toJSONString()); + log.error("xTimevaleSignature:"+xTimevaleSignature); + String msg = doPostHttp(xTimevaleSignature,bodyJson.toJSONString()); + log.error("msg:"+msg); + if(StringUtils.isNotBlank(msg)){ + JSONObject msgJson = JSONObject.parseObject(msg); + if(msgJson.containsKey("errCode")){ + String errCode = msgJson.getString("errCode"); + if("0".equals(errCode)){ + if(msgJson.containsKey("data")){ + JSONObject dataJson = msgJson.getJSONObject("data"); + if(dataJson.containsKey("template")){ + JSONObject templateJson = dataJson.getJSONObject("template"); + if(templateJson.containsKey("templateFlows")){ + JSONArray templateFlows = templateJson.getJSONArray("templateFlows"); + log.error("templateFlows:{}",templateFlows); + for(int i=0;i0){ + signPo.put("signDateInfos",signDateInfos); + } + + signPo.put("sealId",sealId); + signPo.put("signIdentity","ORGANIZE"); + signPo.put("signType",1); + signPos.add(signPo); + } + + partyA.put("signPos",signPos); + log.error("docFilekey:{}",docFilekey); + partyA.put("docFilekey",docFilekey); + } + } + } + } + } + } + } + } + } + + JSONArray signDocPartyA = new JSONArray(); + signDocPartyA.add(partyA); + detailJson.put("partyA",signDocPartyA); + return detailJson; + } + + + } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/dao/WorkflowDegreeLevelDao.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/dao/WorkflowDegreeLevelDao.java index 929039f..65ff37f 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/dao/WorkflowDegreeLevelDao.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/dao/WorkflowDegreeLevelDao.java @@ -77,7 +77,7 @@ public class WorkflowDegreeLevelDao { List> recordList = databaseUtils.getDataSourceList(result); log.error("recordList:"+recordList.size()); if(!recordList.isEmpty()){ - employeeId = Long.parseLong(String.valueOf(recordList.get(0).get("id"))); + employeeId = Long.valueOf(String.valueOf(recordList.get(0).get("id"))); } } }catch (Exception e){ diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuBotCreateTodoAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuBotCreateTodoAction.java index f72c6ec..8243e5e 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuBotCreateTodoAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuBotCreateTodoAction.java @@ -47,14 +47,14 @@ public class Esb2FeishuBotCreateTodoAction implements EsbServerlessRpcRemoteInte if("0".equals(msgType)){ String senderMobile =""; if(StringUtils.isNotBlank(senderid)){ - Long sender_id = Long.parseLong(senderid); + Long sender_id = Long.valueOf(senderid); SimpleEmployee senderEmployee = hrmCommonUtil.getSimpleEmployee(sender_id); senderMobile = senderEmployee.getMobile(); } String creatorMobile = ""; if(StringUtils.isNotBlank(creatorid)){ - Long creator_id = Long.parseLong(creatorid); + Long creator_id = Long.valueOf(creatorid); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); creatorMobile = creatorEmployee.getMobile(); } @@ -74,7 +74,7 @@ public class Esb2FeishuBotCreateTodoAction implements EsbServerlessRpcRemoteInte String operator_open_id = ""; if(StringUtils.isNotBlank(operatorid)){ - Long userid = Long.parseLong(operatorid); + Long userid = Long.valueOf(operatorid); log.error("userid:{}",userid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); String userMobile = userEmployee.getMobile(); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java index 0668906..d55197a 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java @@ -71,7 +71,7 @@ public class Esb2FeishuCalendarsEventsAction implements EsbServerlessRpcRemoteIn String mobile = ""; if(StringUtils.isNotBlank(employee_id)){ - Long employeeId = Long.parseLong(employee_id); + Long employeeId = Long.valueOf(employee_id); SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId); mobile = simpleEmployee.getMobile(); } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java index a898bbd..c066e43 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java @@ -47,7 +47,7 @@ public class Esb2FeishuCreateCalendarsTimeoffAction implements EsbServerlessRpcR String mobile = ""; if(StringUtils.isNotBlank(employee_id)){ - Long employeeId = Long.parseLong(employee_id); + Long employeeId = Long.valueOf(employee_id); SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId); mobile = simpleEmployee.getMobile(); } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDeleteAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDeleteAction.java index 2a77481..c341093 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDeleteAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDeleteAction.java @@ -84,7 +84,7 @@ public class Esb2FeishuSendDeleteAction implements EsbServerlessRpcRemoteInterfa String creatorname = ""; String creatorMobile = ""; if(StringUtils.isNotBlank(creatorid)){ - Long creator_id = Long.parseLong(creatorid); + Long creator_id = Long.valueOf(creatorid); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); creatorMobile = creatorEmployee.getMobile(); creatorname = creatorEmployee.getUsername(); @@ -100,7 +100,7 @@ public class Esb2FeishuSendDeleteAction implements EsbServerlessRpcRemoteInterfa String operator_open_id = "" ; if(StringUtils.isNotBlank(operatorid)){ - Long userid = Long.parseLong(operatorid); + Long userid = Long.valueOf(operatorid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); String userMobile = userEmployee.getMobile(); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDoneAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDoneAction.java index e5a09c6..779c47c 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDoneAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendDoneAction.java @@ -84,7 +84,7 @@ public class Esb2FeishuSendDoneAction implements EsbServerlessRpcRemoteInterface String status = "APPROVED"; String creatorMobile = ""; if(StringUtils.isNotBlank(creatorid)){ - Long creator_id = Long.parseLong(creatorid); + Long creator_id = Long.valueOf(creatorid); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); @@ -102,7 +102,7 @@ public class Esb2FeishuSendDoneAction implements EsbServerlessRpcRemoteInterface String operator_open_id = "" ; if(StringUtils.isNotBlank(operatorid)){ - Long userid = Long.parseLong(operatorid); + Long userid = Long.valueOf(operatorid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); String userMobile = userEmployee.getMobile(); log.error("操作者:{}",userEmployee.getUsername()); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendFinishAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendFinishAction.java index 4d680e7..6ac5f8a 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendFinishAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendFinishAction.java @@ -79,7 +79,7 @@ public class Esb2FeishuSendFinishAction implements EsbServerlessRpcRemoteInterfa if("5".equals(msgType)){ String creatorMobile = ""; if(StringUtils.isNotBlank(creatorid)){ - Long creator_id = Long.parseLong(creatorid); + Long creator_id = Long.valueOf(creatorid); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); creatorMobile = creatorEmployee.getMobile(); creatorname = creatorEmployee.getUsername(); @@ -95,7 +95,7 @@ public class Esb2FeishuSendFinishAction implements EsbServerlessRpcRemoteInterfa String operator_open_id = "" ; if(StringUtils.isNotBlank(operatorid)){ - Long userid = Long.parseLong(operatorid); + Long userid = Long.valueOf(operatorid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); String userMobile = userEmployee.getMobile(); log.error("userMobile:{}",userMobile); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendTodoAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendTodoAction.java index 017c874..73e87f6 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendTodoAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuSendTodoAction.java @@ -88,7 +88,7 @@ public class Esb2FeishuSendTodoAction implements EsbServerlessRpcRemoteInterface String creatorMobile = ""; if(StringUtils.isNotBlank(creatorid)){ - Long creator_id = Long.parseLong(creatorid); + Long creator_id = Long.valueOf(creatorid); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); creatorMobile = creatorEmployee.getMobile(); creatorname = creatorEmployee.getUsername(); @@ -103,7 +103,7 @@ public class Esb2FeishuSendTodoAction implements EsbServerlessRpcRemoteInterface String operator_open_id = "" ; if(StringUtils.isNotBlank(operatorid)){ - Long userid = Long.parseLong(operatorid); + Long userid = Long.valueOf(operatorid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); String userMobile = userEmployee.getMobile(); log.error("操作人:{}",userEmployee.getUsername()); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieCreateSealApplyAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieCreateSealApplyAction.java index 8cc5d9c..3fc6afa 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieCreateSealApplyAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieCreateSealApplyAction.java @@ -58,11 +58,11 @@ public class Esb2QunjieCreateSealApplyAction implements EsbServerlessRpcRemoteIn int applyCountInt = 0; if(StringUtils.isNotBlank(applyCount)){ - applyCountInt = Integer.parseInt(applyCount); + applyCountInt = Integer.valueOf(applyCount); } int applyCrossPageSealCountInt = 0; if(StringUtils.isNotBlank(applyCrossPageSealCount)){ - applyCrossPageSealCountInt = Integer.parseInt(applyCrossPageSealCount); + applyCrossPageSealCountInt = Integer.valueOf(applyCrossPageSealCount); } if(applyCountInt <=0 && applyCrossPageSealCountInt <=0){ return WeaResult.fail(500,"用印次数和骑缝章次数不能同时小等于0"); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieEconomicCompensationAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieEconomicCompensationAction.java index 8912c43..05b40e8 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieEconomicCompensationAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/esb/Esb2QunjieEconomicCompensationAction.java @@ -78,15 +78,19 @@ public class Esb2QunjieEconomicCompensationAction implements EsbServerlessRpcRem Map dataMap = esb2QunjieEconomicCompensationUtil.applySealRequest(requestid,requestName,fileids); + String status = String.valueOf(dataMap.get("status")); + if(!"0".equals(status)){ + String data = String.valueOf(dataMap.get("data")); + return WeaResult.fail(500,data); + } String applyId = String.valueOf(dataMap.get("applyId")); String workflowBaseId = String.valueOf(dataMap.get("workflowBaseId")); String formId = String.valueOf(dataMap.get("formId")); String applyNo = String.valueOf(dataMap.get("applyNo")); String safeCode = String.valueOf(dataMap.get("safeCode")); String vrCode = String.valueOf(dataMap.get("vrCode")); - String status = String.valueOf(dataMap.get("status")); - if(StringUtils.isBlank(safeCode)){ + if(StringUtils.isBlank(applyId)){ return WeaResult.fail(500,"用印申请流程创建失败"); } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/util/Esb2QunjieEconomicCompensationUtil.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/util/Esb2QunjieEconomicCompensationUtil.java index 3842fdd..ed32342 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/util/Esb2QunjieEconomicCompensationUtil.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/qunjie/util/Esb2QunjieEconomicCompensationUtil.java @@ -61,12 +61,12 @@ public class Esb2QunjieEconomicCompensationUtil { try { String[] fileidArray = fileids.split(","); for(int i=0;i 0) { byte[] fileByte = convertInputStreamToBytes(inputStream); @@ -242,7 +242,14 @@ public class Esb2QunjieEconomicCompensationUtil { messageMap.put("applyNo",applyNo); messageMap.put("safeCode",safeCode); messageMap.put("vrCode",vrCode); - messageMap.put("status",applyStatus); + messageMap.put("status",status); + messageMap.put("applyStatus",applyStatus); + }else{ + messageMap.put("status",status); + String data =returnData.getString("data") ; + log.error("data:{}",data); + messageMap.put("data",data); + messageMap.put("message",returnData.getString("message")); } } }