diff --git a/ssctp/src/client/nccloud/web/ssctp/sscbd/ssctask/action/SSCTaskHandleBatchApproveAction.java b/ssctp/src/client/nccloud/web/ssctp/sscbd/ssctask/action/SSCTaskHandleBatchApproveAction.java new file mode 100644 index 0000000..e0f350c --- /dev/null +++ b/ssctp/src/client/nccloud/web/ssctp/sscbd/ssctask/action/SSCTaskHandleBatchApproveAction.java @@ -0,0 +1,135 @@ +package nccloud.web.ssctp.sscbd.ssctask.action; + +import com.alibaba.fastjson.JSONObject; +import itf.approvecenter.util.DataExchangeBean; +import java.lang.reflect.InvocationTargetException; +import java.util.Map; +import nc.bs.framework.common.InvocationInfoProxy; +import nc.bs.logging.Logger; +import nc.bs.pf.pub.PfDataCache; +import nc.vo.pub.AggregatedValueObject; +import nc.vo.pub.billtype2.Billtype2VO; +import nc.vo.ssctp.sscbd.SSCCurrentTaskVO; +import nccloud.framework.core.exception.ExceptionUtils; +import nccloud.framework.core.json.IJson; +import nccloud.framework.service.ServiceLocator; +import nccloud.framework.web.action.itf.ICommonAction; +import nccloud.framework.web.container.IRequest; +import nccloud.framework.web.json.JsonFactory; +import nccloud.itf.uap.pf.IApproveBusiHandler; +import nccloud.pubitf.ssctp.sscbd.ssctask.ISSCTaskDriveWorkflowService; +import nccloud.web.ssctp.sscbd.ssctask.query.util.TaskQryUtil; + +public class SSCTaskHandleBatchApproveAction extends SSCSagaValidationAction +implements ICommonAction +{ +public Object doAction(IRequest request) { + IJson json = JsonFactory.create(); + String read = request.read(); + Map map = (Map)json.fromJson(read, Map.class); + String billType = (String)map.get("billtype"); + String billno = (String)map.get("billno"); + String pk_group = (String)map.get("pk_group"); + String pk_task = (String)map.get("pk_task"); + String pk_currenttask = (String)map.get("pk_currenttask"); + + String mod = (String)map.get("mod"); + + AggregatedValueObject billvo = null; + JSONObject jo = new JSONObject(); + + try { + checkSagaStatus(pk_currenttask, SSCCurrentTaskVO.getDefaultTableName(), "pk_currenttask"); + + ((ISSCTaskDriveWorkflowService)ServiceLocator.find(ISSCTaskDriveWorkflowService.class)).sscApproveDriveWorkflow(map); + + String ts = TaskQryUtil.getLatestTs(pk_task, mod); + jo.put("ts", (ts == null) ? (String)map.get("ts") : ts); + } catch (Exception e) { + Throwable ex = ExceptionUtils.unmarsh(e); + if (e.getCause() instanceof InvocationTargetException) + { + + + + + if ((ex.getCause() != null && isInterface(ex.getCause().getClass(), "nc.itf.pubapp.pub.exception.IResumeException")) || (ex.getCause() == null && isInterface(ex.getClass(), "nc.itf.pubapp.pub.exception.IResumeException"))) { + JSONObject retJson = new JSONObject(); + String skipcodes = ""; + + + String billtype2RegistClass = ((Billtype2VO)PfDataCache.getBillType2InfoByGroup(billType, 25, pk_group).get(0)).getClassname(); + if (billtype2RegistClass != null && !"".equals(billtype2RegistClass)) { + try { + Class clazz = Class.forName(billtype2RegistClass); + IApproveBusiHandler busiHandler = (IApproveBusiHandler)clazz.newInstance(); + DataExchangeBean bean = busiHandler.handleApproveBusiException(billType, billno, billvo, e); + if (bean.skipCodes != null && bean.skipCodes.length > 0) { + for (int i = 0; i < bean.skipCodes.length - 1; i++) { + skipcodes = skipcodes + bean.skipCodes[i] + ","; + } + skipcodes = skipcodes + bean.skipCodes[bean.skipCodes.length - 1]; + } + } catch (Exception e1) { + Logger.error(e.getMessage(), e); + ExceptionUtils.wrapException(e1); + } + } + String lastcodes = InvocationInfoProxy.getInstance().getProperty("skipcodes"); + if (lastcodes != null && !"".equals(lastcodes)) { + skipcodes = skipcodes + "," + lastcodes; + } + retJson.put("skipcodes", skipcodes); + retJson.put("bugetAlarm", ((InvocationTargetException)e.getCause()).getTargetException().getMessage()); + return retJson; + } + } + + + + + + Logger.error(e.getMessage(), e); + ExceptionUtils.wrapException(e); + } + return jo; +} + + + + + + + + +private boolean isInterface(Class c, String szInterface) { + Class[] face = c.getInterfaces(); + for (int i = 0, j = face.length; i < j; i++) { + + if (face[i].getName().equals(szInterface)) + { + return true; + } + + + Class[] face1 = face[i].getInterfaces(); + for (int x = 0; x < face1.length; x++) { + + if (face1[x].getName().equals(szInterface)) + { + return true; + } + if (isInterface(face1[x], szInterface)) + { + return true; + } + } + } + + if (null != c.getSuperclass()) + { + return isInterface(c.getSuperclass(), szInterface); + } + return false; +} +} diff --git a/ssctp/src/client/yyconfig/modules/ssctp/sscbd/authorize/authorize.xml b/ssctp/src/client/yyconfig/modules/ssctp/sscbd/authorize/authorize.xml new file mode 100644 index 0000000..4226759 --- /dev/null +++ b/ssctp/src/client/yyconfig/modules/ssctp/sscbd/authorize/authorize.xml @@ -0,0 +1,293 @@ + + + + 700104PZYH + + sscbd.workinggroupuser.ConvertUserAction + sscbd.workinggroupuser.DeleteAction + sscbd.workinggroupuser.InsertAction + sscbd.workinggroupuser.QueryAction + sscbd.workinggroupuser.SSCSMUserGridRef + sscbd.workinggroupuser.UpdateAction + + + + 700103PZGZ + + sscbd.workinggroup.DeleteAction + sscbd.workinggroup.UpdateAction + sscbd.workinggroup.InsertAction + sscbd.workinggroup.EnableAction + sscbd.workinggroup.DisableAction + sscbd.workinggroup.UpdateBilltypeAction + + + + 700101GXZX + + ssctp.sscbd.SSCUnitAddAction + ssctp.sscbd.SSCUnitDeleteAction + ssctp.sscbd.SSCUnitQueryAction + ssctp.sscbd.SSCUnitStartAction + ssctp.sscbd.SSCUnitStopAction + ssctp.sscbd.SSCUnitTempletAction + + + + 700106SYXJ + + ssctp.sscbd.RankingSetTopAction + ssctp.sscbd.RankingUpdatePriorityAction + ssctp.sscbd.SSCPriorityQryAction + ssctp.sscbd.SSCPrioritySaveAction + + + + 700105TQGZ + + ssctp.sscbd.LadeRuleBatchDeleteAction + ssctp.sscbd.LadeRuleBodyQryAction + ssctp.sscbd.LadeRuleQryAction + ssctp.sscbd.LadeRuleSaveAction + ssctp.sscbd.LadeRuleTempletAction + + + + 700102WTGX + + ssctp.sscbd.ClientageAddRelationAction + ssctp.sscbd.ClientageDelRelationAction + ssctp.sscbd.ClientageDisableAction + ssctp.sscbd.ClientageEnableAction + ssctp.sscbd.ClientageQueryRelationAction + ssctp.sscbd.ClientageSaveRelationAction + ssctp.sscbd.ClientageTempletAction + + + + 700103PZGZ + + sscbd.allotrule.DeleteAction + sscbd.allotrule.InsertAction + sscbd.allotrule.QueryAction + sscbd.allotrule.UpdateAction + ssctp.sscbd.CheckEnableAddRuleAction + sscbd.allotrule.changeEnableStateAction + ssctp.sscbd.BillTypeQueryAction + ssctp.sscbd.CopyParentRulesAction + ssctp.sscbd.OrgsQueryAction + ssctp.sscbd.SSCQueryTempletAction + + + + 701001RWCL + + ssctp.sscbd.SSCTaskHandlePendingNumAction + ssctp.sscbd.SSCTaskGetRejectActivityAction + ssctp.sscbd.SSCTaskHandleAdjustAction + ssctp.sscbd.SSCTaskHandleApproveAction + ssctp.sscbd.SSCTaskHandleBatchApproveAction + ssctp.sscbd.SSCTaskHandleHandonAction + ssctp.sscbd.SSCTaskHandleQueryAction + ssctp.sscbd.SSCTaskHandleRejectAction + ssctp.sscbd.SSCTaskHandleTempletAction + ssctp.sscbd.SSCTaskHandleUnAdjustAction + ssctp.sscbd.SSCTaskHandleUnApproveAction + ssctp.sscbd.SSCTaskHandleUnHandonAction + ssctp.sscapv.TransToManualReasonQryAction + ssctp.sscbd.SSCUpdateTaskAction + ssctp.sscbd.SSCTaskHandleAddNoticeAction + + ssctp.intellidispatch.QueryNowMyStateAction + ssctp.intellidispatch.SetStartStateAction + ssctp.intellidispatch.SetEndStateAction + + + + + 701002RWGL + + ssctp.sscbd.SSCTaskManageDistributeAction + ssctp.sscbd.SSCTaskManageFetchBackAction + ssctp.sscbd.SSCTaskManageGiveBackAction + ssctp.sscbd.SSCTaskManagePriorityQueryAction + ssctp.sscbd.SSCTaskManagePriorityTemAction + ssctp.sscbd.SSCTaskManageQueryAction + ssctp.sscbd.SSCTaskManageQueryConditionAction + ssctp.sscbd.SSCTaskTempletAction + ssctp.sscbd.SSCTaskTemQryAction + ssctp.sscbd.SSCTaskUrgentAction + ssctp.sscbd.SSCPriorityQryForTaskManageAction + ssctp.sscbd.RankingSetTopAction + ssctp.sscbd.RankingUpdatePriorityAction + + + + 701003RWCX + + ssctp.sscbd.SSCTaskSearchAction + ssctp.sscbd.SSCTaskSearchBlurQueryAction + + + + * + + ssctp.sscbd.SSCTaskHandlePendingNumAction + ssctp.sscbd.QueryPublicFieldAction + ssctp.sscbd.SSCUnitGridRef + ssctp.sscbd.SSCParticipantGridRef + ssctp.credit.creditAction + ssctp.credit.creditRuleAction + sscbd.allotrulepost.QueryAction + sscbd.allotrulepost.SSCNodeGridRef + ssctp.sscbd.NavigationAuthorityAction + sscbd.workinggroup.QueryAction + ssctp.upgrade.ssctpation + ssctp.sscbd.SSCTaskBlurQueryAction + ssctp.sscbd.SSCTaskBrowseBillAction + ssctp.sscbd.SSCTaskManageBarChartAction + ssctp.sscbd.SSCTaskResetNoApproveTaskAction + ssctp.sscbd.SSCTaskResetNotakeTaskAction + ssctp.sscbd.SSCTaskHandleRwclWidgetAction + ssctp.sscbd.SSCTaskHandleRwztWidgetAction + ssctp.sscbd.SSCTaskHandleQueryOperationAction + ssctp.sscbd.SSCTaskHandleLineChartAction + ssctp.sscbd.SSCTaskHandleBzclqkWidgetAction + ssctp.sscbd.SSCTaskManageYwglWidgetAction + ssctp.sscbd.SSCTaskHandleTakeAction + ssctp.sscbd.SSCTaskBudgetMessagAction + sscbd.workinggroupuser.SSCWorkGroupUserGridRef + ssctp.sscbd.SSCWorkGroupGridRef + ssctp.sscbd.SSCBusiTypeGridRef + ssctp.sscbd.LinkBillAction + ssctp.sscbd.SSCSagaCheckAction + ssctp.points.SSCRefreshPointsAction + ssctp.points.SSCChangePointsQueryAction + ssctp.points.SSCPointsQueryAction + ssctp.points.SSCProblemAddQueryAction + ssctp.points.SSCShowPointProBillMakerAction + ssctp.ssccheck.LinkBillQueryProblemsAction + ssctp.dooroad.SSCOtsGridRef + ssctp.dooroad.DROtherSelectOtsAction + ssctp.dapsystem.DapSystemInstalled4ImageAction + ssctp.dapsystem.TryReqImageAndVoucherShowTypeAction + ssctp.dooroad.DRLinkVoucherAction + + + + 700107SPGZ + + ssctp.sscapv.SSCApproveRuleInsertAction + ssctp.sscapv.SSCApproveRuleUpdateAction + ssctp.sscapv.SSCApproveRuleQryAction + ssctp.sscapv.SSCApproveRuleDeleteAction + ssctp.sscapv.SSCApproveRuleExecuteAction + ssctp.sscapv.SSCApproveRuleEnableAction + ssctp.sscapv.CreditStateAction + ssctp.sscbd.BillTypeQueryAction + ssctp.sscbd.OrgsQueryAction + + + + 701004SPJK + + ssctp.sscapv.ApproveMonitorQryAction + ssctp.sscapv.TransToManualAction + + + + + 700108PDGZ + + ssctp.dispatchrule.DispatchRuleAddAction + ssctp.dispatchrule.DispatchRuleDeleteAction + ssctp.dispatchrule.DispatchRuleEnableAction + ssctp.dispatchrule.DispatchRuleQueryAction + ssctp.dispatchrule.DispatchRuleUpdateAction + + + + + + 701005SXDW,701005DWHZ,701005SXHZ + + ssctp.ssccheck.querylastperiodaction + ssctp.ssccheck.LinkQueryConditionAction + ssctp.ssccheck.LinkBillQueryAction + ssctp.ssccheck.LinkBillGetTaskPkAction + + + + + + + 701003RYZT + + ssctp.intellidispatch.QueryAllUserStateAction + ssctp.intellidispatch.SetStartStateAction + ssctp.intellidispatch.SetEndStateAction + ssctp.intellidispatch.QueryNowMyStateAction + + + + + + 700101YWXT + + ssctp.dooroad.DROtsAddAction + ssctp.dooroad.DROtsDelAction + ssctp.dooroad.DROtsQueryAction + ssctp.dooroad.DROtsSaveAction + + + + + 700102DKFS + + ssctp.dooroad.DROpenAddAction + ssctp.dooroad.DROpenDelAction + ssctp.dooroad.DROpenQueryAction + ssctp.dooroad.DROpenSaveAction + + + + + 700103YWSJ + + ssctp.dooroad.DREventListenerAddAction + ssctp.dooroad.DREventListenerDelAction + ssctp.dooroad.DREventListenerQueryAction + ssctp.dooroad.DREventListenerSaveAction + + + + + 700104YXJK + + ssctp.dooroad.DRImageShowAddAction + ssctp.dooroad.DRImageShowDelAction + ssctp.dooroad.DRImageShowQueryAction + ssctp.dooroad.DRImageShowSaveAction + + + + + 700105FJJK + + ssctp.dooroad.DRAccessoryShowAddAction + ssctp.dooroad.DRAccessoryShowDelAction + ssctp.dooroad.DRAccessoryShowQueryAction + ssctp.dooroad.DRAccessoryShowSaveAction + + + + + 700106PZDK + + ssctp.dooroad.DRVoucherOpenAddAction + ssctp.dooroad.DRVoucherOpenDelAction + ssctp.dooroad.DRVoucherOpenQueryAction + ssctp.dooroad.DRVoucherOpenSaveAction + + + diff --git a/ssctp/src/client/yyconfig/modules/ssctp/sscbd/ssctask/config/action/ssctaskhandle.xml b/ssctp/src/client/yyconfig/modules/ssctp/sscbd/ssctask/config/action/ssctaskhandle.xml new file mode 100644 index 0000000..af923d8 --- /dev/null +++ b/ssctp/src/client/yyconfig/modules/ssctp/sscbd/ssctask/config/action/ssctaskhandle.xml @@ -0,0 +1,103 @@ + + + + ssctp.sscbd.SSCTaskHandleAddNoticeAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleAddNoticeAction + + + ssctp.sscbd.SSCTaskHandleQueryAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleQueryAction + + + ssctp.sscbd.SSCTaskHandleHandonAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleHandonAction + + + ssctp.sscbd.SSCTaskHandleUnHandonAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleUnHandonAction + + + ssctp.sscbd.SSCTaskHandleAdjustAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleAdjustAction + + + ssctp.sscbd.SSCTaskHandleUnAdjustAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleUnAdjustAction + + + ssctp.sscbd.SSCTaskHandleTempletAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleTempletAction + + + ssctp.sscbd.SSCTaskHandleApproveAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleApproveAction + + + ssctp.sscbd.SSCTaskHandleBatchApproveAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleBatchApproveAction + + + ssctp.sscbd.SSCTaskHandleUnApproveAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleUnApproveAction + + + ssctp.sscbd.SSCTaskHandleRejectAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleRejectAction + + + ssctp.sscbd.SSCTaskHandleQueryOperationAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleQueryOperationAction + + + ssctp.sscbd.SSCTaskHandleTakeAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleTakeAction + + + ssctp.sscbd.SSCTaskHandleLineChartAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleLineChartAction + + + ssctp.sscbd.SSCTaskHandleRwztWidgetAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleRwztWidgetAction + + + ssctp.sscbd.SSCTaskHandleRwclWidgetAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleRwclWidgetAction + + + ssctp.sscbd.SSCTaskHandleBzclqkWidgetAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleBzclqkWidgetAction + + + ssctp.sscbd.SSCTaskHandlePendingNumAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandlePendingNumAction + + + ssctp.sscbd.SSCTaskGetRejectActivityAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskGetRejectActivityAction + + + ssctp.sscbd.SSCUpdateTaskAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCUpdateTaskAction + + \ No newline at end of file diff --git a/ssctp/src/client/yyconfig/modules/ssctp/sscbd/ssctask/config/action/ssctaskhandlenative.xml b/ssctp/src/client/yyconfig/modules/ssctp/sscbd/ssctask/config/action/ssctaskhandlenative.xml new file mode 100644 index 0000000..aa46631 --- /dev/null +++ b/ssctp/src/client/yyconfig/modules/ssctp/sscbd/ssctask/config/action/ssctaskhandlenative.xml @@ -0,0 +1,28 @@ + + + + ssctp.sscbd.SSCTaskHandleApproveAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleApproveAction + + + ssctp.sscbd.SSCTaskHandleBatchApproveAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleBatchApproveAction + + + ssctp.sscbd.SSCTaskHandleUnApproveAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleUnApproveAction + + + ssctp.sscbd.SSCTaskHandleRejectAction + + nccloud.web.ssctp.sscbd.ssctask.action.SSCTaskHandleRejectAction + + + ssctp.sscapv.TransToManualAction + + nccloud.web.ssctp.sscapv.approvemonitor.action.TransToManualAction + + \ No newline at end of file