Ver código fonte

薪酬发放递延分录

zhouger 5 meses atrás
pai
commit
cdd84d7fa5

+ 79 - 0
src/main/java/fi/em/formPlugin/SalaryDeferPlugin.java

@@ -0,0 +1,79 @@
+package fi.em.formPlugin;
+
+
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.dataentity.entity.LocaleString;
+import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
+import kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
+import kd.bos.form.ClientProperties;
+import kd.bos.form.control.EntryGrid;
+import kd.bos.form.plugin.AbstractFormPlugin;
+
+import java.util.Calendar;
+import java.util.EventObject;
+import java.util.Map;
+
+/**
+ * @author cjz
+ * @date 2024/11/25 11:29
+ * @description:薪酬发放,递延分录
+ */
+public class SalaryDeferPlugin extends AbstractFormPlugin {
+    @Override
+    public void afterBindData(EventObject e) {
+        super.afterBindData(e);
+        //递延分录
+        EntryGrid entryGrid = this.getControl("nckd_defer");
+        Map<String, Integer> dataIndex = entryGrid.getDataIndex();
+
+        //当前年份
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+
+
+        //递延当前年份
+        entryGrid.setColumnProperty("nckd_currentyear", ClientProperties.Header,new LocaleString(String.valueOf(year)));
+        entryGrid.setColumnProperty("nckd_year1", ClientProperties.Header,new LocaleString(String.valueOf(year+1)));
+        entryGrid.setColumnProperty("nckd_year2", ClientProperties.Header,new LocaleString(String.valueOf(year+2)));
+        entryGrid.setColumnProperty("nckd_year3", ClientProperties.Header,new LocaleString(String.valueOf(year+3)));
+        entryGrid.setColumnProperty("nckd_year4", ClientProperties.Header,new LocaleString(String.valueOf(year+4)));
+        entryGrid.setColumnProperty("nckd_year5", ClientProperties.Header,new LocaleString(String.valueOf(year+5)));
+        entryGrid.setColumnProperty("nckd_f_year1", ClientProperties.Header,new LocaleString(String.valueOf(year-3)));
+        entryGrid.setColumnProperty("nckd_f_year2", ClientProperties.Header,new LocaleString(String.valueOf(year-2)));
+        entryGrid.setColumnProperty("nckd_f_year3", ClientProperties.Header,new LocaleString(String.valueOf(year-1)));
+        entryGrid.setColumnProperty("nckd_f_currentyear", ClientProperties.Header,new LocaleString(String.valueOf(year)));
+        entryGrid.setColumnProperty("nckd_f_year4", ClientProperties.Header,new LocaleString(String.valueOf(year+1)));
+        entryGrid.setColumnProperty("nckd_f_year5", ClientProperties.Header,new LocaleString(String.valueOf(year+2)));
+
+        DynamicObjectCollection coll = this.getModel().getDataEntity(true).getDynamicObjectCollection("nckd_defer");
+        DynamicObjectType item = coll.getDynamicObjectType();
+        DynamicProperty property = item.getProperty("nckd_currentyear");
+        property.getDisplayName().setLocaleValue(String.valueOf(year));
+        property=item.getProperty("nckd_year1");
+        property.getDisplayName().setLocaleValue(String.valueOf(year+1));
+        property=item.getProperty("nckd_year2");
+        property.getDisplayName().setLocaleValue(String.valueOf(year+2));
+        property=item.getProperty("nckd_year3");
+        property.getDisplayName().setLocaleValue(String.valueOf(year+3));
+        property=item.getProperty("nckd_year4");
+        property.getDisplayName().setLocaleValue(String.valueOf(year+4));
+        property=item.getProperty("nckd_year5");
+        property.getDisplayName().setLocaleValue(String.valueOf(year+5));
+        property=item.getProperty("nckd_f_year1");
+        property.getDisplayName().setLocaleValue(String.valueOf(year-3));
+        property=item.getProperty("nckd_f_year2");
+        property.getDisplayName().setLocaleValue(String.valueOf(year-2));
+        property=item.getProperty("nckd_f_year3");
+        property.getDisplayName().setLocaleValue(String.valueOf(year-1));
+        property=item.getProperty("nckd_f_currentyear");
+        property.getDisplayName().setLocaleValue(String.valueOf(year));
+        property=item.getProperty("nckd_f_year4");
+        property.getDisplayName().setLocaleValue(String.valueOf(year+1));
+        property=item.getProperty("nckd_f_year5");
+        property.getDisplayName().setLocaleValue(String.valueOf(year+2));
+
+
+
+
+    }
+}

+ 20 - 6
src/main/java/fi/em/formPlugin/SalaryDownloadFilePlugin.java

@@ -34,18 +34,18 @@ public class SalaryDownloadFilePlugin extends AbstractFormPlugin {
         String operateKey = arg.getOperateKey();
         //获取下拉列表字段
         ComboProp comboProp = (ComboProp) getModel().getProperty("nckd_entrytype");
-        //审核操作代码
+        //下载操作代码
         String downloadBut="download";
         DynamicObject dynamicObject=this.getModel().getDataEntity(true);
         String nckd_entrytype= dynamicObject.getString("nckd_entrytype");
         //通过下拉值获取下拉标题
         String displayName = comboProp.getItemByName(nckd_entrytype);
+        QFilter qFilter=new QFilter("number", QCP.equals,"salaryfile");
+        //下载模板表单
+        DynamicObject nckd_file= BusinessDataServiceHelper.loadSingle("nckd_file",new QFilter[]{qFilter});
+        List<Map<String, Object>> list = AttachmentServiceHelper
+                .getAttachments("nckd_file", nckd_file.getPkValue(), "nckd_attachmentpanelap");
         if (downloadBut.equals(operateKey)) {
-            QFilter qFilter=new QFilter("number", QCP.equals,"salaryfile");
-            //下载模板表单
-            DynamicObject nckd_file= BusinessDataServiceHelper.loadSingle("nckd_file",new QFilter[]{qFilter});
-            List<Map<String, Object>> list = AttachmentServiceHelper
-                    .getAttachments("nckd_file", nckd_file.getPkValue(), "nckd_attachmentpanelap");
             //获取下载链接并打开
             for(int i = 0; i < list.size(); i++) {
                 String filename=list.get(i).get("name").toString();
@@ -56,6 +56,20 @@ public class SalaryDownloadFilePlugin extends AbstractFormPlugin {
                 }
             }
         }
+
+        //递延工资发放模板下载
+        String dldefer="dldefer";
+        if (dldefer.equals(operateKey)) {
+            //获取下载链接并打开
+            for(int i = 0; i < list.size(); i++) {
+                String filename=list.get(i).get("name").toString();
+                if (filename.equals("递延工资引入模板.xlsx")) {
+                    String downLoadUrl = list.get(i).get("url").toString();
+                    //调用该url
+                    getView().openUrl(downLoadUrl);
+                }
+            }
+        }
     }
 
 

+ 17 - 8
src/main/java/sys/sc/formplugin/TestPlugin.java

@@ -369,16 +369,25 @@ public class TestPlugin  extends AbstractListPlugin {
                         existingDeptEntry.set("position", postName);
                         isUpdated = true;
                     }
-                    if ("总经理".contains(postName)) {
-                        //设置为负责人
-                        existingDeptEntry.set("isincharge",true);
-                        isUpdated = true;
-                    }
+//                    if ("总经理".contains(postName)) {
+//                        //设置为负责人
+//                        existingDeptEntry.set("isincharge",true);
+//                        isUpdated = true;
+//                    }
                     //如果职位为空,则赋值无
                     if ("".equals(existingDeptEntry.getString("position"))) {
                         existingDeptEntry.set("position", "无");
                         isUpdated = true;
                     }
+                    //员工状态不为在职,试用期,退二线则设置人员状态为禁用
+                    String nckd_status=personData.getString("nckd_status");
+                    if ((!("01".equals(nckd_status)))  && !("02".equals(nckd_status)) && !("04".equals(nckd_status)))
+                    {
+                        //设置使用状态为禁用
+                        existingUser.set("enable","0");
+                        isUpdated=true;
+
+                    }
                     // 如果有更新则保存
                     if (isUpdated) {
                         SaveServiceHelper.save(new DynamicObject[]{existingUser});
@@ -454,9 +463,9 @@ public class TestPlugin  extends AbstractListPlugin {
                         bumeninfo.set("position", postName);
                     }
                     //如果人员的岗位为总经理,则设置为负责人
-                    if(("总经理").contains(postName)) {
-                        bumeninfo.set("isincharge",true);
-                    }
+//                    if(("总经理").contains(postName)) {
+//                        bumeninfo.set("isincharge",true);
+//                    }
                     //所在岗位名称
                     String positionnumber = personData.getString("nckd_posidname");
                     if ("".equals(positionnumber)) {

+ 24 - 8
src/main/java/sys/sc/task/UpdateDataDailyTask.java

@@ -409,16 +409,25 @@ public class UpdateDataDailyTask extends AbstractTask {
                     existingDeptEntry.set("position", postName);
                     isUpdated = true;
                 }
-                if ("总经理".contains(postName)) {
-                    //设置为负责人
-                    existingDeptEntry.set("isincharge",true);
-                    isUpdated = true;
-                }
+//                if ("总经理".contains(postName)) {
+//                    //设置为负责人
+//                    existingDeptEntry.set("isincharge",true);
+//                    isUpdated = true;
+//                }
                 //如果职位为空,则赋值无
                 if ("".equals(existingDeptEntry.getString("position"))) {
                     existingDeptEntry.set("position", "无");
                     isUpdated = true;
                 }
+                //员工状态不为在职,试用期,退二线则设置人员状态为禁用
+                String nckd_status=personData.getString("nckd_status");
+                if ((!("01".equals(nckd_status)))  && !("02".equals(nckd_status)) && !("04".equals(nckd_status)))
+                {
+                    //设置使用状态为禁用
+                    existingUser.set("enable","0");
+                    isUpdated=true;
+
+                }
                 // 如果有更新则保存
                 if (isUpdated) {
                     SaveServiceHelper.save(new DynamicObject[]{existingUser});
@@ -439,6 +448,12 @@ public class UpdateDataDailyTask extends AbstractTask {
                 }else {
                     userinfo.set("gender", personData.get("nckd_gender"));
                 }
+                //员工状态不为在职,试用期,退二线则设置人员状态为禁用
+                String nckd_status=personData.getString("nckd_status");
+                if ((!("01".equals(nckd_status)))  && !("02".equals(nckd_status)) && !("04".equals(nckd_status))) {
+                    //设置使用状态为禁用
+                    userinfo.set("enable","0");
+                }
                 //人员手机号
                 userinfo.set("phone", personData.get("nckd_sjh"));
                 // 设置其他固定字段
@@ -499,9 +514,9 @@ public class UpdateDataDailyTask extends AbstractTask {
                     bumeninfo.set("position", postName);
                 }
                 //如果人员的岗位为总经理,则设置为负责人
-                if(("总经理").contains(postName)) {
-                    bumeninfo.set("isincharge",true);
-                }
+//                if(("总经理").contains(postName)) {
+//                    bumeninfo.set("isincharge",true);
+//                }
                 //所在岗位名称
                 String positionnumber = personData.getString("nckd_posidname");
                 if ("".equals(positionnumber)) {
@@ -509,6 +524,7 @@ public class UpdateDataDailyTask extends AbstractTask {
                 }else {
                     bumeninfo.set("post", positionnumber);
                 }
+
                 //新增人员头像
                 UserUtils.createAvatar(new DynamicObject[]{userinfo});
                 // 保存新用户信息