|
|
@@ -10,12 +10,11 @@ import kd.bos.form.control.grid.DataGridRow;
|
|
|
import kd.bos.form.control.grid.DataGridRowBuilder;
|
|
|
import kd.bos.form.control.grid.column.AmountDataGridColumn;
|
|
|
import kd.bos.form.control.grid.column.DataGridColumn;
|
|
|
-import kd.bos.form.control.grid.column.TextDataGridColumn;
|
|
|
+
|
|
|
import kd.bos.form.control.grid.events.BeforeCreateDataGridColumnsEvent;
|
|
|
import kd.bos.form.control.grid.events.BeforeCreateDataGridColumnsListener;
|
|
|
import kd.bos.form.control.grid.events.DataGridBindDataEvent;
|
|
|
import kd.bos.form.control.grid.events.DataGridBindDataListener;
|
|
|
-import kd.bos.form.mcontrol.mobtable.MobTable;
|
|
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
|
|
import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
|
@@ -24,14 +23,13 @@ import kd.bos.servicehelper.user.UserServiceHelper;
|
|
|
import kd.sdk.plugin.Plugin;
|
|
|
import nckd.jxccl.base.common.utils.DateUtil;
|
|
|
import nckd.jxccl.base.swc.helper.SWCHelper;
|
|
|
-import nckd.jxccl.swc.constants.SwcConstant;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
- * 动态表单插件
|
|
|
+ * 员工薪酬查询 WEB 动态表单插件
|
|
|
* @author turborao
|
|
|
* @date 2025/11/28 16:01
|
|
|
*/
|
|
|
@@ -56,15 +54,10 @@ public class EmpSalaryQueryWebFormPlugin extends AbstractFormPlugin implements P
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public void beforeBindData(EventObject e) {
|
|
|
- super.beforeBindData(e);
|
|
|
-
|
|
|
- this.getModel().setValue(KEY_CTL_STARTDATE, KEY_STARTDATE);
|
|
|
-
|
|
|
- this.getModel().setValue(KEY_CTL_ENDDATE, KEY_ENDDATE);
|
|
|
+ public void initialize() {
|
|
|
+ super.initialize();
|
|
|
|
|
|
Long userId = UserServiceHelper.getCurrentUserId();
|
|
|
- this.getModel().setValue("nckd_user", userId);
|
|
|
|
|
|
DynamicObject personUserDyn = SWCHelper.queryOne(KEY_META_PERUSER, "employee.id","user",userId);
|
|
|
|
|
|
@@ -78,17 +71,6 @@ public class EmpSalaryQueryWebFormPlugin extends AbstractFormPlugin implements P
|
|
|
}else {
|
|
|
KEY_EMPID = personUserDyn.getLong("employee.id");
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void afterBindData(EventObject e) {
|
|
|
- super.afterBindData(e);
|
|
|
- showData();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void afterCreateNewData(EventObject e) {
|
|
|
- super.afterCreateNewData(e);
|
|
|
|
|
|
// 设置最大日期为上个月
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
@@ -102,6 +84,42 @@ public class EmpSalaryQueryWebFormPlugin extends AbstractFormPlugin implements P
|
|
|
Date lastMonthDate = calendar.getTime();
|
|
|
KEY_STARTDATE = lastMonthDate;
|
|
|
|
|
|
+ showData();
|
|
|
+ /**
|
|
|
+ * 构建表格数据
|
|
|
+ */
|
|
|
+ DataGrid dataGrid = this.getControl("nckd_datagridap");
|
|
|
+ // 注册创建列监听事件
|
|
|
+ dataGrid.addBeforeCreateDataGridColumnsListener(this);
|
|
|
+ // 注册绑定数据监听事件
|
|
|
+ dataGrid.addBindDataListener(this);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void beforeBindData(EventObject e) {
|
|
|
+ super.beforeBindData(e);
|
|
|
+
|
|
|
+ this.getModel().setValue(KEY_CTL_STARTDATE, KEY_STARTDATE);
|
|
|
+
|
|
|
+ this.getModel().setValue(KEY_CTL_ENDDATE, KEY_ENDDATE);
|
|
|
+
|
|
|
+ Long userId = UserServiceHelper.getCurrentUserId();
|
|
|
+ this.getModel().setValue("nckd_user", userId);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void afterBindData(EventObject e) {
|
|
|
+ super.afterBindData(e);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void afterCreateNewData(EventObject e) {
|
|
|
+ super.afterCreateNewData(e);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -158,7 +176,6 @@ public class EmpSalaryQueryWebFormPlugin extends AbstractFormPlugin implements P
|
|
|
itemNameMap = getItemName(calTableDyns);
|
|
|
calItemAmtMapByPeriod = getCalItemAmtByPeriod(calTableDyns);
|
|
|
|
|
|
-
|
|
|
if(calItemAmtMap != null && calItemAmtMap.size() > 0 && itemNameMap != null && !itemNameMap.isEmpty()){
|
|
|
DecimalFormat df = new DecimalFormat("#,##0.00");
|
|
|
Label label1 = this.getView().getControl(KEY_LAB_REALAMT);
|
|
|
@@ -175,15 +192,6 @@ public class EmpSalaryQueryWebFormPlugin extends AbstractFormPlugin implements P
|
|
|
label2.setText(df.format(calItemAmtMap.get("JT_283"))); //应发合计
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 构建表格数据
|
|
|
- */
|
|
|
- DataGrid dataGrid = this.getControl("nckd_datagridap");
|
|
|
- // 注册创建列监听事件
|
|
|
- dataGrid.addBeforeCreateDataGridColumnsListener(this);
|
|
|
- // 注册绑定数据监听事件
|
|
|
- dataGrid.addBindDataListener(this);
|
|
|
-
|
|
|
}else{
|
|
|
Label label1 = this.getView().getControl(KEY_LAB_REALAMT);
|
|
|
label1.setText("0.00");
|
|
|
@@ -320,7 +328,7 @@ public class EmpSalaryQueryWebFormPlugin extends AbstractFormPlugin implements P
|
|
|
public void dataGridBindData(DataGridBindDataEvent e) {
|
|
|
List<Object> list = new ArrayList<>();
|
|
|
int index = 0;
|
|
|
- if(calItemAmtMapByPeriod != null && calItemAmtMapByPeriod.isEmpty()) {
|
|
|
+ if(calItemAmtMapByPeriod != null && !calItemAmtMapByPeriod.isEmpty()) {
|
|
|
DataGridRowBuilder builder = e.getDataGridRowBuilder();
|
|
|
// 遍历每个周期
|
|
|
for (Map.Entry<String, Map<String, BigDecimal>> periodEntry : calItemAmtMapByPeriod.entrySet()) {
|