浏览代码

汇总分录添加字段

zhouger 6 月之前
父节点
当前提交
b4a603f1b5

+ 77 - 0
src/main/java/fi/em/formPlugin/SubAndAudFormPlugin.java

@@ -208,6 +208,22 @@ public class SubAndAudFormPlugin extends AbstractListPlugin implements Plugin {
                 this.getView().setVisible(false,nckd_a_pay);
                 this.getView().setVisible(false,nckd_a_payretird);
                 allDataEntry(dynamicObject,entrylist,propername,dep,allentrtlist,"nckd_ase_department",nckd_a_staffentry);
+
+                DynamicObjectCollection nckd_ase=dynamicObject.getDynamicObjectCollection("nckd_a_staffentry");
+                //循环汇总分录
+                for (int i=0;i<nckd_ase.size();i++){
+                    //部门
+                    DynamicObject depament=nckd_ase.get(i).getDynamicObject("nckd_ase_department");
+                    DynamicObjectCollection nckd_staffentry=dynamicObject.getDynamicObjectCollection("nckd_staffentry");
+                    for (DynamicObject it:nckd_staffentry) {
+                        //所在单位相等则获取发薪机构
+                        if (depament.equals(it.getDynamicObject("nckd_se_department"))) {
+                            this.getModel().setValue("nckd_ase_institution",it.getDynamicObject("nckd_se_institution"),i);
+                            break;
+                        }
+                    }
+                }
+
             }
             //分录类型为通用薪酬内退
             if ("B".equals(nckd_entrytype)) {
@@ -227,6 +243,22 @@ public class SubAndAudFormPlugin extends AbstractListPlugin implements Plugin {
                 this.getView().setVisible(false,nckd_a_retired);
                 this.getView().setVisible(false,nckd_a_pay);
                 this.getView().setVisible(false,nckd_a_payretird);
+
+                //发薪机构赋值
+                DynamicObjectCollection nckd_ase=dynamicObject.getDynamicObjectCollection("nckd_a_earlyretiredentry");
+                //循环汇总分录
+                for (int i=0;i<nckd_ase.size();i++){
+                    //部门
+                    DynamicObject depament=nckd_ase.get(i).getDynamicObject("nckd_aee_department");
+                    DynamicObjectCollection nckd_staffentry=dynamicObject.getDynamicObjectCollection("nckd_earlyretiredentry");
+                    for (DynamicObject it:nckd_staffentry) {
+                        //所在单位相等则获取发薪机构
+                        if (depament.equals(it.getDynamicObject("nckd_ee_department"))) {
+                            this.getModel().setValue("nckd_aee_institution",it.getDynamicObject("nckd_ee_institution"),i);
+                            break;
+                        }
+                    }
+                }
             }
             //分录类型为通用薪酬退休
             if ("C".equals(nckd_entrytype)) {
@@ -246,6 +278,21 @@ public class SubAndAudFormPlugin extends AbstractListPlugin implements Plugin {
                 this.getView().setVisible(true,nckd_a_retired);
                 this.getView().setVisible(false,nckd_a_pay);
                 this.getView().setVisible(false,nckd_a_payretird);
+                //发薪机构赋值
+                DynamicObjectCollection nckd_ase=dynamicObject.getDynamicObjectCollection("nckd_a_retireentry");
+                //循环汇总分录
+                for (int i=0;i<nckd_ase.size();i++){
+                    //部门
+                    DynamicObject depament=nckd_ase.get(i).getDynamicObject("nckd_are_department");
+                    DynamicObjectCollection nckd_staffentry=dynamicObject.getDynamicObjectCollection("nckd_retireentry");
+                    for (DynamicObject it:nckd_staffentry) {
+                        //所在单位相等则获取发薪机构
+                        if (depament.equals(it.getDynamicObject("nckd_re_department"))) {
+                            this.getModel().setValue("nckd_are_institution",it.getDynamicObject("nckd_re_institution"),i);
+                            break;
+                        }
+                    }
+                }
             }
             //分录类型为人力薪酬(一般员工)
             if ("D".equals(nckd_entrytype)) {
@@ -265,6 +312,21 @@ public class SubAndAudFormPlugin extends AbstractListPlugin implements Plugin {
                 this.getView().setVisible(false,nckd_a_retired);
                 this.getView().setVisible(true,nckd_a_pay);
                 this.getView().setVisible(false,nckd_a_payretird);
+                //发薪机构赋值
+                DynamicObjectCollection nckd_ase=dynamicObject.getDynamicObjectCollection("nckd_a_salaryentry");
+                //循环汇总分录
+                for (int i=0;i<nckd_ase.size();i++){
+                    //部门
+                    DynamicObject depament=nckd_ase.get(i).getDynamicObject("nckd_are_department");
+                    DynamicObjectCollection nckd_staffentry=dynamicObject.getDynamicObjectCollection("nckd_salaryentry");
+                    for (DynamicObject it:nckd_staffentry) {
+                        //所在单位相等则获取发薪机构
+                        if (depament.equals(it.getDynamicObject("nckd_asae_department"))) {
+                            this.getModel().setValue("nckd_asae_institution",it.getDynamicObject("nckd_sae_institution"),i);
+                            break;
+                        }
+                    }
+                }
             }
             //分录类型为人力薪酬(内退)
             if ("E".equals(nckd_entrytype)) {
@@ -284,6 +346,21 @@ public class SubAndAudFormPlugin extends AbstractListPlugin implements Plugin {
                 this.getView().setVisible(false,nckd_a_retired);
                 this.getView().setVisible(false,nckd_a_pay);
                 this.getView().setVisible(true,nckd_a_payretird);
+                //发薪机构赋值
+                DynamicObjectCollection nckd_ase=dynamicObject.getDynamicObjectCollection("nckd_a_salaryentryre");
+                //循环汇总分录
+                for (int i=0;i<nckd_ase.size();i++){
+                    //部门
+                    DynamicObject depament=nckd_ase.get(i).getDynamicObject("nckd_asee_department");
+                    DynamicObjectCollection nckd_staffentry=dynamicObject.getDynamicObjectCollection("nckd_salaryentryre");
+                    for (DynamicObject it:nckd_staffentry) {
+                        //所在单位相等则获取发薪机构
+                        if (depament.equals(it.getDynamicObject("nckd_asee_department"))) {
+                            this.getModel().setValue("nckd_asee_institution",it.getDynamicObject("nckd_see_institution"),i);
+                            break;
+                        }
+                    }
+                }
             }
         }
 

+ 20 - 14
src/main/java/sys/sc/formplugin/TestPlugin.java

@@ -123,10 +123,6 @@ public class TestPlugin  extends AbstractListPlugin {
                             String fieldName = selector.get(i);
                             String newValue = fields[i];
                             String existingValue = data.getString(fieldName);
-                            //如果等于行政编码,则去掉第一个字符1
-                            if (i==7||i==9||i==11) {
-                                existingValue=existingValue.substring(1);
-                            }
                             //判断数据是否与之前的数据相同,不相同则更新
                             if (!Objects.equals(existingValue, newValue)) {
                                 if (!newValue.isEmpty()) {
@@ -143,16 +139,6 @@ public class TestPlugin  extends AbstractListPlugin {
                     } else {
                         //不存在这条数据则新增一条到data中
                         data = new DynamicObject(dynamicObjectType);
-                        //行政编码不为空则在前面加1
-                        if(!fields[7].isEmpty()) {
-                            fields[7]="1"+fields[7];
-                        }
-                        if (!fields[9].isEmpty()) {
-                            fields[9]="1"+fields[9];
-                        }
-                        if (!fields[11].isEmpty()) {
-                            fields[11]="1"+fields[11];
-                        }
                         for (int i = 0; i < selector.size(); i++) {
                             if (!fields[i].isEmpty()) {
                                 data.set(selector.get(i), fields[i]);
@@ -819,6 +805,26 @@ public class TestPlugin  extends AbstractListPlugin {
         {
             generateDataFile(filePath);
         }
+        //
+        if("testaaa".equals(e.getOperateKey()))
+        {
+            DynamicObject roogorg=BusinessDataServiceHelper
+                    .loadSingle("bos_adminorg",new QFilter[]{new QFilter("number","=","1233")});
+            DynamicObject xingtaiinfo=BusinessDataServiceHelper
+                    .loadSingle("bos_org_pattern",new QFilter[]{new QFilter("number","=","Orgform02")});
+            DynamicObject xe=BusinessDataServiceHelper
+                    .loadSingle("bos_adminorg",new QFilter[]{new QFilter("number","=","2012")});
+
+            DynamicObject data=BusinessDataServiceHelper.newDynamicObject("bos_adminorg");
+//            data.set("number","2012");
+//            data.set("name","测试2");
+//            data.set("parent",roogorg);
+//            data.set("orgpattern",xingtaiinfo);
+//            data.set("status","C");
+//            data.set("enable","1");
+//            SaveServiceHelper.save(new DynamicObject[]{data});
+//            this.getView().showMessage("成功");
+        }
 
     }
 

+ 3 - 27
src/main/java/sys/sc/task/UpdateDataDailyTask.java

@@ -117,17 +117,12 @@ public class UpdateDataDailyTask extends AbstractTask {
                             String fieldName = selector.get(i);
                             String newValue = fields[i];
                             String existingValue = data.getString(fieldName);
-                            //如果等于行政编码,则去掉第一个字符1
-                            if (i==7||i==9||i==11) {
-                                existingValue=existingValue.substring(1);
-                            }
                             //判断数据是否与之前的数据相同,不相同则更新
                             if (!Objects.equals(existingValue, newValue)) {
                                 if (!newValue.isEmpty()) {
                                     data.set(fieldName, newValue);
                                     isUpdated = true;
                                 }
-
                             }
                         }
                         //更新了数据则设置数据更新的时间
@@ -138,16 +133,6 @@ public class UpdateDataDailyTask extends AbstractTask {
                     } else {
                         //不存在这条数据则新增一条到data中
                         data = new DynamicObject(dynamicObjectType);
-                        //行政编码不为空则在前面加1
-                        if(!fields[7].isEmpty()) {
-                            fields[7]="1"+fields[7];
-                        }
-                        if (!fields[9].isEmpty()) {
-                            fields[9]="1"+fields[9];
-                        }
-                        if (!fields[11].isEmpty()) {
-                            fields[11]="1"+fields[11];
-                        }
                         for (int i = 0; i < selector.size(); i++) {
                             data.set(selector.get(i), fields[i]);
                         }
@@ -209,9 +194,6 @@ public class UpdateDataDailyTask extends AbstractTask {
             // 判断并创建或更新所在单位
             //所在单位编码
             String szdwbm = record.getString("nckd_szdwcode");
-            if (!szdwbm.isEmpty()) {
-                szdwbm=szdwbm.substring(1);
-            }
             //所在单位名称
             String szdwmc = record.getString("nckd_szdwname");
             DynamicObject org = BusinessDataServiceHelper.loadSingle(
@@ -221,7 +203,7 @@ public class UpdateDataDailyTask extends AbstractTask {
             if (org == null) {
                 IFormView orgview = ABillServiceHelper.createAddView("bos_adminorg");
                 //组织编码
-                orgview.getModel().setValue("number", "1"+szdwbm);
+                orgview.getModel().setValue("number", szdwbm);
                 //组织名称
                 orgview.getModel().setValue("name", szdwmc);
                 //上级组织
@@ -251,15 +233,12 @@ public class UpdateDataDailyTask extends AbstractTask {
             }
             // 判断一级机构编码 在行政组织中是否存在,不存在则新增
             String yjjgbm = record.getString("nckd_yjbmcode");
-            if (!yjjgbm.isEmpty()) {
-                yjjgbm=yjjgbm.substring(1);
-            }
             String yjjgmc = record.getString("nckd_yjbmname");
             //一级机构
             DynamicObject yjjg = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("number", "=", yjjgbm)});
             if (yjjg == null) {
                 IFormView yjjgView=ABillServiceHelper.createAddView("bos_adminorg");
-                yjjgView.getModel().setValue("number","1"+yjjgbm);
+                yjjgView.getModel().setValue("number",yjjgbm);
                 yjjgView.getModel().setValue("name", yjjgmc);
                 yjjgView.getModel().setValue("parent", org); // 父级组织为 org
                 yjjgView.getModel().setValue("orgpattern", xingtaiinfo);
@@ -280,15 +259,12 @@ public class UpdateDataDailyTask extends AbstractTask {
             }
             // 判断所在部门编码 在行政组织中是否存在,不存在则新增
             String szbmbm = record.getString("nckd_orgidcode");
-            if (!szbmbm.isEmpty()) {
-                szbmbm=szdwbm.substring(1);
-            }
             String szbmmc = record.getString("nckd_orgidname");
             //所在部门
             DynamicObject szbm = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("number", "=", szbmbm)});
             if (szbm == null) {
                 IFormView szbmView=ABillServiceHelper.createAddView("bos_adminorg");
-                szbmView.getModel().setValue("number", "1"+szbmbm);
+                szbmView.getModel().setValue("number", szbmbm);
                 szbmView.getModel().setValue("name", szbmmc);
                 szbmView.getModel().setValue("parent", yjjg); // 设置父级为 yjjg
                 szbmView.getModel().setValue("orgpattern", xingtaiinfo);