jtd 1 долоо хоног өмнө
parent
commit
6a62e5a3c0

+ 16 - 0
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/htm/plugin/form/quitapply/QuitApplyFormPlugin.java

@@ -1,8 +1,10 @@
 package nckd.jxccl.hr.htm.plugin.form.quitapply;
 
+import kd.bos.bill.BillShowParameter;
 import kd.bos.common.enums.EnableEnum;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.entity.datamodel.events.PropertyChangedArgs;
+import kd.bos.form.events.PreOpenFormEventArgs;
 import kd.bos.form.plugin.AbstractFormPlugin;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
@@ -16,6 +18,7 @@ import java.time.ZoneId;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 离职申请单表单插件
@@ -28,6 +31,19 @@ public class QuitApplyFormPlugin extends AbstractFormPlugin {
     /** 培养协议合同类型编码 */
     private static final String CONTRACTTYPE_NUMBER = "JT01";
 
+    @Override
+    public void preOpenForm(PreOpenFormEventArgs e) {
+        super.preOpenForm(e);
+
+        // 如果打开的是退休页面,则一定要携带isFromRetire参数才允许,否则表示来自离职页面
+        BillShowParameter showParameter = (BillShowParameter) e.getFormShowParameter();
+        String formId = showParameter.getFormId();
+        Map<String, Object> customParams = showParameter.getCustomParams();
+        if (!QuitApplyConstant.NCKD_RETIREAPPLY_ENTITY.equals(formId) && customParams == null || !customParams.containsKey("isFromRetire")) {
+            e.setCancel(true);
+        }
+    }
+
     @Override
     public void propertyChanged(PropertyChangedArgs e) {
         super.propertyChanged(e);

+ 21 - 4
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/htm/plugin/form/quitapply/RetireApplyBaseBillListPlugin.java

@@ -1,12 +1,16 @@
 package nckd.jxccl.hr.htm.plugin.form.quitapply;
 
+import kd.bos.bill.BillShowParameter;
 import kd.bos.dataentity.utils.StringUtils;
+import kd.bos.form.ShowType;
 import kd.bos.form.events.AfterDoOperationEventArgs;
 import kd.bos.form.events.HyperLinkClickArgs;
 import kd.bos.list.plugin.AbstractListPlugin;
-import kd.hr.htm.formplugin.common.QuitPageUtils;
 import nckd.jxccl.hr.htm.common.quitapply.QuitApplyConstant;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * 退休申请列表插件
  * @entity: nckd_retireapplybasebill
@@ -20,9 +24,17 @@ public class RetireApplyBaseBillListPlugin extends AbstractListPlugin {
         super.afterDoOperation(afterDoOperationEventArgs);
 
         if (afterDoOperationEventArgs.getOperationResult() != null && afterDoOperationEventArgs.getOperationResult().isSuccess()) {
+            // 自定义参数
+            Map customs = new HashMap();
+            customs.put("isFromRetire", true);
             // 新增退休待办申请
             if (StringUtils.equals(QuitApplyConstant.RETIRE_APPLE_OP,afterDoOperationEventArgs.getOperateKey())) {
-                QuitPageUtils.showNewAddPage(this.getView(), QuitApplyConstant.NCKD_RETIREAPPLY_ENTITY, "新增代退休申请");
+                BillShowParameter showParameter = new BillShowParameter();
+                showParameter.setFormId(QuitApplyConstant.NCKD_RETIREAPPLY_ENTITY);
+                showParameter.setCaption("新增代退休申请");
+                showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+                showParameter.setCustomParam("isFromRetire", true);
+                getView().showForm(showParameter);
             }
         }
     }
@@ -32,8 +44,13 @@ public class RetireApplyBaseBillListPlugin extends AbstractListPlugin {
         super.billListHyperLinkClick(args);
 
         // 自定义超链接点击事情处理
-        args.setCancel(Boolean.TRUE);
+        args.setCancel(true);
         // 打开退休申请表单
-        QuitPageUtils.showPage(getView(), QuitApplyConstant.NCKD_RETIREAPPLY_ENTITY, getFocusRowPkId(), "", null);
+        BillShowParameter showParameter = new BillShowParameter();
+        showParameter.setFormId(QuitApplyConstant.NCKD_RETIREAPPLY_ENTITY);
+        showParameter.setPkId(getFocusRowPkId());
+        showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+        showParameter.setCustomParam("isFromRetire", true);
+        getView().showForm(showParameter);
     }
 }

+ 2 - 2
code/hrmp/nckd-jxccl-hrmp/src/main/java/nckd/jxccl/hrmp/hbpm/plugin/operate/hr/PosBillEntryAddSaveOpPlugin.java

@@ -22,7 +22,6 @@ import kd.bos.orm.query.QFilter;
 import kd.bos.service.operation.OperationServiceImpl;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.QueryServiceHelper;
-import kd.hr.haos.business.domain.adminorg.service.impl.OrgRepository;
 import kd.hr.hbp.common.util.HRDynamicObjectUtils;
 import kd.hr.hbp.common.util.HRStringUtils;
 import nckd.jxccl.hrmp.hbpm.common.hr.PositionBillConstant;
@@ -139,7 +138,8 @@ public class PosBillEntryAddSaveOpPlugin extends AbstractOperationServicePlugIn
                     errorMsg.append(operateInfo.getMessage());
                 }
             } else {
-                DynamicObject[] dbPositionEntityDys = OrgRepository.getInstance().queryOrgDys(String.join(",", PositionBillConstant.ID_KEY, PositionBillConstant.NUMBER_KEY), new QFilter(PositionBillConstant.ID_KEY, QCP.in, saveResult.getSuccessPkIds()));
+                //DynamicObject[] dbPositionEntityDys = OrgRepository.getInstance().queryOrgDys(String.join(",", PositionBillConstant.ID_KEY, PositionBillConstant.NUMBER_KEY), new QFilter(PositionBillConstant.ID_KEY, QCP.in, saveResult.getSuccessPkIds()));
+                DynamicObject[] dbPositionEntityDys = null;
                 DynamicObject dbPositionEntityDy = dbPositionEntityDys[0];
                 DynamicObject positionEntity = positionEntities[index];
                 positionEntity.set(String.format("%s_id", PositionBillConstant.NCKD_POSITION), dbPositionEntityDy.get(PositionBillConstant.ID_KEY));

+ 37 - 1
code/hrmp/nckd-jxccl-hrmp/src/main/java/nckd/jxccl/hrmp/hbpm/plugin/operate/hr/validator/PositionBillEntryValidator.java

@@ -2,12 +2,12 @@ package nckd.jxccl.hrmp.hbpm.plugin.operate.hr.validator;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import kd.bos.coderule.util.MultiLangEnumBridge;
 import kd.bos.dataentity.OperateOption;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.ILocaleString;
 import kd.bos.entity.ExtendedDataEntity;
 import kd.bos.entity.validate.AbstractValidator;
-import kd.hr.haos.common.constants.MultiLangEnum;
 import kd.hr.hbp.common.util.HRStringUtils;
 import nckd.jxccl.hrmp.hbpm.common.hr.PositionBillConstant;
 
@@ -20,6 +20,42 @@ import java.util.Map;
  */
 public class PositionBillEntryValidator extends AbstractValidator {
 
+    private enum MultiLangEnum {
+        CHINES_SIMP("zh_CN", new MultiLangEnumBridge("简体中文", "MultiLangEnum_0", "hrmp-haos-common")),
+        CHINES_TRAD("zh_TW", new MultiLangEnumBridge("繁体中文", "MultiLangEnum_1", "hrmp-haos-common")),
+        ENGLISH("en_US", new MultiLangEnumBridge("英文", "MultiLangEnum_2", "hrmp-haos-common"));
+
+        private String code;
+        private MultiLangEnumBridge bridge = null;
+
+        private MultiLangEnum(String code, MultiLangEnumBridge bridge) {
+            this.code = code;
+            this.bridge = bridge;
+        }
+
+        public static String getName(String code) {
+            if (code == null) {
+                return null;
+            } else {
+                for(MultiLangEnum se : values()) {
+                    if (code.equals(se.getCode())) {
+                        return se.getName();
+                    }
+                }
+
+                return null;
+            }
+        }
+
+        public String getCode() {
+            return this.code;
+        }
+
+        public String getName() {
+            return this.bridge.loadKDString();
+        }
+    }
+
     @Override
     public void validate() {
         // 获取Op参数 校验岗位编码重复和岗位名称重复