diff --git a/shkd-cosmic-debug/src/main/java/shkd/bamp/basedata/plugin/GetCostcenterApiQueryPlugin.java b/shkd-cosmic-debug/src/main/java/shkd/bamp/basedata/plugin/GetCostcenterApiQueryPlugin.java new file mode 100644 index 0000000..0e7e340 --- /dev/null +++ b/shkd-cosmic-debug/src/main/java/shkd/bamp/basedata/plugin/GetCostcenterApiQueryPlugin.java @@ -0,0 +1,28 @@ +package shkd.bamp.basedata.plugin; + +import kd.bos.dataentity.utils.StringUtils; +import kd.bos.openapi.api.plugin.ApiQueryPlugin; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; + +import java.util.Map; + +public class GetCostcenterApiQueryPlugin implements ApiQueryPlugin { + @Override + public QFilter getFilter(QFilter filter, Map reqData) { + Map> data = (Map>)reqData.get("data"); + Object numberObj = data.get("number"); + if(numberObj != null && !((String)numberObj).isEmpty() ){ + filter.and(new QFilter("number", QCP.equals, numberObj)); + } + Object accountorgNumber = data.get("accountorgNumber"); + if(accountorgNumber != null && !((String)accountorgNumber).isEmpty() ){ + filter.and(new QFilter("accountorg.number", QCP.equals, accountorgNumber)); + } + Object parentNumber = data.get("parentNumber"); + if(parentNumber != null && !((String)parentNumber).isEmpty() ){ + filter.and(new QFilter("parent.number", QCP.equals, parentNumber)); + } + return filter; + } +} diff --git a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/SaveTripBaseBillApiSavePlugin.java b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/SaveTripBaseBillApiSavePlugin.java new file mode 100644 index 0000000..84ed819 --- /dev/null +++ b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/SaveTripBaseBillApiSavePlugin.java @@ -0,0 +1,44 @@ +package shkd.fi.er.plugin; + +import kd.bos.openapi.api.plugin.ApiSavePlugin; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class SaveTripBaseBillApiSavePlugin implements ApiSavePlugin { + @Override + public List> preHandleRequestData(List> reqData) { + for(Map temp1 : reqData) { + Object multitravelers = temp1.get("multitravelers"); + if(temp1.containsKey("tripentry")){ + List> tripentryList = (List>)temp1.get("tripentry"); + BigDecimal amount = BigDecimal.ZERO; + for(Map tripentry : tripentryList) { + amount = amount.add((BigDecimal)tripentry.get("triporiamount")); + tripentry.put("travelers", multitravelers); + if(!tripentry.containsKey("tripexpenseitem")){ + Map tripexpenseitem = new HashMap(); + //费用项目默认《差旅费》FYXM0015 + tripexpenseitem.put("number", "FYXM0015"); + tripentry.put("tripexpenseitem", tripexpenseitem); + //交通工具默认《其它工具》 [1:飞机, 2:火车, 3:汽车, 4:轮船, 5:其他工具] + tripentry.put("vehicles", "5"); + } + } + temp1.put("amount", amount); + temp1.put("approveamount", amount); + } + if(!temp1.containsKey("triptype")){ + Map triptype = new HashMap(); + //出差类型默认值《普通出差》001 + triptype.put("number", "001"); + temp1.put("triptype", triptype); + } + temp1.put("istravelers", true); + // temp1.put("billstatus", "C"); + } + return reqData; + } +}