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