|
@@ -1,26 +1,32 @@
|
|
|
package com.kingdee.eas.custom.beisen.synchronouspos.handler;
|
|
package com.kingdee.eas.custom.beisen.synchronouspos.handler;
|
|
|
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
+import com.kingdee.bos.BOSException;
|
|
|
import com.kingdee.bos.Context;
|
|
import com.kingdee.bos.Context;
|
|
|
|
|
+import com.kingdee.eas.common.EASBizException;
|
|
|
|
|
+import com.kingdee.shr.base.syssetting.IMSFServiceFacade;
|
|
|
import com.kingdee.shr.base.syssetting.MSFServiceFacadeFactory;
|
|
import com.kingdee.shr.base.syssetting.MSFServiceFacadeFactory;
|
|
|
import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
|
|
import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
|
|
|
import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
|
|
import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
|
|
|
import com.kingdee.shr.base.syssetting.context.SHRContext;
|
|
import com.kingdee.shr.base.syssetting.context.SHRContext;
|
|
|
import com.kingdee.shr.base.syssetting.exception.SHRWebException;
|
|
import com.kingdee.shr.base.syssetting.exception.SHRWebException;
|
|
|
-import com.kingdee.shr.base.syssetting.ml.SHRWebResource;
|
|
|
|
|
|
|
+import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
|
|
|
import com.kingdee.shr.staffcontrol.web.handler.StaffManageProjectListHandler;
|
|
import com.kingdee.shr.staffcontrol.web.handler.StaffManageProjectListHandler;
|
|
|
|
|
+import org.apache.log4j.Logger;
|
|
|
import org.springframework.ui.ModelMap;
|
|
import org.springframework.ui.ModelMap;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
+
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
+import java.util.concurrent.ExecutorService;
|
|
|
|
|
+import java.util.concurrent.Executors;
|
|
|
|
|
|
|
|
public class StaffManageProjectListHandlerEx extends StaffManageProjectListHandler {
|
|
public class StaffManageProjectListHandlerEx extends StaffManageProjectListHandler {
|
|
|
|
|
+ private static Logger log = Logger.getLogger(StaffManageProjectListHandlerEx.class);
|
|
|
|
|
|
|
|
- public void batchEnableAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ public void batchDisableAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
|
|
|
try {
|
|
try {
|
|
|
Context ctx = SHRContext.getInstance().getContext();
|
|
Context ctx = SHRContext.getInstance().getContext();
|
|
|
int successCount = 0;
|
|
int successCount = 0;
|
|
@@ -30,7 +36,8 @@ public class StaffManageProjectListHandlerEx extends StaffManageProjectListHandl
|
|
|
Map<String, Object> map = Maps.newHashMap();
|
|
Map<String, Object> map = Maps.newHashMap();
|
|
|
StringBuilder billIds = new StringBuilder("CFOriginalId,");
|
|
StringBuilder billIds = new StringBuilder("CFOriginalId,");
|
|
|
//同步编制,返回参数,以及同步结果
|
|
//同步编制,返回参数,以及同步结果
|
|
|
- Map<String,List<Map<String,Object>>> result = (Map<String,List<Map<String,Object>>>) MSFServiceFacadeFactory.getLocalInstance(ctx).processService("syncStaffManageOSF", map);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ Map<String, List<Map<String, Object>>> result = (Map<String, List<Map<String, Object>>>) MSFServiceFacadeFactory.getLocalInstance(ctx).processService("syncStaffManageOSF", map);
|
|
|
//同步参数
|
|
//同步参数
|
|
|
List<Map<String, Object>> list = result.get("list");
|
|
List<Map<String, Object>> list = result.get("list");
|
|
|
//同步结果
|
|
//同步结果
|
|
@@ -45,11 +52,11 @@ public class StaffManageProjectListHandlerEx extends StaffManageProjectListHandl
|
|
|
billIds.append("," + CFOriginalId);
|
|
billIds.append("," + CFOriginalId);
|
|
|
body.setId(CFOriginalId);
|
|
body.setId(CFOriginalId);
|
|
|
Boolean MuitTipsState = null;
|
|
Boolean MuitTipsState = null;
|
|
|
- if("200".equals(code)){
|
|
|
|
|
- MuitTipsState=Boolean.TRUE;
|
|
|
|
|
|
|
+ if ("200".equals(code)) {
|
|
|
|
|
+ MuitTipsState = Boolean.TRUE;
|
|
|
++successCount;
|
|
++successCount;
|
|
|
- }else {
|
|
|
|
|
- MuitTipsState=Boolean.FALSE;
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ MuitTipsState = Boolean.FALSE;
|
|
|
++errorCount;
|
|
++errorCount;
|
|
|
}
|
|
}
|
|
|
body.setMuitTipsState(MuitTipsState);
|
|
body.setMuitTipsState(MuitTipsState);
|
|
@@ -64,10 +71,46 @@ public class StaffManageProjectListHandlerEx extends StaffManageProjectListHandl
|
|
|
this.writeSuccessData(batchMessageTipsHeader);
|
|
this.writeSuccessData(batchMessageTipsHeader);
|
|
|
} catch (Exception var15) {
|
|
} catch (Exception var15) {
|
|
|
var15.printStackTrace();
|
|
var15.printStackTrace();
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public void batchEnableAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
|
|
|
|
|
+ ExecutorCountUtil examples = ExecutorCountUtil.getExamples();
|
|
|
|
|
+ Context ctx = SHRContext.getInstance().getContext(); // 重新获取上下文(如果需要)
|
|
|
|
|
+ IMSFServiceFacade msp =null;
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ msp = MSFServiceFacadeFactory.getLocalInstance(ctx);
|
|
|
|
|
+ } catch (BOSException e) {
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (examples.getCount()<=0) {
|
|
|
|
|
+ examples.countPlusPlus();
|
|
|
|
|
+ ExecutorService executor = Executors.newSingleThreadExecutor();
|
|
|
|
|
+ IMSFServiceFacade finalMsp = msp;
|
|
|
|
|
+ executor.submit(() -> {
|
|
|
|
|
+ try {
|
|
|
|
|
+
|
|
|
|
|
+ Map<String, Object> map = Maps.newHashMap();
|
|
|
|
|
+ Map<String, List<Map<String, Object>>> result = (Map<String, List<Map<String, Object>>>) finalMsp.processService("syncStaffManageOSF", map);
|
|
|
|
|
+ // 处理结果...
|
|
|
|
|
+ //examples.CountClear();
|
|
|
|
|
+ } catch (BOSException | EASBizException e) {
|
|
|
|
|
+ log.error("Error in syncStaffManageOSF", e);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("Unexpected error", e);
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ examples.CountClear();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ executor.shutdown();
|
|
|
|
|
+ throw new ShrWebBizException("触发成功,已在后台执行中,请等待");
|
|
|
|
|
+ }else {
|
|
|
|
|
+ throw new ShrWebBizException("已触发,已在后台执行中,请等待");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
}
|
|
}
|