1.差旅报销单扣除餐补天数问题处理

2.消费台账计算问题处理
This commit is contained in:
zhangzhiguo 2025-06-11 17:21:27 +08:00
parent 57e246fcbf
commit 5478714fb3
2 changed files with 25 additions and 15 deletions

View File

@ -2,6 +2,8 @@ package zcgj.zcdev.zcdev.fs.plugin.form;
import com.alibaba.druid.util.StringUtils;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.bill.BillShowParameter;
import kd.bos.bill.OperationStatus;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
@ -27,20 +29,24 @@ public class TriprAutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
//当前切换选择的组织
Object company = this.getModel().getValue("costcompany");//核算组织(费用承担公司)
Long currentOrgId = RequestContext.get().getOrgId();
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
if(OrgCheckUtils.isKS(companyId)){
Set<LocalDate> allSet = new HashSet<>();
Set<LocalDate> localDates1 = calHomeentityDay();
Set<LocalDate> localDates2 = calTripentryDay();
allSet.addAll(localDates1);
allSet.addAll(localDates2);
this.getModel().setValue("zcgj_kccbdays",allSet.size());
//如果是新增时
BillShowParameter bsp=(BillShowParameter)this.getView().getFormShowParameter();
if(bsp.getStatus()== OperationStatus.ADDNEW ){
//当前切换选择的组织
Object company = this.getModel().getValue("costcompany");//核算组织(费用承担公司)
Long currentOrgId = RequestContext.get().getOrgId();
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
if(OrgCheckUtils.isKS(companyId)){
Set<LocalDate> allSet = new HashSet<>();
Set<LocalDate> localDates1 = calHomeentityDay();
Set<LocalDate> localDates2 = calTripentryDay();
allSet.addAll(localDates1);
allSet.addAll(localDates2);
this.getModel().setValue("zcgj_kccbdays",allSet.size());
}
}
}
}

View File

@ -23,7 +23,7 @@ import java.util.*;
import java.util.stream.Collectors;
/**
* 职务消费休假台账
* 职务消费台账
* 报表取数插件
*/
public class PositionFeesRptQueryPlugin extends AbstractReportListDataPlugin {
@ -133,6 +133,10 @@ public class PositionFeesRptQueryPlugin extends AbstractReportListDataPlugin {
DynamicObjectCollection entrys = dynamicObject.getDynamicObjectCollection("expenseentryentity");
for (DynamicObject entry : entrys) {
DynamicObject zcgjCostmangerEntity = entry.getDynamicObject("zcgj_costmanger_entity");
if(zcgjCostmangerEntity == null){
continue;
}
DynamicObject expenseitemObj = entry.getDynamicObject("expenseitem"); //费用项目
if(expenseitemObj == null){
continue;
@ -412,7 +416,7 @@ public class PositionFeesRptQueryPlugin extends AbstractReportListDataPlugin {
searchFilterList.add(new QFilter("expenseentryentity.happendate", QCP.less_equals, lastDay));
searchFilterList.add(new QFilter("billstatus", QCP.in, billStatuslist));//增加过滤
DynamicObject[] load = BusinessDataServiceHelper.load("er_dailyreimbursebill",
"id,description,billno,expenseentryentity," +
"id,description,billno,expenseentryentity,zcgj_costmanger_entity," +
DEV_KEY+"_is_business_foreign,"+
"expenseentryentity.happendate," + //费用发生日期
"expenseentryentity.expenseitem," + //费用项目