#chabaodao-4# e签宝发起流程

This commit is contained in:
shilei 2025-08-11 09:51:36 +08:00
parent bbab8c7666
commit 9816dbe468
47 changed files with 2937 additions and 351 deletions

View File

@ -31,5 +31,48 @@ public class Constants {
public static String assessmentFilterUrl = "/PerformanceCloudOpen/api/v5/Assessment/GetAssessmentsByFilters"; 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";
} }

View File

@ -132,64 +132,4 @@ public class FormFieldDao {
return fieldMap; return fieldMap;
} }
/***
*
* @return
*/
public Map<String, Object> queryDepartmentList(){
String groupId = "weaver-ebuilder-form-service";
String sourceType = "LOGIC";
Map<String, Object> dataMap = new HashMap<String, Object>();
try{
String dataSql =" select code,id from eteams.department and tenant_key=? and delete_type=0" ;
log.error("queryDepartmentList--dataSql:" + dataSql);
List<String> paramList = new ArrayList<>(100);
paramList.add(Constants.TENANT_KEY);
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
log.error("queryDepartmentList:"+recordList.size());
for(Map<String,Object> 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<String, Object> dataMap = new HashMap<String, Object>();
String dataId = "";
try{
String dataSql =" select id from "+formTable+" and tenant_key=? and delete_type=0 and "+dataKey+"=?" ;
log.error("dataSql:{}", dataSql);
List<String> paramList = new ArrayList<>(100);
paramList.add(Constants.TENANT_KEY);
paramList.add(code);
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
List<Map<String, Object>> 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;
}
} }

View File

@ -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<String> paramList = new ArrayList<>(100);
paramList.add(gh);
paramList.add(hdid);
paramList.add(wjid);
paramList.add(Constants.TENANT_KEY);
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
List<Map<String, Object>> 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<String> paramList = new ArrayList<>(100);
paramList.add(jobNum);
paramList.add(Constants.TENANT_KEY);
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
List<Map<String, Object>> 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;
}
}

View File

@ -256,4 +256,30 @@ public class HrmAssessmentDao {
return employeeMap; return employeeMap;
} }
public List<Map<String, Object>> queryEmployeeEmail(){
String groupId = "weaver-ebuilder-form-service";
String sourceType = "LOGIC";
List<Map<String, Object>> recordList = new ArrayList<Map<String, Object>>();
try{
String dataSql =" select id,email from eteams.employee \n" +
" where tenant_key=? \n" +
" and delete_type=0 " ;
List<String> paramList = new ArrayList<>(100);
paramList.add(Constants.TENANT_KEY);
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
Map<String, Object> 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;
}
} }

View File

@ -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<String> paramList = new ArrayList<>(100);
paramList.add(gwid);
paramList.add(Constants.TENANT_KEY);
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
List<Map<String, Object>> 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<String, Object> updateHrmPositionByBensen(String code,String objectId,String oIdOrganization){
String groupId = "weaver-ebuilder-form-service";
String sourceType = "LOGIC";
Map<String, Object> result = new HashMap<String, Object>();
try{
String dataSql =" update " +Constants.hrmPostionTable + " set oid=?,odeptid=? "+
" where code = ? " +
" and tenant_key = ? \n" +
" and delete_type=0" ;
log.error("dataSql:" + dataSql);
List<String> paramList = new ArrayList<>(100);
paramList.add(objectId);
paramList.add(oIdOrganization);
paramList.add(code);
paramList.add(Constants.TENANT_KEY);
List<SqlParamEntity> 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<String> paramList = new ArrayList<>(100);
paramList.add(gwid);
paramList.add(Constants.TENANT_KEY);
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
List<Map<String, Object>> 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;
}
}

View File

@ -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<Map<String, Object>> execute(Map<String, Object> params) {
String emails = String.valueOf(params.get("emails"));
log.error("emails:{}",emails);
esb2BeisenAssessUtil.queryAssessData(emails);
Map<String, Object> actionMap = new HashMap<String, Object>();
actionMap.put("code",200);
actionMap.put("msg","同步成功");
return WeaResult.success(actionMap);
}
}

View File

@ -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<Map<String, Object>> execute(Map<String, Object> params) {
List<String> ebList = new ArrayList<String>();
List<String> fieldList = new ArrayList<String>();
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<String, Object> fieldMap = formFieldDao.queryFromTableField(Constants.assessment360Table,fieldList);
log.error("fieldMap:{}",fieldMap.size());
List<EBDataReqDto> addDatas = new ArrayList<EBDataReqDto>();
for(int i=0;i<assessmentArray.size();i++){
JSONObject dataJson = assessmentArray.getJSONObject(i);
log.error("dataJson:{}",dataJson.toJSONString());
if(dataJson.containsKey("gh") && dataJson.containsKey("hdid") && dataJson.containsKey("wjid")){
String gh = dataJson.getString("gh");
String hdid = dataJson.getString("hdid");
String wjid = dataJson.getString("wjid");
log.error("gh:{}",gh);
log.error("hdid:{}",hdid);
log.error("wjid:{}",wjid);
String ryid = "";
if(StringUtils.isNotBlank(gh)){
ryid = hrmAssessment360Dao.queryEmployeeJobNumData(gh);
}
log.error("ryid:{}",ryid);
dataJson.put("ryid",ryid);
String ufId = hrmAssessment360Dao.getAssessment360Data(gh,hdid,wjid);
log.error("ufId:{}",ufId);
if(StringUtils.isBlank(ufId)){
log.error("新增");
EBDataReqDto ebDataReqDto = new EBDataReqDto();
List<EBDataReqDetailDto> mainData = new ArrayList<EBDataReqDetailDto>();
for(int n=0;n<fieldList.size();n++){
log.error("fieldid:{}",fieldList.get(n));
log.error("fieldid2:{}",dataJson.containsKey(fieldList.get(n)));
log.error("fieldid3:{}",fieldMap.containsKey(fieldList.get(n)));
if(dataJson.containsKey(fieldList.get(n)) && fieldMap.containsKey(fieldList.get(n))){
String value = dataJson.getString(fieldList.get(n));
String fieldId = fieldMap.get(fieldList.get(n)).toString();
log.error("fieldId:{}",fieldId);
log.error("value:{}",value);
mainData.add(new EBDataReqDetailDto(fieldId, value));
}
}
ebDataReqDto.setMainDatas(mainData);
addDatas.add(ebDataReqDto);
}
}
}
log.error("addDatas:{}",addDatas.size());
Map<String,Object> 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<String, Object> actionMap = new HashMap<String, Object>();
actionMap.put("code",200);
actionMap.put("msg","同步成功");
actionMap.put("ebList",ebList.size());
return WeaResult.success(actionMap);
}
}

View File

@ -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<Map<String, Object>> execute(Map<String, Object> params) {
JSONArray assessmentArray = new JSONArray();
esb2BeiSenAssessment360Util.queryAssessment360Data();
Map<String, Object> actionMap = new HashMap<String, Object>();
actionMap.put("code",200);
actionMap.put("msg","同步成功");
return WeaResult.success(actionMap);
}
}

View File

@ -3,10 +3,7 @@ package com.weaver.seconddev.chapanda.beisen.esb;
import com.weaver.common.base.entity.result.WeaResult; import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.common.hrm.util.HrmCommonUtil; import com.weaver.common.hrm.util.HrmCommonUtil;
import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface;
import com.weaver.seconddev.chapanda.beisen.entity.BeisenStaffDto; import com.weaver.seconddev.chapanda.beisen.util.*;
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.teams.domain.user.SimpleEmployee; import com.weaver.teams.domain.user.SimpleEmployee;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -29,8 +26,12 @@ public class Esb2BeisenCreateBlackListAction implements EsbServerlessRpcRemoteIn
@Autowired @Autowired
private HrmCommonUtil hrmCommonUtil; private HrmCommonUtil hrmCommonUtil;
// @Autowired
// BeisenStaffInfoByStaffCodeUtil beisenStaffInfoByStaffCodeUtil;
@Autowired @Autowired
BeisenStaffInfoByStaffCodeUtil beisenStaffInfoByStaffCodeUtil; BeisenQueryUseridUtil beisenQueryUseridUtil;
@Override @Override
public WeaResult<Map<String, Object>> execute(Map<String, Object> params) { public WeaResult<Map<String, Object>> execute(Map<String, Object> params) {
@ -41,7 +42,7 @@ public class Esb2BeisenCreateBlackListAction implements EsbServerlessRpcRemoteIn
String userIdStr = String.valueOf(params.get("userid")); String userIdStr = String.valueOf(params.get("userid"));
log.error("userIdStr:{}",userIdStr); log.error("userIdStr:{}",userIdStr);
if(StringUtils.isNotBlank(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); log.error("staffemail:{}",staffemail);
int beisenUserId = -1; int beisenUserId = -1;
String jobNum = ""; String jobNum = "";
if(userId >0){ if(userId.longValue() >0){
SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(userId); SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(userId);
jobNum = simpleEmployee.getJobNum(); jobNum = simpleEmployee.getJobNum();
} }
log.error("jobNum:{}",jobNum); log.error("jobNum:{}",jobNum);
if(StringUtils.isNotBlank(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); log.error("beisenUserId:{}",beisenUserId);

View File

@ -43,14 +43,17 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt
@Autowired @Autowired
BeisenStaffInfoByStaffCodeUtil beisenStaffInfoByStaffCodeUtil ; BeisenStaffInfoByStaffCodeUtil beisenStaffInfoByStaffCodeUtil ;
@Autowired
BeisenDeptInfoByOriginalIdUtil beisenDeptInfoByOriginalIdUtil;
@Autowired @Autowired
private HrmCommonUtil hrmCommonUtil; private HrmCommonUtil hrmCommonUtil;
@Autowired @Autowired
private HrmDepartmentDao hrmDepartmentDao; private HrmDepartmentDao hrmDepartmentDao;
@Autowired
BeisenQueryUseridUtil beisenQueryUseridUtil;
@Autowired
BeisenQueryDeptIdUtil beisenQueryDeptIdUtil;
@Override @Override
public WeaResult<Map<String, Object>> execute(Map<String, Object> params) { public WeaResult<Map<String, Object>> execute(Map<String, Object> params) {
log.error("Esb2BeisenJobRequirementAction start"); log.error("Esb2BeisenJobRequirementAction start");
@ -78,6 +81,8 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt
String originalId = String.valueOf(params.get("originalId")); String originalId = String.valueOf(params.get("originalId"));
String nlyq = String.valueOf(params.get("nlyq"));
log.error("requirementStatus:" + requirementStatus); log.error("requirementStatus:" + requirementStatus);
log.error("originalId:" + originalId); log.error("originalId:" + originalId);
log.error("requirementType:" + requirementType); log.error("requirementType:" + requirementType);
@ -92,6 +97,7 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt
log.error("kind:" + kind); log.error("kind:" + kind);
log.error("isSecrecy:" + isSecrecy); log.error("isSecrecy:" + isSecrecy);
log.error("form_data_id:" + form_data_id); log.error("form_data_id:" + form_data_id);
log.error("nlyq:" + nlyq);
String createBy = String.valueOf(params.get("createBy")); String createBy = String.valueOf(params.get("createBy"));
String dutyUserId = String.valueOf(params.get("dutyUserId")); String dutyUserId = String.valueOf(params.get("dutyUserId"));
@ -99,23 +105,9 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt
log.error("dutyUserId:" + dutyUserId); 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); String createByEmail = hrmDepartmentDao.queryEmailByEmployeeId(dutyUserId);
log.error("createByEmail:" + createByEmail); log.error("createByEmail:" + createByEmail);
String dutyUserEmail = hrmDepartmentDao.queryEmailByEmployeeId(dutyUserId); String dutyUserEmail = hrmDepartmentDao.queryEmailByEmployeeId(dutyUserId);
@ -127,18 +119,58 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt
} }
log.error("originalCode:" + originalCode); log.error("originalCode:" + originalCode);
int orgId = -1; int beisenCreateUserId = -1;
if(StringUtils.isNotBlank(originalCode)){ if(StringUtils.isNotBlank(createBy)){
BeisenDepartmentDto beisenDepartmentDto = beisenDeptInfoByOriginalIdUtil.getBeisenDeptDataByOriginalId(originalId); String jobnum = "";
log.error("beisenDepartmentDto:{}",beisenDepartmentDto.toString()); SimpleEmployee createByEmployee = hrmCommonUtil.getSimpleEmployee(Long.valueOf(createBy));
orgId = beisenDepartmentDto.getOrgId(); 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(); int beisenDutyUserId = -1;
log.error("token:" + token); 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); log.error("orgId:" + orgId);
String dataId = jobRequirement2BeisenUtil.sendJobRequirement(token,requirementStatus,requirementType, String dataId = jobRequirement2BeisenUtil.sendJobRequirement(requirementStatus,requirementType,
requestname,beisenUserId, requestname,beisenCreateUserId,
createDate,requirementCount, createDate,requirementCount,
arivalTime, arivalTime,
createByEmail, createByEmail,
@ -150,7 +182,7 @@ public class Esb2BeisenJobRequirementAction implements EsbServerlessRpcRemoteInt
workExperience, workExperience,
kind, kind,
isSecrecy, isSecrecy,
originalCode); originalCode,nlyq,zpgw,zwmc,beisenDutyUserId,xqmc,gzzz,rzzg);
log.error("dataId:" + dataId); log.error("dataId:" + dataId);
// if(StringUtils.isNotBlank(dataId)){ // if(StringUtils.isNotBlank(dataId)){

View File

@ -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<Map<String, Object>> execute(Map<String, Object> 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<String> paramList = new ArrayList<>(100);
//
// paramList.add(form_data_id);
// paramList.add(Constants.TENANT_KEY);
// List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
// result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
// }
Map<String, Object> actionMap = new HashMap<String, Object>();
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<String,Object> 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;
}
}

View File

@ -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<Map<String, Object>> execute(Map<String, Object> 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<String, Object> actionMap = new HashMap<String, Object>();
actionMap.put("code",200);
actionMap.put("msg","取消招聘需求成功");
actionMap.put("datacode",code);
actionMap.put("form_data_id",form_data_id);
return WeaResult.success(actionMap);
}
}

View File

@ -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<Map<String, Object>> execute(Map<String, Object> params) {
log.error("Esb2BeisenPositionFullCronJob");
List<String> ebList = new ArrayList<String>();
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<String> fieldList = new ArrayList<String>();
fieldList.add("bs_gwid");
fieldList.add("bs_gwmc");
fieldList.add("bs_gwbm");
if(positionArray.size() > 0){
updateHrmPosition(positionArray);
doSavePositionData(positionArray);
}
Map<String, Object> actionMap = new HashMap<String, Object>();
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<positionArray.size();i++) {
JSONObject positionJson = positionArray.getJSONObject(i);
String name = positionJson.getString("name");
String code = positionJson.getString("code");
String objectId = positionJson.getString("objectId");
log.error("name:{}",name);
log.error("objectId:{}",objectId);
if(StringUtils.isNotBlank(code) && StringUtils.isNotBlank(objectId)){
JSONObject dataJson = new JSONObject();
dataJson.put("bs_gwid",objectId);
dataJson.put("bs_gwmc",name);
dataJson.put("bs_gwbm",code);
dataArray.add(dataJson);
}
}
return dataArray;
}
public List<String> doSavePositionData(JSONArray positionArray){
List<String> ebList = new ArrayList<String>();
List<String> fieldList = new ArrayList<String>();
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<String, Object> fieldMap = formFieldDao.queryFromTableField(Constants.beisenPostionTable,fieldList);
List<EBDataReqDto> addDatas = new ArrayList<EBDataReqDto>();
List<EBDataReqDto> updateDatas = new ArrayList<EBDataReqDto>();
for(int i=0;i<dataArray.size();i++){
JSONObject dataJson = dataArray.getJSONObject(i);
log.error("dataJson2:{}",dataJson.toJSONString());
if(dataJson.containsKey("bs_gwid") && StringUtils.isNotBlank(dataJson.getString("bs_gwid"))){
String bs_gwid = dataJson.getString("bs_gwid");
String bs_gwmc = dataJson.getString("bs_gwmc");
String bs_gwbm = dataJson.getString("bs_gwbm");
String ufId = hrmBeisenPositionDao.getPositionIdByGwId(bs_gwid);
log.error("ufId:{}",ufId);
if(StringUtils.isNotBlank(ufId)){
log.error("修改");
EBDataReqDto ebDataReqDto = new EBDataReqDto();
List<EBDataReqDetailDto> mainData = new ArrayList<EBDataReqDetailDto>();
mainData.add(new EBDataReqDetailDto("id", ufId));
for(int n=0;n<fieldList.size();n++){
if(dataJson.containsKey(fieldList.get(n)) && fieldMap.containsKey(fieldList.get(n))){
String value = dataJson.getString(fieldList.get(n));
String fieldId = fieldMap.get(fieldList.get(n)).toString();
log.error("fieldId:{}",fieldId);
log.error("value:{}",value);
mainData.add(new EBDataReqDetailDto(fieldId, value));
}
}
ebDataReqDto.setMainDatas(mainData);
updateDatas.add(ebDataReqDto);
}else{
log.error("新增");
EBDataReqDto ebDataReqDto = new EBDataReqDto();
List<EBDataReqDetailDto> mainData = new ArrayList<EBDataReqDetailDto>();
for(int n=0;n<fieldList.size();n++){
if(dataJson.containsKey(fieldList.get(n)) && fieldMap.containsKey(fieldList.get(n))){
String value = dataJson.getString(fieldList.get(n));
String fieldId = fieldMap.get(fieldList.get(n)).toString();
log.error("fieldId:{}",fieldId);
log.error("value:{}",value);
mainData.add(new EBDataReqDetailDto(fieldId, value));
}
}
ebDataReqDto.setMainDatas(mainData);
addDatas.add(ebDataReqDto);
}
}else{
}
}
log.error("addDatas:{}",addDatas.size());
log.error("updateDatas:{}",updateDatas.size());
Map<String,Object> 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<String,String> updateHrmPosition(JSONArray positionArray){
Map<String,String> resultMap = new HashMap<String,String>();
int failCount = 0;
int successCount = 0;
int total = positionArray.size() ;
if(positionArray.size() > 0){
for(int i=0;i<positionArray.size();i++){
JSONObject dataJson = positionArray.getJSONObject(i);
log.error("dataJson2:{}",dataJson.toJSONString());
if(dataJson.containsKey("objectId") && StringUtils.isNotBlank(dataJson.getString("objectId"))){
String objectId = dataJson.getString("objectId");
String code = dataJson.getString("code");
String oIdOrganization = dataJson.getString("oIdOrganization");
Map<String, Object> 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;
}
}

View File

@ -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<Map<String, Object>> execute(Map<String, Object> params) {
JSONArray positionArray = new JSONArray();
List<String> ebList = new ArrayList<String>();
// 获取当前日期
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<String, Object> actionMap = new HashMap<String, Object>();
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<positionArray.size();i++) {
JSONObject positionJson = positionArray.getJSONObject(i);
String name = positionJson.getString("name");
String code = positionJson.getString("code");
String objectId = positionJson.getString("objectId");
if(StringUtils.isNotBlank(code) && StringUtils.isNotBlank(objectId)){
JSONObject dataJson = new JSONObject();
dataJson.put("bs_gwid",objectId);
dataJson.put("bs_gwmc",name);
dataJson.put("bs_gwbm",code);
dataArray.add(dataJson);
}
}
return dataArray;
}
/***
* 保存职位数据
* @param positionArray
* @return
*/
public List<String> doSavePositionData(JSONArray positionArray){
List<String> ebList = new ArrayList<String>();
List<String> fieldList = new ArrayList<String>();
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<String, Object> fieldMap = formFieldDao.queryFromTableField(Constants.beisenPostionTable,fieldList);
List<EBDataReqDto> addDatas = new ArrayList<EBDataReqDto>();
List<EBDataReqDto> updateDatas = new ArrayList<EBDataReqDto>();
for(int i=0;i<dataArray.size();i++){
JSONObject dataJson = dataArray.getJSONObject(i);
log.error("dataJson2:{}",dataJson.toJSONString());
if(dataJson.containsKey("bs_gwid") && StringUtils.isNotBlank(dataJson.getString("bs_gwid"))){
String bs_gwid = dataJson.getString("bs_gwid");
String bs_gwmc = dataJson.getString("bs_gwmc");
String bs_gwbm = dataJson.getString("bs_gwbm");
String ufId = hrmBeisenPositionDao.getPositionIdByGwId(bs_gwid);
log.error("ufId:{}",ufId);
if(StringUtils.isNotBlank(ufId)){
log.error("修改");
EBDataReqDto ebDataReqDto = new EBDataReqDto();
List<EBDataReqDetailDto> mainData = new ArrayList<EBDataReqDetailDto>();
mainData.add(new EBDataReqDetailDto("id", ufId));
for(int n=0;n<fieldList.size();n++){
if(dataJson.containsKey(fieldList.get(n)) && fieldMap.containsKey(fieldList.get(n))){
String value = dataJson.getString(fieldList.get(n));
String fieldId = fieldMap.get(fieldList.get(n)).toString();
log.error("fieldId:{}",fieldId);
log.error("value:{}",value);
mainData.add(new EBDataReqDetailDto(fieldId, value));
}
}
ebDataReqDto.setMainDatas(mainData);
updateDatas.add(ebDataReqDto);
}else{
log.error("新增");
EBDataReqDto ebDataReqDto = new EBDataReqDto();
List<EBDataReqDetailDto> mainData = new ArrayList<EBDataReqDetailDto>();
for(int n=0;n<fieldList.size();n++){
if(dataJson.containsKey(fieldList.get(n)) && fieldMap.containsKey(fieldList.get(n))){
String value = dataJson.getString(fieldList.get(n));
String fieldId = fieldMap.get(fieldList.get(n)).toString();
log.error("fieldId:{}",fieldId);
log.error("value:{}",value);
mainData.add(new EBDataReqDetailDto(fieldId, value));
}
}
ebDataReqDto.setMainDatas(mainData);
addDatas.add(ebDataReqDto);
}
}else{
}
}
log.error("addDatas:{}",addDatas.size());
log.error("updateDatas:{}",updateDatas.size());
Map<String,Object> 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<String,String> updateHrmPosition(JSONArray positionArray){
Map<String,String> resultMap = new HashMap<String,String>();
int failCount = 0;
int successCount = 0;
int total = positionArray.size() ;
if(positionArray.size() > 0){
for(int i=0;i<positionArray.size();i++){
JSONObject dataJson = positionArray.getJSONObject(i);
log.error("dataJson2:{}",dataJson.toJSONString());
if(dataJson.containsKey("objectId") && StringUtils.isNotBlank(dataJson.getString("objectId"))){
String objectId = dataJson.getString("objectId");
String code = dataJson.getString("code");
String oIdOrganization = dataJson.getString("oIdOrganization");
Map<String, Object> 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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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<Map<String, Object>> emailList = hrmAssessmentDao.queryEmployeeEmail();
for(int i=0;i<emailList.size();i++){
Map<String, Object> 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<questionnaireInfoList.size();n++){
JSONObject questionnaireInfoJson = questionnaireInfoList.getJSONObject(n);
String questionnaireID = questionnaireInfoJson.getString("questionnaireID");
String questionnaireName = questionnaireInfoJson.getString("questionnaireName");
String otherAvg = questionnaireInfoJson.getString("otherAvg");
String lastUpdateTime = questionnaireInfoJson.getString("lastUpdateTime");
log.error("questionnaireID:{}",questionnaireID);
log.error("otherAvg:{}",otherAvg);
log.error("lastUpdateTime:{}",lastUpdateTime);
JSONObject assessJson = new JSONObject();
assessJson.put("gsyx",personnelMail);
assessJson.put("gh",personnelStaffCode);
assessJson.put("hdid",activityID);
assessJson.put("hdmc",activityName);
assessJson.put("wjid",questionnaireID);
assessJson.put("wjmc",questionnaireName);
assessJson.put("zzjg",otherAvg);
assessJson.put("cjsj",createTime.replace("T"," "));
assessJson.put("wcsj",lastUpdateTime.replace("T"," "));
assessmentArray.add(assessJson);
}
}
}
}
}
}
}
return assessmentArray;
}
/***
*
*/
public String doHttpPost(String token,String bodyJson){
String bodyData = "";
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.query360AssessmentUrl)
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer "+token)
.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){
bodyData = msg;
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return bodyData;
}
}

View File

@ -0,0 +1,112 @@
package com.weaver.seconddev.chapanda.beisen.util;
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 Esb2BeiSenPositionUtil {
private final static Logger log = LoggerFactory.getLogger(Esb2BeiSenPositionUtil.class);
@Autowired
Token2BeiSenUtil token2BeiSenUtil ;
/***
*
* @param startDate
* @param endDate
* @return
*/
public String queryPositionByDate(String startDate, String endDate,int capacity){
String token = token2BeiSenUtil.getToken();
log.error("token:{}",token);
String bodyData = "";
if(StringUtils.isNotBlank(token)){
JSONObject bodyJson = new JSONObject();
bodyJson.put("startTime",startDate);
bodyJson.put("stopTime",endDate);
bodyJson.put("timeWindowQueryType","1");
bodyJson.put("capacity",capacity);
log.error("bodyJson:{}",bodyJson.toJSONString());
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, bodyJson.toJSONString());
try {
Request request = new Request.Builder()
.url(Constants.beishenHost+ Constants.positionUrl)
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer "+token)
.build();
Response response = client.newCall(request).execute();
int code = response.code();
String msg = response.body().string();
log.error("code:{}",code);
if(code == 200){
bodyData = msg;
}
} catch (IOException e) {
log.error("e:{}",e);
}
}
return bodyData;
}
/***
*
* @param startDate
* @param endDate
*/
public String queryPositionByscrollId(String startDate, String endDate,String scrollId,int capacity){
String token = token2BeiSenUtil.getToken();
log.error("token:{}",token);
String bodyData = "";
if(StringUtils.isNotBlank(token)){
JSONObject bodyJson = new JSONObject();
bodyJson.put("startTime",startDate);
bodyJson.put("stopTime",endDate);
bodyJson.put("timeWindowQueryType","1");
bodyJson.put("scrollId",scrollId);
bodyJson.put("capacity",capacity);
log.error("bodyJson:{}",bodyJson.toJSONString());
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, bodyJson.toJSONString());
try {
Request request = new Request.Builder()
.url(Constants.beishenHost + Constants.positionUrl)
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer "+token)
.build();
Response response = client.newCall(request).execute();
int code = response.code();
String msg = response.body().string();
log.error("code:{}",code);
if(code == 200){
bodyData = msg;
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return bodyData;
}
}

View File

@ -0,0 +1,150 @@
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.stereotype.Component;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import java.util.UUID;
import java.util.concurrent.ThreadLocalRandom;
/***
* 获取考核数据
*/
@Component
public class Esb2BeisenAssessUtil {
private final static Logger log = LoggerFactory.getLogger(Esb2BeisenAssessUtil.class);
/***
*
* @param emails
* @param beisen_account
* @param format
* @param consumer_key
* @param oauth_token
* @param oauth_signature_method
* @param oauth_timestamp
* @param oauth_nonce
* @param oauth_version
* @param oauth_signature
*/
public String doHttpGet(String emails,String beisen_account,String format,String consumer_key,String oauth_token,String oauth_signature_method,String oauth_timestamp,String oauth_nonce,String oauth_version,String oauth_signature){
String msg = "";
String applyUrl = Constants.beishenAssessHost+Constants.queryAssessUrl+"?beisen_account="+beisen_account+"&emails="+emails+"&format="+format+"&oauth_consumer_key="+consumer_key+"&oauth_token="+oauth_token+"&oauth_signature_method="+oauth_signature_method+"&oauth_timestamp="+oauth_timestamp+"&oauth_nonce="+oauth_nonce+"&oauth_version="+oauth_version+"&oauth_signature="+oauth_signature;
log.error("applyUrl:{}",applyUrl);
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
try {
Request request = new Request.Builder()
.url(applyUrl)
.method("GET", null)
.build();
Response response = client.newCall(request).execute();
int code = response.code();
msg = response.body().string();
log.error("code:{}",code);
log.error("msg:{}",msg);
} catch (IOException e) {
log.error("e:{}",e);
}
return msg;
}
/***
* 查询考核数据
* @param emails
*/
public void queryAssessData(String emails){
String applyUrl = Constants.beishenAssessHost+Constants.queryAssessUrl;
String beisen_account = Constants.beisenAccount;
String oauth_consumer_key = Constants.consumerKey;
String oauth_token = Constants.accessToken;
String oauth_version = Constants.oauthVersion;
String oauth_nonce = randomString(11);
String oauth_signature_method = Constants.oauthSignatureMethod;
String format = Constants.format;
String oauth_consumer_secret = Constants.consumerSecret;
String oauth_token_secret = Constants.tokenSecret;
String oauth_signature = "";
long oauth_timestamp = System.currentTimeMillis()/1000;
log.error("oauth_consumer_key:{}",oauth_consumer_key);
log.error("oauth_nonce:{}",oauth_nonce);
log.error("oauth_timestamp:{}",oauth_timestamp);
log.error("oauth_token:{}",oauth_token);
log.error("oauth_version:{}",oauth_version);
String key = oauth_consumer_secret+"&"+oauth_token_secret ;
log.error("key:{}",key);
try {
String paramData = "beisen_account="+URLEncoder.encode(beisen_account, "UTF-8")+"&emails="+URLEncoder.encode(emails, "UTF-8")+"&format="+URLEncoder.encode(format, "UTF-8")+"&oauth_consumer_key="+URLEncoder.encode(oauth_consumer_key, "UTF-8")+"&oauth_nonce="+URLEncoder.encode(oauth_nonce, "UTF-8")+"&oauth_signature_method="+URLEncoder.encode(oauth_signature_method, "UTF-8")+"&oauth_timestamp="+URLEncoder.encode(oauth_timestamp+"", "UTF-8")+"&oauth_token="+URLEncoder.encode(oauth_token, "UTF-8")+"&oauth_version="+URLEncoder.encode(oauth_version, "UTF-8");
log.error("paramData:{}",paramData);
String encodeParamData = URLEncoder.encode(paramData, "UTF-8");
log.error("encodeParamData:{}",encodeParamData);
String concatData = "POST&"+URLEncoder.encode(applyUrl, "UTF-8")+"&"+encodeParamData;
oauth_signature = calculateHmacSha1(key, concatData);
log.error("oauth_signature:{}",oauth_signature);
oauth_signature = URLEncoder.encode(oauth_signature, "UTF-8");
log.error("oauth_signature2:{}",oauth_signature);
} catch (UnsupportedEncodingException e) {
log.error("e:{}",e);
}
if(StringUtils.isNotBlank(oauth_signature)){
String msg = doHttpGet(emails,beisen_account,format,oauth_consumer_key,oauth_token,oauth_signature_method,oauth_timestamp+"",oauth_nonce,oauth_version,oauth_signature);
}
}
/***
* 计算HmacSHA1
* @param key
* @param message
* @return
*/
public String calculateHmacSha1(String key, String message) {
String data = "";
try {
Mac mac = Mac.getInstance("HmacSHA1");
SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), "HmacSHA1");
mac.init(secretKeySpec);
byte[] digest = mac.doFinal(message.getBytes());
data = Base64.getEncoder().encodeToString(digest);
} catch (NoSuchAlgorithmException | InvalidKeyException e) {
e.printStackTrace();
log.error("e:{}",e.getMessage());
}
return data;
}
/***
*
* @return
*/
public String randomString(int length){
String data = UUID.randomUUID().toString();
// 定义可能的字符
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++) {
int index = ThreadLocalRandom.current().nextInt(characters.length());
sb.append(characters.charAt(index));
}
data = sb.toString();
return data;
}
}

View File

@ -0,0 +1,62 @@
package com.weaver.seconddev.chapanda.beisen.util;
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 Esb2BeisenUnRelateRequestUtil {
private final static Logger log = LoggerFactory.getLogger(Esb2BeisenUnRelateRequestUtil.class);
@Autowired
Token2BeiSenUtil token2BeiSenUtil ;
public String unRelateJobRequirement(String requirementId){
String dataCode = "";
String token = token2BeiSenUtil.getToken();
if(StringUtils.isNotBlank(token)){
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
JSONObject bodyJson = new JSONObject();
int operationType = 1;
bodyJson.put("operationType",operationType);
bodyJson.put("id",requirementId);
RequestBody body = RequestBody.create(mediaType, bodyJson.toJSONString());
try {
Request request = new Request.Builder()
.url(Constants.beishenHost+Constants.unRelateRequirementUrl)
.method("POST", body)
.addHeader("Authorization", "Bearer "+token)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
int code = response.code();
String bodyData = response.body().string();
log.error("code:{}",code);
log.error("bodyData:{}",bodyData);
if(code == 200){
if(StringUtils.isNotBlank(bodyData)){
JSONObject dataJson = JSONObject.parseObject(bodyData);
if(dataJson.containsKey("code")){
dataCode = dataJson.getString("code");
}
}
}else{
log.error("bodyData:"+bodyData);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return dataCode;
}
}

View File

@ -18,8 +18,7 @@ public class JobRequirement2BeisenUtil {
@Autowired @Autowired
Token2BeiSenUtil token2BeiSenUtil ; Token2BeiSenUtil token2BeiSenUtil ;
public String sendJobRequirement(String token, public String sendJobRequirement(int requirementStatus,
int requirementStatus,
int requirementType, int requirementType,
String requestname, String requestname,
int beisenCreateBy, int beisenCreateBy,
@ -35,12 +34,19 @@ public class JobRequirement2BeisenUtil {
String workExperience, String workExperience,
int kind, int kind,
boolean isSecrecy, boolean isSecrecy,
String originalCode String originalCode,
String nlyq,
String zpgw,
String zwmc,
int beisenDutyUserId,
String xqmc,
String gzzz,
String rzzg
){ ){
String data = ""; String data = "";
OkHttpClient client = new OkHttpClient().newBuilder() String token = token2BeiSenUtil.getToken();
.build(); if(StringUtils.isNotBlank(token)){
MediaType mediaType = MediaType.parse("application/json");
JSONObject bodyJson = new JSONObject(); JSONObject bodyJson = new JSONObject();
/*** /***
* 需求状态 * 需求状态
@ -69,8 +75,8 @@ public class JobRequirement2BeisenUtil {
} }
bodyJson.put("name",requestname); bodyJson.put("name",xqmc);
log.error("beisenCreateBy:{}",beisenCreateBy);
if(beisenCreateBy > -1){ if(beisenCreateBy > -1){
bodyJson.put("createBy",beisenCreateBy); bodyJson.put("createBy",beisenCreateBy);
} }
@ -107,6 +113,7 @@ public class JobRequirement2BeisenUtil {
// bodyJson.put("salaryType",salaryType); // bodyJson.put("salaryType",salaryType);
// } // }
// bodyJson.put("PositionIdCoreHR","d948d6ce-70cc-4265-975c-fea732759676");
/*** /***
* 招聘类别 * 招聘类别
@ -166,15 +173,40 @@ public class JobRequirement2BeisenUtil {
if(kind > -1){ if(kind > -1){
bodyJson.put("kind",kind); 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); bodyJson.put("isSecrecy",isSecrecy);
log.error("bodyJson:{}",bodyJson.toJSONString()); log.error("bodyJson:{}",bodyJson.toJSONString());
data = doHttpPost(token,bodyJson.toJSONString());
}
return data;
}
RequestBody body = RequestBody.create(mediaType, bodyJson.toJSONString()); public String doHttpPost(String token,String bodyJson){
String data = "";
// 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}"); OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, bodyJson);
try { try {
Request request = new Request.Builder() Request request = new Request.Builder()
.url(Constants.beishenHost+Constants.jobRequirementUrl) .url(Constants.beishenHost+Constants.jobRequirementUrl)
@ -198,11 +230,9 @@ public class JobRequirement2BeisenUtil {
} }
} }
} }
}else{
log.error("bodyData:"+bodyData);
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); log.error("e:{}",e);
} }
return data; return data;
} }

View File

@ -88,7 +88,7 @@ public class Request2CostControlController {
if(StringUtils.isNotBlank(staffcode)){ if(StringUtils.isNotBlank(staffcode)){
String workflowId = String.valueOf(params.get("workflowId")); String workflowId = String.valueOf(params.get("workflowId"));
if(StringUtils.isNotBlank(workflowId)){ if(StringUtils.isNotBlank(workflowId)){
Long workflowid = Long.parseLong(workflowId); Long workflowid = Long.valueOf(workflowId);
Long employeeId = convertStaffCodeService.convEmployeeIdByCode(staffcode); Long employeeId = convertStaffCodeService.convEmployeeIdByCode(staffcode);
if(employeeId > 0){ if(employeeId > 0){
dataMap = request2CostControlService.queryRequestByWorkflowType(params,workflowid,page_no,pageSize,employeeId); dataMap = request2CostControlService.queryRequestByWorkflowType(params,workflowid,page_no,pageSize,employeeId);

View File

@ -89,7 +89,7 @@ public class RequestInfoController {
if(StringUtils.isNotBlank(staffcode)){ if(StringUtils.isNotBlank(staffcode)){
String workflowId = String.valueOf(params.get("workflowId")); String workflowId = String.valueOf(params.get("workflowId"));
if(StringUtils.isNotBlank(workflowId)){ if(StringUtils.isNotBlank(workflowId)){
Long workflowid = Long.parseLong(workflowId); Long workflowid = Long.valueOf(workflowId);
Long employeeId = convertStaffCodeService.convEmployeeIdByCode(staffcode); Long employeeId = convertStaffCodeService.convEmployeeIdByCode(staffcode);
if(employeeId > 0){ if(employeeId > 0){
dataMap = request2CostControlService.queryRequestByWorkflowType(params,workflowid,page_no,pageSize,employeeId); dataMap = request2CostControlService.queryRequestByWorkflowType(params,workflowid,page_no,pageSize,employeeId);

View File

@ -84,7 +84,7 @@ public class ConvertStaffCodeDao {
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result); List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
log.error("recordList:"+recordList.size()); log.error("recordList:"+recordList.size());
if(!recordList.isEmpty()){ 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){ }catch (Exception e){

View File

@ -61,6 +61,11 @@ public class Constants {
public static String partyAaccountType = "1"; public static String partyAaccountType = "1";
public static String externalpersonUrl = "/V1/accounts/outerAccounts/simpleCreate";
public static String signFlowsUrl = "/V1/signFlows/create";
} }

View File

@ -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<Map<String, Object>> execute(Map<String, Object> 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<String, Object> actionMap = new HashMap<String, Object>();
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);
}
}

View File

@ -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<Map<String, Object>> execute(Map<String, Object> 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<String, Object> actionMap = new HashMap<String, Object>();
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);
}
}

View File

@ -4,12 +4,12 @@ import com.alibaba.fastjson.JSONObject;
import com.weaver.common.base.entity.result.WeaResult; import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface;
import com.weaver.seconddev.chapanda.esign.util.Esb2EsignApplyRequestUtil; import com.weaver.seconddev.chapanda.esign.util.Esb2EsignApplyRequestUtil;
import com.weaver.seconddev.chapanda.esign.util.Esb2EsignUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -33,6 +33,15 @@ public class Esb2EsignCreateRequestAction implements EsbServerlessRpcRemoteInter
String employeeMobile = String.valueOf(params.get("employeeMobile")); String employeeMobile = String.valueOf(params.get("employeeMobile"));
String qsrJobNum = String.valueOf(params.get("qsrJobNum")); 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 signFlowId = "";
String signUrls = ""; String signUrls = "";
String accountIds = ""; String accountIds = "";
@ -46,6 +55,12 @@ public class Esb2EsignCreateRequestAction implements EsbServerlessRpcRemoteInter
accountIds = dataJson.getString("accountIds"); accountIds = dataJson.getString("accountIds");
uniqueIds = dataJson.getString("uniqueIds"); uniqueIds = dataJson.getString("uniqueIds");
fileKeys = dataJson.getString("fileKeys"); 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)){ if(StringUtils.isBlank(fileKeys)){
@ -58,7 +73,7 @@ public class Esb2EsignCreateRequestAction implements EsbServerlessRpcRemoteInter
actionMap.put("accountIds",accountIds); actionMap.put("accountIds",accountIds);
actionMap.put("signUrls",signUrls); actionMap.put("signUrls",signUrls);
actionMap.put("uniqueIds",uniqueIds); actionMap.put("uniqueIds",uniqueIds);
actionMap.put("fileKeys",fileKeys); actionMap.put(" ",fileKeys);
return WeaResult.success(actionMap); return WeaResult.success(actionMap);
} }
} }

View File

@ -32,13 +32,11 @@ public class Esb2EsignCreateUserAction implements EsbServerlessRpcRemoteInterfac
} }
String esignAccountId = ""; String esignAccountId = "";
String usermobile = "";
String uniqueId = ""; String uniqueId = "";
if(StringUtils.isNotBlank(mobile) && StringUtils.isNotBlank(name)){ if(StringUtils.isNotBlank(mobile) && StringUtils.isNotBlank(name)){
Map<String,Object> dataMap = esb2EsignCreateUserUtil.createUser(name,mobile); Map<String,Object> dataMap = esb2EsignCreateUserUtil.createUser(name,mobile);
esignAccountId = String.valueOf(dataMap.get("esignAccountId")); esignAccountId = String.valueOf(dataMap.get("esignAccountId"));
usermobile = String.valueOf(dataMap.get("mobile")); uniqueId = String.valueOf(dataMap.get("uniqueId"));
uniqueId = String.valueOf(dataMap.get("mobile"));
} }
if(StringUtils.isBlank(esignAccountId)){ if(StringUtils.isBlank(esignAccountId)){
@ -48,7 +46,7 @@ public class Esb2EsignCreateUserAction implements EsbServerlessRpcRemoteInterfac
Map<String, Object> actionMap = new HashMap<String, Object>(); Map<String, Object> actionMap = new HashMap<String, Object>();
actionMap.put("code",200); actionMap.put("code",200);
actionMap.put("esignAccountId",esignAccountId); actionMap.put("esignAccountId",esignAccountId);
actionMap.put("mobile",usermobile); actionMap.put("mobile",mobile);
actionMap.put("uniqueId",uniqueId); actionMap.put("uniqueId",uniqueId);
return WeaResult.success(actionMap); return WeaResult.success(actionMap);
} }

View File

@ -1,16 +1,13 @@
package com.weaver.seconddev.chapanda.esign.esb; package com.weaver.seconddev.chapanda.esign.esb;
import com.alibaba.fastjson.JSONObject;
import com.weaver.common.base.entity.result.WeaResult; import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface;
import com.weaver.seconddev.chapanda.esign.service.SealTemplateService; import com.weaver.seconddev.chapanda.esign.service.SealTemplateService;
import com.weaver.seconddev.chapanda.esign.util.Esb2EsignUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
@ -19,8 +16,6 @@ import java.util.Map;
public class Esb2EsignQueryPreviewUrlAction implements EsbServerlessRpcRemoteInterface { public class Esb2EsignQueryPreviewUrlAction implements EsbServerlessRpcRemoteInterface {
private final static Logger log = LoggerFactory.getLogger(Esb2EsignQueryPreviewUrlAction.class); private final static Logger log = LoggerFactory.getLogger(Esb2EsignQueryPreviewUrlAction.class);
@Autowired
Esb2EsignUtil esb2EsignUtil;
@Autowired @Autowired
SealTemplateService sealTemplateService; SealTemplateService sealTemplateService;
@ -37,12 +32,18 @@ public class Esb2EsignQueryPreviewUrlAction implements EsbServerlessRpcRemoteInt
Map<String, Object> dataMap = new HashMap<String,Object>(); Map<String, Object> dataMap = new HashMap<String,Object>();
String templateId = String.valueOf(params.get("templateId")); String templateId = String.valueOf(params.get("templateId"));
String form_data_id = String.valueOf(params.get("form_data_id"));
if(StringUtils.isNotBlank(templateId)){ if(StringUtils.isNotBlank(templateId)){
dataMap = sealTemplateService.queryPreviewUrl(templateId,params); dataMap = sealTemplateService.queryPreviewUrl(templateId,params);
} }
String fileKey = String.valueOf(dataMap.get("filekey"));
String preViewUrl = String.valueOf(dataMap.get("previewurl"));
Map<String, Object> actionMap = new HashMap<String, Object>(); Map<String, Object> actionMap = new HashMap<String, Object>();
actionMap.put("code",200); 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); return WeaResult.success(actionMap);
} }
} }

View File

@ -25,7 +25,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* 同步电子印章模板数据 * 同步电子印章模板数据, 含有明细表字段
*/ */
@Service("Esb2EsignSyncTemplateCron") @Service("Esb2EsignSyncTemplateCron")
public class Esb2EsignSyncTemplateCron implements EsbServerlessRpcRemoteInterface { public class Esb2EsignSyncTemplateCron implements EsbServerlessRpcRemoteInterface {

View File

@ -51,8 +51,12 @@ public class SealTemplateServiceImpl implements SealTemplateService {
Map<String, Object> dataMap = new HashMap<String, Object>(); Map<String, Object> dataMap = new HashMap<String, Object>();
List<Map<String,Object>> templateFieldList = sealTemplateDao.queryTemplateFieldByTemplateId(templateId); List<Map<String,Object>> templateFieldList = sealTemplateDao.queryTemplateFieldByTemplateId(templateId);
log.error("templateFieldList:{}",templateFieldList.size()); log.error("templateFieldList:{}",templateFieldList.size());
String employee_id = String.valueOf(paraMap.get("employee_id"));
SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(1151285259738521602L); Long employeeId = 0L;
if(StringUtils.isNotBlank(employee_id)){
employeeId = Long.valueOf(employee_id);
}
SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId);
log.error("simpleEmployee:{}",simpleEmployee.getUsername()); log.error("simpleEmployee:{}",simpleEmployee.getUsername());
JSONObject bodyJson = new JSONObject(); JSONObject bodyJson = new JSONObject();
String fileKey = ""; String fileKey = "";
@ -70,10 +74,13 @@ public class SealTemplateServiceImpl implements SealTemplateService {
log.error("zdz:{}",zdz); log.error("zdz:{}",zdz);
JSONObject formJson = converFieldValue(paraMap,simpleEmployee,zdlx,zdz,zdm); JSONObject formJson = converFieldValue(paraMap,simpleEmployee,zdlx,zdz,zdm);
formArray.add(formJson); formArray.add(formJson);
} }
bodyJson.put("templateFormValues",formArray); bodyJson.put("templateFormValues",formArray);
bodyJson.put("templateId",templateId); bodyJson.put("templateId",templateId);
log.error("bodyJson:{}",bodyJson.toJSONString()); log.error("bodyJson:{}",bodyJson.toJSONString());
@ -91,7 +98,7 @@ public class SealTemplateServiceImpl implements SealTemplateService {
} }
dataMap.put("bodyData",bodyJson.toJSONString()); dataMap.put("bodyData",bodyJson.toJSONString());
dataMap.put("fileKey",fileKey); dataMap.put("filekey",fileKey);
dataMap.put("previewurl",preViewUrl); dataMap.put("previewurl",preViewUrl);
return dataMap; return dataMap;

View File

@ -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<signUrlsArray.size();i++){
JSONObject signUrlJson = signUrlsArray.getJSONObject(i);
String signUrl = signUrlJson.getString("signUrl");
String uniqueId = signUrlJson.getString("uniqueId");
String accountId = signUrlJson.getString("accountId");
signUrls += StringUtils.isBlank(signUrls) ? signUrl : ","+signUrl ;
uniqueIds += StringUtils.isBlank(uniqueIds) ? uniqueId : ","+uniqueId ;
accountIds += StringUtils.isBlank(accountIds) ? accountId : ","+accountId ;
}
}
}
String fileKeys = "";
JSONArray signDocs = dataJson.getJSONArray("signDocs");
for(int i=0;i<signDocs.size();i++){
JSONObject signDoc = signDocs.getJSONObject(i);
String fileKey = signDoc.getString("fileKey");
fileKeys += StringUtils.isBlank(fileKeys) ? fileKey : ","+fileKey ;
}
dataObject.put("signUrls",signUrls);
dataObject.put("accountIds",accountIds);
dataObject.put("uniqueIds",uniqueIds);
dataObject.put("fileKeys",fileKeys);
}
}
}
return dataObject;
}
}

View File

@ -61,6 +61,7 @@ public class Esb2EsignApplyRequestUtil {
* @return * @return
*/ */
public String doHttpPost(String xTimevaleSignature,String bodyData){ public String doHttpPost(String xTimevaleSignature,String bodyData){
log.error("bodyData:{}",bodyData);
String msg = ""; String msg = "";
OkHttpClient client = new OkHttpClient().newBuilder() OkHttpClient client = new OkHttpClient().newBuilder()
.build(); .build();
@ -68,7 +69,7 @@ public class Esb2EsignApplyRequestUtil {
RequestBody body = RequestBody.create(mediaType, bodyData); RequestBody body = RequestBody.create(mediaType, bodyData);
try { try {
Request request = new Request.Builder() Request request = new Request.Builder()
.url(Constants.eSignHost+Constants.previewUrl) .url(Constants.eSignHost+Constants.signFlowsUrl)
.method("POST", body) .method("POST", body)
.addHeader("x-timevale-project-id", Constants.xTimevaleProjectId) .addHeader("x-timevale-project-id", Constants.xTimevaleProjectId)
.addHeader("x-timevale-signature", xTimevaleSignature) .addHeader("x-timevale-signature", xTimevaleSignature)
@ -117,14 +118,19 @@ public class Esb2EsignApplyRequestUtil {
public JSONArray appendSignersParty(String employeeMobile,String templateId,String sealId,String docFilekey,String creditCode,String qsrJobNum){ public JSONArray appendSignersParty(String employeeMobile,String templateId,String sealId,String docFilekey,String creditCode,String qsrJobNum){
JSONArray signers = new JSONArray(); JSONArray signers = new JSONArray();
JSONObject detailJson = esb2EsignTemplateSealPostionUtil.getTemplateFormData(templateId,sealId,docFilekey); JSONObject detailJson = esb2EsignTemplateSealPostionUtil.getTemplateFormData(templateId,sealId,docFilekey);
JSONObject partyA = detailJson.getJSONObject("partyA");
JSONObject partyB = detailJson.getJSONObject("partyB");
JSONObject partyBJson = new JSONObject(); JSONObject partyBJson = new JSONObject();
partyBJson.put("authorizationOrganizeNo",""); partyBJson.put("authorizationOrganizeNo","");
partyBJson.put("uniqueId",employeeMobile); partyBJson.put("uniqueId",employeeMobile);
partyBJson.put("accountType",Constants.partyBaccountType); partyBJson.put("accountType",Constants.partyBaccountType);
partyBJson.put("autoSign",Constants.autoSign); partyBJson.put("autoSign",Constants.autoSign);
if(detailJson.containsKey("partyB")){
JSONArray partyB = detailJson.getJSONArray("partyB");
partyBJson.put("signDocDetails",partyB); partyBJson.put("signDocDetails",partyB);
}
partyBJson.put("signOrder","1"); partyBJson.put("signOrder","1");
JSONObject partyAJson = new JSONObject(); JSONObject partyAJson = new JSONObject();
@ -132,7 +138,11 @@ public class Esb2EsignApplyRequestUtil {
partyAJson.put("uniqueId",qsrJobNum); partyAJson.put("uniqueId",qsrJobNum);
partyAJson.put("accountType",Constants.partyAaccountType); partyAJson.put("accountType",Constants.partyAaccountType);
partyAJson.put("autoSign",Constants.autoSign); partyAJson.put("autoSign",Constants.autoSign);
if(detailJson.containsKey("partyA")){
JSONArray partyA = detailJson.getJSONArray("partyA");
partyAJson.put("signDocDetails",partyA); partyAJson.put("signDocDetails",partyA);
}
partyAJson.put("signOrder","2"); partyAJson.put("signOrder","2");
signers.add(partyBJson); signers.add(partyBJson);

View File

@ -1,6 +1,5 @@
package com.weaver.seconddev.chapanda.esign.util; package com.weaver.seconddev.chapanda.esign.util;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.weaver.seconddev.chapanda.esign.constant.Constants; import com.weaver.seconddev.chapanda.esign.constant.Constants;
import okhttp3.*; import okhttp3.*;
@ -22,8 +21,8 @@ import java.util.Map;
@Component @Component
public class Esb2EsignCreateUserUtil { public class Esb2EsignCreateUserUtil {
private final static Logger log = LoggerFactory.getLogger(Esb2EsignCreateUserUtil.class); private final static Logger log = LoggerFactory.getLogger(Esb2EsignCreateUserUtil.class);
@Autowired // @Autowired
Esb2EsignTemplateSealPostionUtil esb2EsignTemplateSealPostionUtil; // Esb2EsignTemplateSealPostionUtil esb2EsignTemplateSealPostionUtil;
public Map<String,Object> createUser(String name,String mobile){ public Map<String,Object> createUser(String name,String mobile){
Map<String,Object> dataMap = new HashMap<String,Object>(); Map<String,Object> dataMap = new HashMap<String,Object>();
@ -31,7 +30,6 @@ public class Esb2EsignCreateUserUtil {
bodyJson.put("contactsMobile",mobile); bodyJson.put("contactsMobile",mobile);
bodyJson.put("name",name); bodyJson.put("name",name);
bodyJson.put("loginMobile",mobile); bodyJson.put("loginMobile",mobile);
bodyJson.put("uniqueId",mobile);
String xTimevaleSignature = encryptionHmacSHA256(bodyJson.toJSONString()); String xTimevaleSignature = encryptionHmacSHA256(bodyJson.toJSONString());
log.error("xTimevaleSignature:"+xTimevaleSignature); log.error("xTimevaleSignature:"+xTimevaleSignature);
@ -58,7 +56,7 @@ public class Esb2EsignCreateUserUtil {
RequestBody body = RequestBody.create(mediaType, bodyData); RequestBody body = RequestBody.create(mediaType, bodyData);
try { try {
Request request = new Request.Builder() Request request = new Request.Builder()
.url(Constants.eSignHost+Constants.previewUrl) .url(Constants.eSignHost+Constants.externalpersonUrl)
.method("POST", body) .method("POST", body)
.addHeader("x-timevale-project-id", Constants.xTimevaleProjectId) .addHeader("x-timevale-project-id", Constants.xTimevaleProjectId)
.addHeader("x-timevale-signature", xTimevaleSignature) .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){ // public JSONArray appendSignersParty(String employeeMobile,String templateId,String sealId,String docFilekey,String creditCode,String qsrJobNum){
JSONArray signers = new JSONArray(); // JSONArray signers = new JSONArray();
JSONObject detailJson = esb2EsignTemplateSealPostionUtil.getTemplateFormData(templateId,sealId,docFilekey); // JSONObject detailJson = esb2EsignTemplateSealPostionUtil.getTemplateFormData(templateId,sealId,docFilekey);
JSONObject partyA = detailJson.getJSONObject("partyA"); // JSONObject partyA = detailJson.getJSONObject("partyA");
JSONObject partyB = detailJson.getJSONObject("partyB"); // JSONObject partyB = detailJson.getJSONObject("partyB");
JSONObject partyBJson = new JSONObject(); // JSONObject partyBJson = new JSONObject();
partyBJson.put("authorizationOrganizeNo",""); // partyBJson.put("authorizationOrganizeNo","");
partyBJson.put("uniqueId",employeeMobile); // partyBJson.put("uniqueId",employeeMobile);
partyBJson.put("accountType",Constants.partyBaccountType); // partyBJson.put("accountType",Constants.partyBaccountType);
partyBJson.put("autoSign",Constants.autoSign); // partyBJson.put("autoSign",Constants.autoSign);
partyBJson.put("signDocDetails",partyB); // partyBJson.put("signDocDetails",partyB);
partyBJson.put("signOrder","1"); // partyBJson.put("signOrder","1");
//
JSONObject partyAJson = new JSONObject(); // JSONObject partyAJson = new JSONObject();
partyAJson.put("authorizationOrganizeNo",creditCode); // partyAJson.put("authorizationOrganizeNo",creditCode);
partyAJson.put("uniqueId",qsrJobNum); // partyAJson.put("uniqueId",qsrJobNum);
partyAJson.put("accountType",Constants.partyAaccountType); // partyAJson.put("accountType",Constants.partyAaccountType);
partyAJson.put("autoSign",Constants.autoSign); // partyAJson.put("autoSign",Constants.autoSign);
partyAJson.put("signDocDetails",partyA); // partyAJson.put("signDocDetails",partyA);
partyAJson.put("signOrder","2"); // partyAJson.put("signOrder","2");
//
signers.add(partyBJson); // signers.add(partyBJson);
signers.add(partyAJson); // signers.add(partyAJson);
return signers; // return signers;
} // }
public Map<String,Object> convertData(String msg){ public Map<String,Object> convertData(String msg){
@ -137,18 +135,22 @@ public class Esb2EsignCreateUserUtil {
JSONObject bodyJson = JSONObject.parseObject(msg); JSONObject bodyJson = JSONObject.parseObject(msg);
if(bodyJson.containsKey("errCode")){ if(bodyJson.containsKey("errCode")){
String errCode = bodyJson.getString("errCode"); String errCode = bodyJson.getString("errCode");
log.error("errCode:{}",errCode);
if("0".equals(errCode)){ if("0".equals(errCode)){
JSONObject dataJson = bodyJson.getJSONObject("data"); JSONObject dataJson = bodyJson.getJSONObject("data");
if(dataJson.containsKey("signFlowId")){
String accountId = dataJson.getString("accountId"); String accountId = dataJson.getString("accountId");
String esignAccountId = dataJson.getString("esignAccountId"); String esignAccountId = dataJson.getString("esignAccountId");
String uniqueId = dataJson.getString("uniqueId"); String uniqueId = dataJson.getString("uniqueId");
log.error("accountId:{}",accountId);
log.error("esignAccountId:{}",esignAccountId);
log.error("uniqueId:{}",errCode);
dataMap.put("accountId",accountId); dataMap.put("accountId",accountId);
dataMap.put("esignAccountId",esignAccountId); dataMap.put("esignAccountId",esignAccountId);
dataMap.put("uniqueId",uniqueId); dataMap.put("uniqueId",uniqueId);
} }
} }
}
return dataMap; return dataMap;
} }
} }

View File

@ -68,6 +68,10 @@ public class Esb2EsignTemplateSealPostionUtil {
String pageNo = positionsJson.getString("pageNo"); String pageNo = positionsJson.getString("pageNo");
JSONArray signDateInfos = new JSONArray(); JSONArray signDateInfos = new JSONArray();
if(positionsJson.containsKey("templateSignTimeInfos")){
if(!"[]".equals(positionsJson.getString("templateSignTimeInfos").trim())){
JSONArray templateSignTimeInfosArray = positionsJson.getJSONArray("templateSignTimeInfos"); JSONArray templateSignTimeInfosArray = positionsJson.getJSONArray("templateSignTimeInfos");
for(int n=0;n<templateSignTimeInfosArray.size();n++){ for(int n=0;n<templateSignTimeInfosArray.size();n++){
JSONObject templateSignTimeInfosJson = templateSignTimeInfosArray.getJSONObject(n); JSONObject templateSignTimeInfosJson = templateSignTimeInfosArray.getJSONObject(n);
@ -79,13 +83,18 @@ public class Esb2EsignTemplateSealPostionUtil {
signDateInfo.put("posY",templateSignTimeInfosJson.getString("posY")); signDateInfo.put("posY",templateSignTimeInfosJson.getString("posY"));
signDateInfos.add(signDateInfo); signDateInfos.add(signDateInfo);
} }
}
}
JSONObject signPo = new JSONObject(); JSONObject signPo = new JSONObject();
signPo.put("addSignTime",addSignTime); signPo.put("addSignTime",addSignTime);
signPo.put("edgePosition",1); signPo.put("edgePosition",1);
signPo.put("edgeScope",0); signPo.put("edgeScope",0);
signPo.put("posX",posX); signPo.put("posX",posX);
signPo.put("posY",posY); signPo.put("posY",posY);
signPo.put("pageNo",pageNo); signPo.put("posPage",pageNo);
signPo.put("signDateInfos",signDateInfos); signPo.put("signDateInfos",signDateInfos);
signPo.put("sealId",sealId); signPo.put("sealId",sealId);
@ -94,6 +103,7 @@ public class Esb2EsignTemplateSealPostionUtil {
signPos.add(signPo); signPos.add(signPo);
} }
partyA.put("signPos",signPos); partyA.put("signPos",signPos);
partyA.put("docFilekey",docFilekey); partyA.put("docFilekey",docFilekey);
}else if("乙方".equals(flowName)){ }else if("乙方".equals(flowName)){
@ -111,6 +121,8 @@ public class Esb2EsignTemplateSealPostionUtil {
String pageNo = positionsJson.getString("pageNo"); String pageNo = positionsJson.getString("pageNo");
JSONArray signDateInfos = new JSONArray(); JSONArray signDateInfos = new JSONArray();
if(positionsJson.containsKey("templateSignTimeInfos")){
if(!"[]".equals(positionsJson.getString("templateSignTimeInfos").trim())){
JSONArray templateSignTimeInfosArray = positionsJson.getJSONArray("templateSignTimeInfos"); JSONArray templateSignTimeInfosArray = positionsJson.getJSONArray("templateSignTimeInfos");
for(int n=0;n<templateSignTimeInfosArray.size();n++){ for(int n=0;n<templateSignTimeInfosArray.size();n++){
JSONObject templateSignTimeInfosJson = templateSignTimeInfosArray.getJSONObject(n); JSONObject templateSignTimeInfosJson = templateSignTimeInfosArray.getJSONObject(n);
@ -122,18 +134,23 @@ public class Esb2EsignTemplateSealPostionUtil {
signDateInfo.put("posY",templateSignTimeInfosJson.getString("posY")); signDateInfo.put("posY",templateSignTimeInfosJson.getString("posY"));
signDateInfos.add(signDateInfo); signDateInfos.add(signDateInfo);
} }
}
}
JSONObject signPo = new JSONObject(); JSONObject signPo = new JSONObject();
signPo.put("addSignTime",addSignTime); signPo.put("addSignTime",addSignTime);
signPo.put("edgePosition",1); signPo.put("edgePosition",1);
signPo.put("edgeScope",0); signPo.put("edgeScope",0);
signPo.put("posX",posX); signPo.put("posX",posX);
signPo.put("posY",posY); signPo.put("posY",posY);
signPo.put("pageNo",pageNo); signPo.put("posPage",pageNo);
if(signDateInfos.size() > 0){
signPo.put("signDateInfos",signDateInfos); signPo.put("signDateInfos",signDateInfos);
}
signPo.put("signIdentity","PERSON"); signPo.put("signIdentity","PERSON");
signPo.put("sealType","0"); signPo.put("sealType","0");
signPo.put("pageNo",pageNo); signPo.put("signType",2);
signPos.add(signPo); 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;i<templateFlows.size();i++){
JSONObject templateFlowJson = templateFlows.getJSONObject(i);
if(templateFlowJson.containsKey("flowName")){
String flowName = templateFlowJson.getString("flowName");
log.error("flowName:{}",flowName);
if("公司盖章处".equals(flowName)){
JSONObject predefineJson = templateFlowJson.getJSONObject("predefine");
boolean addSignTime = predefineJson.getBoolean("addSignTime");
JSONArray positionsArray = predefineJson.getJSONArray("positions");
log.error("positionsArray:{}",positionsArray.size());
JSONArray signPos = new JSONArray();
for(int k=0;k<positionsArray.size();k++){
JSONObject positionsJson = positionsArray.getJSONObject(k);
String posX = positionsJson.getString("posX");
String posY = positionsJson.getString("posY");
String pageNo = positionsJson.getString("pageNo");
log.error("posX:{}",posX);
log.error("posY:{}",posY);
log.error("pageNo:{}",pageNo);
JSONArray signDateInfos = new JSONArray();
if(positionsJson.containsKey("templateSignTimeInfos")){
if(!"[]".equals(positionsJson.getString("templateSignTimeInfos").trim())){
JSONArray templateSignTimeInfosArray = positionsJson.getJSONArray("templateSignTimeInfos");
for(int n=0;n<templateSignTimeInfosArray.size();n++){
JSONObject templateSignTimeInfosJson = templateSignTimeInfosArray.getJSONObject(n);
JSONObject signDateInfo = new JSONObject();
signDateInfo.put("dateFormat",templateSignTimeInfosJson.getString("dateFormat"));
signDateInfo.put("fontSize",templateSignTimeInfosJson.getString("fontSize"));
signDateInfo.put("posPage",templateSignTimeInfosJson.getString("posPage"));
signDateInfo.put("posX",templateSignTimeInfosJson.getString("posX"));
signDateInfo.put("posY",templateSignTimeInfosJson.getString("posY"));
signDateInfos.add(signDateInfo);
}
}
}
log.error("signDateInfos:{}",signDateInfos.size());
JSONObject signPo = new JSONObject();
signPo.put("addSignTime",addSignTime);
signPo.put("edgePosition",1);
signPo.put("edgeScope",0);
signPo.put("posX",posX);
signPo.put("posY",posY);
signPo.put("posPage",pageNo);
if(signDateInfos.size()>0){
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;
}
} }

View File

@ -77,7 +77,7 @@ public class WorkflowDegreeLevelDao {
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result); List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
log.error("recordList:"+recordList.size()); log.error("recordList:"+recordList.size());
if(!recordList.isEmpty()){ 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){ }catch (Exception e){

View File

@ -47,14 +47,14 @@ public class Esb2FeishuBotCreateTodoAction implements EsbServerlessRpcRemoteInte
if("0".equals(msgType)){ if("0".equals(msgType)){
String senderMobile =""; String senderMobile ="";
if(StringUtils.isNotBlank(senderid)){ if(StringUtils.isNotBlank(senderid)){
Long sender_id = Long.parseLong(senderid); Long sender_id = Long.valueOf(senderid);
SimpleEmployee senderEmployee = hrmCommonUtil.getSimpleEmployee(sender_id); SimpleEmployee senderEmployee = hrmCommonUtil.getSimpleEmployee(sender_id);
senderMobile = senderEmployee.getMobile(); senderMobile = senderEmployee.getMobile();
} }
String creatorMobile = ""; String creatorMobile = "";
if(StringUtils.isNotBlank(creatorid)){ if(StringUtils.isNotBlank(creatorid)){
Long creator_id = Long.parseLong(creatorid); Long creator_id = Long.valueOf(creatorid);
SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id);
creatorMobile = creatorEmployee.getMobile(); creatorMobile = creatorEmployee.getMobile();
} }
@ -74,7 +74,7 @@ public class Esb2FeishuBotCreateTodoAction implements EsbServerlessRpcRemoteInte
String operator_open_id = ""; String operator_open_id = "";
if(StringUtils.isNotBlank(operatorid)){ if(StringUtils.isNotBlank(operatorid)){
Long userid = Long.parseLong(operatorid); Long userid = Long.valueOf(operatorid);
log.error("userid:{}",userid); log.error("userid:{}",userid);
SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid);
String userMobile = userEmployee.getMobile(); String userMobile = userEmployee.getMobile();

View File

@ -71,7 +71,7 @@ public class Esb2FeishuCalendarsEventsAction implements EsbServerlessRpcRemoteIn
String mobile = ""; String mobile = "";
if(StringUtils.isNotBlank(employee_id)){ if(StringUtils.isNotBlank(employee_id)){
Long employeeId = Long.parseLong(employee_id); Long employeeId = Long.valueOf(employee_id);
SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId); SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId);
mobile = simpleEmployee.getMobile(); mobile = simpleEmployee.getMobile();
} }

View File

@ -47,7 +47,7 @@ public class Esb2FeishuCreateCalendarsTimeoffAction implements EsbServerlessRpcR
String mobile = ""; String mobile = "";
if(StringUtils.isNotBlank(employee_id)){ if(StringUtils.isNotBlank(employee_id)){
Long employeeId = Long.parseLong(employee_id); Long employeeId = Long.valueOf(employee_id);
SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId); SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(employeeId);
mobile = simpleEmployee.getMobile(); mobile = simpleEmployee.getMobile();
} }

View File

@ -84,7 +84,7 @@ public class Esb2FeishuSendDeleteAction implements EsbServerlessRpcRemoteInterfa
String creatorname = ""; String creatorname = "";
String creatorMobile = ""; String creatorMobile = "";
if(StringUtils.isNotBlank(creatorid)){ if(StringUtils.isNotBlank(creatorid)){
Long creator_id = Long.parseLong(creatorid); Long creator_id = Long.valueOf(creatorid);
SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id);
creatorMobile = creatorEmployee.getMobile(); creatorMobile = creatorEmployee.getMobile();
creatorname = creatorEmployee.getUsername(); creatorname = creatorEmployee.getUsername();
@ -100,7 +100,7 @@ public class Esb2FeishuSendDeleteAction implements EsbServerlessRpcRemoteInterfa
String operator_open_id = "" ; String operator_open_id = "" ;
if(StringUtils.isNotBlank(operatorid)){ if(StringUtils.isNotBlank(operatorid)){
Long userid = Long.parseLong(operatorid); Long userid = Long.valueOf(operatorid);
SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid);
String userMobile = userEmployee.getMobile(); String userMobile = userEmployee.getMobile();

View File

@ -84,7 +84,7 @@ public class Esb2FeishuSendDoneAction implements EsbServerlessRpcRemoteInterface
String status = "APPROVED"; String status = "APPROVED";
String creatorMobile = ""; String creatorMobile = "";
if(StringUtils.isNotBlank(creatorid)){ if(StringUtils.isNotBlank(creatorid)){
Long creator_id = Long.parseLong(creatorid); Long creator_id = Long.valueOf(creatorid);
SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id);
@ -102,7 +102,7 @@ public class Esb2FeishuSendDoneAction implements EsbServerlessRpcRemoteInterface
String operator_open_id = "" ; String operator_open_id = "" ;
if(StringUtils.isNotBlank(operatorid)){ if(StringUtils.isNotBlank(operatorid)){
Long userid = Long.parseLong(operatorid); Long userid = Long.valueOf(operatorid);
SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid);
String userMobile = userEmployee.getMobile(); String userMobile = userEmployee.getMobile();
log.error("操作者:{}",userEmployee.getUsername()); log.error("操作者:{}",userEmployee.getUsername());

View File

@ -79,7 +79,7 @@ public class Esb2FeishuSendFinishAction implements EsbServerlessRpcRemoteInterfa
if("5".equals(msgType)){ if("5".equals(msgType)){
String creatorMobile = ""; String creatorMobile = "";
if(StringUtils.isNotBlank(creatorid)){ if(StringUtils.isNotBlank(creatorid)){
Long creator_id = Long.parseLong(creatorid); Long creator_id = Long.valueOf(creatorid);
SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id);
creatorMobile = creatorEmployee.getMobile(); creatorMobile = creatorEmployee.getMobile();
creatorname = creatorEmployee.getUsername(); creatorname = creatorEmployee.getUsername();
@ -95,7 +95,7 @@ public class Esb2FeishuSendFinishAction implements EsbServerlessRpcRemoteInterfa
String operator_open_id = "" ; String operator_open_id = "" ;
if(StringUtils.isNotBlank(operatorid)){ if(StringUtils.isNotBlank(operatorid)){
Long userid = Long.parseLong(operatorid); Long userid = Long.valueOf(operatorid);
SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid);
String userMobile = userEmployee.getMobile(); String userMobile = userEmployee.getMobile();
log.error("userMobile:{}",userMobile); log.error("userMobile:{}",userMobile);

View File

@ -88,7 +88,7 @@ public class Esb2FeishuSendTodoAction implements EsbServerlessRpcRemoteInterface
String creatorMobile = ""; String creatorMobile = "";
if(StringUtils.isNotBlank(creatorid)){ if(StringUtils.isNotBlank(creatorid)){
Long creator_id = Long.parseLong(creatorid); Long creator_id = Long.valueOf(creatorid);
SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id); SimpleEmployee creatorEmployee = hrmCommonUtil.getSimpleEmployee(creator_id);
creatorMobile = creatorEmployee.getMobile(); creatorMobile = creatorEmployee.getMobile();
creatorname = creatorEmployee.getUsername(); creatorname = creatorEmployee.getUsername();
@ -103,7 +103,7 @@ public class Esb2FeishuSendTodoAction implements EsbServerlessRpcRemoteInterface
String operator_open_id = "" ; String operator_open_id = "" ;
if(StringUtils.isNotBlank(operatorid)){ if(StringUtils.isNotBlank(operatorid)){
Long userid = Long.parseLong(operatorid); Long userid = Long.valueOf(operatorid);
SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid); SimpleEmployee userEmployee = hrmCommonUtil.getSimpleEmployee(userid);
String userMobile = userEmployee.getMobile(); String userMobile = userEmployee.getMobile();
log.error("操作人:{}",userEmployee.getUsername()); log.error("操作人:{}",userEmployee.getUsername());

View File

@ -58,11 +58,11 @@ public class Esb2QunjieCreateSealApplyAction implements EsbServerlessRpcRemoteIn
int applyCountInt = 0; int applyCountInt = 0;
if(StringUtils.isNotBlank(applyCount)){ if(StringUtils.isNotBlank(applyCount)){
applyCountInt = Integer.parseInt(applyCount); applyCountInt = Integer.valueOf(applyCount);
} }
int applyCrossPageSealCountInt = 0; int applyCrossPageSealCountInt = 0;
if(StringUtils.isNotBlank(applyCrossPageSealCount)){ if(StringUtils.isNotBlank(applyCrossPageSealCount)){
applyCrossPageSealCountInt = Integer.parseInt(applyCrossPageSealCount); applyCrossPageSealCountInt = Integer.valueOf(applyCrossPageSealCount);
} }
if(applyCountInt <=0 && applyCrossPageSealCountInt <=0){ if(applyCountInt <=0 && applyCrossPageSealCountInt <=0){
return WeaResult.fail(500,"用印次数和骑缝章次数不能同时小等于0"); return WeaResult.fail(500,"用印次数和骑缝章次数不能同时小等于0");

View File

@ -78,15 +78,19 @@ public class Esb2QunjieEconomicCompensationAction implements EsbServerlessRpcRem
Map<String, Object> dataMap = esb2QunjieEconomicCompensationUtil.applySealRequest(requestid,requestName,fileids); Map<String, Object> 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 applyId = String.valueOf(dataMap.get("applyId"));
String workflowBaseId = String.valueOf(dataMap.get("workflowBaseId")); String workflowBaseId = String.valueOf(dataMap.get("workflowBaseId"));
String formId = String.valueOf(dataMap.get("formId")); String formId = String.valueOf(dataMap.get("formId"));
String applyNo = String.valueOf(dataMap.get("applyNo")); String applyNo = String.valueOf(dataMap.get("applyNo"));
String safeCode = String.valueOf(dataMap.get("safeCode")); String safeCode = String.valueOf(dataMap.get("safeCode"));
String vrCode = String.valueOf(dataMap.get("vrCode")); 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,"用印申请流程创建失败"); return WeaResult.fail(500,"用印申请流程创建失败");
} }

View File

@ -61,12 +61,12 @@ public class Esb2QunjieEconomicCompensationUtil {
try { try {
String[] fileidArray = fileids.split(","); String[] fileidArray = fileids.split(",");
for(int i=0;i<fileidArray.length;i++){ for(int i=0;i<fileidArray.length;i++){
Long fileid = Long.parseLong(fileidArray[i]); Long fileid = Long.valueOf(fileidArray[i]);
FileData fileData = fileDownloadService.downloadFile(fileid); FileData fileData = fileDownloadService.downloadFile(fileid);
FileObj fileObj = fileData.getFileObj(); FileObj fileObj = fileData.getFileObj();
String fileName = fileObj.getName(); String fileName = fileObj.getName();
log.error("fileName:{}",fileName); log.error("fileName:{}",fileName);
String encodedFileName = URLEncoder.encode(fileName, "UTF-8"); // String encodedFileName = URLEncoder.encode(fileName, "UTF-8");
inputStream = fileData.getInputStream(); inputStream = fileData.getInputStream();
if (inputStream.available() > 0) { if (inputStream.available() > 0) {
byte[] fileByte = convertInputStreamToBytes(inputStream); byte[] fileByte = convertInputStreamToBytes(inputStream);
@ -242,7 +242,14 @@ public class Esb2QunjieEconomicCompensationUtil {
messageMap.put("applyNo",applyNo); messageMap.put("applyNo",applyNo);
messageMap.put("safeCode",safeCode); messageMap.put("safeCode",safeCode);
messageMap.put("vrCode",vrCode); 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"));
} }
} }
} }