Heyuan il y a 3 semaines
Parent
commit
694c63eb50

+ 6 - 6
src/com/kingdee/eas/custom/recuritment/task/BeisenTransferPhaseFacadeControllerBean.java

@@ -119,30 +119,30 @@ public class BeisenTransferPhaseFacadeControllerBean extends AbstractBeisenTrans
      * 同步录用报批状态到北森
      *
      * @param ctx
-     * @param billId
+     * @param billIds
      * @param preponeHours
      * @throws BOSException
      * @throws EASBizException
      */
     @Override
-    protected void _syncRecApprovalToBeisen(Context ctx, String billId, int preponeHours)
+    protected void _syncRecApprovalToBeisen(Context ctx, String billIds, int preponeHours)
             throws BOSException, EASBizException {
         try {
-            super._syncRecApprovalToBeisen(ctx, billId, preponeHours);
+            super._syncRecApprovalToBeisen(ctx, billIds, preponeHours);
             IRecApproval iRecApproval = RecApprovalFactory.getLocalInstance(ctx);
             RecApprovalCollection recApprovalCollection = null;
             SelectorItemCollection sic = new SelectorItemCollection();
             sic.add("*");
             sic.add("resumeBaseRec.*");
             sic.add("resumeBaseRec.resumeState.*");
-            if (StringUtils.isNotBlank(billId)) {
+            if (StringUtils.isNotBlank(billIds)) {
                 FilterInfo filterInfo = new FilterInfo();
                 FilterItemCollection filterItems = filterInfo.getFilterItems();
-                filterItems.add(new FilterItemInfo("id", billId));
+                filterItems.add(new FilterItemInfo("id", billIds, CompareType.INCLUDE));
                 EntityViewInfo viewInfo = EntityViewInfo.getInstance(filterInfo, sic, null);
                 recApprovalCollection = iRecApproval.getRecApprovalCollection(viewInfo);
                 if (recApprovalCollection.isEmpty()) {
-                    logger.error("未匹配到录用报批单据,单据id: " + billId);
+                    logger.error("未匹配到录用报批单据,单据id: " + billIds);
                     throw new BOSException("未匹配到录用报批单据");
                 }
             } else {

+ 110 - 0
websrc/com/kingdee/eas/custom/recuritment/web/handler/OfferListHandlerEx.java

@@ -0,0 +1,110 @@
+package com.kingdee.shr.recuritment.web.handler;
+
+import com.kingdee.bos.Context;
+import com.kingdee.eas.custom.recuritment.task.BeisenTransferPhaseFacadeFactory;
+import com.kingdee.eas.custom.recuritment.task.IBeisenTransferPhaseFacade;
+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.util.StringUtils;
+import org.springframework.ui.ModelMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description offer列表
+ * @Date 2025/7/8 19:42
+ * @Created by Heyuan
+ */
+public class OfferListHandlerEx extends OfferListHandler {
+    /**
+     * 终止入职
+     *
+     * @param request
+     * @param response
+     * @param modelMap
+     * @throws SHRWebException
+     */
+    @Override
+    public void stopOfferAction(
+            HttpServletRequest request,
+            HttpServletResponse response,
+            ModelMap modelMap
+    ) throws SHRWebException {
+        super.stopOfferAction(request, response, modelMap);
+        Context ctx = SHRContext.getInstance().getContext();
+        String billIds = request.getParameter("billId");
+        try {
+            if (!StringUtils.isEmpty(billIds)) {
+                //同步录用报批状态至北森
+                IBeisenTransferPhaseFacade iBeisenTransferPhaseFacade =
+                        BeisenTransferPhaseFacadeFactory.getLocalInstance(ctx);
+                iBeisenTransferPhaseFacade.syncOfferToBeisen(billIds, 0);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ShrWebBizException(e);
+        }
+    }
+
+    /**
+     * 反终止
+     *
+     * @param request
+     * @param response
+     * @param modelMap
+     * @throws SHRWebException
+     */
+    @Override
+    public void noStopOfferAction(
+            HttpServletRequest request,
+            HttpServletResponse response,
+            ModelMap modelMap
+    ) throws SHRWebException {
+        super.noStopOfferAction(request, response, modelMap);
+        Context ctx = SHRContext.getInstance().getContext();
+        String billIds = request.getParameter("billId");
+        try {
+            if (!StringUtils.isEmpty(billIds)) {
+                //同步录用报批状态至北森
+                IBeisenTransferPhaseFacade iBeisenTransferPhaseFacade =
+                        BeisenTransferPhaseFacadeFactory.getLocalInstance(ctx);
+                iBeisenTransferPhaseFacade.syncOfferToBeisen(billIds, 0);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ShrWebBizException(e);
+        }
+    }
+
+    /**
+     * 放弃入职
+     *
+     * @param request
+     * @param response
+     * @param modelMap
+     * @throws SHRWebException
+     */
+    @Override
+    public void abondonEntryAction(
+            HttpServletRequest request,
+            HttpServletResponse response,
+            ModelMap modelMap
+    ) throws SHRWebException {
+        super.abondonEntryAction(request, response, modelMap);
+        Context ctx = SHRContext.getInstance().getContext();
+        String billIds = request.getParameter("billId");
+        try {
+            if (!StringUtils.isEmpty(billIds)) {
+                //同步录用报批状态至北森
+                IBeisenTransferPhaseFacade iBeisenTransferPhaseFacade =
+                        BeisenTransferPhaseFacadeFactory.getLocalInstance(ctx);
+                iBeisenTransferPhaseFacade.syncOfferToBeisen(billIds, 0);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ShrWebBizException(e);
+        }
+    }
+}

+ 53 - 0
websrc/com/kingdee/eas/custom/recuritment/web/handler/recApproval/RecApprovalListHandlerEx.java

@@ -0,0 +1,53 @@
+package com.kingdee.shr.recuritment.web.handler.recApproval;
+
+import com.kingdee.bos.Context;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.custom.recuritment.task.BeisenTransferPhaseFacadeFactory;
+import com.kingdee.eas.custom.recuritment.task.IBeisenTransferPhaseFacade;
+import com.kingdee.eas.hr.ats.AtsUtil;
+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 org.apache.commons.lang3.StringUtils;
+import org.springframework.ui.ModelMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description 录用报批
+ * @Date 2025/7/8 19:56
+ * @Created by Heyuan
+ */
+public class RecApprovalListHandlerEx extends RecApprovalListHandler {
+    private Context ctx = SHRContext.getInstance().getContext();
+
+    /**
+     * 终止报批
+     *
+     * @param request
+     * @param response
+     * @param modelMap
+     * @throws SHRWebException
+     */
+    @Override
+    public void stopBillAction(
+            HttpServletRequest request,
+            HttpServletResponse response,
+            ModelMap modelMap
+    ) throws SHRWebException {
+        super.stopBillAction(request, response, modelMap);
+        String billId = this.getBillId(request);
+        if (StringUtils.isNotBlank(billId)) {
+            try {
+                //同步录用报批状态至北森
+                IBeisenTransferPhaseFacade iBeisenTransferPhaseFacade =
+                        BeisenTransferPhaseFacadeFactory.getLocalInstance(ctx);
+                iBeisenTransferPhaseFacade.syncRecApprovalToBeisen(billId, 0);
+            } catch (Exception e) {
+                e.printStackTrace();
+                throw new ShrWebBizException(e);
+            }
+        }
+    }
+}