Forráskód Böngészése

单据收退换功能
1.新增单据类型(pageid)字段,如果页面样式ID字段不存在或者值为空,则取单据类型ID,否则则取页面样式ID
2.公司取费用承担公司

lisheng 4 napja
szülő
commit
db25cf07a1

+ 2 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/common/constant/HandInReceiveTicketConstant.java

@@ -40,6 +40,8 @@ public interface HandInReceiveTicketConstant {
          */
         String KEY_NCKD_FORMID = "nckd_formid";
 
+        String KEY_NCKD_PAGEID = "nckd_pageid";
+
         /**
          * 公司
          */

+ 19 - 2
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/HandInReceiveTicketPlugin.java

@@ -10,6 +10,7 @@ import kd.bos.dataentity.OperateOption;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.dataentity.metadata.IDataEntityProperty;
+import kd.bos.dataentity.metadata.clr.DataEntityPropertyCollection;
 import kd.bos.dataentity.resource.ResManager;
 import kd.bos.entity.EntityMetadataCache;
 import kd.bos.entity.MainEntityType;
@@ -146,14 +147,29 @@ public class HandInReceiveTicketPlugin extends AbstractFormPlugin implements Row
     }
 
     protected Boolean loadBillInfo(String billlType , String billNo){
+        String companyField = "costcompany";
+        if(BillTypeConstants.ER_CHECKINGPAYBILL.equals(billlType)){
+            companyField = "company";
+        }
         String selector = String.join(",",ErReimBurseBillConstant.ID,ErReimBurseBillConstant.KEY_BILLNO,ErReimBurseBillConstant.KEY_COMPANY,
                 ErReimBurseBillConstant.KEY_NCKD_HANDIN_PERSON,ErReimBurseBillConstant.KEY_NCKD_RECEIPT_PERSON);
+        DataEntityPropertyCollection properties = EntityMetadataCache.getDataEntityType(billlType).getProperties();
+        if(properties.containsKey(ErReimBurseBillConstant.KEY_NCKD_PAGEID)){
+            selector = String.join(",",selector,ErReimBurseBillConstant.KEY_NCKD_PAGEID);
+        }
+
         DynamicObject tripReimBurseBill = BusinessDataServiceHelper.loadSingle(billlType,selector,
                 new QFilter(ErReimBurseBillConstant.KEY_BILLNO, QCP.equals, billNo).toArray());
         if(tripReimBurseBill != null){
+            String pageId = billlType;
+            if(properties.containsKey(ErReimBurseBillConstant.KEY_NCKD_PAGEID) && !StringUtils.isEmpty(tripReimBurseBill.getString(ErReimBurseBillConstant.KEY_NCKD_PAGEID))){
+                pageId = tripReimBurseBill.getString(ErReimBurseBillConstant.KEY_NCKD_PAGEID);
+            }
+
             addScanBillEntry(tripReimBurseBill.getString(ErReimBurseBillConstant.KEY_BILLNO),getReceiptStatus(tripReimBurseBill),
                     tripReimBurseBill.get(ErReimBurseBillConstant.ID), billlType,
-                    tripReimBurseBill.getDynamicObject(ErReimBurseBillConstant.KEY_COMPANY).getPkValue());
+                    tripReimBurseBill.getDynamicObject(ErReimBurseBillConstant.KEY_COMPANY).getPkValue(),
+                    pageId);
             return true;
         }
         return false;
@@ -179,12 +195,13 @@ public class HandInReceiveTicketPlugin extends AbstractFormPlugin implements Row
     }
 
 
-    protected void addScanBillEntry(String number, String status, Object billId, String formId, Object companyId){
+    protected void addScanBillEntry(String number, String status, Object billId, String formId, Object companyId,String pageId){
         int newEntryRow = this.getModel().createNewEntryRow(HandInReceiveTicketConstant.SCANBILLENTRY.ENTITYID);
         getModel().setValue(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_NUMBER,number,newEntryRow);
         getModel().setValue(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_STATUS,status,newEntryRow);
         getModel().setValue(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_BILLID,billId,newEntryRow);
         getModel().setValue(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_FORMID,formId,newEntryRow);
+        getModel().setValue(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_PAGEID,pageId,newEntryRow);
         getModel().setItemValueByID(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_COMPANY,companyId,newEntryRow);
         getView().updateView(HandInReceiveTicketConstant.SCANBILLENTRY.ENTITYID);
     }