Kaynağa Gözat

校验是否包含纸质发票

wanwei 7 ay önce
ebeveyn
işleme
4c06fa2a4e

+ 10 - 27
src/main/java/fi/er/opplugin/PublicreimburOpPlugin.java

@@ -16,6 +16,7 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 //报销单
@@ -118,36 +119,18 @@ public class PublicreimburOpPlugin extends AbstractOperationServicePlugIn {
                     }
                 }
             } else if (StringUtils.equals(e.getOperationKey(),"save")) {
-                List<Long> cardList = new ArrayList<>();
-                List<Long> totalList = new ArrayList<>();
-                //获取当前页面数据
                 DynamicObject info = dynamicObjects[i];
-                Long fid = info.getLong("id");
-                for (DynamicObject entryentity : info.getDynamicObjectCollection("assetentry")) {
-                    DynamicObjectCollection dynamicObjectCollection = entryentity.getDynamicObjectCollection("nckd_real_card");
-                    for(DynamicObject  object : dynamicObjectCollection) {
-                        Long id = (Long) object.get(2);
-                        cardList.add(id);
-                    }
-                }
-                //查询报销单
-                QFilter bxFilter = new QFilter("id", QCP.not_equals,fid);
-                bxFilter.and("nckd_card_list_str", QCP.equals, "1");
-                DynamicObject[] bxDynamicObjects = BusinessDataServiceHelper.load("er_publicreimbursebill","id",new QFilter[] {bxFilter});
-                for (int j = 0; j < bxDynamicObjects.length; j++) {
-                    DynamicObject bxInfo = BusinessDataServiceHelper.loadSingle(bxDynamicObjects[i].getPkValue(), bxDynamicObjects[i].getDynamicObjectType().getName());
-                    for (DynamicObject entryentity : bxInfo.getDynamicObjectCollection("assetentry")) {
-                        DynamicObjectCollection dynamicObjectCollection = entryentity.getDynamicObjectCollection("nckd_real_card");
-                        for(DynamicObject  dynamicObject : dynamicObjectCollection) {
-                            Long id = (Long) dynamicObject.get(2);
-                            totalList.add(id);
-                        }
+                List<String> list = Arrays.asList("3", "4", "5");
+                //获取发票信息分录
+                DynamicObjectCollection invoiceentry = info.getDynamicObjectCollection("invoiceentry");
+                for (DynamicObject entry : invoiceentry) {
+                    //发票类型
+                    String invoicetype = entry.getString("invoicetype");
+                    if (list.contains(invoicetype)) {
+                        info.set("nckd_checkboxfield4", true);
+                        break;
                     }
                 }
-                boolean hasCommonElements = cardList.stream().anyMatch(totalList::contains);
-                if (hasCommonElements) {
-                    throw new KDBizException("实物卡片清单已经生成资产清单,请重新选择!");
-                }
             }
         }
     }