职务消费台账统计领导问题处理

This commit is contained in:
哈哈哈丿 2025-07-02 17:17:30 +08:00
parent d55f5745be
commit 3707cf73ce
1 changed files with 37 additions and 37 deletions

View File

@ -307,48 +307,48 @@ public class PositionFeesRptQueryPlugin extends AbstractReportListDataPlugin {
} }
} }
} }
}
//差旅报销单数据
DynamicObject[] tripreimburseDataSet = getTripreimburseDataSet(userId, year); //差旅报销单数据
for (DynamicObject dynamicObject : tripreimburseDataSet) { DynamicObject[] tripreimburseDataSet = getTripreimburseDataSet(userId, year);
String billno = dynamicObject.getString("billno");//单据编号 for (DynamicObject dynamicObject : tripreimburseDataSet) {
//判罚是否因公出国 String billno = dynamicObject.getString("billno");//单据编号
Boolean isBusinessForeign = dynamicObject.getBoolean(DEV_KEY+"_is_business_foreign");//单据编号 //判罚是否因公出国
DynamicObjectCollection entrys = dynamicObject.getDynamicObjectCollection("tripentry"); Boolean isBusinessForeign = dynamicObject.getBoolean(DEV_KEY+"_is_business_foreign");//单据编号
for (DynamicObject entry : entrys) { DynamicObjectCollection entrys = dynamicObject.getDynamicObjectCollection("tripentry");
Date happendate = entry.getDate("startdate");//出差开始日期 for (DynamicObject entry : entrys) {
String happendateStr = dateFormat.format(happendate);//费用发生日期str Date happendate = entry.getDate("startdate");//出差开始日期
DynamicObjectCollection entryentity = entry.getDynamicObjectCollection("entryentity"); String happendateStr = dateFormat.format(happendate);//费用发生日期str
for (DynamicObject object : entryentity) { DynamicObjectCollection entryentity = entry.getDynamicObjectCollection("entryentity");
BigDecimal orientryamount = BigDecimal.ZERO; for (DynamicObject object : entryentity) {
if(istax){ BigDecimal orientryamount = BigDecimal.ZERO;
orientryamount = object.getBigDecimal("orientryamount");//报销金额 if(istax){
}else{ orientryamount = object.getBigDecimal("orientryamount");//报销金额
orientryamount = object.getBigDecimal("notaxamount");//不含税金额 }else{
} orientryamount = object.getBigDecimal("notaxamount");//不含税金额
// 生成唯一的键报销人 + 单据编号 + 费用发生日期 }
String key = userId + "-" + billno + "-" + happendateStr; // 生成唯一的键报销人 + 单据编号 + 费用发生日期
userSet.add(userId); String key = userId + "-" + billno + "-" + happendateStr;
// 根据键获取报表对象 userSet.add(userId);
ExpenseReport report = reportMap.get(key); // 根据键获取报表对象
if (report == null) { ExpenseReport report = reportMap.get(key);
report = new ExpenseReport(userId, billno, happendateStr); if (report == null) {
reportMap.put(key, report); report = new ExpenseReport(userId, billno, happendateStr);
} reportMap.put(key, report);
if(!isBusinessForeign){ }
//费用明细中的所有金额因公临时出国费用 if(!isBusinessForeign){
BigDecimal travel = report.getTravel().add(orientryamount); //费用明细中的所有金额因公临时出国费用
report.setTravel(travel); BigDecimal travel = report.getTravel().add(orientryamount);
}else{ report.setTravel(travel);
//费用明细中的所有金额因公临时出国费用 }else{
BigDecimal abroadTravel = report.getAbroadTravel().add(orientryamount); //费用明细中的所有金额因公临时出国费用
report.setAbroadTravel(abroadTravel); BigDecimal abroadTravel = report.getAbroadTravel().add(orientryamount);
report.setAbroadTravel(abroadTravel);
}
} }
} }
} }
} }
} }
//合计汇总 //合计汇总
ExpenseReport totalReport = new ExpenseReport(null, null, null); ExpenseReport totalReport = new ExpenseReport(null, null, null);