|  | @@ -16,6 +16,7 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import java.math.BigDecimal;
 |  |  import java.math.BigDecimal;
 | 
											
												
													
														|  |  import java.util.ArrayList;
 |  |  import java.util.ArrayList;
 | 
											
												
													
														|  | 
 |  | +import java.util.Arrays;
 | 
											
												
													
														|  |  import java.util.List;
 |  |  import java.util.List;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  //报销单
 |  |  //报销单
 | 
											
										
											
												
													
														|  | @@ -118,36 +119,18 @@ public class PublicreimburOpPlugin extends AbstractOperationServicePlugIn {
 | 
											
												
													
														|  |                      }
 |  |                      }
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
												
													
														|  |              } else if (StringUtils.equals(e.getOperationKey(),"save")) {
 |  |              } else if (StringUtils.equals(e.getOperationKey(),"save")) {
 | 
											
												
													
														|  | -                List<Long> cardList = new ArrayList<>();
 |  | 
 | 
											
												
													
														|  | -                List<Long> totalList = new ArrayList<>();
 |  | 
 | 
											
												
													
														|  | -                //获取当前页面数据
 |  | 
 | 
											
												
													
														|  |                  DynamicObject info = dynamicObjects[i];
 |  |                  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("实物卡片清单已经生成资产清单,请重新选择!");
 |  | 
 | 
											
												
													
														|  | -                }
 |  | 
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |      }
 |  |      }
 |