员工借款单表单插件:加载部门可用借款额度数据
This commit is contained in:
parent
e6e4f559c0
commit
f2dd45b9fb
|
@ -13,6 +13,7 @@ import kd.bos.permission.model.UserParam;
|
||||||
import kd.bos.schedule.executor.AbstractTask;
|
import kd.bos.schedule.executor.AbstractTask;
|
||||||
import kd.bos.service.ServiceFactory;
|
import kd.bos.service.ServiceFactory;
|
||||||
|
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.QueryServiceHelper;
|
import kd.bos.servicehelper.QueryServiceHelper;
|
||||||
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
|
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
|
||||||
import kd.bos.servicehelper.user.UserServiceHelper;
|
import kd.bos.servicehelper.user.UserServiceHelper;
|
||||||
|
@ -112,7 +113,7 @@ public class UserTaskImpl extends AbstractTask {
|
||||||
"id,number,shkd_oaid", null);//查询星瀚系统部门集合
|
"id,number,shkd_oaid", null);//查询星瀚系统部门集合
|
||||||
userIds = new HashMap<Object, Long>();//存放系统中已经存在的用户id集合
|
userIds = new HashMap<Object, Long>();//存放系统中已经存在的用户id集合
|
||||||
for (DynamicObject queryUser : queryUsers) {
|
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++){//查询成功取第一轮数据同步
|
for (int i = 1; i < pageNumber.intValue(); i++){//查询成功取第一轮数据同步
|
||||||
CURPAGE = i ;
|
CURPAGE = i ;
|
||||||
|
@ -151,7 +152,7 @@ public class UserTaskImpl extends AbstractTask {
|
||||||
for (int i = 0; i < dataList.size(); i++) {
|
for (int i = 0; i < dataList.size(); i++) {
|
||||||
UserParam user = new UserParam();
|
UserParam user = new UserParam();
|
||||||
JSONObject userData = dataList.getJSONObject(i);
|
JSONObject userData = dataList.getJSONObject(i);
|
||||||
Long workid = userIds.get(userData.getString("workcode"));
|
Long workid = userIds.get(userData.getString("id"));
|
||||||
if (workid != null){
|
if (workid != null){
|
||||||
user.setId(workid);
|
user.setId(workid);
|
||||||
user.setCustomUserId(workid);
|
user.setCustomUserId(workid);
|
||||||
|
@ -170,29 +171,29 @@ public class UserTaskImpl extends AbstractTask {
|
||||||
|
|
||||||
// 职位分录
|
// 职位分录
|
||||||
if(workid == null){//若人不存在则更新部门
|
if(workid == null){//若人不存在则更新部门
|
||||||
List<Map<String, Object>> posList = new ArrayList<>();
|
|
||||||
Map<String, Object> entryentity = new HashMap<>();
|
|
||||||
// 通过编码设置部门
|
|
||||||
Map<String, Object> dptNumMap = new HashMap<>();
|
|
||||||
dptNumMap.put("number", userData.getString("departmentcode"));
|
|
||||||
entryentity.put("dpt",dptNumMap ); // 部门
|
|
||||||
entryentity.put("position", userData.getString("jobactivityname")); // 职位
|
|
||||||
entryentity.put("isincharge", false); //负责人
|
|
||||||
entryentity.put("ispartjob", false); //兼职
|
|
||||||
String managerId_oa = userData.getString("managerid");//获取上级人员id(oa)
|
|
||||||
Long managerId = userIds.get(managerId_oa);//直接上级id
|
|
||||||
if (managerId != null){
|
|
||||||
entryentity.put("superior", managerId); // 赋值直接上级
|
|
||||||
}else {
|
|
||||||
if (!"".equals(managerId_oa)){//当上级人员id(oa)存在且未在星瀚系统检索成功时,修改参数flag,接口将重新构造人员类更新数据
|
|
||||||
flag = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
entryentity.put("seq", 1);
|
|
||||||
posList.add(entryentity);
|
|
||||||
dataMap.put("entryentity", posList);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
List<Map<String, Object>> posList = new ArrayList<>();
|
||||||
|
Map<String, Object> entryentity = new HashMap<>();
|
||||||
|
// 通过编码设置部门
|
||||||
|
Map<String, Object> dptNumMap = new HashMap<>();
|
||||||
|
dptNumMap.put("number", userData.getString("departmentcode"));
|
||||||
|
entryentity.put("dpt",dptNumMap ); // 部门
|
||||||
|
entryentity.put("position", userData.getString("jobactivityname")); // 职位
|
||||||
|
entryentity.put("isincharge", false); //负责人
|
||||||
|
entryentity.put("ispartjob", false); //兼职
|
||||||
|
String managerId_oa = userData.getString("managerid");//获取上级人员id(oa)
|
||||||
|
Long managerId = userIds.get(managerId_oa);//直接上级id
|
||||||
|
if (managerId != null){
|
||||||
|
entryentity.put("superior", managerId); // 赋值直接上级
|
||||||
|
}else {
|
||||||
|
if (!"".equals(managerId_oa)){//当上级人员id(oa)存在且未在星瀚系统检索成功时,修改参数flag,接口将重新构造人员类更新数据
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
entryentity.put("seq", 1);
|
||||||
|
posList.add(entryentity);
|
||||||
|
dataMap.put("entryentity", posList);
|
||||||
user.setDataMap(dataMap);
|
user.setDataMap(dataMap);
|
||||||
paramList.add(user);
|
paramList.add(user);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue