Prechádzať zdrojové kódy

差旅报销单移动端

zhouger 9 mesiacov pred
rodič
commit
4305eb7e09

+ 16 - 3
src/main/java/fi/em/editPlugin/TripreimBurseEditPlugin.java

@@ -28,6 +28,7 @@ public class TripreimBurseEditPlugin extends AbstractListPlugin implements Plugi
     private static String er_expenseitemedit="er_expenseitemedit";//差旅报销单标识
 
 
+
     @Override
     public void afterDoOperation(AfterDoOperationEventArgs e) {
         String operateKey = e.getOperateKey();
@@ -36,10 +37,20 @@ public class TripreimBurseEditPlugin extends AbstractListPlugin implements Plugi
             DynamicObject entrycostcompanyWait = (DynamicObject)value;
             String orgnumber = entrycostcompanyWait.getString("number");//公司编码
             String orgid = entrycostcompanyWait.getString("id");//公司id
+
+            Object creator=this.getModel().getValue("creator");//获取当前创建人
+            Object costdept=this.getModel().getValue("costdept");//获取当前费用承担部门
+
+            DynamicObject creatorWait=(DynamicObject) creator;
+            DynamicObject costdeptWait=(DynamicObject) costdept;
+            String creatorNumber=creatorWait.getString("number");//创建人编码
+            String costdeptNumber=costdeptWait.getString("number");//费用承担部门编码
+
             if (orgnumber == null){
                 throw new KDBizException("付费承担公司为空!");
             }
-            showParameter(nckd_agentparameterf1, btn_NOTICE,orgnumber,orgid);//调用弹出页面
+            showParameter(nckd_agentparameterf1, btn_NOTICE,orgnumber,orgid,creatorNumber,costdeptNumber);//调用弹出页面
+
         }
     }
 
@@ -73,7 +84,6 @@ public class TripreimBurseEditPlugin extends AbstractListPlugin implements Plugi
                     //申请金额
                     BigDecimal expenseamount=reJo.getBigDecimal("nckd_expenseamount");
 
-
                     //结算金额
                     BigDecimal exporiusedamount=reJo.getBigDecimal("nckd_exporiusedamount");
 
@@ -103,12 +113,15 @@ public class TripreimBurseEditPlugin extends AbstractListPlugin implements Plugi
     }
 
     //弹窗
-    public void showParameter(String formId, String actionId,String orgnumber,String orgid) {
+    public void showParameter(String formId, String actionId,String orgnumber,String orgid,
+                              String creatorNumber,String costdeptNumber) {
         //创建弹出页面对象,FormShowParameter表示弹出页面为动态表单
         FormShowParameter ShowParameter = new FormShowParameter();
         //ListShowParameter ShowParameter = new ListShowParameter();
         ShowParameter.setCustomParam("orgnumber", orgnumber);
         ShowParameter.setCustomParam("orgid", orgid);
+        ShowParameter.setCustomParam("creatorNumber",creatorNumber);
+        ShowParameter.setCustomParam("costdeptNumber",costdeptNumber);
         //设置弹出页面的编码
         ShowParameter.setFormId(formId);
 //        ShowParameter.setCaption();

+ 67 - 0
src/main/java/fi/em/editPlugin/TripreimburseMobEditPlugin.java

@@ -0,0 +1,67 @@
+package fi.em.editPlugin;
+
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.exception.KDBizException;
+import kd.bos.form.CloseCallBack;
+import kd.bos.form.FormShowParameter;
+import kd.bos.form.ShowType;
+import kd.bos.form.events.AfterDoOperationEventArgs;
+import kd.bos.form.plugin.AbstractMobFormPlugin;
+import kd.sdk.plugin.Plugin;
+
+/**
+ * @author cjz
+ * @date 2024/7/31 17:55
+ * @description:差旅报销单移动端插件
+ */
+public class TripreimburseMobEditPlugin extends AbstractMobFormPlugin implements Plugin {
+
+    public static String nckd_er_tripreimburse_ext_mob = "nckd_er_tripreimburse_ext_mob";//差旅报销单标识
+    public static String nckd_mobparameterf = "nckd_mobparameterf";//交付单选择弹窗
+    public static String btn_NOTICE = "donothing"; //操作
+    public static String btn_NOTICES = "bxdtc"; //操作标识
+
+
+    @Override
+    public void afterDoOperation(AfterDoOperationEventArgs e) {
+        String operateKey = e.getOperateKey();
+        if (btn_NOTICES.equals(operateKey)) {
+            Object value = this.getModel().getValue("costcompany");//获取当前单据费用公司
+            DynamicObject entrycostcompanyWait = (DynamicObject)value;
+            String orgnumber = entrycostcompanyWait.getString("number");//公司编码
+            String orgid = entrycostcompanyWait.getString("id");//公司id
+
+            Object creator=this.getModel().getValue("creator");//获取当前创建人
+            Object costdept=this.getModel().getValue("costdept");//获取当前费用承担部门
+
+            DynamicObject creatorWait=(DynamicObject) creator;
+            DynamicObject costdeptWait=(DynamicObject) costdept;
+            String creatorNumber=creatorWait.getString("number");//创建人编码
+            String costdeptNumber=costdeptWait.getString("number");//费用承担部门编码
+
+            if (orgnumber == null){
+                throw new KDBizException("付费承担公司为空!");
+            }
+            showParameter(nckd_mobparameterf, btn_NOTICE);//调用弹出页面
+
+        }
+    }
+    //弹窗
+    public void showParameter(String formId, String actionId) {
+        //创建弹出页面对象,FormShowParameter表示弹出页面为动态表单
+        FormShowParameter ShowParameter = new FormShowParameter();
+        //设置弹出页面的编码
+        ShowParameter.setFormId(formId);
+//        ShowParameter.setCaption();
+        //设置弹出页面标题
+        ShowParameter.setCaption("预付单选择");
+        //设置页面关闭回调方法
+        //CloseCallBack参数:回调插件,回调标识  btnok
+        ShowParameter.setCloseCallBack(new CloseCallBack(this, actionId));
+        //设置弹出页面打开方式,支持模态,新标签等
+        ShowParameter.getOpenStyle().setShowType(ShowType.Modal);
+        //弹出页面对象赋值给父页面
+        this.getView().showForm(ShowParameter);
+    }
+
+}

+ 9 - 4
src/main/java/fi/em/formPlugin/ReimbursementFormPlugin.java

@@ -1,4 +1,5 @@
 package fi.em.formPlugin;
+import com.aliyun.odps.security.User;
 import kd.bos.exception.KDBizException;
 import kd.bos.form.plugin.AbstractFormPlugin;
 import kd.sdk.plugin.Plugin;
@@ -15,6 +16,8 @@ import org.apache.commons.lang3.StringUtils;
 import java.math.BigDecimal;
 import java.util.*;
 
+import static com.kingdee.bos.datawizard.edd.ctrlsqldesign.model.WebParamAdapter.Context;
+
 
 /**
  * @author cjz
@@ -89,21 +92,23 @@ public class ReimbursementFormPlugin extends AbstractFormPlugin implements Plugi
     @Override
     public void afterCreateNewData(EventObject e) {
         super.afterBindData(e);
-        //DynamicObject period = (DynamicObject) this.getModel().getValue("nckd_basedatafield");
         //获取父页面传入数据
         Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
         String orgnumber = (String) customParams.get("orgnumber");
         String orgid = (String) customParams.get("orgid");
+        String creatorNumber=(String) customParams.get("creatorNumber");//获取人员编码
+        String costdeptNumber=(String) customParams.get("costdeptNumber");//获取费用承担部门编码
         if (orgnumber == null) {
             throw new KDBizException("付费承担公司为空!");
         }
         List<JSONObject> resdate = new ArrayList<>();
         //历史数据清除
         this.getModel().deleteEntryData(FORMID_ENTRY);
-        //构建查费用分摊动因参数基础资料参数
-        QFilter nckd_orgamountFilter = new QFilter("costcompany.number", QCP.equals, orgnumber);
-        //单据状态
+        //根据当前用户和费用承担部门过滤
+        QFilter nckd_orgamountFilter = new QFilter("costdept.number", QCP.equals, costdeptNumber);
         nckd_orgamountFilter.and("billstatus", QCP.equals, "E");
+        nckd_orgamountFilter.and("creator.number",QCP.equals,creatorNumber);
+
         DynamicObject[] nckd_orgamountaccount = BusinessDataServiceHelper.
                 load(er_prepaybill, "id,number", new QFilter[]{nckd_orgamountFilter});
 

+ 22 - 0
src/main/java/nckd/fi/all/common/AppflgConstant.java

@@ -0,0 +1,22 @@
+/**
+ * This is a kingdee cosmic template project that is automatically generated by the Kingdee cosmic development assistant plugin. 
+ * If there are any issues during the use process, you can provide feedback to the kingdee developer community website.
+ * Website: https://developer.kingdee.com/developer?productLineId=29
+ * Author: liebin.zheng
+ * Generate Date: 2024-07-18 16:47:05
+ */
+package nckd.fi.all.common;
+
+/**
+ * fi云all应用-通用常量类<br>
+ * 代码中不能存在硬编码敏感信息,如账号、密码、http外链、ftp外链、邮箱等。<br>
+ * 标识或缓存的常量,需以"KEY_"、"FID_"、"ENTRY_"或"SUBENTRY_"作为变量的前缀。<br>
+ *
+ * @author nckd
+ * @date 2024-07-18 16:47:05
+ */
+public class AppflgConstant {
+	
+	public static final String KEY_APP_NAME = "fi-all";
+
+}