员工借款单表单插件:加载部门可用借款额度数据
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.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);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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