员工借款单表单插件:加载部门可用借款额度数据

This commit is contained in:
zengweihai 2024-05-21 15:48:01 +08:00
parent e6e4f559c0
commit f2dd45b9fb
2 changed files with 88 additions and 24 deletions

View File

@ -13,6 +13,7 @@ import kd.bos.permission.model.UserParam;
import kd.bos.schedule.executor.AbstractTask;
import kd.bos.service.ServiceFactory;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
@ -112,7 +113,7 @@ public class UserTaskImpl extends AbstractTask {
"id,number,shkd_oaid", null);//查询星瀚系统部门集合
userIds = new HashMap<Object, Long>();//存放系统中已经存在的用户id集合
for (DynamicObject queryUser : queryUsers) {
userIds.put(queryUser.getString("number"), queryUser.getLong("id"));//存放已经存在的人员的id以及number
userIds.put(queryUser.getString("shkd_oaid"), queryUser.getLong("id"));//存放已经存在的人员的id以及number
}
for (int i = 1; i < pageNumber.intValue(); i++){//查询成功取第一轮数据同步
CURPAGE = i ;
@ -151,7 +152,7 @@ public class UserTaskImpl extends AbstractTask {
for (int i = 0; i < dataList.size(); i++) {
UserParam user = new UserParam();
JSONObject userData = dataList.getJSONObject(i);
Long workid = userIds.get(userData.getString("workcode"));
Long workid = userIds.get(userData.getString("id"));
if (workid != null){
user.setId(workid);
user.setCustomUserId(workid);
@ -170,6 +171,8 @@ public class UserTaskImpl extends AbstractTask {
// 职位分录
if(workid == null){//若人不存在则更新部门
}
List<Map<String, Object>> posList = new ArrayList<>();
Map<String, Object> entryentity = new HashMap<>();
// 通过编码设置部门
@ -191,8 +194,6 @@ public class UserTaskImpl extends AbstractTask {
entryentity.put("seq", 1);
posList.add(entryentity);
dataMap.put("entryentity", posList);
}
user.setDataMap(dataMap);
paramList.add(user);
}

View File

@ -0,0 +1,63 @@
package shkd.fi.er.plugin.formplugin;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.form.control.Label;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.sdk.plugin.Plugin;
import java.math.BigDecimal;
import java.util.EventObject;
/**
* 员工借款单借款单表单插件
*/
public class DailyLoanBillFormPlugin extends AbstractFormPlugin implements Plugin {
/**
* 打开界面加载数据
* 计算部门可用借款额度
* @param e
*/
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
DynamicObject dataEntity = this.getModel().getDataEntity();
DynamicObject org = dataEntity.getDynamicObject("org");//获取当前部门
if (org != null){//当部门不为空开始核算该部门借款可用额度
//1获取本位币别
DynamicObject currency = dataEntity.getDynamicObject("currency");//本位币别
String sign = currency.getString("sign");
//设置货币符号
Label shkd_label_sign = this.getView().getControl("shkd_label_sign");
shkd_label_sign.setText(sign);
//2计算借款可用额度
BigDecimal bigDecimal = new BigDecimal(0);
//查询审批未放款的当前部门的数据(已提交审核中审核通过等待放款)
QFilter qf = new QFilter("billstatus", QCP.in, new String[]{"B", "C", "E", "F"});
DynamicObject[] bills = BusinessDataServiceHelper.load("er_dailyloanbill", "id.number,loanamount,balanceamount", qf.toArray());
for (DynamicObject bill : bills) {
BigDecimal loanamount = bill.getBigDecimal("loanamount");//获取借款金额
bigDecimal = bigDecimal.add(loanamount);
}
//查询审批已放款的当前部门的数据(已付款)
QFilter aqf = new QFilter("billstatus", QCP.in, new String[]{"G"});
DynamicObject[] abills = BusinessDataServiceHelper.load("er_dailyloanbill", "id.number,loanamount,balanceamount", aqf.toArray());
for (DynamicObject abill : abills) {
BigDecimal balanceamount = abill.getBigDecimal("balanceamount");//获取待还款金额
bigDecimal = bigDecimal.add(balanceamount);
}
//设置可借款金额
Label shkd_borrowloanamount = this.getView().getControl("shkd_borrowloanamount");
BigDecimal bigDecimal1 = new BigDecimal(300000);
BigDecimal subtract = bigDecimal1.subtract(bigDecimal);
subtract = subtract.setScale(2);
shkd_borrowloanamount.setText(subtract.toString());
}else {
//隐藏该部分标签数据 借款可用额度货币符号0.00
this.getView().setVisible(false, new String[]{"shkd_borrowloan", "shkd_label_sign", "shkd_borrowloanamount"});
}
}
}