|
@@ -1,22 +1,297 @@
|
|
package fi.em.formPlugin;
|
|
package fi.em.formPlugin;
|
|
|
|
|
|
|
|
+import kd.bos.dataentity.entity.DynamicObject;
|
|
|
|
+import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
|
|
+import kd.bos.form.events.BeforeDoOperationEventArgs;
|
|
|
|
+import kd.bos.form.operate.FormOperate;
|
|
import kd.bos.list.plugin.AbstractListPlugin;
|
|
import kd.bos.list.plugin.AbstractListPlugin;
|
|
import kd.sdk.plugin.Plugin;
|
|
import kd.sdk.plugin.Plugin;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.util.*;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @author cjz
|
|
* @author cjz
|
|
* @date 2024/9/12 11:12
|
|
* @date 2024/9/12 11:12
|
|
- * @description:薪酬计提提交后自动审核
|
|
|
|
|
|
+ * @description:薪酬计提提交后自动审核,保存前计算汇总分录
|
|
*/
|
|
*/
|
|
public class SubAndAudFormPlugin extends AbstractListPlugin implements Plugin {
|
|
public class SubAndAudFormPlugin extends AbstractListPlugin implements Plugin {
|
|
|
|
+
|
|
|
|
+ private static String nckd_staffentry="nckd_staffentry";//通用薪酬一般员工
|
|
|
|
+ private static String nckd_earlyretiredentry="nckd_earlyretiredentry";//通用薪酬内退
|
|
|
|
+ private static String nckd_retireentry="nckd_retireentry";//通用薪酬退休
|
|
|
|
+ private static String nckd_salaryentry="nckd_salaryentry";//人力薪酬
|
|
|
|
+ private static String nckd_salaryentryre="nckd_salaryentryre";//人力薪酬内退
|
|
|
|
+ private static String nckd_allentry="nckd_allentry";//汇总分录
|
|
|
|
+
|
|
public void afterDoOperation(AfterDoOperationEventArgs arg){
|
|
public void afterDoOperation(AfterDoOperationEventArgs arg){
|
|
//提交并审核
|
|
//提交并审核
|
|
if ("submit".equals(arg.getOperateKey())) {
|
|
if ("submit".equals(arg.getOperateKey())) {
|
|
//调用审核
|
|
//调用审核
|
|
this.getView().invokeOperation("audit");
|
|
this.getView().invokeOperation("audit");
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //根据输入的list名,返回对应list
|
|
|
|
+ public List<String> entryList(String nckdentry)
|
|
|
|
+ {
|
|
|
|
+ //薪酬明细(一般员工)分录字段标识,金额字段
|
|
|
|
+ List<String> nckd_generalemployees = Arrays.asList("nckd_se_allbasicsry"
|
|
|
|
+ ,"nckd_se_basicsry","nckd_se_acmsry","nckd_se_reacmsry","nckd_se_bsnrwd","nckd_se_otreward","nckd_se_cmcsbd"
|
|
|
|
+ ,"nckd_se_otherpysry","nckd_se_clearrwd","nckd_se_awareward","nckd_se_otherdevreward","nckd_se_coldsbad"
|
|
|
|
+ ,"nckd_se_warmsbad","nckd_se_nursabd","nckd_se_otherallowance","nckd_se_salarypayable","nckd_se_per_endins"
|
|
|
|
+ ,"nckd_se_per_hopins","nckd_se_per_bhopins","nckd_se_per_ljins","nckd_se_per_hosins","nckd_se_per_cmymey"
|
|
|
|
+ ,"nckd_se_unionmey","nckd_se_tax","nckd_se_otherreduce","nckd_se_desalary","nckd_se_netsalary","nckd_se_cpy_endins"
|
|
|
|
+ ,"nckd_se_cpy_hopins","nckd_se_cpy_bhopins","nckd_se_cpy_ljins","nckd_se_cpy_birthins","nckd_se_cpy_dmgins","nckd_se_cpy_hosins"
|
|
|
|
+ ,"nckd_se_cpy_cmymey");
|
|
|
|
+ //薪酬明细(一般员工)汇总分录字段标识
|
|
|
|
+ List<String> nckd_allemployees=Arrays.asList("nckd_all_allbsry","nckd_all_basicsry","nckd_all_acmsry","nckd_all_reacmsry"
|
|
|
|
+ ,"nckd_all_bsnrwd","nckd_all_otreward","nckd_all_cmcsbd","nckd_all_otherpysry","nckd_all_clearrwd","nckd_all_awareward"
|
|
|
|
+ ,"nckd_all_odevreward","nckd_all_coldsbad","nckd_all_warmsbad","nckd_all_nursabd","nckd_all_oallowance","nckd_all_salarypaya"
|
|
|
|
+ ,"nckd_all_per_endins","nckd_all_per_hopins","nckd_all_per_bhopins","nckd_all_per_ljins","nckd_all_per_hosins","nckd_all_per_cmymey"
|
|
|
|
+ ,"nckd_all_unionmey","nckd_all_tax","nckd_all_otherreduce","nckd_all_desalary","nckd_all_netsalary","nckd_all_cpy_endins"
|
|
|
|
+ ,"nckd_all_cpy_hopins","nckd_all_cpy_bhopins","nckd_all_cpy_ljins","nckd_all_cpy_birthins","nckd_all_cpy_dmgins","nckd_all_cpy_hosins"
|
|
|
|
+ ,"nckd_all_cpy_cmymey");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //薪酬明细(内退)分录字段标识,金额字段
|
|
|
|
+ List<String> nckd_earlyretired=Arrays.asList("nckd_ee_allbasicsry","nckd_ee_allowance","nckd_ee_otherallowance","nckd_ee_per_endins"
|
|
|
|
+ ,"nckd_ee_per_ljins","nckd_ee_per_hopins","nckd_ee_per_bhopins","nckd_ee_per_hosins","nckd_ee_per_cmymey","nckd_ee_unionmey"
|
|
|
|
+ ,"nckd_ee_tax","nckd_ee_desalary","nckd_ee_netsalary","nckd_ee_otherreduce","nckd_ee_cpy_endins","nckd_ee_cpy_bhopins"
|
|
|
|
+ ,"nckd_ee_cpy_ljins","nckd_ee_cpy_birthins","nckd_ee_cpy_dmgins","nckd_ee_cpy_cmymey","nckd_ee_cpy_hosins","nckd_ee_taxt"
|
|
|
|
+ ,"nckd_ee_alltaxt","nckd_ee_charge","nckd_ee_finallsys");
|
|
|
|
+ //薪酬明细(内退)汇总分录字段标识
|
|
|
|
+ List<String> nckd_allearlytired=Arrays.asList("nckd_all_allbasicsry","nckd_all_allowqance","nckd_all_owance","nckd_all_reduceitem"
|
|
|
|
+ ,"nckd_all_sumsry","nckd_all_laryreduce","nckd_all_pushreduce","nckd_all_lrulereduce","nckd_all_badreduce","nckd_all_oreduce","nckd_all_reducesry"
|
|
|
|
+ ,"nckd_all_salarypaya","nckd_all_nesalary","nckd_all_per_endins","nckd_all_per_hopins","nckd_all_per_bhopins","nckd_all_per_ljins"
|
|
|
|
+ ,"nckd_all_per_hosins","nckd_all_per_cmymey","nckd_all_sumins","nckd_all_workamount","nckd_all_tax","nckd_all_alltaxt"
|
|
|
|
+ ,"nckd_all_charge","nckd_all_netsalary");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //薪酬明细(退休)分录字段标识,金额字段
|
|
|
|
+ List<String> nckd_retired=Arrays.asList("nckd_re_livallowance","nckd_re_otherallowance","nckd_re_reward"
|
|
|
|
+ ,"nckd_re_salarypayable","nckd_re_desalary","nckd_re_netsalary");
|
|
|
|
+ //薪酬明细(退休)汇总分录字段标识
|
|
|
|
+ List<String> nckd_allretired=Arrays.asList("nckd_all_livallowance","nckd_all_otherwance","nckd_all_reward","nckd_all_salarypaya"
|
|
|
|
+ ,"nckd_all_desalary","nckd_all_netsalary");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //人力薪酬分录标识金额字段,金额字段
|
|
|
|
+ List<String> nckd_pay=Arrays.asList("nckd_sae_levelsry","nckd_sae_dutiessry","nckd_sae_updutiessry","nckd_sae_workyearsry"
|
|
|
|
+ ,"nckd_sae_depyear","nckd_sae_eduasry","nckd_sae_transry","nckd_sae_jobsry","nckd_sae_basicsry","nckd_sae_allbasicsry","nckd_sae_acmsry"
|
|
|
|
+ ,"nckd_sae_mountsry","nckd_sae_reacmsry","nckd_sae_balyearsry","nckd_sae_blastyearsry","nckd_sae_allsry","nckd_sae_bsnrwd","nckd_sae_cpmrwd"
|
|
|
|
+ ,"nckd_sae_psrwd","nckd_sae_comrwd","nckd_sae_cardrwd","nckd_sae_intwrd","nckd_sae_clearrwd","nckd_sae_allrwd","nckd_sae_retainsry"
|
|
|
|
+ ,"nckd_sae_reward","nckd_sae_otreward","nckd_sae_cmcsbd","nckd_sae_trfsbd","nckd_sae_housesbd","nckd_sae_warmsbd","nckd_sae_edusbd"
|
|
|
|
+ ,"nckd_sae_trafficsbd","nckd_sae_othersbd","nckd_sae_reduce","nckd_sae_othersry","nckd_sae_sickreduce","nckd_sae_sickhopreduce"
|
|
|
|
+ ,"nckd_sae_eventreduce","nckd_sae_afwreduce","nckd_sae_latereduce","nckd_sae_cwasry","nckd_sae_cwareduce","nckd_sae_dgreduce"
|
|
|
|
+ ,"nckd_sae_dcpreduce","nckd_sae_badreduce","nckd_sae_otherreduce","nckd_sae_allreduce","nckd_sae_lastsry","nckd_sae_allpay"
|
|
|
|
+ ,"nckd_sae_per_endins","nckd_sae_per_ljins","nckd_sae_per_hopins","nckd_sae_per_bhopins","nckd_sae_per_hosins","nckd_sae_per_cmymey"
|
|
|
|
+ ,"nckd_sae_per_ins","nckd_sae_unionmey","nckd_sae_tax","nckd_sae_allamount","nckd_sae_cash","nckd_sae_wages","nckd_sae_cpy_endins"
|
|
|
|
+ ,"nckd_sae_cpy_hopins","nckd_sae_cpy_bhopins","nckd_sae_cpy_birthins","nckd_sae_cpy_ljins","nckd_sae_cpy_dmgins","nckd_sae_cpy_hosins"
|
|
|
|
+ ,"nckd_sae_cpy_cmymey");
|
|
|
|
+ //人力薪酬汇总分录字段标识
|
|
|
|
+ List<String> nckd_allpay=Arrays.asList("nckd_all_levelsry","nckd_all_dutiessry","nckd_all_updutiessry","nckd_all_workyearsry"
|
|
|
|
+ ,"nckd_all_depyear","nckd_all_eduasry","nckd_all_transry","nckd_all_jobsry","nckd_all_rebasicsry","nckd_all_allbacsry"
|
|
|
|
+ ,"nckd_all_allcmsry","nckd_all_mountsry","nckd_all_reacmamount","nckd_all_balyearsry","nckd_all_blastyearsry","nckd_all_allsry"
|
|
|
|
+ ,"nckd_all_bsnreda","nckd_all_cpmrwd","nckd_all_psrwd","nckd_all_comrwd","nckd_all_cardrwd","nckd_all_intwrd","nckd_all_clearwd"
|
|
|
|
+ ,"nckd_all_allrwd","nckd_all_retainsry","nckd_all_owance","nckd_all_otrewardam","nckd_all_rlcmcsbd","nckd_all_trfsbd"
|
|
|
|
+ ,"nckd_all_housesbd","nckd_all_warmsbd","nckd_all_edusbd","nckd_all_trafficsbd","nckd_all_othersbd","nckd_all_reduce"
|
|
|
|
+ ,"nckd_all_othersry","nckd_all_sickreduce","nckd_all_sickhopreduce","nckd_all_eventreduce","nckd_all_afwreduce","nckd_all_latereduce"
|
|
|
|
+ ,"nckd_all_cwasry","nckd_all_cwareduce","nckd_all_dgreduce","nckd_all_dcpreduce","nckd_all_badredu","nckd_all_othereduce"
|
|
|
|
+ ,"nckd_all_allreduce","nckd_all_salarypaya","nckd_all_nesalary","nckd_all_per_endins","nckd_all_per_hopins","nckd_all_per_bhopins"
|
|
|
|
+ ,"nckd_all_per_ljins","nckd_all_per_hosins","nckd_all_per_cmymey","nckd_all_sumins","nckd_all_workamount","nckd_all_tax"
|
|
|
|
+ ,"nckd_all_alltaxt","nckd_all_charge","nckd_all_netsalary","nckd_all_cpy_endins","nckd_all_cpy_hopins","nckd_all_cpy_bhopins"
|
|
|
|
+ ,"nckd_all_cpy_birthins","nckd_all_cpy_ljins","nckd_all_cpy_dmgins","nckd_all_cpy_hosins","nckd_all_cpy_cmymey");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //人力薪酬内退分录标识,金额字段
|
|
|
|
+ List<String> nckd_payretird=Arrays.asList("nckd_see_allbasicsry"
|
|
|
|
+ ,"nckd_see_allowance","nckd_see_otherallowanc","nckd_see_per_endins","nckd_see_per_ljins","nckd_see_per_hopins"
|
|
|
|
+ ,"nckd_see_per_bhopins","nckd_see_per_hosins","nckd_see_per_cmymey","nckd_see_unionmey","nckd_see_tax"
|
|
|
|
+ ,"nckd_see_desalary","nckd_see_netsalary","nckd_see_otherreduce","nckd_see_cpy_endins","nckd_see_cpy_bhopins"
|
|
|
|
+ ,"nckd_see_cpy_ljins","nckd_see_cpy_birthins","nckd_see_cpy_dmgins","nckd_see_cpy_cmymey","nckd_see_cpy_hosins"
|
|
|
|
+ ,"nckd_see_taxt","nckd_see_alltaxt","nckd_see_charge","nckd_see_finallsys","nckd_see_cpy_oldins","nckd_see_cpy_hop"
|
|
|
|
+ ,"nckd_see_cpy_bhop","nckd_see_cpy_bir","nckd_see_cpy_ljob","nckd_see_cpy_dwork","nckd_see_cpy_hos","nckd_see_cpy_cmy");
|
|
|
|
+
|
|
|
|
+ //人力薪酬内退分录汇总字段
|
|
|
|
+ List<String> nckd_allpayretird=Arrays.asList("nckd_all_allbasicsry","nckd_all_allowqance","nckd_all_owance","nckd_all_reduceitem"
|
|
|
|
+ ,"nckd_all_sumsry","nckd_all_laryreduce","nckd_all_pushreduce","nckd_all_lrulereduce","nckd_all_badreduce","nckd_all_oreduce"
|
|
|
|
+ ,"nckd_all_reducesry","nckd_all_salarypaya","nckd_all_nesalary","nckd_all_per_endins","nckd_all_per_hopins","nckd_all_per_ljins"
|
|
|
|
+ ,"nckd_all_per_bhopins","nckd_all_per_hosins","nckd_all_per_cmymey","nckd_all_sumins","nckd_all_workamount","nckd_all_tax"
|
|
|
|
+ ,"nckd_all_alltaxt","nckd_all_charge","nckd_all_netsalary","nckd_all_cpy_endins","nckd_all_cpy_hopins","nckd_all_cpy_bhopins"
|
|
|
|
+ ,"nckd_all_cpy_birthins","nckd_all_cpy_ljins","nckd_all_cpy_dmgins","nckd_all_cpy_hosins","nckd_all_cpy_cmymey");
|
|
|
|
+
|
|
|
|
+ Map<String,List<String>> mapList=new HashMap<>();
|
|
|
|
+ mapList.put("nckd_generalemployees",nckd_generalemployees);
|
|
|
|
+ mapList.put("nckd_allemployees",nckd_allemployees);
|
|
|
|
+ mapList.put("nckd_earlyretired",nckd_earlyretired);
|
|
|
|
+ mapList.put("nckd_retired",nckd_retired);
|
|
|
|
+ mapList.put("nckd_pay",nckd_pay);
|
|
|
|
+ mapList.put("nckd_payretird",nckd_payretird);
|
|
|
|
+ mapList.put("nckd_allearlytired",nckd_allearlytired);
|
|
|
|
+ mapList.put("nckd_allretired",nckd_allretired);
|
|
|
|
+ mapList.put("nckd_allpay",nckd_allpay);
|
|
|
|
+ mapList.put("nckd_allpayretird",nckd_allpayretird);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //list名
|
|
|
|
+ List<String> list=new ArrayList<>();
|
|
|
|
+ list.add("nckd_generalemployees");
|
|
|
|
+ list.add("nckd_allemployees");
|
|
|
|
+ list.add("nckd_earlyretired");
|
|
|
|
+ list.add("nckd_retired");
|
|
|
|
+ list.add("nckd_pay");
|
|
|
|
+ list.add("nckd_payretird");
|
|
|
|
+ list.add("nckd_allearlytired");
|
|
|
|
+ list.add("nckd_allretired");
|
|
|
|
+ list.add("nckd_allpay");
|
|
|
|
+ list.add("nckd_allpayretird");
|
|
|
|
+ for (String item:list) {
|
|
|
|
+ if (nckdentry.equals(item))
|
|
|
|
+ {
|
|
|
|
+ return mapList.get(nckdentry);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //保存前计算汇总分录
|
|
|
|
+ public void beforeDoOperation(BeforeDoOperationEventArgs arg) {
|
|
|
|
+ super.beforeDoOperation(arg);
|
|
|
|
+ FormOperate source = (FormOperate) arg.getSource();
|
|
|
|
+ //获取当前操作单据
|
|
|
|
+ DynamicObject dynamicObject=this.getModel().getDataEntity(true);
|
|
|
|
+ //当前单据分录类型
|
|
|
|
+ String nckd_entrytype=dynamicObject.getString("nckd_entrytype");
|
|
|
|
+
|
|
|
|
+ //保存前,计算汇总分录
|
|
|
|
+ if ("save".equals(source.getOperateKey())||"countall".equals(source.getOperateKey())){
|
|
|
|
+ //先清空汇总分录分录
|
|
|
|
+ this.getModel().deleteEntryData("nckd_allentry");
|
|
|
|
+ //分录类型为通用薪酬一般员工
|
|
|
|
+ if ("A".equals(nckd_entrytype)) {
|
|
|
|
+ //字段标识
|
|
|
|
+ String entrylist="nckd_generalemployees";
|
|
|
|
+ //对应分录标识
|
|
|
|
+ String propername="nckd_staffentry";
|
|
|
|
+ //对应部门标识
|
|
|
|
+ String dep="nckd_se_department";
|
|
|
|
+ //对应汇总分录字段标识
|
|
|
|
+ String allentrtlist="nckd_allemployees";
|
|
|
|
+ countEntry(dynamicObject,entrylist,propername,dep,allentrtlist);
|
|
|
|
+ }
|
|
|
|
+ //分录类型为通用薪酬内退
|
|
|
|
+ if ("B".equals(nckd_entrytype)) {
|
|
|
|
+ //字段标识
|
|
|
|
+ String entrylist="nckd_earlyretired";
|
|
|
|
+ //对应分录标识
|
|
|
|
+ String propername="nckd_earlyretiredentry";
|
|
|
|
+ //对应部门标识
|
|
|
|
+ String dep="nckd_ee_department";
|
|
|
|
+ //对应汇总分录字段标识
|
|
|
|
+ String allentrtlist="nckd_allearlytired";
|
|
|
|
+ countEntry(dynamicObject,entrylist,propername,dep,allentrtlist);
|
|
|
|
+ }
|
|
|
|
+ //分录类型为通用薪酬退休
|
|
|
|
+ if ("C".equals(nckd_entrytype)) {
|
|
|
|
+ //字段标识
|
|
|
|
+ String entrylist="nckd_retired";
|
|
|
|
+ //对应分录标识
|
|
|
|
+ String propername="nckd_retireentry";
|
|
|
|
+ //对应部门标识
|
|
|
|
+ String dep="nckd_re_department";
|
|
|
|
+ //对应汇总分录字段标识
|
|
|
|
+ String allentrtlist="nckd_allretired";
|
|
|
|
+ countEntry(dynamicObject,entrylist,propername,dep,allentrtlist);
|
|
|
|
+ }
|
|
|
|
+ //分录类型为人力薪酬(一般员工)
|
|
|
|
+ if ("D".equals(nckd_entrytype)) {
|
|
|
|
+ //字段标识
|
|
|
|
+ String entrylist="nckd_pay";
|
|
|
|
+ //对应分录标识
|
|
|
|
+ String propername="nckd_salaryentry";
|
|
|
|
+ //对应部门标识
|
|
|
|
+ String dep="nckd_sae_department";
|
|
|
|
+ //对应汇总分录字段标识
|
|
|
|
+ String allentrtlist="nckd_allpay";
|
|
|
|
+ countEntry(dynamicObject,entrylist,propername,dep,allentrtlist);
|
|
|
|
+ }
|
|
|
|
+ //分录类型为人力薪酬(内退)
|
|
|
|
+ if ("E".equals(nckd_entrytype)) {
|
|
|
|
+ //字段标识
|
|
|
|
+ String entrylist="nckd_payretird";
|
|
|
|
+ //对应分录标识
|
|
|
|
+ String propername="nckd_salaryentryre";
|
|
|
|
+ //对应部门标识
|
|
|
|
+ String dep="nckd_see_department";
|
|
|
|
+ //对应汇总分录字段标识
|
|
|
|
+ String allentrtlist="nckd_allpayretird";
|
|
|
|
+ countEntry(dynamicObject,entrylist,propername,dep,allentrtlist);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * @dynamicObject 当前单据信息
|
|
|
|
+ * @entrylist 字段标识列表
|
|
|
|
+ * @propername 分录标识
|
|
|
|
+ * @dep 对应分录部门标识
|
|
|
|
+ * @allentrtlist 写入的汇总分录字段
|
|
|
|
+ * @description:根据分录类型不同计算汇总分录
|
|
|
|
+ */
|
|
|
|
+ public void countEntry(DynamicObject dynamicObject,String entrylist,String propername,String dep,String allentrtlist)
|
|
|
|
+ {
|
|
|
|
+ //字段标识
|
|
|
|
+ List<String> nckd_generalemployees = entryList(entrylist);
|
|
|
|
+ //获取一般员工分录
|
|
|
|
+ DynamicObjectCollection staffentry=dynamicObject.getDynamicObjectCollection(propername);
|
|
|
|
+ //分录部门list
|
|
|
|
+ List<DynamicObject> depList=new ArrayList<>();
|
|
|
|
+ //初始化值为第一行部门
|
|
|
|
+ depList.add(staffentry.get(0).getDynamicObject(dep));
|
|
|
|
+ for (DynamicObject item:staffentry) {
|
|
|
|
+ //将不同的值加入到部门的list中
|
|
|
|
+ if (!depList.contains(item.getDynamicObject(dep))) {
|
|
|
|
+ depList.add(item.getDynamicObject(dep));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //几个不同部门则循环几次
|
|
|
|
+ for (DynamicObject bumen : depList) {
|
|
|
|
+ //某部门总数据
|
|
|
|
+ List<BigDecimal> sumNum = new ArrayList<>();
|
|
|
|
+ //汇总表部门list初始化
|
|
|
|
+ for (int b = 0; b < nckd_generalemployees.size(); b++) {
|
|
|
|
+ sumNum.add(new BigDecimal("0.0"));
|
|
|
|
+ }
|
|
|
|
+ //计算一个部门汇总
|
|
|
|
+ for (DynamicObject object : staffentry) {
|
|
|
|
+ //获取所在部门
|
|
|
|
+ DynamicObject department = object.getDynamicObject(dep);
|
|
|
|
+ //相同部门则累加金额数据
|
|
|
|
+ if (department.equals(bumen)) {
|
|
|
|
+ for (int a = 0; a < nckd_generalemployees.size(); a++) {
|
|
|
|
+ BigDecimal cell = sumNum.get(a);
|
|
|
|
+ //字段标识
|
|
|
|
+ String entry = nckd_generalemployees.get(a);
|
|
|
|
+ //i行的a列数据
|
|
|
|
+ BigDecimal num = object.getBigDecimal(entry);
|
|
|
|
+ cell = cell.add(num);
|
|
|
|
+ sumNum.set(a, cell);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //创建新的分录行
|
|
|
|
+ int rowIndex = this.getModel().createNewEntryRow(nckd_allentry);
|
|
|
|
+ //设置部门
|
|
|
|
+ this.getModel().setValue("nckd_all_department", bumen, rowIndex);
|
|
|
|
+ for (int c = 0; c < sumNum.size(); c++) {
|
|
|
|
+ this.getModel().setValue(entryList(allentrtlist).get(c), sumNum.get(c), rowIndex);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|