diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessmentDao.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessmentDao.java new file mode 100644 index 0000000..0b036e2 --- /dev/null +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/dao/HrmAssessmentDao.java @@ -0,0 +1,228 @@ +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 HrmAssessmentDao { + + private final static Logger log = LoggerFactory.getLogger(HrmAssessmentDao.class); + + @Autowired + private DatabaseUtils databaseUtils; + + /** + * + * @return + */ + public String getAssessmentData(String khnf,String khzq,String jxhdid,String bkhr){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + String id = ""; + try{ + String dataSql =" select id from uf_jxsjtz " + + " where khnf = ? " + + " and khzq = ? " + + " and jxhdid = ? " + + " and bkhr = ? " + + " and tenant_key=? \n" + + " and delete_type=0" ; + + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(khnf); + paramList.add(khzq); + paramList.add(jxhdid); + paramList.add(bkhr); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:{}",recordList.size()); + if(recordList.size()>0){ + id = String.valueOf(recordList.get(0).get("id")); + } + }catch (Exception e){ + log.error("e:{}" , e); + } + return id; + } + + /*** + * + * @param tableName + * @return + */ + public String queryTableFormId(String tableName){ + String sourceType = "LOGIC"; + String groupId = "weaver-ebuilder-form-service"; + String form_id = ""; + try{ + String dataSql =" select form_id from form_table where table_name=? and delete_type=0 and tenant_key=?" ; + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(tableName); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryTableFormId:"+recordList.size()); + if(recordList.size()>0){ + Map recordMap = recordList.get(0); + form_id = String.valueOf(recordMap.get("form_id")); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("queryTableFormId:e:" + e); + } + return form_id; + } + + + /** + * + * @param dataKeyList + * @return + */ + public Map queryFromTableField(String formTable,List dataKeyList){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map fieldMap = new HashMap(); + try{ + String dataKey = dataKeyList.stream().collect(Collectors.joining(",")); + + String dataSql =" select id,form_id,title,data_key " + + " from eteams.form_field " + + " where form_id in( select form_id from eteams.form_table where table_name=? and delete_type=0 and tenant_key=? ) \n" + + " and data_key in("+dataKey+")\n" + + " and sub_form_id is null " + + " and tenant_key=? \n" + + " and delete_type=0" ; + + log.error("queryFromTableField--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(formTable); + paramList.add(Constants.TENANT_KEY); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryFromTableField:"+recordList.size()); + for(Map recordMap : recordList ) { + String data_key = String.valueOf(recordMap.get("data_key")); + String id = String.valueOf(recordMap.get("id")); + fieldMap.put(data_key,id); + } + }catch (Exception e){ + log.error("queryFromTableField:e:" + e); + } + return fieldMap; + } + + + + public String queryEmailByEmployeeId(String employeeId){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + String gryx = ""; + try{ + + String dataSql =" select k.gryx from eteams.employee t\n" + + " inner join eteams.ft_1152026012537184302 k on k.id = t.formdata\n" + + " where t.id=? " + + " and t.tenant_key=? \n" + + " and t.delete_type=0" + + " and k.tenant_key=? \n" + + " and k.delete_type=0"; + + log.error("queryEmailByEmployeeId--dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(employeeId); + paramList.add(Constants.TENANT_KEY); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("queryEmailByEmployeeId:"+recordList.size()); + if(recordList.size() > 0){ + gryx = String.valueOf(recordList.get(0).get("gryx")); + } + }catch (Exception e){ + log.error("queryEmailByEmployeeId:e:" + e); + } + return gryx; + } + + + public Map queryDepartmentData(){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map dataMap = new HashMap(); + try{ + String dataSql =" select code,id from eteams.department where status = 1 " + + " and tenant_key=? \n" + + " and delete_type=0 " ; + + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:"+recordList.size()); + for(int i=0;i recordMap = recordList.get(i); + String code = String.valueOf(recordMap.get("code")); + String id = String.valueOf(recordMap.get("id")); + dataMap.put(code,id); + } + }catch (Exception e){ + log.error("e:" + e); + } + return dataMap; + } + + + public Map queryEmployeeData(){ + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + Map dataMap = new HashMap(); + + try{ + String dataSql =" select job_num,id from eteams.employee where tenant_key=? and delete_type = 0" ; + log.error("dataSql:" + dataSql); + List paramList = new ArrayList<>(100); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> recordList = databaseUtils.getDataSourceList(result); + log.error("recordList:"+recordList.size()); + for(int i=0;i recordMap = recordList.get(i); + String job_num = String.valueOf(recordMap.get("job_num")); + String id = String.valueOf(recordMap.get("id")); + dataMap.put(job_num,id); + } + }catch (Exception e){ + log.error("e:" + e); + } + return dataMap; + } +} diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPerformanceCronJobNew.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPerformanceCronJobNew.java index a968f05..9e44bb3 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPerformanceCronJobNew.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/beisen/esb/Esb2BeisenPerformanceCronJobNew.java @@ -10,6 +10,7 @@ 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.HrmAssessmentDao; import com.weaver.seconddev.chapanda.beisen.dao.HrmDepartmentDao; import com.weaver.seconddev.chapanda.beisen.util.EbuilderOperateUtils; import com.weaver.seconddev.chapanda.beisen.util.Esb2BeiSenAssessmentUtil; @@ -44,6 +45,9 @@ public class Esb2BeisenPerformanceCronJobNew implements EsbServerlessRpcRemoteIn @Autowired HrmDepartmentDao hrmDepartmentDao; + @Autowired + HrmAssessmentDao hrmAssessmentDao; + @Override public WeaResult> execute(Map params) { log.error("Esb2BeisenPerformanceCronJobNew start"); @@ -74,9 +78,8 @@ public class Esb2BeisenPerformanceCronJobNew implements EsbServerlessRpcRemoteIn fieldList.add("jxxs"); fieldList.add("bkhr"); fieldList.add("khzqlx"); - fieldList.add("jxxs"); - - + fieldList.add("ppdj"); + fieldList.add("jxhdid"); String token = token2BeiSenUtil.getToken(); @@ -117,41 +120,72 @@ public class Esb2BeisenPerformanceCronJobNew implements EsbServerlessRpcRemoteIn // } // } - - int effectiveTotal = 0; int failTotal = 0; if(assessmentArray.size() > 0){ JSONArray dataArray = convertAssessmentList(assessmentArray); log.error("dataArray:"+dataArray.size()); - List datas = new ArrayList(); + Map fieldMap = formFieldDao.queryFromTableField(Constants.assessmentFormTable,fieldList); + + List addDatas = new ArrayList(); + List updateDatas = new ArrayList(); for(int i=0;i mainData = new ArrayList(); - for(int n=0;n mainData = new ArrayList(); + mainData.add(new EBDataReqDetailDto("id", ufId)); + for(int n=0;n mainData = new ArrayList(); + for(int n=0;n recordMap = formFieldDao.queryTableFormId(Constants.assessmentFormTable); String formId = recordMap.get("id").toString(); @@ -159,17 +193,32 @@ public class Esb2BeisenPerformanceCronJobNew implements EsbServerlessRpcRemoteIn log.error("formId:{}",formId); log.error("appId:{}",appId); if(StringUtils.isNotBlank(formId) && StringUtils.isNotBlank(appId)){ - EBDataChangeResult ebDataChangeResult = ebuilderOperateUtils.bacthInsertDbForm(datas,formId,appId); - boolean isTrue = ebDataChangeResult.getStatus(); - log.error("isTrue:{}",isTrue); - if(isTrue){ - ebList = ebDataChangeResult.getDataIds(); + 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()); + } } } } log.error("ebList:{}", JSON.toJSONString(ebList)); + Map actionMap = new HashMap(); actionMap.put("code",200); actionMap.put("msg","同步成功"); @@ -261,6 +310,7 @@ public class Esb2BeisenPerformanceCronJobNew implements EsbServerlessRpcRemoteIn if("ActivityManagerId".equals(name)){ dataJson.put("jxhdmc",text); + dataJson.put("jxhdid",value); } // if("Employee".equals(name)){ @@ -335,7 +385,7 @@ public class Esb2BeisenPerformanceCronJobNew implements EsbServerlessRpcRemoteIn } if("TotalScoreRuleIdLookup".equals(name)){ - dataJson.put("jxxs",text); + dataJson.put("ppdj",text); } } dataArray.add(dataJson); diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/constant/Constants.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/constant/Constants.java index 58804e7..ed0a549 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/constant/Constants.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/constant/Constants.java @@ -60,7 +60,7 @@ public class Constants { public static String cancelCalendarUrl = "/open-apis/calendar/v4/calendars/%s/events/%s"; - public static boolean cancelNeedNotification = true; + public static boolean cancelNeedNotification = false; public static String updateCalendarUrl ="/open-apis/calendar/v4/calendars/%s/events/%s?user_id_type=open_id"; diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsCancelAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsCancelAction.java index 370a14a..5b71b88 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsCancelAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsCancelAction.java @@ -23,10 +23,16 @@ public class Esb2FeishuCalendarsCancelAction implements EsbServerlessRpcRemoteIn public WeaResult> execute(Map params) { String calendar_id = (String) params.get("calendar_id"); String event_id = (String) params.get("event_id"); + String dataid = (String) params.get("dataid"); + String datacode = (String) params.get("datacode"); log.error("calendar_id:{}",calendar_id); log.error("event_id:{}",event_id); + if("0".equals(datacode)){ + return WeaResult.fail(500,"飞书日程已删除"); + } + if(StringUtils.isBlank(calendar_id)){ return WeaResult.fail(500,"获取飞书的日历信息失败"); } @@ -50,6 +56,7 @@ public class Esb2FeishuCalendarsCancelAction implements EsbServerlessRpcRemoteIn actionMap.put("calendarId",calendar_id); actionMap.put("eventId",event_id); actionMap.put("datacode",code); + actionMap.put("dataid",dataid); return WeaResult.success(actionMap); } } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java index 203e2a3..0668906 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsEventsAction.java @@ -49,6 +49,11 @@ public class Esb2FeishuCalendarsEventsAction implements EsbServerlessRpcRemoteIn String type = (String) params.get("type"); String dataid = (String) params.get("dataid"); + String attendee_id_ = (String) params.get("attendee_id"); + if(StringUtils.isNotBlank(attendee_id_)){ + return WeaResult.fail(500,"日程已创建,无法新建日程"); + } + if("BusinessTrip".equals(type)){ String start_time = ""; if(params.containsKey("start_time")){ diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsUpdateAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsUpdateAction.java index 7f3797a..b76fe4d 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsUpdateAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCalendarsUpdateAction.java @@ -29,7 +29,7 @@ public class Esb2FeishuCalendarsUpdateAction implements EsbServerlessRpcRemoteIn String location_address = (String) params.get("location_address"); String type = (String) params.get("type"); - String dataId = (String) params.get("dataId"); + String dataid = (String) params.get("dataid"); String openId = (String) params.get("openId"); String calendarId = (String) params.get("calendarId"); @@ -37,7 +37,7 @@ public class Esb2FeishuCalendarsUpdateAction implements EsbServerlessRpcRemoteIn log.error("openId:{}",openId); log.error("calendarId:{}",calendarId); log.error("eventId:{}",eventId); - log.error("dataId:{}",dataId); + log.error("dataid:{}",dataid); if("BusinessTrip".equals(type)){ String start_time = ""; @@ -80,9 +80,10 @@ public class Esb2FeishuCalendarsUpdateAction implements EsbServerlessRpcRemoteIn actionMap.put("code",200); actionMap.put("msg","成功"); actionMap.put("calendarId",calendarId); - actionMap.put("eventId",update_event_id); + actionMap.put("eventId",eventId); actionMap.put("openId",openId); - actionMap.put("dataId",dataId); + actionMap.put("dataid",dataid); + actionMap.put("update_event_id",update_event_id); return WeaResult.success(actionMap); } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java index 52da53d..a898bbd 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuCreateCalendarsTimeoffAction.java @@ -35,6 +35,12 @@ public class Esb2FeishuCreateCalendarsTimeoffAction implements EsbServerlessRpcR String end_date = (String) params.get("end_date"); String employee_id = (String) params.get("employee_id"); String type = (String) params.get("type"); + String timeoffEventId = (String) params.get("timeoffEventId"); + String dataid = (String) params.get("dataid"); + + if(StringUtils.isNotBlank(timeoffEventId)){ + return WeaResult.fail(500,"请假日程已创建,无法新建请假日程"); + } log.error("start_date:{}",start_date); log.error("end_date:{}",end_date); @@ -77,6 +83,7 @@ public class Esb2FeishuCreateCalendarsTimeoffAction implements EsbServerlessRpcR actionMap.put("msg","成功"); actionMap.put("timeoffEventId",timeoff_event_id); actionMap.put("openId",openId); + actionMap.put("dataid",dataid); return WeaResult.success(actionMap); } } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuDeleteCalendarsTimeoffAction.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuDeleteCalendarsTimeoffAction.java index 87e1475..b06461c 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuDeleteCalendarsTimeoffAction.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/feishu/esb/Esb2FeishuDeleteCalendarsTimeoffAction.java @@ -22,6 +22,12 @@ public class Esb2FeishuDeleteCalendarsTimeoffAction implements EsbServerlessRpcR @Override public WeaResult> execute(Map params) { String timeoff_event_id = (String) params.get("timeoff_event_id"); + String datacode = (String) params.get("datacode"); + String dataid = (String) params.get("dataid"); + + if(StringUtils.isBlank(datacode)){ + return WeaResult.fail(500,"请假日程已删除"); + } log.error("timeoff_event_id:{}",timeoff_event_id); @@ -44,6 +50,7 @@ public class Esb2FeishuDeleteCalendarsTimeoffAction implements EsbServerlessRpcR actionMap.put("msg","成功"); actionMap.put("timeoffEventId",timeoff_event_id); actionMap.put("datacode",code); + actionMap.put("dataid",dataid); return WeaResult.success(actionMap); } } diff --git a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/test/test8.java b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/test/test8.java index 8e28552..e290c21 100644 --- a/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/test/test8.java +++ b/secondev-chapanda-integration/src/main/java/com/weaver/seconddev/chapanda/test/test8.java @@ -9,6 +9,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.security.PrivateKey; +import java.util.UUID; public class test8 { @@ -48,8 +49,8 @@ public class test8 { // String date ="2025-06-10"; // System.out.println(date.length()); -// String uuid = UUID.randomUUID().toString(); -// System.out.println(uuid); + String uuid = UUID.randomUUID().toString(); + System.out.println(uuid); // // String message = "{\"code\":0,\"data\":{\"calendars\":[{\"calendar\":{\"calendar_id\":\"feishu.cn_CyZB7DD34hJrcBwosRTtDf@group.calendar.feishu.cn\",\"color\":-11034625,\"description\":\"\",\"permissions\":\"private\",\"role\":\"owner\",\"summary\":\"聚才林HR\",\"summary_alias\":\"\",\"type\":\"primary\"},\"user_id\":\"ou_f102af8c3620c64b37077cc949bcc8fe\"}]},\"msg\":\"success\"}"; // if(StringUtils.isNotBlank(message)){