|  | @@ -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("实物卡片清单已经生成资产清单,请重新选择!");
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 |