|
@@ -5,26 +5,20 @@ import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
import kd.bos.entity.datamodel.events.BizDataEventArgs;
|
|
import kd.bos.entity.datamodel.events.BizDataEventArgs;
|
|
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
|
import kd.bos.form.control.Label;
|
|
import kd.bos.form.control.Label;
|
|
|
-import kd.bos.form.field.DateRangeEdit;
|
|
|
|
|
import kd.bos.form.mcontrol.mobtable.MobTable;
|
|
import kd.bos.form.mcontrol.mobtable.MobTable;
|
|
|
-import kd.bos.form.mcontrol.mobtable.MobTablePackageDataHandler;
|
|
|
|
|
-import kd.bos.form.mcontrol.mobtable.MobTableRowBuilder;
|
|
|
|
|
-import kd.bos.form.mcontrol.mobtable.MobTableRowData;
|
|
|
|
|
import kd.bos.form.mcontrol.mobtable.events.IMobTablePackageDataHandlerListener;
|
|
import kd.bos.form.mcontrol.mobtable.events.IMobTablePackageDataHandlerListener;
|
|
|
-import kd.bos.form.mcontrol.mobtable.events.MobTableHandleResult;
|
|
|
|
|
-import kd.bos.form.mcontrol.mobtable.events.MobTablePackageDataHandlerArgs;
|
|
|
|
|
import kd.bos.form.mcontrol.mobtable.events.MobTablePackageDataHandlerEvent;
|
|
import kd.bos.form.mcontrol.mobtable.events.MobTablePackageDataHandlerEvent;
|
|
|
-import kd.bos.form.mcontrol.mobtable.tablecolumn.MobTableColumn;
|
|
|
|
|
import kd.bos.form.plugin.AbstractMobFormPlugin;
|
|
import kd.bos.form.plugin.AbstractMobFormPlugin;
|
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
|
import kd.bos.servicehelper.user.UserServiceHelper;
|
|
import kd.bos.servicehelper.user.UserServiceHelper;
|
|
|
import kd.sdk.plugin.Plugin;
|
|
import kd.sdk.plugin.Plugin;
|
|
|
-import nckd.jxccl.base.swc.helper.SWCHelper;
|
|
|
|
|
import nckd.jxccl.swc.constants.SwcConstant;
|
|
import nckd.jxccl.swc.constants.SwcConstant;
|
|
|
|
|
+import nckd.jxccl.base.swc.helper.SWCHelper;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
+import java.text.DecimalFormat;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -42,6 +36,7 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
private static String KEY_CTL_ENDDATE = "endmonth";
|
|
private static String KEY_CTL_ENDDATE = "endmonth";
|
|
|
private static String KEY_META_PERUSER = "hrpi_personuserrel";
|
|
private static String KEY_META_PERUSER = "hrpi_personuserrel";
|
|
|
private static Long KEY_EMPID = 0L;
|
|
private static Long KEY_EMPID = 0L;
|
|
|
|
|
+ private static Long KEY_USERID = 0L;
|
|
|
private static Date KEY_STARTDATE = new Date();
|
|
private static Date KEY_STARTDATE = new Date();
|
|
|
private static Date KEY_ENDDATE = new Date();
|
|
private static Date KEY_ENDDATE = new Date();
|
|
|
private static String KEY_TYPE = "10";
|
|
private static String KEY_TYPE = "10";
|
|
@@ -73,7 +68,7 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
@Override
|
|
@Override
|
|
|
public void createNewData(BizDataEventArgs e) {
|
|
public void createNewData(BizDataEventArgs e) {
|
|
|
super.createNewData(e);
|
|
super.createNewData(e);
|
|
|
- showData();
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -86,12 +81,20 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
Long userId = UserServiceHelper.getCurrentUserId();
|
|
Long userId = UserServiceHelper.getCurrentUserId();
|
|
|
this.getModel().setValue("nckd_user", userId);
|
|
this.getModel().setValue("nckd_user", userId);
|
|
|
|
|
|
|
|
- DynamicObject personUserDyns = SWCHelper.queryOne(KEY_META_PERUSER, "employee.id","user",userId);
|
|
|
|
|
-
|
|
|
|
|
- if(personUserDyns == null){
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ DynamicObject personUserDyn = SWCHelper.queryOne(KEY_META_PERUSER, "employee.id","user",userId);
|
|
|
|
|
+
|
|
|
|
|
+ if(personUserDyn == null){
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 没有员工信息时,返回常量,用于测试
|
|
|
|
|
+ */
|
|
|
|
|
+ KEY_EMPID = 2313784485549715456L;
|
|
|
|
|
+ // this.getView().showMessage("未找到员工!");
|
|
|
|
|
+ // return;
|
|
|
|
|
+ }else {
|
|
|
|
|
+ KEY_EMPID = personUserDyn.getLong("employee.id");
|
|
|
}
|
|
}
|
|
|
- KEY_EMPID = personUserDyns.getLong("employee.id");
|
|
|
|
|
|
|
+
|
|
|
|
|
+ showData();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -103,19 +106,21 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
public void propertyChanged(PropertyChangedArgs e) {
|
|
public void propertyChanged(PropertyChangedArgs e) {
|
|
|
super.propertyChanged(e);
|
|
super.propertyChanged(e);
|
|
|
String fieldKey = e.getProperty().getName();
|
|
String fieldKey = e.getProperty().getName();
|
|
|
- if (fieldKey.equals("nckd_daterangefield")){
|
|
|
|
|
|
|
+ if (fieldKey.equals(KEY_CTL_STARTDATE) || fieldKey.equals(KEY_CTL_ENDDATE)){
|
|
|
// TODO 在此添加业务逻辑
|
|
// TODO 在此添加业务逻辑
|
|
|
KEY_STARTDATE = (Date)this.getModel().getValue(KEY_CTL_STARTDATE);
|
|
KEY_STARTDATE = (Date)this.getModel().getValue(KEY_CTL_STARTDATE);
|
|
|
KEY_ENDDATE = (Date)this.getModel().getValue(KEY_CTL_ENDDATE);
|
|
KEY_ENDDATE = (Date)this.getModel().getValue(KEY_CTL_ENDDATE);
|
|
|
showData();
|
|
showData();
|
|
|
- this.getView().updateView("nckd_mob_empsalary") ;
|
|
|
|
|
|
|
+ //this.getView().updateView("nckd_mob_empsalary") ;
|
|
|
|
|
+ this.getView().updateView();
|
|
|
}
|
|
}
|
|
|
if (fieldKey.equals("nckd_type")){
|
|
if (fieldKey.equals("nckd_type")){
|
|
|
// TODO 在此添加业务逻辑
|
|
// TODO 在此添加业务逻辑
|
|
|
|
|
|
|
|
KEY_TYPE = (String)this.getModel().getValue("nckd_type");
|
|
KEY_TYPE = (String)this.getModel().getValue("nckd_type");
|
|
|
showData();
|
|
showData();
|
|
|
- this.getView().updateView("nckd_mob_empsalary") ;
|
|
|
|
|
|
|
+ //this.getView().updateView("nckd_mob_empsalary") ;
|
|
|
|
|
+ this.getView().updateView();
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -130,9 +135,21 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
Date startdate = KEY_STARTDATE;
|
|
Date startdate = KEY_STARTDATE;
|
|
|
Date enddate = KEY_ENDDATE;
|
|
Date enddate = KEY_ENDDATE;
|
|
|
String type = KEY_TYPE;
|
|
String type = KEY_TYPE;
|
|
|
- //SimpleDateFormat df = new SimpleDateFormat("yyyy-MM");
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if(KEY_EMPID == 0L) {
|
|
|
|
|
+ this.getView().showMessage("未找到员工!");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ List<Long> calPersonIds = SWCHelper.queryCalPersonList(KEY_EMPID);
|
|
|
|
|
+ if(calPersonIds == null && calPersonIds.size() == 0) {
|
|
|
|
|
+ this.getView().showMessage("未找到员工!");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
// 获取核算列表信息
|
|
// 获取核算列表信息
|
|
|
- QFilter filter = new QFilter("calpersonid", QCP.equals, 2334901966875941888L);
|
|
|
|
|
|
|
+ QFilter filter = new QFilter("calpersonid", QCP.in, calPersonIds);
|
|
|
if(type.equals("10")){
|
|
if(type.equals("10")){
|
|
|
filter.and("caltask.paydate", QCP.large_equals, startdate);
|
|
filter.and("caltask.paydate", QCP.large_equals, startdate);
|
|
|
filter.and("caltask.paydate", QCP.less_equals, enddate);
|
|
filter.and("caltask.paydate", QCP.less_equals, enddate);
|
|
@@ -140,11 +157,12 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
filter.and("caltask.payrolldate", QCP.large_equals, startdate);
|
|
filter.and("caltask.payrolldate", QCP.large_equals, startdate);
|
|
|
filter.and("caltask.payrolldate", QCP.less_equals, enddate);
|
|
filter.and("caltask.payrolldate", QCP.less_equals, enddate);
|
|
|
}
|
|
}
|
|
|
|
|
+ //filter.and("caltask.taskstatuse", QCP.equals, "7"); ///任务状态 已审核
|
|
|
filter.and("hsas_caltableentry.calamountvalue", QCP.large_than, 0);
|
|
filter.and("hsas_caltableentry.calamountvalue", QCP.large_than, 0);
|
|
|
String selectFields = "calpersonid,hsas_caltableentry.salaryitem.number,hsas_caltableentry.salaryitem.name,hsas_caltableentry.calamountvalue";
|
|
String selectFields = "calpersonid,hsas_caltableentry.salaryitem.number,hsas_caltableentry.salaryitem.name,hsas_caltableentry.calamountvalue";
|
|
|
DynamicObjectCollection calTableDyns = SwcConstant.CALTABLE_ENTITY.queryOriginalCollection(selectFields, new QFilter[]{filter});
|
|
DynamicObjectCollection calTableDyns = SwcConstant.CALTABLE_ENTITY.queryOriginalCollection(selectFields, new QFilter[]{filter});
|
|
|
|
|
|
|
|
- DynamicObject empDyn = SWCHelper.queryOne("hsas_calperson", 2334901966875941888L);
|
|
|
|
|
|
|
+ DynamicObject empDyn = SWCHelper.queryOne("hsas_calperson", calPersonIds.get(0));
|
|
|
|
|
|
|
|
Label label = this.getView().getControl(KEY_LAB_EMP_NAME);
|
|
Label label = this.getView().getControl(KEY_LAB_EMP_NAME);
|
|
|
label.setText(empDyn.getString("name"));
|
|
label.setText(empDyn.getString("name"));
|
|
@@ -153,18 +171,19 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
Map<String, String> itemNameMap = getItemName(calTableDyns);
|
|
Map<String, String> itemNameMap = getItemName(calTableDyns);
|
|
|
|
|
|
|
|
if(calItemAmtMap != null && calItemAmtMap.size() > 0 && itemNameMap != null && calItemAmtMap.size() > 0){
|
|
if(calItemAmtMap != null && calItemAmtMap.size() > 0 && itemNameMap != null && calItemAmtMap.size() > 0){
|
|
|
|
|
+ DecimalFormat df = new DecimalFormat("#,##0.00");
|
|
|
Label label1 = this.getView().getControl(KEY_LAB_REALAMT);
|
|
Label label1 = this.getView().getControl(KEY_LAB_REALAMT);
|
|
|
if(calItemAmtMap.get("JT_477") == null){
|
|
if(calItemAmtMap.get("JT_477") == null){
|
|
|
label1.setText("0.00");
|
|
label1.setText("0.00");
|
|
|
}else {
|
|
}else {
|
|
|
- label1.setText(calItemAmtMap.get("JT_477").toString()); //实发合计
|
|
|
|
|
|
|
+ label1.setText(df.format(calItemAmtMap.get("JT_477"))); //实发合计
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
Label label2 = this.getView().getControl(KEY_LAB_GROSSAMT);
|
|
Label label2 = this.getView().getControl(KEY_LAB_GROSSAMT);
|
|
|
if(calItemAmtMap.get("JT_283") == null){
|
|
if(calItemAmtMap.get("JT_283") == null){
|
|
|
label2.setText("0.00");
|
|
label2.setText("0.00");
|
|
|
}else {
|
|
}else {
|
|
|
- label2.setText(calItemAmtMap.get("JT_283").toString());
|
|
|
|
|
|
|
+ label2.setText(df.format(calItemAmtMap.get("JT_283")));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
MobTable mobTable = getControl("nckd_mobtable");
|
|
MobTable mobTable = getControl("nckd_mobtable");
|
|
@@ -230,36 +249,3 @@ public class EmpSalaryQueryMobFormPlugin extends AbstractMobFormPlugin implement
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-class EmpSalaryQueryMobDataHandler extends MobTablePackageDataHandler {
|
|
|
|
|
- @Override
|
|
|
|
|
- public MobTableHandleResult handleData(MobTablePackageDataHandlerArgs args) {
|
|
|
|
|
- List<MobTableColumn> mobTableColumns = args.getMobTableColumns();
|
|
|
|
|
- MobTableHandleResult mobTableHandleResult = new MobTableHandleResult();
|
|
|
|
|
- List<MobTableRowData> mobTableRowDataList = new ArrayList<>();
|
|
|
|
|
- Map<String, BigDecimal> calItemAmtMap = args.getCustomParam("calItemAmt");
|
|
|
|
|
- Map<String, String> itemNameMap = args.getCustomParam("itemName");
|
|
|
|
|
-
|
|
|
|
|
- if(calItemAmtMap != null && calItemAmtMap.size() > 0 && itemNameMap != null && calItemAmtMap.size() > 0) {
|
|
|
|
|
- int index = 0;
|
|
|
|
|
- for (Map.Entry<String, BigDecimal> entry : calItemAmtMap.entrySet()) {
|
|
|
|
|
- String key = entry.getKey();
|
|
|
|
|
- BigDecimal value = entry.getValue();
|
|
|
|
|
-
|
|
|
|
|
- // 处理 key 和 value
|
|
|
|
|
- MobTableRowData mobTableRowData = MobTableRowBuilder.buildTemplateRowData(index, mobTableColumns);
|
|
|
|
|
- mobTableRowData.setValue("nckd_item", itemNameMap.get(key));
|
|
|
|
|
- mobTableRowData.setValue("nckd_amt", calItemAmtMap.get(key));
|
|
|
|
|
- mobTableRowDataList.add(mobTableRowData);
|
|
|
|
|
- index++;
|
|
|
|
|
- System.out.println("Key: " + key + "name:, " + itemNameMap.get(key) + "Value: " + value);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- mobTableHandleResult.setMobTableRowDataList(mobTableRowDataList);
|
|
|
|
|
- // 额外格式化信息如日期、金额,支持重写
|
|
|
|
|
- mobTableHandleResult.setFmtInfo(getFmtInfo(args));
|
|
|
|
|
- }
|
|
|
|
|
- return mobTableHandleResult;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-}
|
|
|