123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569 |
- package com.kingdee.eas.custom.synctask.handler;
- import com.alibaba.fastjson.JSONObject;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.metadata.entity.*;
- import com.kingdee.bos.metadata.query.util.CompareType;
- import com.kingdee.eas.basedata.org.*;
- import com.kingdee.eas.basedata.person.IPerson;
- import com.kingdee.eas.basedata.person.PersonCollection;
- import com.kingdee.eas.basedata.person.PersonFactory;
- import com.kingdee.eas.basedata.person.PersonInfo;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.cp.taskmng.util.StringUtil;
- import com.kingdee.eas.custom.log.ISyncLog;
- import com.kingdee.eas.custom.log.SyncLogFactory;
- import com.kingdee.eas.custom.log.SyncLogInfo;
- import com.kingdee.eas.custom.log.app.DataDirectionEnum;
- import com.kingdee.eas.custom.log.app.DockingSystemEnum;
- import com.kingdee.eas.custom.log.app.SyncEntityNameEnum;
- import com.kingdee.eas.custom.log.app.SyncStatusEnum;
- import com.kingdee.eas.custom.synctask.SyncTranForIOTFacade;
- import com.kingdee.eas.custom.synctask.SyncTranForIOTFacadeFactory;
- import com.kingdee.eas.custom.synctask.SyncTranForOAFacadeFactory;
- import com.kingdee.eas.custom.synctask.util.ExpiringMapCache;
- import com.kingdee.eas.hr.ats.AtsUtil;
- import com.kingdee.eas.hr.base.EmployeeTypeInfo;
- import com.kingdee.eas.hr.emp.IPersonPosition;
- import com.kingdee.eas.hr.emp.PersonPositionCollection;
- import com.kingdee.eas.hr.emp.PersonPositionFactory;
- import com.kingdee.eas.hr.emp.PersonPositionInfo;
- import com.kingdee.eas.hr.emp.web.handler.EmployeeListHandler;
- import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
- import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
- import com.kingdee.shr.base.syssetting.context.SHRContext;
- import com.kingdee.shr.base.syssetting.exception.SHRWebException;
- import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
- import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
- import com.kingdee.util.StringUtils;
- import okhttp3.*;
- import org.apache.log4j.Logger;
- import org.springframework.ui.ModelMap;
- import org.springframework.util.DigestUtils;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.*;
- /**
- * @author qingwu
- * @date 2024/10/24
- * @apiNote 员工信息维护扩展
- */
- public class EmployeeListHandlerEx extends EmployeeListHandler {
- public static Logger logger = Logger.getLogger(EmployeeListHandlerEx.class);
- private Context ctx = SHRContext.getInstance().getContext();
- private static Map<String, String> personStatusMap = new HashMap<String, String>();
- private Properties propt = new Properties();
- private static ExpiringMapCache<String, String> cache = new ExpiringMapCache();
- public EmployeeListHandlerEx() throws BOSException {
- String syncOAConfigPath = System.getProperty("EAS_HOME") + "/server/properties/scy/syncIOTConfig.properties";
- try {
- propt.load(new FileInputStream(syncOAConfigPath));
- } catch (IOException e) {
- e.printStackTrace();
- String errorMsg = "获取配置文件报错,请检查配置:" + syncOAConfigPath + " " + e.getMessage();
- throw new BOSException(errorMsg);
- }
- }
- static {
- personStatusMap.put("001", "1");//试用员工
- personStatusMap.put("011", "1");//待岗
- personStatusMap.put("006", "1");//长期病假
- personStatusMap.put("007", "1");//停薪留职
- personStatusMap.put("005", "1");//出国
- personStatusMap.put("012", "1");//返聘员工
- personStatusMap.put("031", "1");//长学
- personStatusMap.put("S01", "1");//实习生
- personStatusMap.put("S02", "1");//劳务派遣
- personStatusMap.put("S05", "1");//待分配
- personStatusMap.put("S03", "1");//顾问
- personStatusMap.put("S20", "1");//临时工
- personStatusMap.put("002", "3");//辞退
- personStatusMap.put("010", "3");//辞职
- personStatusMap.put("009", "3");//退休
- personStatusMap.put("003", "3");//下岗
- personStatusMap.put("004", "3");//离休
- personStatusMap.put("013", "3");//开除
- personStatusMap.put("020", "3");//解聘
- personStatusMap.put("021", "3");//失踪
- personStatusMap.put("030", "3");//死亡
- personStatusMap.put("S04", "3");//返聘终止
- personStatusMap.put("S08", "3");//离职
- personStatusMap.put("S09", "3");//派遣终止
- personStatusMap.put("035", "3");//临时工终止
- personStatusMap.put("S07", "3");//实习终止
- }
- /**
- * 获取人员批处理信息
- *
- * @param request
- * @param response
- * @param modelMap
- * @return
- */
- public void getPersonBatchInfoAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws BOSException, ShrWebBizException {
- try {
- IPerson iPerson = PersonFactory.getLocalInstance(ctx);
- PersonCollection personCollection = null;
- String ids = request.getParameter("ids");
- if (StringUtil.isEmpty(ids)) {
- personCollection = iPerson.getPersonCollection();
- } else {
- Set<String> adminOrgIds = AtsUtil.toSet(ids);
- FilterInfo filterInfo = new FilterInfo();
- FilterItemCollection filterItems = filterInfo.getFilterItems();
- filterItems.add(new FilterItemInfo("id", adminOrgIds, CompareType.INCLUDE));
- EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, null, null);
- personCollection = iPerson.getPersonCollection(entityViewInfo);
- }
- List list = new ArrayList();
- for (int i = 0; i < personCollection.size(); i++) {
- PersonInfo personInfo = personCollection.get(i);
- Map personMap = new HashMap();
- personMap.put("person.name", personInfo.getName());
- personMap.put("person.number", personInfo.getNumber());
- personMap.put("person.id", personInfo.getId().toString());
- personMap.put("id", personInfo.getId().toString());
- list.add(personMap);
- }
- JSONUtils.SUCCESS(list);
- } catch (Exception e) {
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }
- }
- /**
- * 同步IOT人员
- * 后续如需部署生产去掉Ex
- * @param request
- * @param response
- * @param modelMap
- * @throws BOSException
- * @throws EASBizException
- * @throws SHRWebException
- */
- public void syncPersonToIotExAction(HttpServletRequest request,
- HttpServletResponse response,
- ModelMap modelMap) throws BOSException, ShrWebBizException {
- String billId = request.getParameter("billId");
- IPerson iPerson = PersonFactory.getLocalInstance(ctx);
- PersonCollection personCollection = null;
- Set personIds = null;
- Map<String, String> personNameAndNumberMap = new HashMap<String, String>();
- if (StringUtils.isEmpty(billId)) {
- personCollection = iPerson.getPersonCollection("select id,number");
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < personCollection.size(); i++) {
- PersonInfo personInfo = personCollection.get(i);
- String personId = personInfo.getId().toString();
- String personNumber = personInfo.getNumber().toString();
- sb.append(personId).append(",");
- personNameAndNumberMap.put(personNumber, personId);
- }
- sb.deleteCharAt(sb.lastIndexOf(","));
- billId = sb.toString();
- } else {
- personCollection = iPerson.getPersonCollection("select id,number where id in (" + AtsUtil.getStrFromString(billId) + ")");
- }
- personIds = AtsUtil.toSet(billId);
- //调用同步IOT人员
- try {
- Map<String, String> resultMap = SyncTranForIOTFacadeFactory.getLocalInstance(ctx).syncPersonToIot(billId);
- //Map<String, String> resultMap = syncPersonToIot(billId);
- int failure = 0;
- int success = personIds.size();
- BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
- for (int i = 0; i < personCollection.size(); i++) {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- PersonInfo personInfo = personCollection.get(i);
- body.setId(personInfo.getId().toString());
- String personNumber = personInfo.getNumber();
- if (resultMap.containsKey(personNumber)) {
- //失败
- body.setMuitTipsState(false);
- body.setMuitTipsMessage(resultMap.get(personNumber));
- failure++;
- } else {
- body.setMuitTipsState(true);
- }
- batchMessageTipsHeader.addResult(body);
- }
- success -= failure;
- //for (int i = 0; i < list.size(); i++) {
- // BatchMessageTipsBody body = new BatchMessageTipsBody();
- // Map<String, String> map = list.get(i);
- // //personNameAndNumberMap
- // String personId = personNameAndNumberMap.get(map.get("id"));
- // //body.setId(map.get("id"));
- // body.setId(personId);
- // body.setMuitTipsState(Boolean.FALSE);
- // logger.error("result--personId--" + personId);
- // logger.error("result--msg--" + map.get("msg"));
- // body.setMuitTipsMessage(map.get("msg"));
- // batchMessageTipsHeader.addResult(body);
- //}
- logger.error("handleEnableWithTips----- >> ");
- batchMessageTipsHeader.setBillId(billId);
- batchMessageTipsHeader.setFailureCount(failure);
- batchMessageTipsHeader.setSuccessCount(success);
- ObjectMapper mapper = new ObjectMapper();
- logger.error("handleEnableWithTips----- >> " + mapper.writeValueAsString(batchMessageTipsHeader));
- logger.error("handleEnableWithTips--size--- >> " + batchMessageTipsHeader.getResult().size());
- //logger.error("batchMessageTipsHeader " + batchMessageTipsHeader.getSuccessCount());
- request.setAttribute("res_method_data", batchMessageTipsHeader);
- this.writeSuccessData(batchMessageTipsHeader);
- logger.error("handleEnableWithTips----- end ");
- } catch (Exception e) {
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }
- }
- public Map<String, String> syncPersonToIot(String billIds) throws BOSException, EASBizException, SHRWebException {
- ISyncLog iSyncLog = SyncLogFactory.getLocalInstance(ctx);
- SyncLogInfo syncLogInfo = new SyncLogInfo();
- syncLogInfo.setEntityName(SyncEntityNameEnum.person);
- syncLogInfo.setDataDirection(DataDirectionEnum.outflow);
- syncLogInfo.setDockingSystem(DockingSystemEnum.IOT);
- IPersonPosition iPersonPosition = PersonPositionFactory.getLocalInstance(ctx);
- FilterInfo filterInfo = new FilterInfo();
- FilterItemCollection filterItems = filterInfo.getFilterItems();
- Set personIds = AtsUtil.toSet(billIds);
- logger.error("syncPersonToIot---personIds---" + personIds);
- filterItems.add(new FilterItemInfo("person", personIds, CompareType.INCLUDE));
- SelectorItemCollection sic = new SelectorItemCollection();
- sic.add("*");
- sic.add("person.number");
- sic.add("person.name");
- sic.add("person.id");
- sic.add("person.hireDate");
- sic.add("person.nCell");
- sic.add("person.gender");
- sic.add("person.email");
- sic.add("person.employeeType.number");
- sic.add("personDep.name");
- sic.add("personDep.number");
- sic.add("personDep.id");
- sic.add("personDep.parent.id");
- EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, sic, null);
- PersonPositionCollection personPositionCollection = iPersonPosition.getPersonPositionCollection(entityViewInfo);
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("dataSyncRule", 1);//1:组织ID存在时更新 2:组织ID存在时跳过不更新。默认值1
- List dataList = new ArrayList();
- for (int i = 0; i < personPositionCollection.size(); i++) {
- Map personMap = new HashMap();
- PersonPositionInfo personPositionInfo = personPositionCollection.get(i);
- PersonInfo person = personPositionInfo.getPerson();
- //personMap.put("id", person.getId().toString());//来源方用户ID
- personMap.put("id", person.getNumber());//来源方用户ID
- personMap.put("name", person.getName());//用户姓名
- personMap.put("phone", person.getNCell());//手机号
- personMap.put("gender", person.getGender() == null ? null : person.getGender().getValue());//性别
- personMap.put("email", person.getEmail());//邮箱
- EmployeeTypeInfo employeeType = person.getEmployeeType();
- String number = employeeType.getNumber();
- String personStatus = personStatusMap.get(number);
- personMap.put("status", personStatus);//状态
- AdminOrgUnitInfo personDep = personPositionInfo.getPersonDep();
- List orgIds = new ArrayList();
- orgIds.add(personDep.getParent().getId().toString());
- personMap.put("orgIds", orgIds);//来源方组织ID列表
- dataList.add(personMap);
- //员工编码
- Map paramsMap = new HashMap();
- paramsMap.put("employeeNo", person.getNumber());
- personMap.put("params", paramsMap);
- }
- jsonObject.put("data", dataList);//1:组织ID存在时更新 2:组织ID存在时跳过不更新。默认值1
- //执行同步人员到Iot
- return syncPerson(jsonObject.toString(), syncLogInfo);
- }
- /**
- * 请求方法
- *
- * @param data
- */
- public Map<String, String> syncPerson(String data, SyncLogInfo syncLogInfo) throws BOSException, EASBizException {
- Response response = null;
- Map<String, String> result = new HashMap<>();
- try {
- String syncOrgUnitApiUrl = this.propt.getProperty("syncUserApiUrl");
- //String syncOrgUnitApiUrl = "http://10.0.3.87/api/open/enterpriseright/org-manage/v1/external/org/batch";
- if (org.apache.commons.lang3.StringUtils.isBlank(syncOrgUnitApiUrl)) {
- throw new BOSException("syncOrgUnitApiUrl不能为空!");
- }
- logger.error("syncOrg---data-----" + data);
- OkHttpClient client = new OkHttpClient();
- MediaType mediaType = MediaType.parse("application/json");
- RequestBody body = RequestBody.create(mediaType, data);
- Request request = new Request.Builder()
- .url(syncOrgUnitApiUrl)
- .post(body)
- //.addHeader("Authorization", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ2UzVMT29mYiIsInNlcnZlciI6dHJ1ZSwidXNlcl9uYW1lIjoic0hSIiwicHJvamVjdE1hcCI6IntcIlNDWVwiOlwiMTMwMDgwNTYwNDAwNDA0NDgwMFwifSIsInNjb3BlIjpbInNlcnZlciJdLCJuYW1lIjoic0hSIiwicHJvamVjdCI6IiIsImV4cCI6MTczMDkxMzQwOSwidGVuYW50IjoidGFpb3QiLCJjbGllbnRfaWQiOiJzeXMifQ.hS1LVZ56rHPvVZmRdipay3XNAmmtFBZKt-wPc7UK2rg ")
- .addHeader("Authorization", getToken())
- .addHeader("Accept", "*/*")
- .addHeader("User-Agent", "PostmanRuntime-ApipostRuntime/1.1.0")
- .addHeader("Connection", "keep-alive")
- .addHeader("Content-Type", "application/json")
- .build();
- response = client.newCall(request).execute();
- String string = response.body().string();
- logger.error("string-----" + string);
- if (response.isSuccessful()) {
- ObjectMapper objectMapper = new ObjectMapper();
- Map<String, List<Map<String, String>>> resultMap = objectMapper.readValue(string, Map.class);
- List<Map<String, String>> list = resultMap.get("data");
- for (int i = 0; i < list.size(); i++) {
- Map<String, String> map = list.get(i);
- result.put(map.get("id"), map.get("msg"));
- }
- //todo
- //return (String) result.get("token");
- syncLogInfo.setSyncStatus(SyncStatusEnum.SUCCESS);
- //syncLogInfo.setSyncCount(total);
- //syncLogInfo.setSuccessNum(success);
- //syncLogInfo.setFailNum(fail);
- SyncLogFactory.getLocalInstance(ctx).save(syncLogInfo);
- } else {
- syncLogInfo.setSyncStatus(SyncStatusEnum.ERROR);
- //syncLogInfo.setSyncCount(total);
- //syncLogInfo.setSuccessNum(success);
- //syncLogInfo.setFailNum(fail);
- SyncLogFactory.getLocalInstance(ctx).save(syncLogInfo);
- }
- } catch (IOException | BOSException e) {
- e.printStackTrace();
- throw new RuntimeException("同步IOT平台人员失败: " + e.getMessage());
- }
- return result;
- }
- /**
- * 获取token
- * 本地缓存token,有效时长6.5小时
- *
- * @return
- */
- public String getToken() {
- String token = cache.get("token");
- if (org.apache.commons.lang3.StringUtils.isBlank(token)) {
- token = getTokenByRemote();
- }
- return token;
- }
- /**
- * 远程获取Token
- *
- * @return
- */
- private String getTokenByRemote() {
- Response response = null;
- Map result = null;
- try {
- long now = System.currentTimeMillis();
- Map<String, String> params = new HashMap<>();
- String getTokenApiUrl = this.propt.getProperty("getTokenApiUrl");
- if (org.apache.commons.lang3.StringUtils.isBlank(getTokenApiUrl)) {
- throw new BOSException("获取token接口地址不能为空!");
- }
- String appid = this.propt.getProperty("appid");
- if (org.apache.commons.lang3.StringUtils.isBlank(appid)) {
- throw new BOSException("appid不能为空!");
- }
- String secret = this.propt.getProperty("secret");
- if (org.apache.commons.lang3.StringUtils.isBlank(secret)) {
- throw new BOSException("secret不能为空!");
- }
- params.put("appid", appid);
- params.put("sign_method", "md5");
- params.put("timestamp", now + secret);
- //生成签名
- String sign = DigestUtils.md5DigestAsHex((appendUrl(null, params)).getBytes());
- params.put("timestamp", String.valueOf(now));
- params.put("sign", sign);
- String requestUrl = appendUrl(getTokenApiUrl, params);
- logger.error("getTokenByRemote -> requestUrl " + requestUrl);
- OkHttpClient client = new OkHttpClient().newBuilder()
- .build();
- Request request = new Request.Builder()
- .url(requestUrl)
- .get()
- .build();
- response = client.newCall(request).execute();
- String string = response.body().string();
- ObjectMapper objectMapper = new ObjectMapper();
- result = objectMapper.readValue(string, Map.class);
- logger.error("getTokenByRemote -> result " + result);
- } catch (IOException | BOSException e) {
- e.printStackTrace();
- throw new RuntimeException("远程获取IOT平台token失败: " + e.getMessage());
- }
- if (response.isSuccessful()) {
- String token = (String) result.get("token");
- //缓存token
- cache.put("token", token, 27000000);//6.5小时
- return token;
- } else {
- throw new RuntimeException((String) result.get("msg"));
- }
- }
- /**
- * 拼接地址参数
- */
- private String appendUrl(String url, Map<String, String> data) {
- StringBuilder paramStr = new StringBuilder();
- for (String key : data.keySet()) {
- paramStr.append(key).append("=").append(data.get(key)).append("&");
- }
- paramStr.deleteCharAt(paramStr.lastIndexOf("&"));
- if (!org.apache.commons.lang3.StringUtils.isEmpty(url)) {
- return url.contains("?") ? (url + "&" + paramStr) : (url + "?" + paramStr);
- }
- return paramStr.toString();
- }
- /**
- * 同步OA人员
- *
- * @param request
- * @param response
- * @param modelMap
- * @throws BOSException
- * @throws EASBizException
- * @throws SHRWebException
- */
- public void syncPersonToOAAction(HttpServletRequest request,
- HttpServletResponse response,
- ModelMap modelMap) throws BOSException, EASBizException, SHRWebException {
- Enumeration<String> headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()) {
- String headerName = headerNames.nextElement();
- String headerValue = request.getHeader(headerName);
- logger.error("----headerNames------key【" + headerName + "】-value【 " + headerValue + "】");
- }
- Enumeration enu = request.getParameterNames();
- while (enu.hasMoreElements()) {
- String paraName = (String) enu.nextElement();
- logger.error("----ParameterNames------key【" + paraName + "】-value【 " + request.getParameter(paraName) + "】");
- }
- //String billId = request.getParameter("billId[]");
- ////}
- //if (StringUtils.isEmpty(billId)) {
- // billId = (String) request.getAttribute("billId[]");
- //}
- //if (StringUtils.isEmpty(billId)) {
- // billId = request.getParameter("billIds[]");
- //}
- //if (StringUtils.isEmpty(billId)) {
- // billId = (String) request.getAttribute("billIds[]");
- //}
- //logger.error("----headerNames------billId----" + billId);
- this.handleEnableWithTips(request, "");
- }
- protected void handleEnableWithTips(HttpServletRequest request, String methodName) throws SHRWebException {
- //String billId = this.getBillId(request);
- String billId = request.getParameter("billId");
- //}
- if (StringUtils.isEmpty(billId)) {
- billId = (String) request.getAttribute("billId");
- }
- if (StringUtils.isEmpty(billId)) {
- billId = request.getParameter("billIds[]");
- }
- if (StringUtils.isEmpty(billId)) {
- billId = (String) request.getAttribute("billId[]");
- }
- try {
- IPerson iPerson = PersonFactory.getLocalInstance(ctx);
- if (StringUtils.isEmpty(billId)) {
- PersonCollection personCollection = iPerson.getPersonCollection("select id");
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < personCollection.size(); i++) {
- String personId = personCollection.get(i).getId().toString();
- sb.append(personId).append(",");
- }
- sb.deleteCharAt(sb.lastIndexOf(","));
- billId = sb.toString();
- }
- Map<String, Object> resultMap = SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPersonToOA(billId, null);
- logger.error("handleEnableWithTips----- resultMap----" + resultMap);
- if (resultMap != null && !resultMap.isEmpty()) {
- logger.error("handleEnableWithTips----- start ");
- logger.error("handleEnableWithTips----- billId-- " + billId);
- PersonCollection personCollection = iPerson.getPersonCollection("select id,number where id in (" + AtsUtil.getStrFromString(billId) + ")");
- int sucess = 0;
- int failure = 0;
- BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
- for (int i = 0; i < personCollection.size(); i++) {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- PersonInfo personInfo = personCollection.get(i);
- body.setId(personInfo.getId().toString());
- String personNumber = personInfo.getNumber();
- Map<String, String> map = (Map<String, String>) resultMap.get(personNumber);
- logger.error("map----" + map);
- if (map == null) {
- ++failure;
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage("同步数据不能为空或检查是否同步OA字段是否等于否!");
- } else {
- if ("success".equals(map.get("state"))) {
- ++sucess;
- body.setMuitTipsState(Boolean.TRUE);
- body.setMuitTipsMessage(map.get("msg"));
- } else {
- ++failure;
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage(map.get("msg"));
- }
- }
- batchMessageTipsHeader.addResult(body);
- }
- //if (StringUtils.isEmpty(billId)) {
- // Set setPersonIds = (Set) resultMap.get("setPersonIds");
- // FilterInfo filterInfo = new FilterInfo();
- // filterInfo.getFilterItems().add(new FilterItemInfo("id", setPersonIds, CompareType.NOTINCLUDE));
- // EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, null, null);
- // PersonCollection personCollection2 = iPerson.getPersonCollection(entityViewInfo);
- // StringBuilder sb = new StringBuilder();
- // for (int i = 0; i < personCollection2.size(); i++) {
- // PersonInfo personInfo = personCollection2.get(i);
- // sb.append(personInfo.getId().toString()).append(",");
- // }
- // sb.deleteCharAt(sb.lastIndexOf(","));
- // billId = sb.toString();
- //}
- logger.error("handleEnableWithTips----- >> ");
- batchMessageTipsHeader.setBillId(billId);
- batchMessageTipsHeader.setFailureCount(failure);
- batchMessageTipsHeader.setSuccessCount(sucess);
- logger.error("batchMessageTipsHeader " + batchMessageTipsHeader.getSuccessCount());
- request.setAttribute("res_method_data", batchMessageTipsHeader);
- this.writeSuccessData(batchMessageTipsHeader);
- logger.error("handleEnableWithTips----- end ");
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }
- }
- }
|